WordPress pingback DDOS攻击 nginx防护图文教程
最近老是被攻击,最后分析日志后发现是Wordpress 的 pingback 漏洞导致的DDOS攻击,日志如下:
这里很明显,全部都是Wordpress。下面我们给出防护nginx,apache的防护方案教程(请根据自己的WEB服务器判断是哪一种):
Nginx:
在 location / 区块种添加如下代码:
这样的话有请求也不会去找PHP了,nginx及时的返回403,如果连接过多的话需要修改nginx中 worker_connections的参数值,可以把它增加到更大的值。
Apache:
在配置文件中添加:
- BrowserMatchNoCase WordPress wordpress_ping
- BrowserMatchNoCase WordPress wordpress_ping
- Order Deny,Allow
- Deny from env=wordpress_ping
然后reload服务。再观察日志,可以看到全部返回403了。网站也恢复了正常访问。
如果上面的方法还是无法正常访问那就需要用到iptables了。
IPTABLES防护:
- cat /var/log/nginx/access.log | grep “verifying pingback from” > pingback_attack.log
然后用php分析日志,导入到iptables规则中。
- <?php
- error_reporting(0);
- $reqs = file(“pingback_attack.log”);
- foreach ($reqs as $req) {
- $ip = explode(” – – “, $req);
- $ip_address[$ip[0]]++;
- }
- arsort($ip_address);
- foreach ($ip_address as $ip=>$attack_times) {
- print “# WordPress IP. Attacked {$attack_times} times<br />”;
- print “iptables -A INPUT -s {$ip} -j DROP<br />”;
- }
- ?>
然后将输出的内容执行到iptables规则里面。