linux 实现对异常登录用户进行自动拦截拉入黑名单功能

实现方法:
对/var/log/secure日志文件解析,统计每十分钟登录超过10次的ip地址,并使用iptables对该IP地址进行拦截,并记录到日志。实现脚本如下:
file:/usr/local/bin/blacklist.sh
#!/usr/bin/bash
source ~/.bash_profile
source /etc/profile #引入环境变量,否则crontab执行结果会不正确
list=$(cat /var/log/secure | grep failure | awk ‘{print $14}’ | cut -d = -f 2 | grep -v ssh | sort -r | uniq -c | sort -k 1 -nr | awk ‘{if($1>10) print $2}’)
a=0
for i in l i s t ; d o b = list; do b= list;dob=(iptables -L -n -v | grep i ) ; i f [ ! " i); if [ ! " i);if[!"b" ];then
a=1;
iptables -I INPUT -s i − j D R O P ; e c h o " i -j DROP; echo " ijDROP;echo"(date)add ip: $i into blacklist">>/var/log/blacklist.log;
fi
done;
if [ a = = 0 ] ; t h e n e c h o " a==0 ];then echo " a==0];thenecho"(date) not anyint attack source!">>/var/log/blacklist.log;
fi

配置定时器:
crontab -e
*/10 * * * * bash /usr/local/bin/blacklist.sh

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值