我的服务器受到攻击,请求充斥着以下模式:
每个IP请求数千个IP请求相同的页面"GET / HTTP/1.1“,具有相同的引用每秒3-5次(相同的时间戳)。
因此,我需要的是一个小的shell脚本,它从"tail -f /var/www/log/ packets .log“中获取输入,并对具有相同时间戳的重复请求进行相同的解析(例如,对于同一个页面的2个请求,具有相同的引用程序和相同的时间),并添加一个iptable规则来删除该IP中的所有数据包。
发布于 2013-05-06 13:46:44
看看Fail2Ban和这个何图,看看Apache文件的过滤器示例。
这里有一个例子,可以完成你的要求。请查看手册并根据您的需要进行调整:
/etc/fail2ban/filters.d/apache-attackers.conf
[Definition]
failregex = <HOST> - - [[^]]+] "GET / HTTP/1.1" 200 .* "REFERER"/etc/fail2ban/local.jail
[DEFAULT]
ignoreip = 127.0.0.1 <an IP you access the system from>
[apache-attackers]
enabled = true
port = http,https
filter = apache-attackers
bantime = 86400
logpath = /var/log/httpd/*access_log
maxretry = 5在启动时启用fail2ban (RHEL/CentOS)并启动它:
chkconfig fail2ban on
service fail2ban start注意:在RHEL/CentOS上测试,您的里程可能会有所不同。
https://serverfault.com/questions/505324
复制相似问题