Netfilter與TCP Wrapper

中華民國111年7月31日

如果想要過濾(或阻擋)某個連線(如192.168.0.10)存取某個服務(如收發電子郵件),身為一位挨踢人員有很多法可以試。

但在那個節點設計防護規則將影響到整個架構的效能,下列是我們可以思考與佈署的參考節點:
1.Firewall
2.Service (PAM)
3.FileSystem Permission
4.SELinux

一個封包的傳遞概念圖如下所述,其中:

1.Netfilter:使用iptables,網路層的防護規則,允許A到哪去,又不允許B到哪去,C可以使用FTP,D不能瀏覽網頁...等。
2.TCP Wrapper:主要就是看/etc/hosts.allow與/etc/hosts.deny兩個檔案內的設定。



下圖是/etc/hosts.allow 和 /etc/hosts.deny 設定的規則關係


語法格式如下:
daemon list : client list : [option1]
舉例:in.telnetd : .example.com : DENY

翻譯成人類語言就是:
喝啤酒 : 未滿18歲 : 拒絕

語法的維護模式最好是在/etc/hosts.allow只出現ALLOW,/etc/hosts.deny只出現DENY;
然後在/etc/hosts.deny內最後一行再補上:
ALL : ALL
這樣只要不是在允許清單內的,將全部被拒絕,以防有漏網之魚...