我刚刚为我的 iptables 设置了 DROP 策略:
-P INPUT DROP
-P FORWARD DROP
-P OUTPUT DROP
-N fail2ban-ssh
-A INPUT -p tcp -m multiport --dports 22 -j fail2ban-ssh
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -p tcp -m tcp --dport 22 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 443 -j ACCEPT
-A FORWARD -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK SYN -m limit --limit 1/sec -j ACCEPT
-A FORWARD -p udp -m limit --limit 1/sec -j ACCEPT
-A FORWARD -p icmp -m icmp --icmp-type 8 -m limit --limit 1/sec -j ACCEPT
-A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A OUTPUT -o lo -j ACCEPT
-A OUTPUT -p icmp -j ACCEPT
-A OUTPUT -p tcp -m tcp --dport 22 -j ACCEPT
-A OUTPUT -p tcp -m tcp --dport 80 -j ACCEPT
-A OUTPUT -p tcp -m tcp --dport 443 -j ACCEPT
-A OUTPUT -p udp -m udp --dport 123 -j ACCEPT
-A fail2ban-ssh -s 115.231.222.176/32 -j REJECT --reject-with icmp-port-unreachable
-A fail2ban-ssh -j RETURN
但是当我运行 nmap 时,许多端口仍然打开:
PORT STATE SERVICE
1/tcp open tcpmux
22/tcp open ssh
25/tcp open smtp
79/tcp open finger
80/tcp open http
111/tcp open rpcbind
119/tcp open nntp
143/tcp open imap
443/tcp open https
1080/tcp open socks
1524/tcp open ingreslock
2000/tcp open cisco-sccp
6667/tcp open irc
12345/tcp open netbus
31337/tcp open Elite
32771/tcp open sometimes-rpc5
32772/tcp open sometimes-rpc7
32773/tcp open sometimes-rpc9
32774/tcp open sometimes-rpc11
知道原因吗?这是否代表安全漏洞?
答案1
Iptables 通过将数据包与 Iptables 的规则集进行匹配来对传入或传出的数据包进行操作。它与端口是否打开无关。
如果ssh
通过以下规则阻止了流量iptables
,
-A INPUT -i eth0 -p tcp --dport 22 -j DROP
那么当一个数据包到达时,目的地为端口 22 的数据包将被内核丢弃,但您的计算机实际上可能正在监听端口 22,因为SSH
守护进程正在端口 22 上运行。
要关闭端口,您需要停止监听该端口的服务。例如,要关闭端口 22,请执行以下操作:
sudo service ssh stop
答案2
同样的事情也发生在我身上,尝试将您的计算机设置在与相关服务器相同的网段上,通过路由器进行端口扫描可能会给您一些错误的结果。
nmap -v -A yourIP
如果从其他网段运行 nmap ( ),未打开的端口将显示并带有询问 ( ?
):
2000/tcp open cisco-sccp