我无法阻止通过端口 80 的 ACK 数据包

我无法阻止通过端口 80 的 ACK 数据包

我想阻止 nmap 的 ack ping 探测,为了做到这一点,我首先需要阻止所有进入端口 80 的 ack 数据包。我使用了这个命令,但它不起作用:

iptables -A INPUT -p tcp --dport 80 --tcp-falgs ALL ACK -j DROP

问题是它适用于除 80 和 443 之外的任何端口,而这些端口恰好是 http/https 协议的端口。有什么方法可以让它工作并阻止这些端口上的意外 ACK 数据包吗?

以下是来自输入链的所有规则:

iptables -P INPUT DROP

iptables -A INPUT -p tcp --dport 80 --tcp-flags ALL ACK -j LOG --log-prefix "PSAD: ACK PING "
iptables -A INPUT -p tcp --dport 80 --tcp-flags ALL ACK -j DROP

iptables -A INPUT -m conntrack --ctstate INVALID -j LOG --log-prefix "DROP INVALID " --log-ip-options --log-tcp-options
iptables -A INPUT -m conntrack --ctstate INVALID -j DROP
iptables -A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT

iptables -A INPUT -p icmp --icmp-type echo-request -j DROP
iptables -A INPUT -p tcp --dport 22 -m conntrack --ctstate NEW -j ACCEPT

先感谢您...

答案1

我很抱歉占用了大家的时间。我刚刚注意到我有一个 nat 规则,它将所有到达端口 80 的数据包转发到另一个没有主机运行的 IP 地址。由于 PREROUTING 位于 INPUT 链之前,因此它会直接转发到另一个不存在的主机。这就是我应用的规则没有生效的原因

相关内容