小编cha*_*kom的帖子

我如何格式化这个正则表达式以便它可以在 fail2ban 中工作?

我刚刚在 CentOS 服务器上安装了 fail2ban 以响应 SSH 蛮力尝试。fail2ban 的 sshd.conf 文件中的默认正则表达式与 audit.log 中的任何条目都不匹配,这是 SSH 似乎记录所有连接尝试的地方,所以我试图添加一个匹配的表达式。

我试图匹配的字符串如下:

type=USER_LOGIN msg=audit(1333630430.185:503332): user pid=30230 uid=0 auid=500
 subj=user_u:system_r:unconfined_t:s0-s0:c0.c1023 msg='acct="root": exe="/usr
/sbin/sshd" (hostname=?, addr=<HOST IP>, terminal=sshd res=failed)'
Run Code Online (Sandbox Code Playgroud)

我试图使用的正则表达式是:

^.*addr=<HOST>, terminal=sshd res=failed.*$
Run Code Online (Sandbox Code Playgroud)

我已经使用 regextester.com 和 regexr 来尝试构建正则表达式。测试人员给了我这个正则表达式的匹配项:^.*addr=\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}, terminal=sshd res=failed.*$但是如果我不在<HOST>正则表达式中使用标签,fail2ban-regex 会抱怨。但是,使用^.*addr=<HOST>, terminal=sshd res=failed.*$给了我 0 个匹配项。

在这一点上,我完全被困住了,我将不胜感激任何帮助。我在尝试使用的正则表达式中做错了什么?

security linux regex fail2ban centos5

7
推荐指数
1
解决办法
2万
查看次数

标签 统计

centos5 ×1

fail2ban ×1

linux ×1

regex ×1

security ×1