You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Rootless Podman环境下Keycloak容器无法生效Fail2ban IP封禁的问题求助

Rootless Podman环境下Keycloak容器无法生效Fail2ban IP封禁的问题求助

各位大佬好,我最近在Rootless Podman环境里部署了Keycloak+PostgreSQL的Pod,搭配Fail2ban做登录防护时遇到了棘手的问题,折腾了半天没搞定,想请教下大家的解决思路!

我的环境详情

  • 操作系统:Rocky Linux 9.2
  • Podman版本:4.4.1
  • Pod配置:以Rootless模式运行,网络使用--network 'slirp4netns:port_handler=slirp4netns'
  • Keycloak容器:指定了日志驱动为json-file,日志直接输出到宿主机的/var/log/keycloak.log,启动参数是--log-driver json-file --log-opt path=/var/log/keycloak.log
  • 反向代理:用Traefik做前端SSL终止,同时Keycloak自身也开启了SSL
  • Fail2ban状态:已经能正确解析Keycloak日志里的失败登录记录,识别出恶意IP并生成iptables封禁规则(用fail2ban-client status keycloak能看到IP已被封禁),但奇怪的是被封禁的IP仍然能继续提交登录请求,完全不受限制

我的Fail2ban Jail配置

/etc/fail2ban/jail.d/keycloak.local内容如下:

[keycloak]
backend = auto
enabled = true
filter = keycloak
maxretry = 3
bantime = 86400
findtime = 86400
logpath = /var/log/keycloak.log
action = iptables-allports[name=keycloak]

iptables规则对比

  • 封禁前的iptables规则:
iptables -n -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination
  • 封禁后的iptables规则:
iptables -n -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination
f2b-keycloak  tcp  --  0.0.0.0/0            0.0.0.0/0

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

Chain f2b-keycloak (1 references)
target     prot opt source               destination
REJECT     all  --  xx.xx.xx.xx       0.0.0.0/0            reject-with icmp-port-unreachable
RETURN     all  --  0.0.0.0/0            0.0.0.0/0

已尝试的调整

我之前了解到Docker环境下需要把封禁规则加到FORWARD链,所以把Jail里的action改成了:

action = iptables-allports[name=keycloak, protocol=all, chain=FORWARD]

修改后iptables确实把规则加到了FORWARD链里,但问题依旧,被封禁的IP还是能正常访问Keycloak。

求助问题

有没有大佬知道怎么让Rootless Podman里的Keycloak容器遵守Fail2ban的iptables封禁规则?或者有没有其他的防护思路可以替代?

备注:内容来源于stack exchange,提问作者Leo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.21 14:28:05