LINUX.ORG.RU
ФорумAdmin

iptables и ACK-пакеты

 ,


0

2

Столкнулся с каким-то странным поведением iptables. Соль, в общем, вот в чём: есть два правила

-A INPUT -i eth0 -m state --state NEW -p tcp --tcp-flags SYN,FIN,RST RST -j ACCEPT

-A INPUT -i eth0 -m state --state NEW -p tcp ! --tcp-flags SYN,ACK,FIN SYN -j LOG --log-prefix "[ IPT STEALTH ] "
Предназначенные для того, чтобы дропать соединения, начинающиеся не с SYN-пакета (но не дропать RST). В остальном конфиг iptables стандартный с DROP-политикой по умолчанию и ACCEPT для established и related. В субботу возникли проблемы с доставкой почты, и глянув в логи, увидел тонны вот такого:

Dec 24 03:23:37 debian-60 kernel: [4885234.900208] [ IPT STEALTH ] IN=eth0 OUT= MAC=4c:72:b9:25:25:ab:78:fe:3d:47:02:9d:08:00 SRC=94.100.176.126 DST=*.*.*.* LEN=90 TOS=0x00 PREC=0x00 TTL=59 ID=48118 DF PROTO=TCP SPT=25 DPT=27000 WINDOW=11584 RES=0x00 ACK PSH URGP=0
Dec 24 03:24:14 debian-60 kernel: [4885271.346275] [ IPT STEALTH ] IN=eth0 OUT= MAC=4c:72:b9:25:25:ab:78:fe:3d:47:02:9d:08:00 SRC=94.100.176.75 DST=*.*.*.* LEN=89 TOS=0x00 PREC=0x00 TTL=59 ID=654 DF PROTO=TCP SPT=25 DPT=61440 WINDOW=26064 RES=0x00 ACK PSH URGP=0
Dec 24 03:24:37 debian-60 kernel: [4885295.133934] [ IPT STEALTH ] IN=eth0 OUT= MAC=4c:72:b9:25:25:ab:78:fe:3d:47:02:9d:08:00 SRC=94.100.176.170 DST=*.*.*.* LEN=89 TOS=0x00 PREC=0x00 TTL=59 ID=49776 DF PROTO=TCP SPT=25 DPT=5101 WINDOW=26064 RES=0x00 ACK PSH URGP=0
Dec 24 03:25:08 debian-60 kernel: [4885325.959640] [ IPT STEALTH ] IN=eth0 OUT= MAC=4c:72:b9:25:25:ab:78:fe:3d:47:02:9d:08:00 SRC=94.100.176.190 DST=*.*.*.* LEN=90 TOS=0x00 PREC=0x00 TTL=59 ID=19982 DF PROTO=TCP SPT=25 DPT=5446 WINDOW=26064 RES=0x00 ACK PSH URGP=0
Dec 24 05:20:02 debian-60 kernel: [4892219.805235] [ IPT STEALTH ] IN=eth0 OUT= MAC=4c:72:b9:25:25:ab:78:fe:3d:47:02:9d:08:00 SRC=94.100.176.60 DST=*.*.*.* LEN=89 TOS=0x00 PREC=0x00 TTL=59 ID=42536 DF PROTO=TCP SPT=25 DPT=53871 WINDOW=17376 RES=0x00 ACK PSH URGP=0

Преимущественно с адресов mail.ru. Или я дурак, или лыжи не едут: получается, что mail.ru начинает соединения с ACK-пакетов или как?

P.S. Вдогонку - полный конфиг iptables

