脚本自动添加ip到iptables
2018/6/30 13:36:12 点击:
文章转载自:http://www.cenhq.com/2015/12/17/scripts-add-ip-to-iptables/
nginx日志里有一些来历不明的ip攻击或者是用ssh来尝试登录你的密码
日志会记录这些来源的ip地址,根据ip地址来加入到iptables INPUT里,默认INPUT链为DROP下面是我写的一个脚本,可以放到计划任务里,每天来统计
[root@VM-241 ~]# vim add_iptables.sh
#!/bin/bash
#日志文件
logfile=/data/app/nginx/logs/access.log
#统计ip,可以根据时间统计
awk '/passport-send_vcode_sms.html/{print $1}' $logfile |sort |uniq -c |sort -nr > /root/ip.txt
#已经在iptables中的地址
droped_ip=$(iptables -L -n |awk '/^DROP/{print $4}')
#未加入iptables中的地址
drop_ip=$(awk '{print $2}' /root/ip.txt)
#比较两个数组不同,把不同的ip加入到防火墙中
add_ip=$(awk 'NR==1{for(i=1;i<=NF;i++) B[$i]=1}NR==2{for(j=1;j<=NF;j++) {if(B[$j]!=1) print $j}} '<(echo $droped_ip) <(echo $drop_ip))
for i in $add_ip
do
iptables -A INPUT -s $i -j DROP && echo "已添加IP: $i 到防火墙丢弃策略中。"
done
#保存新加入的策略
/etc/init.d/iptables save
/etc/init.d/iptables reload
- 上一篇:微软补丁导致邮件端口绑定异常 [2018-7-13]
- 下一篇:轻松玩转PDF [2018-6-30]