LINUX.ORG.RU
ФорумAdmin

Фильтр запросов

 , ,


0

1

Всем привет. Прошу прощения если не в том разделе. Очень далёк от темы. Скажите, пожалуйста, как блокировать запросы к серверу при совпадении строки запроса по регулярному выражению?

например все запросы на любой порт со строкой совпадающей выражению test[0-9]+ , например (test14, test2222, test33213, test0), будут дропаться.

iptables -I INPUT -p tcp -m string --algo bm --string 'test[0-9]' -j DROP

такое не работает.

Начнём с того, что в одинарных кавычках текст воспринимается как есть, то есть регулярки там как таковой нет. Дальше, iptables вообще умеет в регулярки?

r3lgar ★★★★★
()
Ответ на: комментарий от ashot

стандартных средств нет.

Смотреть в сторону l7filter или weburl

Вообще в ядре есть fsm метод сравнения (кроме bm и kmp). Он до регекспов не дотягивает, но шаблоны там есть. Беда в том, что в iptables он до сих пор не поддерживается.

А вторая беда - модуль string не умеет пропускать заголовки протоколов. Если для udp это не проблема, то с tcp это реальная проблема.

vel ★★★★★
()
Ответ на: комментарий от ccxgqcnm1

в /etc/l7-protocols/protocols кладем файлик.pat

в него пишем 2 строки: строку с названием и строку с regexp

vel ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.