我的服务器受到DDOS攻击,我想阻止正在执行此操作的IP,我应该查找哪些日志来确定攻击者的IP?
解决方法
tail -n 10000 yourweblog.log|cut -f 1 -d ' '|sort|uniq -c|sort -nr|more
看一下顶级IP地址.如果有人从其他人中脱颖而出,那些将成为防火墙.
netstat -n|grep :80|cut -c 45-|cut -f 1 -d ':'|sort|uniq -c|sort -nr|more
这将查看当前活动的连接,以查看是否有任何IP连接到端口80.您可能需要更改cut -c 45-,因为IP地址可能无法从第45列开始.如果有人正在执行UDP泛洪你的网络服务器,这也会捡起来.
如果这些都没有显示任何超出常规的IP,那么您需要假设您有一个僵尸网络攻击您,并且需要在日志中查找特定模式以查看他们正在做什么.对wordpress网站的常见攻击是:
GET /index.PHP? HTTP/1.0
如果您查看网站的访问日志,您可能会执行以下操作:
cut -f 2 -d '"' yourweblog.log|cut -f 2 -d ' '|sort|uniq -c|sort -nr|more
这将显示最常见的URL.您可能会发现他们正在访问特定脚本而不是加载整个站点.
cut -f 4 -d '"' yourweblog.log|sort|uniq -c|sort -nr|more
将允许您查看常见的UserAgent.他们可能在攻击中使用单个UserAgent.
诀窍是找到与正常流量中不存在的攻击流量相同的东西,然后通过iptables,mod_rewrite或上游与您的webhost进行过滤.如果你受到Slowloris的攻击,Apache 2.2.15现在有了reqtimeout模块,它允许你配置一些设置以更好地防御Slowloris.