IT运维管理,创造商业价值!
中国IT运维网首页 | 资讯中心 | 运维管理 | 信息安全 | CIO视界 | 云计算 | 最佳案例 | 运维资源 | 专题策划 | 知识库 | 论坛

如何禁掉扫描机器的 IP(通过 ssh 认证记录分析)

2005年11月26日
/
刚写了一个分析 /var/log/secure 日志,自动阻断入侵者 IP 的 script
适用系统:Linux
有不足之处请大家指点
#! /bin/bash
# 获取前 1 分钟内的 secure 记录,统计 ssh 认证失败的 IP 和其 失败次数
SCANNER=`grep "\`date \"+ %e %H:%M\" -d \"-1min\"\`" /var/log/secure|awk '/Failed/{print $(NF-3)}'|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
              iptables -I INPUT -s $IP -j DROP
              echo "`date` $IP($NUM)" >;>; /var/log/scanner.log
      fi
done执行方式
用 crond 来运行,1 分钟运行 1 次
运行效果
QUOTE: [root@platinum root]# iptables -vnL INPUT
Chain INPUT (policy DROP 548 packets, 67283 bytes)
pkts bytes target     prot opt in     out     source               destination
101 10240 DROP       all  --  *      *       211.248.100.100          0.0.0.0/0
      state NEW,RELATED,ESTABLISHED
[root@platinum root]#
QUOTE: [root@platinum root]# cat /var/log/scanner.log
Sat Jul 16 10:27:22 CST 2005 211.248.100.100(15)
[root@platinum root]#
这个script 仅仅是一个研究,对于脆弱的sshd 还是很有一定帮助的。对于实际生产系统,可以会用专业的防火墙去处理,这些方法只是给没有对 TCP/IP 编程经验的“菜鸟”们用的。
发表评论请到:http://bbs.cnitom.com

相关阅读

图文热点

Power架构产品创新 IBM推动其本土化发展
Power架构产品创新 IBM推动其本土化发展自从1990年,IBM推出基于RISC系统的新产品线RS/6000(现称eServer p系列)之后,...
WAF:高校Web应用安全守护者
WAF:高校Web应用安全守护者最近几年高校网站被攻击的事件时有发生,造成了不良影响,因此越来越多的高校开始...

本类热点