我已经在 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.log
fail2ban
journalctl _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 版本。
尝试从源下载并安装,或寻找替代存储库。
问候。