V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
d754903977
V2EX  ›  问与答

Wordpress 面对 CC 攻击应该怎么防护?( 1 秒 20 万动态请求)

  •  1
     
  •   d754903977 · 2016-12-02 19:57:38 +08:00 · 4113 次点击
    这是一个创建于 2897 天前的主题,其中的信息可能已经有所发展或是发生改变。

    用的 Wordpress 程序,这哥以前都是持续 CC ,他 C 我,我修复...现在普通 CC 可以防住了 但是现在换了种,他一下子给我打进来 20 万动态请求, CDN 直接回源,服务器直接 502...每次都是十几秒内完事儿...然后他就不打了...

    38 条回复    2016-12-04 09:45:31 +08:00
    kungfuchicken
        1
    kungfuchicken  
       2016-12-02 20:27:27 +08:00
    1. 看 CDN 是否支持参数白名单,限制只有部分白名单的参数才能回源
    2. 在服务器 Nginx 上做同样的事情,给 php 开启 fastcgi_cache ,防止缓存穿透
    Zohar
        2
    Zohar  
       2016-12-02 20:42:34 +08:00 via Android
    换 IP ,然后上 CloudFlare
    des
        3
    des  
       2016-12-02 20:43:03 +08:00 via Android
    话说你惹到谁了?像这种持之以恒不常见哎
    dzxx36gyy
        4
    dzxx36gyy  
       2016-12-02 21:54:33 +08:00 via Android
    先看看是不是 pingback 攻击,是的话直接 ban ua
    ethanlu
        5
    ethanlu  
       2016-12-02 22:00:42 +08:00
    d754903977
        6
    d754903977  
    OP
       2016-12-02 22:04:10 +08:00
    @Zohar 谢谢啊..CF 不能用..我 IP 他应该不知道
    @dzxx36gyy 不知道 pingback , pingback 我从一开始就关掉了的

    @des 我也不知道...攻击了我两三个月了...

    @kungfuchicken 这个好像比较高级了...百度直接没有白名单...阿里和腾讯只有 IP 白名单...
    d754903977
        7
    d754903977  
    OP
       2016-12-02 22:05:48 +08:00
    @ethanlu 这个好像很厉害...我试试看去
    daolin998
        8
    daolin998  
       2016-12-02 22:06:38 +08:00 via iPhone
    @d754903977 我也是连续被 cc 三天了,目前无解,安全狗开了没用
    Asimov
        9
    Asimov  
       2016-12-02 22:11:25 +08:00 via Android
    block ip
    xiaoz
        10
    xiaoz  
       2016-12-02 22:11:37 +08:00 via iPhone
    看看日志有没有 pingback ,如果有再看看这些发起 pingback 是不是都是国外网站或者国外 ip ,然后直接将国外请求指向 127.0.0.1 。注:和你博客是否关闭 pingback 无关,而是所有 wp 网站没关 pingback 都有可能沦为肉鸡。
    dzxx36gyy
        11
    dzxx36gyy  
       2016-12-02 22:11:57 +08:00
    @d754903977 看日志吧,如果是打 xmlrpc 的那直接把 wp 的 xmlrpc.php 干了也行
    Showfom
        12
    Showfom  
       2016-12-02 22:12:49 +08:00
    直接静态化,然后屏蔽 php 文件访问
    daolin998
        13
    daolin998  
       2016-12-02 22:15:01 +08:00 via iPhone
    @xiaoz 国外 ip 指向 127.0.0.1 用什么工具哪?
    xiaoz
        14
    xiaoz  
       2016-12-02 22:16:22 +08:00
    @dzxx36gyy 无用的,对方是用肉鸡发起攻击,你把 xmlrpc.php 删了请求依然过来,顶多返回 404 状态。照样打死
    xiaoz
        15
    xiaoz  
       2016-12-02 22:17:25 +08:00   ❤️ 1
    @daolin998 大多数智能解析都能办到。比如 cloudxns 、 dnspod ,之前我网站被 wp 的 pingback 攻击了,然后把所有国外 IP 解析到 127.0.0.1 ,瞬间安静许多。
    vugusurk
        16
    vugusurk  
       2016-12-02 22:22:49 +08:00
    1 秒 20 万?我敢说世界上 95%以上的网站都扛不住这么大的并发
    lhbc
        17
    lhbc  
       2016-12-02 22:27:54 +08:00
    @xiaoz 删了是 xmlrpc.php 最差的方案
    应该在 nginx 里为 xmlrpc.php 建一个高优先级的 location
    返回空白内容的 200 , Cache-Control 设为 public; max-age=3600
    这样请求都在 CDN 上了,带宽也用不了多少,想节省资源可以顺便把能去掉的头部都去掉
    scys
        18
    scys  
       2016-12-02 22:28:32 +08:00 via Android
    全静态化,丢 CDN 中间源,完事…记得看紧钱包
    caogen9
        19
    caogen9  
       2016-12-02 22:38:50 +08:00
    开 cf 的 5 秒盾 应该就解决了
    我最近研究了一下 kangle 商业版本的防 CC 效果也非常好
    Ed
        20
    Ed  
       2016-12-02 22:46:58 +08:00
    @lhbc 请教一下为何要返回 200 ,返回 404 不好吗?谢谢。
    lhbc
        21
    lhbc  
       2016-12-02 23:18:05 +08:00 via Android
    @Ed CDN 通常不会缓存 404 ,所以所有请求都会回源。
    而返回 200 并且设置好 Cache-Control , CDN 会缓存到各个节点,请求就不会回源了。
    d754903977
        22
    d754903977  
    OP
       2016-12-02 23:44:19 +08:00
    @xiaoz
    @lhbc 不是 pingback 请求,也不是 xmlrpc.php ,请求的 admin-ajax.php
    langmoe
        23
    langmoe  
       2016-12-02 23:58:23 +08:00
    iptables 限制并发数量
    techmoe
        24
    techmoe  
       2016-12-03 00:43:47 +08:00 via Android
    请求内容是什么?尝试暴力破解 admin 密码?
    lhx2008
        25
    lhx2008  
       2016-12-03 00:56:38 +08:00 via Android
    nginx 反代缓存,或者别的方法做 html 静态化,评论用第三方,直接硬抗就可以
    cst4you
        26
    cst4you  
       2016-12-03 05:42:27 +08:00
    nginx cookies 验证也是可以的.
    daolin998
        27
    daolin998  
       2016-12-03 09:40:41 +08:00
    @xiaoz 看了下,好像万网的域名本身就可以智能解析海外线路,就是不知道效果怎么样。。。

    刚把域名拖上 cloudxns 了,还没有看见效果, CC 攻击已然打满 CPU...
    xiaoz
        28
    xiaoz  
       2016-12-03 10:59:28 +08:00
    @daolin998 把海外 IP 解析到 127.0.0.1 再观察下
    daolin998
        29
    daolin998  
       2016-12-03 11:17:57 +08:00 via iPhone
    @xiaoz 就是这么干的,估计 dns 还没有完全生效, CPU 下来了,就是带宽还是高……
    zeraba
        30
    zeraba  
       2016-12-03 11:45:04 +08:00 via Android
    verynginx waf
    d754903977
        31
    d754903977  
    OP
       2016-12-03 11:58:09 +08:00
    @daolin998 你全是海外 IP 真好..打我的全是国内的 IP..
    xiaoz
        32
    xiaoz  
       2016-12-03 12:22:00 +08:00
    @daolin998 这样可以阻止大部分海外的肉鸡,如果剩下那部分是国内的肉鸡你上个 CDN 应该能防住了。
    icedream728
        33
    icedream728  
       2016-12-03 16:06:45 +08:00
    查看大频率访问的 ip ,然后 block 掉
    sudo awk '{print $1}' /var/log/nginx/access.log |sort |uniq -c|sort -n
    daolin998
        34
    daolin998  
       2016-12-03 19:04:03 +08:00
    @d754903977 别提了,封掉了海外 IP ,国内 IP 也成群结队, 10M 带宽被耗尽了。。。
    d754903977
        35
    d754903977  
    OP
       2016-12-03 20:28:43 +08:00
    @daolin998 额,好吧,我现在上了带防护的 CDN 测试...真头疼...
    daolin998
        36
    daolin998  
       2016-12-03 20:50:55 +08:00 via iPhone
    @d754903977 哪家 cdn ,我用安全狗没什么效果
    d754903977
        37
    d754903977  
    OP
       2016-12-03 21:04:24 +08:00
    @daolin998 我云盾、 360 、加速乐这些带防护的一家一家在试...要是哪家有效果了再告诉你...
    daolin998
        38
    daolin998  
       2016-12-04 09:45:31 +08:00 via iPhone
    @d754903977 我的攻击在凌晨一点停止了,三天打了 800g 流量进来,还不包括防火墙屏蔽跟安全狗阻止的……
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5407 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 21ms · UTC 06:58 · PVG 14:58 · LAX 22:58 · JFK 01:58
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.