如何使用systemd日志配置fail2ban?

如何使用systemd日志配置fail2ban?

我已经在 Debian Jessie LXC 容器上安装fail2ban,目前失败的原因是:

Starting authentication failure monitor: fail2ban
ERROR  No file(s) found for glob /var/log/auth.log
ERROR  Failed during configuration: Have not found any log file for ssh jail

系统上没有syslog或,因此不会生成。有没有办法告诉使用 的输出?rsyslog/var/log/auth.logfail2banjournalctl _COMM=sshd

答案1

对于 systemd 系统:

您必须指定/etc/fail2ban/jail.conf要使用的后端systemd,如下所示:

[DEFAULT]
backend = systemd

然后重新启动fail2ban:

systemctl restart fail2ban

编辑:

我是 CentOS/RHEL/Fedora 的重度用户,所以你可能需要稍微调整一下我所说的内容。就这个答案而言,您可能必须将fail2ban软件包更新到支持systemd作为后端的版本,否则您必须安装rsyslog以下内容并将其添加到您的/etc/rsyslog.conf

authpriv.*      /var/log/auth.log

这将确保 sshd 身份验证日志记录到,fail2ban 中的/var/log/auth.log默认后端将读取该日志:pyinotify

答案2

配置文件有问题。

我有jail.conf 和jail.d/defaults-debian.conf

后一篇的内容是:

[sshd]
enabled = true

由于此处未设置后端,因此使用默认值而不是 中的值jail.conf。该问题在这里详细描述:https://github.com/fail2ban/fail2ban/issues/1372

添加backend = systemd就成功了。

默认值-debian.conf

[sshd]
enabled = true
backend = systemd

答案3

我也有同样的问题。我最终没有弄清楚它,而是重新安装了 syslogd 来生成日志文件。

apt-get install inetutils-syslogd

安装后可能需要几分钟时间才能创建日志文件 - 添加日志条目时将创建该文件。

我不会长期推荐它(因为它实际上并不能解决问题),但如果你想让fail2ban立即工作,它就可以完成工作。

答案4

您需要可以支持 systemd 的fail2ban 0.9.0 版本,而 Debian Jessie 存储库中有 0.8.3 版本。

尝试从源下载并安装,或寻找替代存储库。

问候。

相关内容