2016年8月5日 星期五

用TCP wrapper管理網路

前面有提到《用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_

沒有留言:

張貼留言