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

Fail2ban正则匹配正常但服务未生效,请求排查方案

Fail2ban服务异常:正则匹配正常但无失败计数

问题详情

Fail2ban服务无法正常触发封禁,使用fail2ban-regex验证正则表达式匹配日志正常,但执行fail2ban-client status login_eiren_studio时始终显示0次失败认证。系统与日志时区均为Europe/Madrid,Fail2ban日志无相关匹配记录,服务以root权限运行,目标日志文件具备读取权限。

配置信息

Filter规则文件(/etc/fail2ban/filter.d/login_eiren_studio.conf)

[Definition]
datepattern =\[%%Y-%%m-%%d\s%%H:%%M:%%S\s%%z\]
failregex =^\s\|\sIP:\s<HOST>\s.*$
ignoreregex =

Jail配置文件(/etc/fail2ban/jail.local)

[login_eiren_studio]
enabled = true
filter = login_eiren_studio
logpath = /var/www/openvscode/proyectos/login.eiren.studio/logs/badauth.log
maxretry = 5
bantime = 3600
findtime = 600

目标日志示例(/var/www/openvscode/proyectos/login.eiren.studio/logs/badauth.log)

[2025-01-02 12:43:58 +0100] | IP: 85.87.24.22 | Dispositivo: Windows 10 | Navegador: Chrome 131.0.0.0 | Usuario: intento de login: josuenbeita@gmail.com | Mensaje: Error: El usuario existe pero la contraseña no es correcta.
[2025-01-02 12:52:18 +0100] | IP: 85.87.24.22 | Dispositivo: Windows 10 | Navegador: Chrome 131.0.0.0 | Usuario: intento de login: josuenbeita@gmail.com | Mensaje: Error: El usuario existe pero la contraseña no es correcta.

解决思路

  • 重新加载配置并重启服务:执行sudo fail2ban-client reload login_eiren_studio或sudo systemctl restart fail2ban,确保配置变更生效
  • 修正datepattern格式:Filter配置中的datepattern使用了%%双重转义,这是错误的,应改为单个%,正确格式为:
    datepattern = \[%Y-%m-%d\s%H:%M:%S\s%z\]
    
    (Fail2ban的filter配置中无需对%进行双重转义,双重转义仅适用于shell环境下的变量引用)
  • 启用Debug日志排查:修改/etc/fail2ban/fail2ban.conf中的loglevel为DEBUG,重启服务后查看/var/log/fail2ban.log,获取日志匹配的详细过程
  • 验证日志路径与写入权限:确认logpath配置的绝对路径无拼写错误,手动向日志文件追加测试条目,查看Fail2ban是否能实时捕获
  • 检查安全模块限制:若系统启用SELinux或AppArmor,临时关闭SELinux(sudo setenforce 0)测试,或调整AppArmor规则允许Fail2ban读取目标日志文件

内容的提问来源于stack exchange,提问作者Eiren Studio

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.15 05:22:46