一、背景簡介
在linux上多用iptables來限制ssh和telnet,編緝hosts.allow和hosts.deny感覺比較麻煩比較少用。
aix一是與linux有諸多不同二是沒有iptables,進而導致自己以認aix上也是沒有hosts.allow和hosts.deny的。
但今天同事反饋說有堡壘機不能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支持哪些服務
2.1 hosts.allow和hosts.deny支持哪些服務
hosts.allow和hosts.deny規則的執行者為TCP wrappers,對應守護進程為tcpd;而tcpd執行依賴於程序使用了libwrap庫。
也就是說:hosts.allow和hosts.deny支持且只支持使用了libwrap庫的服務。
2.2 查看程序是否使用libwarp
方法一、查看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程序就不要想了。
參考:
https://www.ibm.com/developerworks/cn/aix/library/au-tcpwrapper/