通过ldd查看哪些服务可以支持TCP wrappers。

来源 http://linux.vbird.org/linux_server/0250simple_firewall.php#firewall
TCP wrappers是通过/etc/hosts.allow 和/etc/hosts.deny这2个文件来管理的类防火墙机制,但并不是所有的软件都支持TCP wrappers,一般只有
  有super daemon(xinetd)所管理的服务;
  支持libwrap.so模块的服务

由xinetd管理的服务就是在/etc/xinetd.d/里面的服务。
支持libwrap.so的模块,则可以用ldd 来查看了

例題:
請問, rsyslogd, sshd, xinetd, httpd (若該服務不存在,請自行安裝軟體),這四個程式有沒有支援 tcp wrappers 的抵擋功能?
答:
由於支援 tcp wrappers 的服務必定包含 libwrap 這一個動態函式庫,因此可以使用 ldd 來觀察該服務即可。 簡單的使用方式為:
[root@www ~]# ldd $(which rsyslogd sshd xinetd httpd)
# 這個方式可以將所有的動態函式庫取出來查閱,不過需要眼睛搜尋。
# 可以透過底下的方式來處理更快!

[root@www ~]# for name in rsyslogd sshd xinetd httpd; do echo $name; \
> ldd $(which $name) | grep libwrap; done
rsyslogd
sshd
        libwrap.so.0 => /lib64/libwrap.so.0 (0x00007fb41d3c9000)
xinetd
        libwrap.so.0 => /lib64/libwrap.so.0 (0x00007f6314821000)
httpd
上述的結果中,在該檔名檔下有出現 libwrap 的,代表有找到該函式庫,才有支援 tcp wrappers。 所以, sshd, xinetd 有支援,但是 rsyslogd, httpd 這兩支程式則不支援。也就是說, httpd 與 rsyslogd 不能夠使用 /etc/hosts.{allow|deny} 來進行防火牆機制的控管。

Proudly powered by WordPress | Theme: Code Blog by Crimson Themes.