1
dingwen07 2022-12-30 07:36:21 +08:00 via iPhone
fail2ban 不是防止暴力破解密码的吗
但是实践中应该禁止密码登录的 |
2
AS4694lAS4808 2022-12-30 07:50:19 +08:00 via Android
这种情况不应该用 fail2ban 。虽然设置一下 log 格式可以从 nginx 的 access_log 里区分出流量类型,但是设置比较麻烦,而且会造成所有外部访问的 ip 直接被完全屏蔽掉。合理的方式是检查来源的 http 头,比如 aws cf 的 OAI 头,其他的参考各云厂商的文档。主要原理是 cdn 收到请求后会在请求中加内部头给源检验,这个头类似于约定好的静态 token ,有的也可以改成动态的。
|
4
glouhao OP 试了下,ssh 换了端口还是检测的,还是会加到 ban 列表里,默认规则好像还是封 22 ,需要修改下。但是没必要,一晚上就我自己测试的被封了。换端口真的不错。
|
5
msg7086 2022-12-30 10:32:37 +08:00
@dingwen07 不是。fail2ban 是通过规则匹配「 fail 」然后执行「 ban 」的软件,从来不是只能用于防止破解密码的。
只要你有办法定义「 fail 」的规则和「 ban 」的动作就行。 比如你写了个搜索引擎 API ,但是搜索小电影的你想要 ban 掉,那么就可以用 rule 去检查 nginx 的 access log ,找到搜索 /\w+-\d+/的访问记录,然后把 IP 加到 iptables 列表里 drop 掉。 |
8
revlis7 2022-12-30 15:35:50 +08:00
nginx 里添加 realip module 呢,搜到篇文章:
https://wkii.net/Nginx/nginx-cdn-get-user-real-ip.html#_1-%E8%83%8C%E6%99%AF%E7%9F%A5%E8%AF%86 |