Fail2ban 正则表达式帮助禁止 sshd 连接尝试

JoB*_*oBe 3 ubuntu regular-expression sshd fail2ban

这是一个棘手的问题(对我来说)

我正在尝试设置fail2ban 来禁止所有未登录的ssh 服务器连接尝试。

现在,我的问题是..一切都在文件filter.d/sshd.conf中。

对我来说这是不可理解的胡言乱语,我根本无法理解该配置文件中的正则表达式(我根本无法理解正则表达式,相信我,我已经尝试过了)。

我想扫描并禁止日志的这一行:(因为它显示仅连接的连接)

连接被 192.168.0.2 端口 12210 [preauth] 关闭

现在,正如我之前所写,我知道如何或在哪里将其写入/放置在配置文件中(不想用标准文件阻塞论坛

因此,如果有人愿意帮助我,我应该写什么,以及我应该把它放在配置文件中的哪里。

并且,如果可能的话,解释一下(或至少尝试解释)你在做什么?

小智 5

对于最新版本的fail2ban,设置就足够了:

[sshd]
mode = aggressive
enabled = true
Run Code Online (Sandbox Code Playgroud)

在你的/etc/fail2ban/jail.local

对于某些旧版本,这取决于。无论如何,我会从更新过滤器配置开始(例如从这里开始),只要确保您的版本早于0.10.5(在https://github.com/fail2ban/fail2ban/commit/1c1d2cc435d6e8f1eb4a1b60c935a1385a82e295F-MLFGAINED中引入)替换为。F-NOFAIL

如果您的fail2ban 版本早于0.10(即0.9),最好升级它。

回到实际问题“如何扩展股票正则表达式”......使用此设置是可能的:

[sshd]
failregex = %(known/failregex)s
            ^Connection closed by <ADDR> port \d+ \[preauth\]
Run Code Online (Sandbox Code Playgroud)

(对于没有 的fail2ban <= 0.9 prefregex,您必须使用前缀行等指定整个 RE 并使用<HOST>而不是<ADDR>)。