请问, rsyslogd, sshd, xinetd, httpd (若该服务不存在,请自行安装软件),这四个程序有没有支持 tcp wrappers 的抵挡功能?
答:
由于支持 tcp wrappers 的服务必定包含 libwrap 这一个动态函式库,因此可以使用 ldd 来观察该服务即可。 简单的使用方式为:
[AppleScript] ı鿴 ƴ
[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} 来进行防火墙机制的控管。