RqPS6rhmP3Nyn3Tm
V2EX  ›  问与答

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

  •  
  •   RqPS6rhmP3Nyn3Tm · Apr 13, 2016 · 14852 views
    This topic created in 3858 days ago, the information mentioned may be changed or developed.

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

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

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

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

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

    上 CloudFlare

    ban ip

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

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

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

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

    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
    bk201
    Apr 13, 2016
    65
    我一直在想转发到广告流量上是不是很赚。
    wayslog
    wayslog
    Apr 13, 2016 via Android
    66
    那么问题来了…楼主…哪家泡面好吃?
    zhicheng
    zhicheng
    Apr 13, 2016
    67
    C 你的时候开 CF ,不 C 的时候再关掉。
    shiny
    shiny
    PRO
    Apr 13, 2016
    68
    @bk201 会被封账号,别问我怎么知道的
    lbp0200
    lbp0200
    Apr 13, 2016❤️1
    69
    通过 nginx 配置文件抵御攻击
    http://drops.wooyun.org/tips/734
    feather12315
    feather12315
    Apr 13, 2016 via Android
    70
    @sandideas vps 61%
    mcone
    mcone
    Apr 13, 2016
    71
    楼主怎么这么惨。。。。话说刚刚我想去看看那个图片是神马也看不到了 o(╯□╰)o

    谁这么吃饱了撑的啊,感觉里面应该有故事才对。。。
    jame
    jame
    Apr 13, 2016
    72
    限制同 IP 每分钟的连接数呀,正常人类不会一直刷新的。
    imWBB
    imWBB
    Apr 13, 2016 via Android
    73
    据说上 https 之后 cc 效果会很差
    youxiachai
    youxiachai
    Apr 13, 2016
    74
    @bk201 没用..这算作弊流量...
    Ryans
    Ryans
    Apr 13, 2016
    75
    用加速乐,防 CC
    RqPS6rhmP3Nyn3Tm
    RqPS6rhmP3Nyn3Tm
    OP
    Apr 13, 2016
    76
    @imWBB 我这就是 HTTPS
    qcloud
    qcloud
    Apr 13, 2016
    77
    上云锁!
    usernametoolong
    usernametoolong
    Apr 13, 2016
    78
    楼主给个联系方式,有个机油防 CC 屌得不行。
    kn007
    kn007
    Apr 13, 2016
    79
    是谁这么无聊。。。还好我 VPS 有 2T 流量。。。
    kn007
    kn007
    Apr 13, 2016
    80
    @BXIA 封掉一个 C 段试试
    kn007
    kn007
    Apr 13, 2016
    81
    之前被人用过 B 段 CC 。。。的路过
    kn007
    kn007
    Apr 13, 2016
    82
    还可以用#48L shiny 的方法
    datocp
    datocp
    Apr 13, 2016
    83
    去研究一下 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
    ixinshang
    Apr 13, 2016
    84
    fail2ban 可以试试
    AlexaZhou
    AlexaZhou
    Apr 13, 2016
    85
    CURL 并不是完整的浏览器,对通过 CURL 发起的攻击来说,可以通过动态 Cookies 验证的方法进行屏蔽

    原理参考: https://www.v2ex.com/t/260392

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

    😰,抱歉没帮上忙...

    看来我需要写一些文档,把一些典型应用下怎么配置都说一下
    AlexaZhou
    AlexaZhou
    Apr 13, 2016
    89
    @BXIA

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

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

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

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

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

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

    下个版本就会同步做成 Docker 啦
    AlexaZhou
    AlexaZhou
    Apr 13, 2016
    98
    @BXIA

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

    虽然跟我不是一个部门,但是我感觉我们的东西好像挺牛逼的。。。
    1  2  
    ❮ ❯
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   4938 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 142ms · UTC 06:51 · PVG 14:51 · LAX 22:51 · JFK 01:51
    ♥ Do have faith in what you're doing.