前面有提到《用iptables做防火牆》,可以在IP層級把不受歡迎的來源給擋掉,但若是想要擋的是對於某些服務的連線、而不是全部的連線,那就必須要用到TCP wrapper,從TCP層級擋掉不受歡迎的來源。
參考
《TCP Wrappers and xinetd》裡面
Figure 2.4. Access Control to Network Services,其中Firewall指的就是IP層級的防護,而TCP Wrappers則是TCP層級的防護。
可以用TCP Wrapper防護的像是:
- popd
- imapd
- sendmail
- sshd
- ldd /path/to/service_name | grep libwrap
前面幾個都是服務名稱,最後一行則是指令,如果有出現libwrap.so...的,就代表這個服務可以套用TCP Wrapper,若沒有(像是apache2,他有自己管理的方式)則代表無法使用TCP wrapper。管理TCP連線的規則放在下面兩個設定檔與指令:
- /etc/hosts.allow 設定允許的連線的檔案
- /etc/hosts.deny 設定拒絕的連線
- tcpdchk -v 檢查目前規則的指令
順序是先host.allow後host.deny,都沒有找到就放行。簡單說就是若允許就連線、若不允許就擋下、剩下沒有套用到規則的就允許。更多的說明用指令
man hosts_access,也可以參考LLoyd Huang寫的
《tcpd wrapper的設定》,或是VIVEX GITE寫的
《Find Out If a Program Is Compiled With TCP Wrappers》
_EOF_
沒有留言:
張貼留言