前言
下面分享一个常用的脚本,使Linux系统拒绝恶意ip登陆。
#!/bin/bash
#定义变量
ssh_file=/var/log/secure
#筛选secure文件500条日志中恶意攻击的IP且尝试登陆次数大于等于6次的IP
IP_ADDR=`tail -n 500 /var/log/secure |grep "Failed password"| awk '{print $11}'|sort|uniq -c |sort -nr | awk ' $1>=6 {print $2}'`
#指定iptables的配置文件位置
iptables_cnf=/etc/sysconfig/iptables
#查看iptables配置文件是否含有提取的IP信息,如果没有就将此IP的22端口的访问拒绝
for i in `echo $IP_ADDR`
do
cat $iptables_cnf |grep $i >/dev/null
if [ $? -ne 0 ];then
sed -i " lo/a -A INPUT -s $i -m state --state NEW -m tcp -p tcp --dport 22 -j DROP" $iptables_cnf
else
echo "$i already exists in the iptables"
fi
done
/etc/init.d/iptables restart