前言
在企业实际环境中,服务器可能会遭受DDos攻击。如果我们能合理的设置iptables或者防火墙,就可以大大提高服务器正常提供服务的稳定性。
以下是对iptables的应用
问题描述
写一个脚本解决DOS攻击生产案例:
==提示:==根据web日志或者网络连接数,监控当某个IP并发连接数或者短时内PV达到100,立即调用防火墙命令封掉对应的IP,监控频率每隔3分钟。
防火墙命令为:iptables -I INPUT -s (源ip地址) -j DROP
思路
- 取到ip和ip访问次数
- 统计ip访问次数是否大于100次
- 判断出来后设置防火墙命令,并查看是否执行成功
- 根据实际情况进行优化
脚本
#!/bin/sh
[ -f /etc/init.d/functions ] && . /etc/init.d/functions
count=100
Path=/server/scripts/shell/access_2020_20-8.log
##需要进行分析的日志文件位置
function ipt(){
awk ' [print $1] ' $Path|sort|uniq c|sort nr k1 > /tmp/tmp.log
##将访问的ip进行过滤,并且按访问次数倒序排出来
exec < /tmp/tmp.log
## 将文件导入exec
while read line
do
IP= echo $line|awk '{print $2}'
## 将文件中