将ssh失败尝试达到100次以上的IP拒绝掉

让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:国际域名空间、虚拟主机、营销软件、网站建设、延寿网站维护、网站推广。

1、tcpwrapper

#!/bin/bash
Fail_100=`/bin/grep 'Failed' /var/log/secure* | /bin/egrep -o '([0-9]{1,3}\.){3}[0-9]{1,3}' | /bin/sort | /usr/bin/uniq -c | /bin/sort -rn | /bin/awk '$1 > 100 {print $2}'`
for Fip in $Fail_100
do
/bin/grep "$Fip" /etc/hosts.deny &> /dev/null
[[ $? -ne 0 ]] && /bin/echo "sshd:$Fip: spawn (/bin/echo \"login attmpt from %c to %s\" | /bin/mail -s \"information abount sshd login attempt\" root@localhost)&" >> /etc/hosts.deny 2> /dev/null && /bin/echo -e "$Fip" >> /var/log/.Fail_IP_list
done

2、iptables

#!/bin/bash
Fail_100=`/bin/grep 'Failed' /var/log/secure* | /bin/egrep -o '([0-9]{1,3}\.){3}[0-9]{1,3}' | /bin/sort | /usr/bin/uniq -c | /bin/sort -rn | /bin/awk '$1 > 100 {print $2}'`
/etc/init.d/iptables save
for Fip in $Fail_100
do
        /bin/grep "$Fip" /etc/sysconfig/iptables &> /dev/null
        [[ $? -ne 0 ]] && /sbin/iptables -I INPUT 3 -s "$Fip" -j DROP && /bin/echo -e "$Fip" >> /var/log/.Fail_IP_list
done
/etc/init.d/iptables save


文章题目:将ssh失败尝试达到100次以上的IP拒绝掉
标题链接:http://scyanting.com/article/pepgee.html