Ubuntu 20.04下Fail2ban监控xrdp无日志反馈问题求助
排查Ubuntu 20.04下Fail2ban监控xrdp无日志反馈问题
以下是逐步排查方案:
1. 确认Fail2ban服务状态
- 检查服务是否正常运行:
确保输出显示systemctl status fail2banactive (running),无启动报错。若服务异常,重启后再验证:systemctl restart fail2ban
2. 验证Filter配置的匹配有效性
检查Filter文件位置与内容
xrdp的规则文件需放在/etc/fail2ban/filter.d/xrdp.conf,确认文件存在且权限为root:root 644:
ls -l /etc/fail2ban/filter.d/xrdp.conf
测试正则匹配
用fail2ban-regex工具直接测试日志与规则的匹配情况:
fail2ban-regex /var/log/xrdp-sesman.log /etc/fail2ban/filter.d/xrdp.conf
重点看输出中的Matches found统计:
- 若匹配数为0,说明正则或时间格式配置有误。针对你的日志格式,修正后的Filter配置建议:
原配置的[Definition] failregex = ^\[.*\] \[INFO \] AUTHFAIL: .* ip=<HOST> ignoreregex = datepattern = ^\[%%Y%%m%%d-%%H:%%M:%%S\]datepattern未包含日志时间外的[],导致Fail2ban无法正确解析时间戳,这是常见匹配失败原因。
3. 检查Jail配置加载情况
- 确认
jail.local放在/etc/fail2ban/jail.local,验证xrdp jail是否被加载:
若返回fail2ban-client status xrdpJail 'xrdp' does not exist,说明配置未被识别,检查jail.local的语法是否正确(比如括号、等号无多余空格)。
4. 确保Fail2ban能读取xrdp日志
- 检查
/var/log/xrdp-sesman.log的权限,Fail2ban运行用户为fail2ban,需拥有读权限:
若日志权限为ls -l /var/log/xrdp-sesman.log-rw-r----- 1 root adm,将fail2ban加入adm组以获取读权限:usermod -aG adm fail2ban systemctl restart fail2ban
5. 开启Debug日志排查细节
- 调整Fail2ban日志级别为DEBUG,修改
/etc/fail2ban/fail2ban.conf:
重启服务后查看详细日志:loglevel = DEBUG
日志会显示Jail加载状态、日志文件读取情况、正则匹配过程等信息,定位具体问题。tail -f /var/log/fail2ban.log
内容的提问来源于stack exchange,提问作者Antonio Perez
相关产品推荐
相关产品推荐

