我正在寻找一种方法来使用 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 =
不要忘记重新加载配置更改。