现在的位置:首页>wordpress>正文

阻止wordpress pingback发起的DDOS攻击

2016年10月14日 ⁄ 共 1262字 暂无评论

总有那么一些人,喜好在没有事的时候,对别人的网站发起一些攻击,这其中,像wordpress pingback发起的DDOS攻击,是比较简单的,部落的网站,经常会遇到一些不明的攻击,或者是被人刷各种来路不明的流量,实话说,有时候真是十分头痛,今天主要来说一下pingback攻击的防范。

就在两天前博客服务器遭到DDOS攻击,刚开始发起者使用SYN攻击443端口,导致Nginx资源耗尽,带宽跑满。将流量牵引到国外也无济于事,也只能关机睡觉了,一波又一波的攻击过后。放弃SYN攻击,而是利用WordPress的pingback发起DDOS攻击,导致网站无法访问。

从网站日志中看到的攻击内容如下:

阻止wordpress pingback发起的DDOS攻击

由上图可以看到,攻击的IP是不固定的,而且都是通过pingback发起的攻击。

防范pingback发起的DDOS攻击

1.关闭pingback功能

pingback在wordpress简体中文中译作“引用”,其实本意便是通知对方这个地方有和你相关的事情发生。

一般情况很少用到,索性直接关闭。在后台 -> 设置 -> 讨论 -> 接受从其它博客的链接通知(pingback和trackback) ,将勾选去掉并保存,如下图:

阻止wordpress pingback发起的DDOS攻击

2.修改Nignx配置

如果您使用的Nginx作为WEB服务器,那么可以将下面的代码添加到主机配置文件中,通常在/usr/local/nginx/conf/vhost/www.mfbuluo.com.conf,添加到server段内,并service nginx reload重载nginx

  1. if ($http_user_agent ~* "WordPress") {
  2.     return 403;
  3. }

成功配置后,我们可以使用CURL模拟请求一下,看是否生效,返回403错误则说明配置成功,如下图:

阻止wordpress pingback发起的DDOS攻击

PS:发现Nginx禁止来自WordPress的user_agent后虽然403错误了,但是仍然产生大量请求导致耗费服务器资源,这时我们可以将下面的代码添加到主题目录的functions.php文件中。

  1. add_filter( 'xmlrpc_methods', function$methods ) {
  2.    unset( $methods['pingback.ping'] );
  3.    return $methods;
  4. } );

如果您的网站在第三方开启的CDN服务,需要阻止wordpress pingback攻击,可以设置将wordpress的U-AGENT请求加入黑名……

 

 

小结

文章中的方法来源自网络,由免费部落整理发布。

DDOS攻击其实并不具备多少技术含量,而通过pingback发起的攻击,其实并不可怕,像部落的话,早在很久之前,由于垃圾评论的影响,自己早就将pingback的文件删除掉了。

给我留言