shell拒绝恶意ip登陆脚本

前言


下面分享一个常用的脚本,使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

你可能感兴趣的:(脚本,运维日常的FAQ,shell拒绝恶意ip登陆脚本)