在linux上多用iptables来限制ssh和telnet,编缉hosts.allow和hosts.deny感觉比较麻烦比较少用。
aix没有iptables且和linux有诸多不同,多种因素导致默认hosts.allow和hosts.deny在aix也是没用。
但今天反馈说有堡垒机不能ssh某台机器请求放行,查看是aix,向其反馈aix没有iptables,得到反馈hosts.allow的截图,感觉愰然大悟。
确实没人说过aix不能用hosts.allow和hosts.deny限制ssh,只是自己习惯性认为。
aix上能用hosts.allow,又追究起以前想过的问题:hosts.allow能支持哪些服务?如果能支持所有服务那可以替代iptables来处理aix白名单的问题。
(据说其实aix有类似iptables的东西的,只是我不会用大部份人应该也都不会用)
hosts.allow和hosts.deny规则的执行者为TCP wrappers,对应守护进程为tcpd;而tcpd执行依赖于程序使用了libwrap库。
也就是说:hosts.allow和hosts.deny支持且只支持使用了libwrap库的服务。
方法一、查看hosts_access字段串
查看应用程序是否支持 wrapper,可以使用 strings 程序然后 grep 字符串 hosts_access:
strings /usr/sbin/sshd | grep hosts_access
方法二、使用ldd
ldd /usr/sbin/sshd | grep libwrap
查测发现使用xinetd的都可以、sshd可以、vsftpd可以,httpd不可以,weblogic等java程序就不要想了。
(adsbygoogle = window.adsbygoogle || []).push({});