我已经在 Amazon Linux 2 上设置了 Fail2Ban,使用nginx-http-auth
以下覆盖配置启用内置监狱:
[nginx-http-auth]
enabled = true
action = iptables[name=HTTPS, port=https, protocol=tcp]
logpath = <snip>/logs/*error*.log
findtime = 15m
bantime = 15m
maxretry = 5
Run Code Online (Sandbox Code Playgroud)
该操作正在触发,我收到以下条目iptables -S
:
-A f2b-HTTPS -s 120.<snip>.122/32 -j REJECT --reject-with icmp-port-unreachable
Run Code Online (Sandbox Code Playgroud)
但是,我可以继续从被禁止的 IP 发出新的 HTTPS 请求,这些请求正在接收来自 Nginx 的 401 响应。我从两个 IP 地址进行复制 - 我的手机和另一个 EC2 主机。
以下是完整输出iptables -L
:(注意:Nginx 在 Docker 内部运行,另外两个与本地网络隔离的容器也是如此)
Chain INPUT (policy ACCEPT)
target prot opt source destination
f2b-HTTPS tcp -- anywhere anywhere tcp dpt:https
Chain …
Run Code Online (Sandbox Code Playgroud)