• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

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

发布: 2007-6-23 18:14 | 作者:   | 来源: ChinaUnix  | 查看: 15次 | 进入软件测试论坛讨论

领测软件测试网

   刚写了一个分析 /var/log/secure 日志,自动阻断入侵者 IP 的 script

适用系统:Linux

有不足之处请大家指点

CODE:
#! /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 编程经验的“菜鸟”们用的。

延伸阅读

文章来源于领测软件测试网 https://www.ltesting.net/


关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备2023014753号-2
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网