Networking

我無法阻止通過埠 80 的 ACK 數據包

  • September 7, 2020

我想阻止 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

先感謝您…

我向大家道歉,耽誤了你們的時間。我剛剛注意到我有一個 nat 規則,它將所有進入埠 80 的數據包轉發到另一個沒有主機執行的 IP 地址。並且由於 PREROUTING 出現在 INPUT 鏈之前,它被直接轉發到另一個不存在的主機。這就是為什麼我應用的規則沒有生效

引用自:https://serverfault.com/questions/1032854