邮件服务器防密码暴力猜测脚本

  近来邮件服务器邮箱密码老是受到暴力猜测,所以写个脚本挂上去,自动挡掉其IP。

  脚本工作,定期查询maillog日志,统计一定时间段内登录失败的IP地址的总数。超过触发值的调用

  iptables将其deny掉。

  脚本如下:

  #/bin/bash

  my_dir="/tools/denymail"

  tail -n 100000 /var/log/maillog|grep "LOGIN FAILED"|awk '{print $9}'|sort|awk -F: '{print $4}'|awk -F ] '{print $1}'|uniq -c|awk '$1 > 50 {print $1,$2}' > /$my_dir/tmp.txt

  while read LINE

  do

  COUNT=$(echo $LINE | awk '{print $1}')

  IP=$(echo $LINE | awk '{print $2}')

  IPSUB=$(echo $IP|awk -F. '{print $1"."$2}')

  if [ $COUNT -gt 50 ];then

  grep $IP $my_dir/white.txt > /dev/null

  if [ $? -gt 0 ];then

  grep $IPSUB $my_dir/white.txt > /dev/null

  if [ $? -gt 0 ];then

  grep $IP $my_dir/black.txt > /dev/null

  if [ $? -gt 0 ];then

  iptables -I INPUT -p tcp -s $IP -j DROP

  echo $IP >> $my_dir/black.txt

  fi

  fi

  fi

  fi

  done < $my_dir/tmp.txt

  会在脚本所在目录下生成3个文件,tmp.txt(这个是临时产生的文件) , white.txt(这个是需要排除的网段或ip地址) , black.txt(这个是用于存储已经被自动deny掉的IP地址)文件。

  White文件书写格式:

  192.168.0.0    #脚本这里我只做192.168前面两区间的比对,如10.10.X.X

  102.14.7.13

  然后添加crontab计划任何每小时执行一次。

  vim /etc/crontab

  01 * * * *    root    /bin/sh    /tools/denymail/denymail.sh

 

上一篇:安卓防火墙 PS DroidWall

下一篇:ubuntu 12.04 安装和使用aircrack-ng 教程