当前位置: 首页 > 网站建设 > WordPress建站 > 关于WordPress pingback发起的DDOS攻击防范

关于WordPress pingback发起的DDOS攻击防范

WordPress建站 9条评论 2016-6-4 4,289 views

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

pingback

关闭pingback功能

pingback在wordpress简体中文中译作“引用”,其实本意便是通知对方这个地方有和你相关的事情发生。一般情况很少用到,索性直接关闭。在后台 -> 设置 -> 讨论 -> 接受从其它博客的链接通知(pingback和trackback) ,将勾选去掉并保存。

taolun

修改Nignx配置

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

if ($http_user_agent ~* "WordPress") {
    return 403;
}

CURL测试

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

error403

内容补充

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

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

其它说明

如果您的网站在第三方开启的CDN服务,需要阻止wordpress pingback攻击,可以设置将wordpress的U-AGENT请求加入黑名单。更多详细内容请参见乌云漏洞上的一篇文章:http://drops.wooyun.org/news/1062

9 条评论 “关于WordPress pingback发起的DDOS攻击防范”

  1. 胡歌网摘说道:

    http_user_agent ~* “WordPress” return 403;
    不可取,很多地方要用到的。例如wp自带的cron这些

    1. 小z说道:

      这个的确比较蛋疼,pingback请求太多,返回403也没多大用,资源照样消耗完。上次测试中return 101;效果更加明显。

  2. 厘米说道:

    个人博客也攻击啊,醉了!

  3. 松露之家说道:

    ddos 美其名曰 压力测试

  4. CK说道:

    想不到pingback也可以用来当攻击用…

  5. cy91.win说道:

    我从来都是关掉pingback的,太烦

    1. 小z说道:

      发现虽然关闭pingback功能,你的网站不会对外发起攻击,但是并不代表别人的网站关闭了pingback,而不对您的网站发起攻击。我最近就遇到了。

  6. exexue说道:

    牛逼。可惜没有人攻击我,不开心呀。

    1. 热腾网说道:

      这也想要??

发表评论

电子邮件地址不会被公开。 必填项已用*标注