Firewall

僅丟棄 SYN 數據包會提高還是降低防火牆性能?

  • May 16, 2012

我正在設置 ipfw,並且向我提出了以下建議:如果我制定規則僅丟棄 TCP 的 SYN 數據包,則無法建立連接,防火牆甚至不必查看其他數據包。

這對我來說似乎違反直覺。我認為如果我阻止指定埠上的所有通信(涉及較少的數據包檢查),防火牆的性能會更好,並且由於無法建立任何連接,因此傳入數據包的數量將是相同的。

真的有區別嗎?

編輯:具體問題,阻止來自某個主機的 SSH:

ipfw add deny tcp from somehost to any port 22 via em0 tcpflags syn

對比

ipfw add deny tcp from somehost to any port 22 via em0

僅丟棄同步數據包是有目的的,但這不是(主要)性能;這是一種創建預設拒絕規則的簡單方法,該規則將應用於傳入連接,但不返回傳出連接的數據包。像這樣的規則:

deny tcp from any to any in setup

(請注意,“setup”是“tcpflags syn,!ack”的簡寫)將阻止所有傳入的 TCP 連接(更高優先級規則不允許的)。

這實際上可能有一個性能參數,因為替代方案——使用保持狀態規則允許在傳出連接上返回數據包——涉及動態規則(以及創建、管理和檢查所有數據包),大概有一些對性能的影響。

請注意,這與阻止特定低編號埠(例如,您的範例中的 22)的規則無關,因為您可以確定不會為傳出連接分配 1024 以下的埠。

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