Linux/Python学习论坛-京峰教育

 找回密码
 立即注册

一键登录:

搜索
热搜: 活动 交友 discuz
查看: 908|回复: 0

bash-scripts 用脚本添加恶意访问IP到防火规则里

[复制链接]

22

主题

69

帖子

2171

积分

金牌会员

Rank: 6Rank: 6

积分
2171
发表于 2015-5-7 15:12:52 | 显示全部楼层 |阅读模式


  1. #!/bin/bash
  2. #auto drop ssh failed IP address
  3. #by colink on 2015-05-07

  4. IPTAB_DIR='/etc/sysconfig/iptables'
  5. LOG_DIR='/var/log/secure'
  6. IPADDRS=`tail -n 200 ${LOG_DIR} |grep "Failed password" |grep -Eo '([0-9]{1,3}\.){3}[0-9]{1,3}' |sort -nr |uniq -c |awk '$1>=5 {print $2}'`
  7. echo -e "\033[32m====================================\033[0m"
  8. echo -e "\033[32mWill update the Iptables\033[0m"
  9. echo -e "\033[32m------------------------------------\033[0m"
  10. #判断iptables文件里面是否已经添加了该IP的规则
  11. function add_iptables(){
  12.         for i in ${IPADDRS}
  13.         do
  14.                 IGREP=`grep "${i}" /etc/sysconfig/iptables`
  15.                 if [ -z "${IGREP}" ];then
  16.                         sed -i "/lo/a-A INPUT -s ${i} -m state --state NEW -m tcp -p tcp --dport 22 -j DROP" ${IPTAB_DIR}
  17.                         if [ $? -eq 0 ];then
  18.                                 echo -e "\033[32m已成功将IP:${i}添加到防火墙...\033[0m"
  19.                         else
  20.                                 echo -e "\033[31m添加IP:${i}的防火墙规则失败!\033[0m"
  21.                         fi
  22.                 else
  23.                         echo -e "\033[32m防火墙规则里已存在IP:${i}\033[0m"
  24. #                       exit 0
  25.                 fi
  26.         done
  27. }
  28. #当有恶意IP的时候,添加到防火墙
  29. if [ ! -z "${IPADDRS}" ];then
  30.         add_iptables
  31. else
  32.     echo -e "\033[31m没有恶意登陆的IP...\033[0m"
  33.     exit 0
  34. fi
  35. #重启iptables服务
  36. /etc/init.d/iptables restart
  37. echo -e "\033[32m====================================\033[0m"
复制代码


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|京峰教育,只为有梦想的人 ( 京ICP备15013173号 )

GMT+8, 2019-4-25 01:55 , Processed in 0.032363 second(s), 17 queries , Apc On.

快速回复 返回顶部 返回列表