Имеется комп в локальной сети (IP 10.0.1.10):
Операционная система: ALT 10.2
Версия KDE Plasma: 5.27.4
Версия KDE Frameworks: 5.106.0
Версия Qt: 5.15.8
Версия ядра: 6.1.30-un-def-alt1 (64-бита)
Графическая платформа: X11
Настройки iptables:
#!/bin/bash
iptables -P INPUT DROP
iptables -P OUTPUT ACCEPT
iptables -P FORWARD DROP
iptables -F
iptables -t nat -F
iptables -t mangle -F
iptables -X
iptables -t nat -X
iptables -t mangle -X
iptables -A INPUT -f -j DROP
iptables -A INPUT -m conntrack --ctstate INVALID -j DROP
iptables -A INPUT -m conntrack --ctstate NEW -p tcp ! --syn -j DROP
iptables -A INPUT -p icmp --icmp-type 8 -m limit --limit 3/s --limit-burst 8 -j ACCEPT
iptables -A INPUT -p icmp --icmp-type 8 -j DROP
iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -p tcp -m conntrack --ctstate NEW -m multiport --dport 22,3389 -m recent --update --seconds 60 --hitcount 5 -j DROP
iptables -A INPUT -p tcp -m conntrack --ctstate NEW -m multiport --dport 22,3389 -m recent --set -j ACCEPT
iptables -A INPUT -p udp -m conntrack --ctstate NEW -m multiport --dport 137,138 -j ACCEPT
iptables -A INPUT -p tcp -m conntrack --ctstate NEW -m multiport --dport 139,445 -j ACCEPT
iptables -A INPUT -i lo -j ACCEPT
При попытке зайти на файловый сервер (Windows 2008 R2; IP 10.0.0.1) через Dolphin по прямой ссылке (например smb://fileserver/dir1 или smb://username@fileserver/dir1) открывается окно с запросом логина и пароля. При вводе верных данных приходит повторный запрос на авторизацию и так до бесконечности. При этом в лог попадают такие строки:
INPUT DROP: IN=eth0 SRC=10.0.0.1 DST=10.0.1.10 LEN=102 TOS=0x00 PREC=0x00 TTL=128 ID=12693 PROTO=UDP SPT=137 DPT=33327 LEN=82
Т.е. файловый сервер долбится на случайные порты клиента. Добавление этого правила решает проблему:
iptables -A INPUT -p udp -s 10.0.0.1/32 -m multiport --sport 137,138 -j ACCEPT
Вопрос в том, почему в данном случае не срабатывает правило "iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT" и как решить проблему не открывая файловому серверу возможность обращаться к любым портам пользователя т.к. это потенциальная дыра в безопасности.