標籤:tcp wrappers
TCP Wrappers
在之前的文章中我們介紹過iptables,iptables也是一種存取控制機制。由於iptables中的參數過多,對於初學者要想完全掌握iptables有一定的難度。因此,在這裡我們介紹另一種簡單的存取控制機制,就是TCP Wrappers。
TCP Wrappers的工作原理主要是分析TCP的前序資訊,並與/etc/hosts.allow和/etc/hosts.deny中的規則進行匹配,從而決定哪些主機可以訪問系統服務或資源。
TCP Wrappers雖然能對TCP協議的報文做過濾動作,但是並不是所有的TCP協議報文TCP Wrappers都可以過濾掉。只有某個服務鏈結接到TCP Wrappers的函式庫(這個函式庫叫做libwrap.so)才可以使用TCP Wrappers進行報文過濾。
查看某個服務是否連結到libwrap.so這個動態函式庫,使用如下命令查看即可:
ldd $(which 服務名稱)或ldd `which 服務名稱`
例如:查看sshd這個服務是否連結到了libwrap.so這個服務,可以使用如下命令:
ldd $(which sshd) | grep ‘libwrap‘
當然有些服務沒有連結到這個動態函式庫,TCP Wrappers也可以對它們進行匹配處理。原因是TCP Wrappers的這個函式庫被直接編譯到這個服務或程式裡面去了。所以有些服務也支援TCP Wrappers。
要查看TCP Wrappers的函式庫是否被直接編譯進某個程式,使用如下命令即可:
string `which 服務名稱` | grep hosts
如果出現如下兩行,表示TCP Wrappers函式庫被直接編譯進某個程式裡了。
/etc/hosts.allow
/etc/hosts.deny
這兩個檔案就是TCP Wrappers匹配規則時用到的檔案,出現這兩個檔案表示該服務支援TCP Wrappers。
本文出自 “linux學習之路” 部落格,請務必保留此出處http://xslwahaha.blog.51cto.com/4738972/1571793
另一種存取控制機制TCP Wrappers