The OpenNET Project / Index page

[ новости/++ | форум | wiki | теги ]

Как настроить пакетный фильтр для фильтрации по содержимому пакетов
Следующие правила блокируют прохождение пакетов, данные в которых содержат подстроку virus.exe
и ведут лог пакетов с строкой secret внутри:
iptables -A INPUT -m string --string "secret" -j LOG --log-level info --log-prefix "SECRET"
iptables -I INPUT -j DROP -p tcp -s 0.0.0.0/0 -m string --string "virus.exe"
# Block Code Red
iptables -I INPUT -j DROP -p tcp -m string --string "cmd.exe"
# Block Nimda
iptables -I INPUT -j DROP -p tcp -m string --string "root.exe"
iptables -I INPUT -j DROP -p tcp -m string --string "default.ida"
 
30.04.2002
Ключи: tcp, log, string, vi, ip, virus, info, lock, qos, fault, iptables / Лицензия: CC-BY
Раздел:    Корень / Администратору / Сетевая подсистема, маршрутизация / Пакетные фильтры и фаерволы / Пакетные фильтры в Linux: iptables, ipchains

Обсуждение [ RSS ]
 
  • 1.1, sasha, 01:27, 02/05/2003 [ответить] [смотреть все]
  • +/
    Можно ли фильтровать пакеты которые приходят с сайта в URL которого встречается определенное слово, например banner или counter?
     
  • 1.2, Mike, 19:23, 19/01/2006 [ответить] [смотреть все]
  • +/
    У меня iptables 1.3.4 и kernel-2.6.14. Приведенные правила не срабатывают. Iptables требует определить опцию --algo (алгоритм), но какой алгоритм я не знаю? В файле libipt_string.c определено несколько опций для STRING match: --from Offset to start searching from;
    --to Offset to stop serching;
    --algo Algorithm;
    --string [!] string строка в пакете;
    --hex-string [!] string строка в шестнадцатиричном виде. Может кто знает, что задать в опции algo?
     
  • 1.3, DRVTiny, 19:45, 24/09/2006 [ответить] [смотреть все]
  • +/
    У меня тот же вопрос. Что это ещё за algo такое???
     
  • 1.4, DRVTiny, 20:02, 24/09/2006 [ответить] [смотреть все]
  • +/
    Вы не поверите, но algo - это и в самом деле алгоритм! Например, kmp - это алгоритм Кнута-Мориса-Пратта, bm - наверное, Бойера-Мура. Только непонятно, каким образом об этом должен узнать пользователь?
    Я эти ценные сведения почерпнул из lib/textsearch.c, но это же догадаться ещё надо туда залезть!
     
  • 1.5, DRVTiny, 20:03, 24/09/2006 [ответить] [смотреть все]
  • +/
    Работает так:
    iptables -I INPUT -p tcp --sport 80 --dport 1024: -m string --algo kmp --string linux -j DROP
     
  • 1.6, DRVTiny, 20:05, 24/09/2006 [ответить] [смотреть все]  
  • +/
    Работает так:
    iptables -I INPUT -p tcp --sport 80 --dport 1024: -m string --algo kmp --string linux -j DROP
    Только что проверял - OpenNet с этим правилом действительно не грузится :)
     
  • 1.7, DRVTiny, 20:25, 24/09/2006 [ответить] [смотреть все]  
  • +/
    Перечень алгоритмов, поддерживаемых функцией поиска подстрок, реализованных ядре, можно получить так :
    (находясь в корне исходников ядра)
    ls lib | sed -nr 's/^ts_([^\.]+)\.c$/\1/p'

    Описания алгоритмов:
    fsm: A naive finite state machine text search approach
    bm: Boyer-Moore text search implementation
    kmp: Knuth-Morris-Pratt text search implementation

     
  • 1.8, Александр, 08:42, 08/02/2015 [ответить] [смотреть все]  
  • +/
    Для CentOS 6 подошел такой вариант фильтра:
    iptables -A INPUT -p tcp --dport 80 -m string --string "MJ12bot" --algo kmp -j DROP
    заблокировать бота MJ12bot
     

    Ваш комментарий
    Имя:         
    E-Mail:      
    Заголовок:
    Текст:



      Закладки на сайте
      Проследить за страницей
    Created 1996-2017 by Maxim Chirkov  
    ДобавитьРекламаВебмастеруГИД  
    Hosting by Ihor