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

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

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

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

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

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

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

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

现在,正如我之前写的,我已经知道如何或在何处将其写入/放置在配置文件中(不想用标准文件堵塞论坛这个

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

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

答案1

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

[sshd]
mode = aggressive
enabled = true

在你的/etc/fail2ban/jail.local

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

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

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

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

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

答案2

我对此没有太多经验,但是您尝试过将此行添加到failregex吗?

^Connection closed by 192.168.0.2 port 12210\s*%(__suff)s$

对于任何主机/端口:

^Connection closed by <HOST>%(__on_port_opt)s\s*%(__suff)s$

相关内容