这种攻击如何防御? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
balabalaguguji
V2EX    程序员

这种攻击如何防御?

  •  
  •   balabalaguguji 2024-01-01 16:48:19 +08:00 9367 次点击
    这是一个创建于 729 天前的主题,其中的信息可能已经有所发展或是发生改变。

    老是被人攻击,如下图,都是用的几个固定 IP 疯狂访问同个地址,我已经 nginx deny 这个访问地址了,但是量太多了,影响到正常服务,请问各位大佬有什么办法呢?

    第 1 条附言    2024-01-01 17:36:29 +08:00
    有个奇怪点的是,腾讯云已经把我公网 IP 屏蔽了(因为前面的一次攻击),这次还没解封流量怎么可以进到我服务器的?不会是腾讯云内部的机器攻击我吧,通过内网 IP ?

    这个人追着我攻击了 4 ,5 天了,也不知道是哪个这么无聊呀
    30 条回复    2024-01-03 19:13:52 +08:00
    leaflxh
        1
    leaflxh  
       2024-01-01 16:56:54 +08:00
    交给更上层的防火墙
    比如
    iptables -I INPUT -p tcp -s x.x.x.x --dport=443 -j DROP
    balabalaguguji
        2
    balabalaguguji  
    OP
       2024-01-01 16:58:48 +08:00
    @leaflxh #1 多谢回复,发现 IP 特别多,有办法自动封锁 IP 吗?
    google2020
        3
    google2020  
       2024-01-01 17:06:19 +08:00
    一秒不到 30 个,不多。只是你拒绝方式有问题,403 的话还会响应,也就会占用带宽。你改成 444 就好,这个是 nginx 断开连接的状态码。
    balabalaguguji
        4
    balabalaguguji  
    OP
       2024-01-01 17:09:21 +08:00
    @google2020 #2 多谢,由 deny all 改为了 return 444
    traffic
        5
    traffic  
       2024-01-01 17:18:21 +08:00
    fail2ban 自动使用防火墙封锁,可以读 nginx 日志
    balabalaguguji
        6
    balabalaguguji  
    OP
       2024-01-01 17:19:14 +08:00
    @traffic #5 感谢,我研究下。不知道是谁那么无聊,天天攻击我
    lavvrence
        7
    lavvrence  
       2024-01-01 17:35:18 +08:00
    立刻换 IP ,然后套 CDN ,服务器在国外就无脑 Cloudflare 套五秒盾。
    balabalaguguji
        8
    balabalaguguji  
    OP
       2024-01-01 17:40:04 +08:00
    @jaylee4869 #7 很神奇的是,我换了 IP 攻击还是一直没断过,感觉就没换过一样
    onice
        9
    onice  
       2024-01-01 17:47:47 +08:00
    这种攻击叫 CC 攻击,上 waf 就行了。

    https://www.safedog.cn/website_safedog.html
    flyqie
        10
    flyqie  
       2024-01-01 17:53:26 +08:00 via Android
    你这种情况可以直接交给 waf ,不用在业务服务器上配。
    yumusb
        11
    yumusb  
       2024-01-01 17:54:10 +08:00
    不愿意透漏姓名的 y 文档 运维 你好。
    dufldylan1
        12
    dufldylan1  
       2024-01-01 18:23:46 +08:00
    @balabalaguguji fail2ban 自己写个规则被,不会就问 gpt 。记得把 ban-action 改为 drop
    strp
        13
    strp  
       2024-01-01 18:29:53 +08:00
    套 CDN 上 WAF 设置 Rate limit 就可以了,你甚至可以自定义 Response Code 和 Response Body 让对方懵圈。
    balabalaguguji
        14
    balabalaguguji  
    OP
       2024-01-01 18:31:55 +08:00
    @onice
    @flyqie
    @dufldylan1
    @strp

    多谢各位指导,学习学习
    Jat001
        15
    Jat001  
       2024-01-01 19:44:28 +08:00 via iPhone
    dns 直接解析到源站 ip 了?
    laminux29
        16
    laminux29  
       2024-01-01 20:08:07 +08:00
    报网监 X
    来论坛问 √

    国内网络早就实名制了,你不去报案,今天攻击你的人没被惩罚,明天他们还会继续攻击你,毕竟现在攻击成本很低,防御成本很高。
    balabalaguguji
        17
    balabalaguguji  
    OP
       2024-01-02 07:44:26 +08:00
    @laminux29 #16 好吧,我还不知道有这个选项可以。
    /tr>
    crazyweeds
        18
    crazyweeds  
       2024-01-02 08:36:56 +08:00   1
    不是我放风凉话,这种频度的,自己写一个都能防住。如果能改源码,那么直接加一个类似拦截器的操作。如果不行,那么自己写一个 tail 读取 nginx 日志,然后对 ip 进行时间窗口计数,超过频度,可以直接执行 shell 。但是得提前备份 iptables|firewalld 配置,避免后续记录太多。
    balabalaguguji
        19
    balabalaguguji  
    OP
       2024-01-02 09:11:43 +08:00
    @crazyweeds #18 接受批评,这方面确实没经验,跟你们学习,多谢指教
    jason56
        20
    jason56  
       2024-01-02 09:47:46 +08:00
    iptables + ipset
    -A INPUT -m set --match-set denyIp src -j DROP
    代码中加入攻击特征提取,把提取到的 IP 加入 denyIp 列表中。
    balabalaguguji
        21
    balabalaguguji  
    OP
       2024-01-02 14:42:44 +08:00
    @jason56 #20 好的,多谢,学习了
    8355
        22
    8355  
       2024-01-02 15:47:19 +08:00
    qps 不到 20 ,什么配置会这么大影响嘛
    OleJienNor
        23
    OleJienNor  
       2024-01-02 17:52:23 +08:00
    既然用的是 nginx,可以在 github 上找找针对这类攻击的 nginx waf 模块,有针对 cc 攻击的拦截,传统一点的方式就是 ipset+iptables+crontab ,自己写规则了。当然,如果是重要业务,还是建议购买安全服务,各种防护能开的就开一下。如果是自己建站一直被攻击,那就是有 D 狗在故意攻击,为了推销自己的 DDOS 防护服务,随时会跑路的那种
    cnleon
        24
    cnleon  
       2024-01-02 18:36:34 +08:00
    交给云的安全组啊,为啥要自己来呢. 或者直接报警来处理。攻击的东西永远是越前面挡住是最好的,而不是漏到最后来处理。
    balabalaguguji
        25
    balabalaguguji  
    OP
       2024-01-02 19:19:21 +08:00
    @8355 #22 这是基本结束时的日志了,前期有 30G 流量峰值的情况
    balabalaguguji
        26
    balabalaguguji  
    OP
       2024-01-02 19:19:34 +08:00
    @OleJienNor #23 多谢指点
    balabalaguguji
        27
    balabalaguguji  
    OP
       2024-01-02 19:20:19 +08:00
    @cnleon #24 报警这种小事情应该没人理。云安全组也是手动加 IP ,而且有 100 个限制,云防火墙就很贵很贵。
    shapper
        28
    shapper  
       2024-01-02 22:25:51 +08:00
    Fail2Ban 触发封停几天
    8355
        29
    8355  
       2024-01-03 10:11:48 +08:00
    @balabalaguguji #25 原来我们用的找不到了。
    nginx 的 lua 脚本,读写 redis 自动根据规则封禁 ip
    https://gist.github.com/chrisboulton/6043871
    balabalaguguji
        30
    balabalaguguji  
    OP
       2024-01-03 19:13:52 +08:00
    @8355 #29 很棒,感谢
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2943 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 30ms UTC 13:31 PVG 21:31 LAX 05:31 JFK 08:31
    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