博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
auto drop ssh failed ip address
阅读量:5989 次
发布时间:2019-06-20

本文共 950 字,大约阅读时间需要 3 分钟。

#/bin/bash

#auto drop ssh failed ip address
#author by efoni 2018.7
SEC_FILE=/var/log/secure
#如下为截取secure文件恶意ip远程登录22端口,大于等于4次就写入防火墙deny,禁止以后在登录22端口,egrep -o "[0-9]{1,3}.){3}[0-9]{1,3}"是匹配ip的正则表达式
IP_ADDR=tail -n 1000 $SEC_FILE|grep "Failed password"|egrep -o "[0-9]{1,3}.){3}[0-9]{1,3}"|sort -nr |uniq -c|awk '$1>=4 {print $2}'
IPTABLE_CONF=/etc/sysconfig/iptables
echo
cat <<EOF
++++++++++++++++++++++++++++++++welcome to use ssh login drop failed ip++++++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
EOF

for i in echo $IP_ADDR

do
#查看iptables配置文件是否已经含有提取的IP信息
cat $IPTABLE_CONF|grep $i >/dev/null
fi
[ $? -ne 0 ];then
#判断iptables配置文件是否已存在要拒绝的ip,不存在则加入
sed -i "/lo/a -A INPUT -s $i -m state --state NEW -m tcp --dport 22 -j DROP" $IPTABLE_CONF
else
echo "This $i is exist in iptables,please exit."
fi
done
#最后重启iptables 生效

转载于:https://blog.51cto.com/efoni/2146447

你可能感兴趣的文章
【笔记】使用腾讯地图坐标转换
查看>>
微信小程序 Array对象操作
查看>>
C++:关于友元函数的一些问题
查看>>
如何使用 CODING 实践 DevOps 全流程
查看>>
解决IE不支持 background-size:cover;
查看>>
SSM001/构建maven多模块项目
查看>>
ffmpeg在shell循环中只执行一次问题
查看>>
能力积累方向
查看>>
java多线程编程之使用Synchronized关键字同步类方法
查看>>
路由vue-router
查看>>
Paxos算法
查看>>
Django之ModelForm组件
查看>>
统计翻译系统中的开源工具们
查看>>
【Rectangle】C++引用问题
查看>>
基本类型数据转换(int,char,byte)
查看>>
前三章
查看>>
SQL学习——基础语句(3)
查看>>
ZendFrameWork application.ini 配置
查看>>
关于thinkpadU盘系统盘启动不了解决方法
查看>>
如何看k线图
查看>>