IPTables - 僅允許來自特定範圍的流量

IPTables - 僅允許來自特定範圍的流量

我試圖阻止除某些定義的子網路之外的所有到網路伺服器的流量。我檢查了很多帖子,並相信我的 iptables 設定正確,但由於某種原因,該網站仍然可以在我在規則集中定義的子網之外訪問。有人能夠闡明我可能做錯了什麼嗎?我已經確定,刪除規則 3 會根本無法存取網站。網站本身位於 10.10.0.0/16。

Chain INPUT (policy DROP 0 packets, 0 bytes)
num   pkts bytes target     prot opt in     out     source               destination         
1        0     0 ACCEPT     all  --  any    any     10.10.0.0/16         anywhere            
2        0     0 ACCEPT     all  --  any    any     172.30.0.0/16        anywhere            
3        0     0 ACCEPT     all  --  lo     any     anywhere             anywhere            

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
num   pkts bytes target     prot opt in     out     source               destination         

Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes)
num   pkts bytes target     prot opt in     out     source               destination         
1        0     0 ACCEPT     all  --  any    lo      anywhere             anywhere    

目標是添加各種列入白名單的公共 IP 並鎖定網站,以便只有某些人可以訪問。

新增規則如下:

iptables -I INPUT -i lo -j ACCEPT
iptables -I OUTPUT -o lo -j ACCEPT
iptables -I INPUT -s 10.10.0.0/16 -j ACCEPT
iptables -I INPUT -s 172.30.0.0/16 -j ACCEPT
iptables -P INPUT DROP

答案1

規則順序iptables 中的問題。透過使用iptables -A您正在附加規則在最後規則集的。但iptables -I會在規則集之上插入一條規則,除非您指定了行號(您沒有指定)。因此,規則不會按預期順序進行評估。

這是一個應該可以工作的範例配置,基於這個帖子。之前刷新您的規則以避免重複。

iptables -P FORWARD DROP
iptables -A INPUT -m state --state INVALID -j DROP
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -s 10.10.0.0/16 -j ACCEPT
iptables -A INPUT -s 172.30.0.0/16 -j ACCEPT
# add some more whitelisting rules here
iptables -P INPUT DROP # Drop everything we don't accept

第三條規則很重要:

iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT

否則,您的伺服器將不會收到對其發起的連線的回复,例如 DNS 請求。

順便說一句,iptables 適用於 IPv4,但不適用於 IPv6,因此,如果您的伺服器支援 IPv6,您可能會有用戶端使用下列方式進行連接IPv6。如果它們透過主機名稱而不是 IP 位址進行連接,並且主機名稱解析為伺服器上的有效 IPv6 位址,則這是可能的。您可能會意識到,但許多人仍然不知道 iptables 確實可以過濾 IPv6 流量(和攻擊)。ip6tables如果適合您的設置,我也會添加類似的規則。

相關內容