fail2ban 的正则表达式(xrdp.log)

Regexp for fail2ban (for xrdp.log)

为了针对 xrdp 攻击配置 fail2ban,我需要一些有关正则表达式的帮助。

/var/log/xrdp.log 我可以看到 :

[20201229-12:24:42] [INFO ] Socket 12: AF_INET6 connection received from ::ffff:82.74.118.114 port 55267

所以在 jail.conf 我添加:

[rdp]
enabled = true
filter = rdp
action = iptables-multiport[name=rdp, port="3389,3390,3391", protocol=tcp]
logpath = /var/log/xrdp.log
maxretry = 5

对于 filter.d/rdp.conf 我写道:

[Definition]
failregex = connection received from ::ffff:<HOST> port
ignoreregex =

显然我的正则表达式不好...

有人可以帮助我吗? 谢谢

您的 failregex 是多余的,因为 <HOST> 是模式 (?:::f{4,6}:)?(?P<host>\S+) 的别名,其中包括 ::ffff: 部分。此外,fail2ban 的默认日期模板不支持日志中的日期格式,因此您必须设置自定义日期格式。

[Definition]
failregex = connection received from <HOST>
ignoreregex =
datepattern = %%Y%%m%%d-%%H:%%M:%%S

根据经验,您应该始终使用 fail2ban-regex 工具测试您的日期模式和正则表达式。