Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1734709
  • 博文数量: 391
  • 博客积分: 8464
  • 博客等级: 中将
  • 技术积分: 4589
  • 用 户 组: 普通用户
  • 注册时间: 2008-12-13 15:12
个人简介

狮子的雄心,骆驼的耐力,孩子的执著!

文章分类

全部博文(391)

文章存档

2023年(4)

2018年(9)

2017年(13)

2016年(18)

2014年(7)

2013年(29)

2012年(61)

2011年(49)

2010年(84)

2009年(95)

2008年(22)

分类:

2009-04-18 11:45:31

1.建立/etc/cron.minute,并且修改/etc/crontab,添加一条记录:
0-59/1 * * * * root run-parts /etc/cron.minute
2.在/etc/cron.minute目录下创建Failed.sh,文件内容如下:
#!/bin/bash
# 获取 secure 记录,统计 ssh 认证失败的 IP 和其 失败次数
echo "auth" >> /var/log/test.auth
export LANG=en
FAILED=`grep "Failed" /var/log/secure |awk '{print $(NF-3)}'|sort|uniq -c|awk '{print $1"="$2;}'`
for i in $FAILED
do
      # 取认证失败次数
      NUM=`echo $i|awk -F= '{print $1}'`
      # 取其 IP 地址
      IP=`echo $i|awk -F= '{print $2}'`
      # 若其在失败次数超过 5 次且之前没有被阻断过,那么添加一条策略将其阻断,并记录日志
      if [ $NUM -gt 10 ] && [ -z "`iptables -vnL INPUT|grep $IP`" ]
      then
              iptables -I INPUT -s $IP -j DROP
              echo "`date` $IP ($NUM)" >> /var/log/scanner.log
      fi
done
3.配置/etc/hosts.deny
sshd:all
所以又创立两个脚本,failure.sh  refused.sh,用以检查违规的IP访问.
脚本内容变化
FAILURE=`grep "failure" /var/log/secure |awk '{print $(NF-3)}'|sort|uniq -c|awk '{print $1"="$2;}'`
REFUSED=`grep "refused" /var/log/secure |awk '{print $(NF-3)}'|sort|uniq -c|awk '{print $1"="$2;}'`
阅读(766) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~