首页 > 系统服务 > 详细

Linux防止ssh暴力扫描IP

时间:2014-10-09 18:48:39      阅读:321      评论:0      收藏:0      [点我收藏+]

首先修改ssh端口。


创建脚本pb_ssh.sh


#! /bin/bash


#crontab 每隔1分钟执行一次

#*/1 * * * * /root/pb_ssh.sh


# 获取前 1 分钟内的 secure 记录,统计 ssh 认证失败的 IP 和其 失败次数


SCANNER=`grep "$(date -d -1min|awk ‘{print substr($0,10,7)}‘)" /var/log/secure|awk ‘/Failed/{print $(NF-3)}‘|awk -F":" ‘{print $NF}‘|grep -v from|sort|uniq -c|awk ‘{print $1"="$2;}‘`



for i in $SCANNER


do


      # 取认证失败次数


      NUM=`echo $i|awk -F= ‘{print $1}‘`


      # 取其 IP 地址


      IP=`echo $i|awk -F= ‘{print $2}‘`


      # 若其在失败次数超过 5 次且之前没有被阻断过,那么添加一条策略将其阻断,并记录日志


      if [ $NUM -gt 5 ] && [ -z "`iptables -vnL INPUT|grep $IP`" ]


      then


              /sbin/iptables -I INPUT -s $IP -j DROP


              echo "`date` $IP($NUM)" >> /var/log/scanner.log


      fi


done



恢复被屏蔽的IP,从另外一台服务器登录,重启防火墙服务即可


iptables -L

iptables -vnL INPUT



配置步骤

su - root

chown root.root pb_ssh.sh 

chmod 755 pb_ssh.sh 


#crontab 每隔1分钟执行一次 防止ssh扫描

*/1 * * * * /root/pb_ssh.sh


或者使用denyhosts软件。

Linux防止ssh暴力扫描IP

原文:http://xficc.blog.51cto.com/1189288/1561769

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!