-P INPUT DROP
-P FORWARD ACCEPT
-P OUTPUT ACCEPT
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 1194 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 1195 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 25 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 443 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 587 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 465 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 110 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 143 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 993 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 995 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 53 -j ACCEPT
-A INPUT -p udp -m udp --dport 1194 -j ACCEPT
-A INPUT -p udp -m udp --dport 1195 -j ACCEPT
-A INPUT -p udp -m udp --dport 25 -j ACCEPT
-A INPUT -p udp -m udp --dport 53 -j ACCEPT
-A INPUT -s 10.17.16.0/22 -p tcp -m tcp --dport 80 -j ACCEPT
-A INPUT -s 10.17.16.0/22 -p tcp -m tcp --dport 1194 -j ACCEPT
-A INPUT -s 10.17.16.0/22 -p tcp -m tcp --dport 1195 -j ACCEPT
-A INPUT -s 10.17.16.0/22 -p tcp -m tcp --dport 25 -j ACCEPT
-A INPUT -s 10.17.16.0/22 -p tcp -m tcp --dport 3306 -j ACCEPT
-A INPUT -s 10.17.16.0/22 -p tcp -m tcp --dport 1500 -j ACCEPT
-A INPUT -s 10.17.16.0/22 -p tcp -m tcp --dport 443 -j ACCEPT
-A INPUT -s 10.17.16.0/22 -p tcp -m tcp --dport 587 -j ACCEPT
-A INPUT -s 10.17.16.0/22 -p tcp -m tcp --dport 465 -j ACCEPT
-A INPUT -s 10.17.16.0/22 -p tcp -m tcp --dport 110 -j ACCEPT
-A INPUT -s 10.17.16.0/22 -p tcp -m tcp --dport 143 -j ACCEPT
-A INPUT -s 10.17.16.0/22 -p tcp -m tcp --dport 993 -j ACCEPT
-A INPUT -s 10.17.16.0/22 -p tcp -m tcp --dport 995 -j ACCEPT
-A INPUT -s 10.17.16.0/22 -p tcp -m tcp --dport 53 -j ACCEPT
-A INPUT -s 10.17.16.0/22 -p udp -m udp --dport 1194 -j ACCEPT
-A INPUT -s 10.17.16.0/22 -p udp -m udp --dport 1195 -j ACCEPT
-A INPUT -s 10.17.16.0/22 -p udp -m udp --dport 25 -j ACCEPT
-A INPUT -s 10.17.16.0/22 -p udp -m udp --dport 53 -j ACCEPT
-A INPUT -p icmp -m icmp --icmp-type 17 -j DROP
-A INPUT -p icmp -m icmp --icmp-type 13 -j DROP
-A INPUT -p icmp -m length --length 1492:65535 -j DROP
-A INPUT -p icmp -m icmp --icmp-type any -m hashlimit --hashlimit-upto 1/sec --hashlimit-burst 6 --hashlimit-mode srcip --hashlimit-name ICMP_FLOOD --hashlimit-htable-expire 60000 -j ACCEPT
-A INPUT -s 10.17.16.0/22 -p tcp -m tcp --dport 22 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 22 -m state --state NEW -m hashlimit --hashlimit-upto 1/min --hashlimit-burst 6 --hashlimit-mode srcip --hashlimit-name SSH_BRUTEFORCE --hashlimit-htable-expire 60000 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 22 -m state --state NEW -j LOG --log-prefix "[SSH BRUTEFORCE]"
-A INPUT -p tcp -m tcp --dport 22 -m state --state NEW -j DROP
-A INPUT -m state --state INVALID -j DROP
-A INPUT -p tcp -m tcp --tcp-flags FIN,SYN FIN,SYN -j DROP
-A INPUT -p tcp -m tcp --tcp-flags SYN,RST SYN,RST -j DROP
-A INPUT -p tcp -m tcp --tcp-flags FIN,SYN,RST,PSH,ACK,URG FIN,SYN,RST,PSH,ACK,URG -j DROP
-A INPUT -p tcp -m tcp --tcp-flags FIN,SYN,RST,PSH,ACK,URG NONE -j DROP
-A INPUT -i eth0 -p tcp -m state --state NEW -m tcp --tcp-flags FIN,SYN,RST RST -j ACCEPT
-A INPUT -i eth0 -p tcp -m state --state NEW -m tcp ! --tcp-flags FIN,SYN,ACK SYN -j LOG --log-prefix "[ IPT STEALTH ] "
-A INPUT -i eth0 -p tcp -m state --state NEW -m tcp ! --tcp-flags FIN,SYN,ACK SYN -j REJECT --reject-with tcp-reset
-A INPUT -i eth0 -p tcp -m tcp --tcp-flags SYN,ACK SYN,ACK -m state --state NEW -j REJECT --reject-with tcp-reset
-A INPUT -i eth0 -f -m limit --limit 5/min --limit-burst 7 -j LOG --log-prefix " [ IPT Fragmented ]"
-A FORWARD -m state --state INVALID -j DROP
-A OUTPUT -m state --state INVALID -j DROP

Лень смотреть весь список правил, но строка:

SRC=94.100.176.126 DST=*.*.*.* SPT=25 DPT=27000

говорит о том, то с 25-го порта mail.ru пакет идёт на ваш порт 27000. Врядли, mail.ru отправляет почту на порт 27000, больше похоже, что это ответ на ваш пакет.

Но так как state NEW, то возможно, что это просто отставший пакет от уже закрытого соединения. Можете попробовать пологировать все открываемые вашим сервером почтовые соединения, чтобы было видно, с каких портов устанавливаются соединения.

mky ★★★★★ ()
Последнее исправление: mky (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.