glouhao
V2EX  ›  问与答

fail2ban 加了 cdn 怎么 ban

  •  
  •   glouhao · Dec 30, 2022 via Android · 1761 views
    This topic created in 1229 days ago, the information mentioned may be changed or developed.
    诸位大神,套了 cdn 应该是只能通过 cdn 屏蔽 ip 才管用了吧?网上只找到了配合 cf 的用法。有么有配合别的 cdn 的用法呢?比如亚马逊的 cft 国内速度该可以,还有国内的各种 cdn ,有没有接口可以用?
    dingwen07
        1
    dingwen07  
       Dec 30, 2022 via iPhone
    fail2ban 不是防止暴力破解密码的吗
    但是实践中应该禁止密码登录的
    AS4694lAS4808
        2
    AS4694lAS4808  
       Dec 30, 2022 via Android
    这种情况不应该用 fail2ban 。虽然设置一下 log 格式可以从 nginx 的 access_log 里区分出流量类型,但是设置比较麻烦,而且会造成所有外部访问的 ip 直接被完全屏蔽掉。合理的方式是检查来源的 http 头,比如 aws cf 的 OAI 头,其他的参考各云厂商的文档。主要原理是 cdn 收到请求后会在请求中加内部头给源检验,这个头类似于约定好的静态 token ,有的也可以改成动态的。
    glouhao
        3
    glouhao  
    OP
       Dec 30, 2022 via Android
    @dingwen07 是的呢,防止 wp 被破解外加 4xx 之类的乱七八糟请求。
    glouhao
        4
    glouhao  
    OP
       Dec 30, 2022
    试了下,ssh 换了端口还是检测的,还是会加到 ban 列表里,默认规则好像还是封 22 ,需要修改下。但是没必要,一晚上就我自己测试的被封了。换端口真的不错。
    msg7086
        5
    msg7086  
       Dec 30, 2022
    @dingwen07 不是。fail2ban 是通过规则匹配「 fail 」然后执行「 ban 」的软件,从来不是只能用于防止破解密码的。
    只要你有办法定义「 fail 」的规则和「 ban 」的动作就行。
    比如你写了个搜索引擎 API ,但是搜索小电影的你想要 ban 掉,那么就可以用 rule 去检查 nginx 的 access log ,找到搜索 /\w+-\d+/的访问记录,然后把 IP 加到 iptables 列表里 drop 掉。
    glouhao
        6
    glouhao  
    OP
       Dec 30, 2022 via Android
    @msg7086 大佬有没有国内 cdn 解决方案
    msg7086
        7
    msg7086  
       Dec 30, 2022
    @glouhao 抱歉不太清楚。
    revlis7
        8
    revlis7  
       Dec 30, 2022
    gdefw
        9
    gdefw  
       Feb 18, 2023
    @revlis7 试了一下,nginx 中记录的 log 里确实是真实 ip ,这样 fail2ban ban 的 ip 也是真实的,但实际请求的 ip 是 cdn 代理过的,还是封不了
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   6233 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 72ms · UTC 06:14 · PVG 14:14 · LAX 23:14 · JFK 02:14
    ♥ Do have faith in what you're doing.