首页 网络安全 拒绝服务 查看内容

分享一个实用的shell脚本--实现DDOS攻击自动封禁IP

2020-3-2 18:23 |来自: 互联网 2748 0

摘要: 概述今天分享一个Shell脚本,主要是用来解决DDOS攻击的简单版。需求请根据web日志或者或者网络连接数,监控当某个IP并发连接数或者短时内PV达到100,即调用防火墙命令封掉对应的IP。防火墙命令为:iptables-I INPUT -s IP地址 -j DROP。练习使用日志下载地址:https://files.cnblogs.com/files/clsn/ac ...
关键词: access 脚本 pol print 或者 clsn DDOS 27 check hotel

概述

今天分享一个Shell脚本,主要是用来解决DDOS攻击的简单版。


需求

请根据web日志或者或者网络连接数,监控当某个IP并发连接数或者短时内PV达到100,即调用防火墙命令封掉对应的IP。

防火墙命令为:iptables-I INPUT -s IP地址 -j DROP。

练习使用日志下载地址:https://files.cnblogs.com/files/clsn/access-web-log.zip


脚本实现

#!/bin/bash
#############################################################
# File Name: ddos_check.sh
#############################################################

Info_File=/tmp/ddos_check.log

#从连接数获取
#netstat -lant|awk -F "[ :]+" '/180:80/{clsn[$6]++}END{for(pol in clsn)print pol,clsn[pol]}' >$Info_File

# 从日志获取
awk '{hotel[$1]++}END{for(pol in hotel)print pol,hotel[pol]}' access.log|sort -nk2 -r >$Info_File

while read line
do
Ip_Add=`echo $line |awk '{print $1}'`
Access=`echo $line |awk '{print $2}'`
if [ $Access -ge 10000 ]
then
#echo $Ip_Add
iptables -I INPUT -s $Ip_Add -j DROP
fi
done <$Info_File


脚本执行结果

./ddos_check.sh
iptables -L


觉得有用的朋友多帮忙转发哦!后面会分享更多devops和DBA方面的内容,感兴趣的朋友可以关注下~


本文出处: https://www.toutiao.com/i6753598819025289742/
声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系 [邮箱地址] 删除

路过

雷人

握手

鲜花

鸡蛋

最新评论

返回顶部