iptables NAT 是否接受策略存在安全漏洞?

iptables NAT 是否接受策略存在安全漏洞?

我正在強化我的 vps 伺服器,最近我發現所有策略都是開放的(接受)在 Nat 表。我在網路上搜索,沒有發現任何有關保護 nat 表的資訊。這是一個安全漏洞嗎?這裡是輸出:

Chain PREROUTING (policy ACCEPT 21038 packets, 1097K bytes)
 pkts bytes target     prot opt in     out     source               destination                                                 

Chain INPUT (policy ACCEPT 9 packets, 1088 bytes)
 pkts bytes target     prot opt in     out     source               destination                                                 

Chain OUTPUT (policy ACCEPT 187 packets, 14396 bytes)
 pkts bytes target     prot opt in     out     source               destination                                                 

Chain POSTROUTING (policy ACCEPT 48 packets, 3767 bytes)
 pkts bytes target     prot opt in     out     source               destination                                                 
  523  140K MASQUERADE  all  --  *      eth0    0.0.0.0/0            0.0.0.0/0   

對於每一個幫助我都很感激

親切的問候黑鬍子

答案1

不,使用 ACCEPT 策略是完全可以的納特桌子。使用 DROP 策略是一種異常情況。

資料包依照以下原理圖遍歷各個表中的各個鏈:

Netfilter 和通用網路中的封包流

被接受僅表示該資料包在下一輪(即:下一個鍊及其接收該資料包的規則)中獲得另一個被接受或丟棄的機會。被丟棄會立即產生影響:資料包消失,並且不會為此資料包處理其他規則。因此,當資料包遍歷各個表中的各個鏈時,有很多地方可以丟棄它。任何地方一放就會刪除資料包。額外的 ACCEPT(例如:如果從未使用過 NAT,則沒有納特創建的表)不會改變這個結果。

作為納特表的目的是進行 NAT,而不是過濾流量(為此有一個專用表:篩選),沒有理由讓 NAT 丟棄流量。從技術上來說仍然可以做到這一點,但無論如何,您還必須考慮 NAT 的處理方式與其他表格不同,因為它實際上是連線:只能看到每個新流的第一個資料包iptables'納特表,以便為流建立 NAT 規則。其他人不會,他們的處理是直接完成的連線遵循 NAT 規則(包含在相關連線可以參考的表格conntrack命令)。

簡而言之,你永遠不應該 DROP納特表:您應該ACCEPT 或RETURN 為以下實際執行NAT 的規則建立例外(從而使資料包保持不變,以便它將繼續到下一輪),或使用各種可用的NAT 目標(例如: DNAT、REDIRECT、 SNAT、MASQUERADE 。將 DROP 預設策略保留給鏈中的篩選桌子。這碾壓表也​​可用於丟棄流量,但通常也不會為其鏈配置預設的 DROP 策略。至於鮮為人知的安全表我不知道,它很少被使用,所以很少存在。

相關內容