使用 fail2ban 进行 Samba

使用 fail2ban 进行 Samba

我正在寻找一种方法来使用 fail2ban 来控制/阻止 Ubuntu 12.04.3 LTS 上的 samba 登录。
我已经设置了jail.local。samba 部分目前如下所示:

[samba]
enabled = true
port = 135,139,445,137,138
protocol = tcp,udp

我缺少这两个选项:

filter =
logpath =

我知道 samba 日志位于/var/log/samba,但每个主机名都有自己的文件,所以我必须将什么设置为日志路径和过滤器?或者这有可能吗?

非常感谢

答案1

logpath 选项采用通配符,正如您引用的官方 wiki 所述

日志路径选项中的通配符支持

例如

logpath  = /var/log/apache*/*error.log 

再次引用你说你读过的文档

过滤器:过滤器定义一个正则表达式,该表达式必须与登录失败或任何其他表达式对应的模式匹配

这些通常放入 filter.d 目录中的 .conf 文件中。

答案2

以防有人正在寻找答案。在新文件“/etc/fail2ban/jail.d/samba.local”中配置 samba jail。

[samba]
enabled = true
port = 139,445
filter = samba # Filter defined in a file named "samba.conf" in "/etc/fail2ban/filter.d/"
logpath = /var/log/samba/log.%m 
maxretry = 3 

在“/etc/fail2ban/filter.d/samba.conf”中配置“samba”过滤器。

[Definition]
failregex = ^%(__prefix_line)s\[.*\]\s*smbd(?:\[[0-9]+\])?: \s.*authentication failure; logname=\S* uid=\S* euid=\S* tty=\S* ruser=\S* rhost=<HOST>\s.*
ignoreregex =

不要忘记重新加载配置更改。

相关内容