一. 
二、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程序就不要想了。
三:

#!/bin/env cat /var/log/secure|awk '/Invalid/{print $NF} /Failed/{print $(NF-3)}'|sort|uniq -c|awk '{print $2":"$1}' > blacklist for line in `cat blacklist`;do ip=`echo $line|cut -d: -f1` num=`echo $line|cut -d: -f2` if [ "$num" -gt 5 ];then
grep $ip /etc/hosts.deny &> /dev/null if [ $? -gt 0 ];then echo sshd:$ip:$num:deny >> hosts.deny fi fi done
把Failed 和Invalid超過5次的寫到/etc/hosts.deny中
/etc/hosts.allow
sshd:192.168.0.0/255.255.0.0:allow # 允許內網連接 all:116.236.134.26:allow # 允許公網地址連接 all:10.8.0.0/255.255.255.0:allow # 允許openvpn轉換后的地址連接 sendmail:all:allow
/etc/hosts.deny
all:all:deny
sshd:all:deny
