又被 CC 了,有啥切实有效的预防方法? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
RqPS6rhmP3Nyn3Tm
V2EX    问与答

又被 CC 了,有啥切实有效的预防方法?

  •  
  •   RqPS6rhmP3Nyn3Tm 2016-04-13 12:17:37 +08:00 13423 次点击
    这是一个创建于 3473 天前的主题,其中的信息可能已经有所发展或是发生改变。

    屏幕快照 2016-04-13 下午 12.15.57.png 屏幕快照 2016-04-13 下午 12.13.32.png 上次七牛被 CC 后就把图片迁回 VPS 本机了,今天发现又被 CC 。随意看了一下 log ,发现还是老手法,还是熟悉的 curl。不同之处是这次加上了百度的 referer。估计还用了代理池,直接封 IP 有一定难度。

    很不开心。一个随意的个人博客都能这么搞。世界上还是小人多啊。

    直接把 curl 的 UA 封了就怕改了个 UA 卷土重来,求解决方法?

    第 1 条附言    2016-04-13 23:05:36 +08:00
    感谢各位回复。顺便求一方法可以在服务器流量暴涨的时候发邮件警报, OneAPM 和 Datadog 太贵了……
    104 条回复    2016-04-14 14:42:40 +08:00
    1  2  
    yov123456
        1
    yov123456  
       2016-04-13 12:23:06 +08:00 via iPhone
    用用 verynginx 的那个模块?
    jsonline
        2
    jsonline  
       2016-04-13 12:23:21 +08:00 via Android
    ip 限制呗 一个 IP 一天 100 次
    RqPS6rhmP3Nyn3Tm
        3
    RqPS6rhmP3Nyn3Tm  
    OP
       2016-04-13 12:24:36 +08:00
    @yov123456 求详细?

    @jsonline IP 限制估计有难度,估计是用了代理池的,换个代理卷土重来
    liyvhg
        4
    liyvhg  
       2016-04-13 12:26:13 +08:00 via Android
    也去 cc 竞争对手的
    RqPS6rhmP3Nyn3Tm
        5
    RqPS6rhmP3Nyn3Tm  
    OP
       2016-04-13 12:27:22 +08:00
    @liyvhg 个人博客哪来的竞争对手
    yexm0
        6
    yexm0  
       2016-04-13 12:29:58 +08:00 via Android
    别 c 别人了,万一人家 d 回来你那只有几 M 带宽的机子一定 boom 。
    ThreeBody
        7
    ThreeBody  
       2016-04-13 12:30:22 +08:00
    @BXIA 估计你得罪人了吧,然后那个人找到你博客,然后攻击
    giuem
        8
    giuem  
       2016-04-13 12:32:03 +08:00 via Android
    封 ua 试试
    RqPS6rhmP3Nyn3Tm
        9
    RqPS6rhmP3Nyn3Tm  
    OP
       2016-04-13 12:32:15 +08:00
    @ThreeBody 说实话,我真的不记得我得罪过谁
    VmuTargh
        10
    VmuTargh  
       2016-04-13 12:32:33 +08:00
    Cloudflare 走起
    acrisliu
        11
    acrisliu  
       2016-04-13 12:32:46 +08:00 via Android
    找三胖 360.com.sb
    ccc008
        12
    ccc008  
       2016-04-13 12:32:51 +08:00
    暂时换一个大带宽的,他打不动就不打了
    Zohar
        13
    Zohar  
       2016-04-13 12:33:01 +08:00 via Android
    上 CloudFlare
    UnisandK
        14
    UnisandK  
       2016-04-13 12:33:05 +08:00
    楼主也是多灾多难,摸摸。。
    guoer
        15
    guoer  
       2016-04-13 12:33:16 +08:00
    提升技术的好机会啊
    RqPS6rhmP3Nyn3Tm
        16
    RqPS6rhmP3Nyn3Tm  
    OP
       2016-04-13 12:33:24 +08:00
    @giuem 封 UA 最容易,但是对方改一个也很方便。上次在七牛被搞,这次迁回本机不就又来搞我了吗
    ThreeBody
        17
    ThreeBody  
       2016-04-13 12:34:08 +08:00
    Havee
        18
    Havee  
       2016-04-13 12:34:47 +08:00
    记录一个时间段含有这些特征的 ip ,去重排序,然后直接 drop
    写个脚本去跑,可以放计划任务里
    RqPS6rhmP3Nyn3Tm
        19
    RqPS6rhmP3Nyn3Tm  
    OP
       2016-04-13 12:35:25 +08:00
    @VmuTargh
    @Zohar 放到沙田就是为了 CN2 访问快,上 cloudflare 不就又慢下来了吗
    ioriwong
        20
    ioriwong  
       2016-04-13 12:35:27 +08:00 via Android
    当你不能反抗的时候,要学会享受(手动滑稽)
    Havee
        21
    Havee  
       2016-04-13 12:35:32 +08:00
    封 ip 怎么能不现实呢,这是一劳永逸的办法,对方换 ip 地址池是需要成本的
    VmuTargh
        22
    VmuTargh  
       2016-04-13 12:37:07 +08:00
    @BXIA 这是没办法的事情…… 目前只能上个顶着
    Zohar
        23
    Zohar  
       2016-04-13 12:37:13 +08:00 via Android
    @BXIA CloudFlare 速度也不算太慢吧…
    sparkle
        24
    sparkle  
       2016-04-13 12:37:57 +08:00
    阿里云 CDN 不是说可以抗攻击吗,不知道效果怎么样
    RqPS6rhmP3Nyn3Tm
        25
    RqPS6rhmP3Nyn3Tm  
    OP
       2016-04-13 12:39:12 +08:00
    @VmuTargh
    @Zohar 之前放在 DigitalOcean ,上了 CL 比直连还慢……
    Strikeactor
        26
    Strikeactor  
       2016-04-13 12:39:48 +08:00
    @Havee 这样会引入更大的漏洞吧,对方拿这种 http://spys.ru/free-proxy-list/CN/ 刷一遍估计楼主的博客跟被 CC 死了也没区别了
    Slienc7
        27
    Slienc7  
       2016-04-13 12:40:04 +08:00 via Android   1
    所有房和公代理 IP 全部直接 ban 了。
    用似 Blocked.net 的西。
    Zohar
        28
    Zohar  
       2016-04-13 12:44:50 +08:00 via Android
    @BXIA 但是我觉得 CloudFlare 应该是最省心、成本最低的解决办法了吧(··;
    RqPS6rhmP3Nyn3Tm
        29
    RqPS6rhmP3Nyn3Tm  
    OP
       2016-04-13 12:47:56 +08:00
    @Slienc7 不是很现实,还是有很多人开代理上网的吧
    fyooo
        30
    fyooo  
       2016-04-13 12:49:53 +08:00 via Android
    腾讯云和阿里云不是可以免费防 DDOS 么?
    aivier
        31
    aivier  
       2016-04-13 12:50:29 +08:00
    找个流量大的反代....让他慢慢玩
    RqPS6rhmP3Nyn3Tm
        32
    RqPS6rhmP3Nyn3Tm  
    OP
       2016-04-13 12:51:00 +08:00
    @fyooo 不是阿里和腾讯的机器
    Slienc7
        33
    Slienc7  
       2016-04-13 12:51:14 +08:00
    @BXIA
    那就遇到这类 IP 扔 reCAPTCHA 给他们就好了,一般个人梯子,体验还是不错的。
    RqPS6rhmP3Nyn3Tm
        34
    RqPS6rhmP3Nyn3Tm  
    OP
       2016-04-13 12:54:01 +08:00
    @Slienc7 这是个好主意,访问超过一定数量则上 reCAPCHA ,确认后可继续访问
    不知道如何用 nginx 实现?
    kokutou
        35
    kokutou  
       2016-04-13 12:56:11 +08:00
    仍 reCAPTCHA +1
    badcode
        36
    badcode  
       2016-04-13 12:57:41 +08:00 via iPhone
    http://www.360.com.sb/safe/326.html
    ngx_lua
    lujit2.0

    上 CloudFlare

    ban ip

    最好想办法知道为何被 C
    virusdefender
        37
    virusdefender  
       2016-04-13 13:01:11 +08:00
    v1024
        38
    v1024  
       2016-04-13 13:03:31 +08:00
    买服务商的防护方案。
    nlzy
        39
    nlzy  
       2016-04-13 13:04:10 +08:00 via Android
    看看这个?
    t/156177#reply51
    Havee
        40
    Havee  
       2016-04-13 13:08:11 +08:00
    @Strikeactor 又不妨碍个人访问,难不成楼主博客被墙?
    Strikeactor
        41
    Strikeactor  
       2016-04-13 13:15:05 +08:00   1
    @Havee 很多临时的 HTTP 开放代理其实是有漏洞的个人设备或者肉鸡,自动总结的话会造成大面积正常 IP 段也被划进防护范围,对方有意使用国内的 IP 段集中触发防护规则的话是可以达到被墙一样的效果的
    Felldeadbird
        42
    Felldeadbird  
       2016-04-13 13:15:49 +08:00
    好奇 /content/images/2016/03/internet-query-1459137420744.png 是什么内容。。为什么要 CC 你?
    dapang1221
        43
    dapang1221  
       2016-04-13 13:16:53 +08:00 via Android
    这 cc 攻击的人也是个逗比,好像一直访问的只是那个 png 图片?大不了那个图不要了,把所有访问那个图的流量 302 到百度上去
    Slienc7
        44
    Slienc7  
       2016-04-13 13:18:14 +08:00
    @BXIA 没有试过,不太了解 NGINX ;按照文档来应该不太难?
    RqPS6rhmP3Nyn3Tm
        45
    RqPS6rhmP3Nyn3Tm  
    OP
       2016-04-13 13:18:36 +08:00 via Android
    @Felldeadbird 上次 27 条的图片
    cst4you
        46
    cst4you  
       2016-04-13 13:19:57 +08:00
    这界面... Starry 家的?
    GPU
        47
    GPU  
       2016-04-13 13:23:03 +08:00
    http://ip.rtbasia.com/

    检测 IP 真人概率 , get 请求超过 n 次之后对此 IP 进行检测,低于 50% BAN IP.

    貌似要开一个坑才可以
    shiny
        48
    shiny  
       2016-04-13 13:25:57 +08:00   2
    访问页面的时候注入 cookies ,然后打开图片的时候验证 cookies
    sandideas
        49
    sandideas  
       2016-04-13 13:28:03 +08:00 via iPhone
    @GPU 不好使啊。我校园网才百分之四十几。。。
    GPU
        50
    GPU  
       2016-04-13 13:30:35 +08:00
    @sandideas 校园网不懂 ,我自己使用的 vps 测出来挺正常的
    UnisandK
        51
    UnisandK  
       2016-04-13 13:30:52 +08:00
    @GPU 现在很多 ISP 都不给公网 IP 了,使用公共出口的很容易触发这玩意,而且出口 IP 真人概率肯定低
    shiny
        52
    shiny  
       2016-04-13 13:33:12 +08:00
    @GPU 很多代理,实际上是个人宽带里的设备被扫出来的。我以前家庭宽带架个绑 1080 的树莓派,很快就被扫出来了。
    Havee
        53
    Havee  
       2016-04-13 13:40:11 +08:00
    @Strikeactor 但是很多都是透明代理啊, nignx 配置下就行
    高匿代理封了就封了

    个人博客,不是日 ip 上万那种
    xuboying
        54
    xuboying  
       2016-04-13 14:03:28 +08:00
    没有动态的封 ip 的程序么?
    自动计算访问量来限制?
    Earthman
        55
    Earthman  
       2016-04-13 14:15:28 +08:00
    @shiny 自己不用密码验证?
    ytmsdy
        56
    ytmsdy  
       2016-04-13 14:18:05 +08:00
    直接挂一个百度的 cdn 加速。效果杠杠的。。。。。
    msg7086
        57
    msg7086  
       2016-04-13 14:25:00 +08:00
    ngx_http_limit_req_module
    看看能不能把 Hash 池设置成 IP+本地文件,这样可以专门针对单刷单张图片做防护,也不会影响正常访问。
    zynlnow
        58
    zynlnow  
       2016-04-13 14:31:29 +08:00
    可以用 limit_req_zone 限制资源访问
    http://nginx.org/en/docs/http/ngx_http_limit_req_module.html
    youxiachai
        59
    youxiachai  
       2016-04-13 14:33:41 +08:00
    @ytmsdy 那 lz 要准备破产了..
    clino
        60
    clino  
       2016-04-13 14:47:01 +08:00
    fail2ban 封 IP
    lotuslotus
        61
    lotuslotus  
       2016-04-13 14:47:47 +08:00
    @dapang1221 虽然百毒名声差,但你也不能这样祸害他啊,怎么不 302 到 http://120.52.72.19/mirrors.163.com/ubuntu-releases/15.10/ubuntu-15.10-desktop-amd64.iso
    CayenneS
        62
    CayenneS  
       2016-04-13 14:53:39 +08:00
    http://www.360.com.sb/safe/326.html 可以借鉴, verynginx 。不过楼主知道 cc 量多少,量多估计也悬
    williamnet
        63
    williamnet  
       2016-04-13 14:55:46 +08:00
    在页面源代码里注释写上:大哥我错了,饶了我吧。。。
    O21
        64
    O21  
       2016-04-13 14:57:25 +08:00
    我说的点实际的吧

    nginx 配置

    https://gist.github.com/ac7c52d9826a22c77053bdb950951975.git

    http{
    ...
    limit_zone one $binary_remote_addr 10m;
    ...
    server{
    listen 80;
    ....
    location/{
    limit_conn one 5; #限制连接数
    limit_rate 500k; # 限制速度
    }
    }
    bk201
        65
    bk201  
       2016-04-13 14:59:59 +08:00
    我一直在想转发到广告流量上是不是很赚。
    wayslog
        66
    wayslog  
       2016-04-13 15:04:40 +08:00 via Android
    那么问题来了…楼主…哪家泡面好吃?
    zhicheng
        67
    zhicheng  
       2016-04-13 15:11:58 +08:00
    C 你的时候开 CF ,不 C 的时候再关掉。
    shiny
        68
    shiny  
       2016-04-13 15:16:01 +08:00
    @bk201 会被封账号,别问我怎么知道的
    lbp0200
        69
    lbp0200  
       2016-04-13 15:21:39 +08:00   1
    通过 nginx 配置文件抵御攻击
    http://drops.wooyun.org/tips/734
    feather12315
        70
    feather12315  
       2016-04-13 15:22:46 +08:00 via Android
    @sandideas vps 61%
    mcone
        71
    mcone  
       2016-04-13 15:32:08 +08:00
    楼主怎么这么惨。。。。话说刚刚我想去看看那个图片是神马也看不到了 o(□)o

    谁这么吃饱了撑的啊,感觉里面应该有故事才对。。。
    jame
        72
    jame  
       2016-04-13 15:53:30 +08:00
    限制同 IP 每分钟的连接数呀,正常人类不会一直刷新的。
    imWBB
        73
    imWBB  
       2016-04-13 16:33:41 +08:00 via Android
    据说上 https 之后 cc 效果会很差
    youxiachai
        74
    youxiachai  
       2016-04-13 16:53:09 +08:00
    @bk201 没用..这算作弊流量...
    Ryans
        75
    Ryans  
       2016-04-13 16:53:40 +08:00
    用加速乐,防 CC
    RqPS6rhmP3Nyn3Tm
        76
    RqPS6rhmP3Nyn3Tm  
    OP
       2016-04-13 17:52:00 +08:00
    @imWBB 我这就是 HTTPS
    qcloud
        77
    qcloud  
       2016-04-13 18:09:16 +08:00
    上云锁!
    usernametoolong
        78
    usernametoolong  
       2016-04-13 18:32:27 +08:00
    楼主给个联系方式,有个机油防 CC 得不行。
    kn007
        79
    kn007  
       2016-04-13 18:50:50 +08:00
    是谁这么无聊。。。还好我 VPS 有 2T 流量。。。
    kn007
        80
    kn007  
       2016-04-13 18:51:43 +08:00
    @BXIA 封掉一个 C 段试试
    kn007
        81
    kn007  
       2016-04-13 18:52:02 +08:00
    之前被人用过 B 段 CC 。。。的路过
    kn007
        82
    kn007  
       2016-04-13 18:58:35 +08:00
    还可以用#48L shiny 的方法
    datocp
        83
    datocp  
       2016-04-13 19:16:10 +08:00
    去研究一下 iptables recent 模块吧。

    iptables 防 syn_flood 之类的
    -A INPUT -i venet+ -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK SYN -j syn_flood

    iptables -S syn_flood
    -N syn_flood
    -A syn_flood -i venet0 -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK SYN -m hashlimit --hashlimit-upto 80/sec --hashlimit-burst 450 --hashlimit-mode srcip --hashlimit-name synlimit --hashlimit-htable-expire 300000 -j RETURN
    -A syn_flood -m recent --set --name blacklist --rsource -j DROP

    终极方法就是用 shell 对来源 ip 进行处理,然后 iptables quota 流量,每 IP 每天限制访问流量,甚至可以用 tc 进行每 ip 流量限制
    -A OUTPUT -d 101.65.158.109/32 -o venet0 -m quota --quota 2076996775 -j ACCEPT
    -A OUTPUT -d 101.65.158.109/32 -o venet0 -m recent --set --name bquota --rdest -j REJECT --reject-with icmp-port-unreachable
    ixinshang
        84
    ixinshang  
       2016-04-13 20:43:15 +08:00
    fail2ban 可以试试
    AlexaZhou
        85
    AlexaZhou  
       2016-04-13 21:23:04 +08:00
    CURL 并不是完整的浏览器,对通过 CURL 发起的攻击来说,可以通过动态 Cookies 验证的方法进行屏蔽

    原理参考: t/260392

    然后 VeryNginx 中已经实现了一遍,直接拿着用就行了
    RqPS6rhmP3Nyn3Tm
        86
    RqPS6rhmP3Nyn3Tm  
    OP
       2016-04-13 21:57:45 +08:00   1
    @AlexaZhou 连 VeryNginx 的原作者都来了啊……您的 VeryNginx 下午折腾了一下装上了,后来由于文档比较少不会用只能滚回原版 Nginx 了……
    RqPS6rhmP3Nyn3Tm
        87
    RqPS6rhmP3Nyn3Tm  
    OP
       2016-04-13 22:00:25 +08:00
    @wayslog 出前一丁汤不错,就是没有料包。泡面还是国产的好吃,汤达人各方面都很好,料多汤浓。南朝鲜的泡面不合我口味。日本的也不错。
    AlexaZhou
        88
    AlexaZhou  
       2016-04-13 22:19:00 +08:00
    @BXIA

    ,抱歉没帮上忙...

    看来我需要写一些文档,把一些典型应用下怎么配置都说一下
    AlexaZhou
        89
    AlexaZhou  
       2016-04-13 22:31:55 +08:00
    @BXIA

    差点忘了,请问你用的时候,是在哪儿卡住了呢?

    我好改进一下
    Yamade
        90
    Yamade  
       2016-04-13 22:35:55 +08:00 via Android   1
    @AlexaZhou 做成 Docker 吧
    RqPS6rhmP3Nyn3Tm
        91
    RqPS6rhmP3Nyn3Tm  
    OP
       2016-04-13 22:43:05 +08:00 via Android   1
    @AlexaZhou So sorry ,我把 GitHub 上的文档反复看了几遍,想要实现的是「除搜索引擎 bot 外,禁止非浏览器访问」还有「单位时间内访问过多的 IP 进黑名单禁止访问」,好像没有能配置的地方…
    YUX
        92
    YUX  
    PRO
       2016-04-13 22:44:16 +08:00
    上 CloudXNS+牛盾
    @CloudXNS
    AlexaZhou
        93
    AlexaZhou  
       2016-04-13 22:55:33 +08:00   1
    @BXIA

    「除搜索引擎 bot 外,禁止非浏览器访问」这个不难,但是需要知道搜索引擎的 UA ,例如这里我们写一个正则表达式 search_engine_ua_re 来匹配所有的搜索引擎 UA ,那大概方法是:

    配置一个 Mather ,包含 UA !≈ search_engine_ua_re, 然后配置一条浏览器校验规则,用这个 Matcher ,打开 cookies 校验和 Javascript 校验就可以了

    有点难的地方在于需要写一个正则表达式来匹配所有的搜索引擎 UA

    「单位时间内访问过多的 IP 进黑名单禁止访问」这个功能目前还没有,不过已经在开发计划中了,后续会加上
    kofip
        94
    kofip  
       2016-04-13 22:58:18 +08:00
    数据中心 ,真人概率: 10%
    kofip
        95
    kofip  
       2016-04-13 22:58:36 +08:00
    @GPU 数据中心 ,真人概率: 10%
    RqPS6rhmP3Nyn3Tm
        96
    RqPS6rhmP3Nyn3Tm  
    OP
       2016-04-13 23:05:54 +08:00   1
    @AlexaZhou 非常感谢!
    AlexaZhou
        97
    AlexaZhou  
       2016-04-13 23:20:39 +08:00
    @Yamade

    下个版本就会同步做成 Docker 啦
    AlexaZhou
        98
    AlexaZhou  
       2016-04-13 23:22:41 +08:00
    @BXIA

    客气啦
    RqPS6rhmP3Nyn3Tm
        99
    RqPS6rhmP3Nyn3Tm  
    OP
       2016-04-14 08:52:16 +08:00
    @AlexaZhou 您好,今天尝试在原版 nginx 中使用 verynginx (因为很多要用到的 module 所以不能用 openresty )失败了。 nginx 编译进了 lua-nginx-module 、 http_stub_status_module 然后通过包管理安装 lua-cjson 。还是不行, nginx 可以正常启动没有报错,但是就是无法正常运行。请问如何解决?
    Hodor
        100
    Hodor  
       2016-04-14 10:30:07 +08:00
    买我司的产品呗。。。。

    虽然跟我不是一个部门,但是我感觉我们的东西好像挺牛逼的。。。
    1  2  
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     957 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 92ms UTC 22:34 PVG 06:34 LAX 15:34 JFK 18:34
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86