RSS

Мой рецепт по детектированию и блокированию аномального сканирования средствами iptables в Linux

20 Июл

Давно не писал сам, хочу исправиться.

Сегодня речь пойдет о детектировании и блокировки аномального сканирования средствами iptables в операционной системе Linux.

Т. к. рецептами моего блога пользуются без указания меня, как первоисточника (и без ссылок на мои статьи), размещая, к тому же, аналогичную информацию задним числом, то обещаю, что это последняя моя помощь вам, любители плагиата.

Нижеописанные правила собраны мною из различных, не русскоязычных, источников, но все вместе, в том виде, в котором они будут приведены мною, вы не найдете ни на одном ресурсе в сети Интернет. Впрочем информация, приведенная по тьюнингу сетевого стека Windows в разделе MS Platforms на данном сайте, также уникальна и нигде не встречается в том виде, в котором она дается мною.

Не буду зазря лить воду, перейдем к делу.

Предлагаю внести следующие изменения в ваши таблицы iptables:

iptables -A INPUT -p tcp —tcp-flags ALL NONE -j LOG —log-prefix «Stealth scan: 0STEAL «
iptables -A INPUT -p tcp —tcp-flags ALL NONE -j STEAL
iptables -A INPUT -p tcp —tcp-flags ALL ALL -j LOG —log-prefix «Stealth scan: 1STEAL «
iptables -A INPUT -p tcp —tcp-flags ALL ALL -j STEAL
iptables -A INPUT -p tcp —tcp-flags ALL FIN,URG,PSH -j LOG —log-prefix «Stealth scan: 2STEAL «
iptables -A INPUT -p tcp —tcp-flags ALL FIN,URG,PSH -j STEAL
iptables -A INPUT -p tcp —tcp-flags ALL SYN,RST,ACK,FIN,URG -j LOG —log-prefix «Stealth scan: 3STEAL «
iptables -A INPUT -p tcp —tcp-flags ALL SYN,RST,ACK,FIN,URG -j STEAL
iptables -A INPUT -p tcp —tcp-flags SYN,RST SYN,RST -j LOG —log-prefix «Stealth scan: 4STEAL «
iptables -A INPUT -p tcp —tcp-flags SYN,RST SYN,RST -j STEAL
iptables -A INPUT -p tcp —tcp-flags SYN,FIN SYN,FIN -j LOG —log-prefix «Stealth scan: 5STEAL «
iptables -A INPUT -p tcp —tcp-flags SYN,FIN SYN,FIN -j STEAL
iptables -A INPUT -p tcp —tcp-flags FIN,ACK FIN -j LOG —log-prefix «6Stealth scan»
iptables -A INPUT -p tcp —tcp-flags FIN,ACK FIN -j STEAL
iptables -A INPUT -p tcp —tcp-flags SYN,FIN,RST,ACK,URG,PSH PSH -j LOG —log-prefix «7Abnormal steal»
iptables -A INPUT -p tcp —tcp-flags SYN,FIN,RST,ACK,URG,PSH PSH -j STEAL
iptables -A INPUT -p tcp —tcp-flags SYN,FIN,RST,ACK,URG URG -j LOG —log-prefix «8Abnormal scan»
iptables -A INPUT -p tcp —tcp-flags SYN,FIN,RST,ACK,URG URG -j STEAL
iptables -A INPUT -p tcp —tcp-flags SYN,FIN,RST,ACK FIN -j LOG —log-prefix «A9bnormal scan»
iptables -A INPUT -p tcp —tcp-flags SYN,FIN,RST,ACK FIN -j STEAL
iptables -A INPUT -p tcp —tcp-flags SYN,FIN,RST,ACK NONE -j LOG —log-prefix «10Abnormal scan»
iptables -A INPUT -p tcp —tcp-flags SYN,FIN,RST,ACK NONE -j STEAL
iptables -A INPUT -p tcp —tcp-flags SYN,FIN,RST,ACK,URG,PSH SYN,FIN,URG,PSH -j LOG —log-prefix «11Abnormal sc$
iptables -A INPUT -p tcp —tcp-flags SYN,FIN,RST,ACK,URG,PSH SYN,FIN,URG,PSH -j STEAL
iptables -A INPUT -p tcp —tcp-flags SYN,FIN,RST,ACK,URG,PSH FIN,URG,PSH -j LOG —log-prefix «12Abnormal scan»
iptables -A INPUT -p tcp —tcp-flags SYN,FIN,RST,ACK,URG,PSH FIN,URG,PSH -j STEAL
iptables -A INPUT -p tcp —tcp-flags ACK,URG URG -j LOG —log-prefix «13Abnormal scan»
iptables -A INPUT -p tcp —tcp-flags ACK,URG URG -j STEAL
iptables -A INPUT -p tcp —tcp-flags ALL FIN -j LOG —log-prefix «14Abnormal scan»
iptables -A INPUT -p tcp —tcp-flags ALL FIN -j STEAL
iptables -A INPUT -p tcp —tcp-flags FIN,RST FIN,RST -j LOG —log-prefix «15Abnormal scan»
iptables -A INPUT -p tcp —tcp-flags FIN,RST FIN,RST -j STEAL
iptables -A INPUT -p tcp —tcp-flags ACK,PSH PSH -j LOG —log-prefix «16Abnormal scan»
iptables -A INPUT -p tcp —tcp-flags ACK,PSH PSH -j STEAL
iptables -A INPUT -p tcp —tcp-flags SYN,ACK,FIN,RST SYN -j LOG —log-prefix «17Abnormal scan»
iptables -A INPUT -p tcp —tcp-flags SYN,ACK,FIN,RST SYN -j STEAL
iptables -A INPUT -p tcp —tcp-flags SYN,URG SYN,URG -j LOG —log-prefix «18Abnormal scan»
iptables -A INPUT -p tcp —tcp-flags SYN,URG SYN,URG -j STEAL
iptables -A INPUT -p tcp —tcp-flags FIN,SYN,RST,ACK SYN -j LOG —log-prefix «19Abnormal scan»
iptables -A INPUT -p tcp —tcp-flags FIN,SYN,RST,ACK SYN -j STEAL
iptables -A INPUT -p tcp —tcp-flags SYN,FIN,PSH SYN,FIN,PSH -j LOG —log-prefix «20Abnormal scan»
iptables -A INPUT -p tcp —tcp-flags SYN,FIN,PSH SYN,FIN,PSH -j STEAL
iptables -A INPUT -p tcp —tcp-flags SYN,FIN,RST SYN,FIN,RST -j LOG —log-prefix «21Abnormal scan»
iptables -A INPUT -p tcp —tcp-flags SYN,FIN,RST SYN,FIN,RST -j STEAL
iptables -A INPUT -p tcp —tcp-flags SYN,FIN,RST,PSH SYN,FIN,RST,PSH -j LOG —log-prefix «22Abnormal scan»
iptables -A INPUT -p tcp —tcp-flags SYN,FIN,RST,PSH SYN,FIN,RST,PSH -j STEAL
iptables -A INPUT -p tcp —tcp-flags ALL SYN,PSH -j LOG —log-prefix «23Abnormal scan»
iptables -A INPUT -p tcp —tcp-flags ALL SYN,PSH -j STEAL
iptables -A INPUT -p tcp —tcp-flags ALL SYN,ACK,PSH -j LOG —log-prefix «24Abnormal scan»
iptables -A INPUT -p tcp —tcp-flags ALL SYN,ACK,PSH -j STEAL
iptables -A INPUT -p tcp —tcp-flags ACK,FIN FIN -j LOG —log-prefix «25Abnormal scan»
iptables -A INPUT -p tcp —tcp-flags ACK,FIN FIN -j STEAL
iptables -A INPUT -p tcp —tcp-flags ALL RST -j LOG —log-prefix «26Abnormal scan»
iptables -A INPUT -p tcp —tcp-flags ALL RST -j STEAL
iptables -A INPUT -p tcp —tcp-flags ALL RST,ACK -j LOG —log-prefix «27Abnormal scan»
iptables -A INPUT -p tcp —tcp-flags ALL RST,ACK -j STEAL
iptables -A INPUT -p tcp —tcp-flags ALL ACK,PSH,RST -j LOG —log-prefix «28Abnormal scan»
iptables -A INPUT -p tcp —tcp-flags ALL ACK,PSH,RST -j STEAL
iptables -A INPUT -p tcp —tcp-flags FIN,SYN,RST,PSH,ACK,URG NONE -j LOG —log-prefix «29Abnormal scan»
iptables -A INPUT -p tcp —tcp-flags FIN,SYN,RST,PSH,ACK,URG NONE -j STEAL

Как вы видите всего 29 цепочек. Данный список можно дополнить еще несколькими цепочками, но они нарушат нормальное функционирование сетевого стека вашего пингвина и могут быть использованы только на станции в конфигурации со средствами детектирования и превентивного реагирования сетевого вторжения. Поэтому мною они приводится не будут.

Не стоит также забывать о способах тmюнига сетевого стека средствами sysctrl, которые более богато представлены, по сравнению с возможностями сетевого стека MS Windows. С помощью средств sysctrl вы сможете еще более защитить ваш дефолтный тюкс.

Обещаю вам еще чем-нибудь порадовать в будущем.

Удачи! И до новых встреч!

P.S.: STEAL уже не используется в последних векрсиях ntfilter, а жаль, поэтому надо заменить на DROP. Также разумным было бы заменить iptables -A INPUT на iptables -t filter -A INPUT. 😉

Реклама
 

Метки: , , , , , , , , , , ,

Обсуждение закрыто.