将默认操作更改为 DROP 时,Ubuntu18.04 上的 iptables 不会进行过滤

将默认操作更改为 DROP 时,Ubuntu18.04 上的 iptables 不会进行过滤

我在运行 Ubuntu 18.04 LTS 的 Hetzner-Cloud 中新设置的服务器上遇到了一个问题。

安装 Iptables(-persistent) 并配置以下规则集后:

root@inetsec:/home/linus# iptables -L
Chain INPUT (policy DROP)
target     prot opt source               destination         
ACCEPT     tcp  --  anywhere             1.2.3.4         tcp dpt:272

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination         

我仍然可以使用 Telnet 和其他几个端口(110、143、25、993)获得成功的 TCP 握手。

即便如此,负责此端口的应用程序(Dovecot 和 Postfix)甚至没有运行,并netstat -tulpen显示:

Proto Recv-Q Send-Q Local Address           Foreign Address         State       User       Inode      PID/Program name    
tcp        0      0 127.0.0.1:3306          0.0.0.0:*               LISTEN      112        20485      1198/mysqld         
tcp        0      0 1.2.3.4:272             0.0.0.0:*               LISTEN      0          18773      1047/sshd           
tcp        0      0 127.0.0.53:53           0.0.0.0:*               LISTEN      101        19746      1113/systemd-resolv 
tcp        0      0 127.0.0.1:53            0.0.0.0:*               LISTEN      111        19076      1004/named          
udp        0      0 127.0.0.53:53           0.0.0.0:*                           101        19745      1113/systemd-resolv 
udp        0      0 127.0.0.1:53            0.0.0.0:*                           111        19075      1004/named          
udp        0      0 0.0.0.0:68              0.0.0.0:*                           0          18955      1173/dhclient       
udp        0      0 0.0.0.0:68              0.0.0.0:*                           0          15042      816/dhclient    

,使用 telnet 时我仍然在上述端口上获得 TCP 握手,而不是预期的超时(由于 INPUT DROP-Policy)或至少是ICMP-Destination Unreachable (3)关闭端口的消息。

我发现一个问题是,如果我使用保存的 iptable 规则集重新启动服务器(iptables-save > /etc/iptables/rules.v4),服务器会处于以下状态:

....
iscsi: registered transport (tcp)
iscsi: registered transport (user)

在启用登录之前。

执行该命令大约需要 15 秒iptables -L

相关内容