在 中/etc/fail2ban/jail.local
,当我将 MTA 设置为 Postfix 时,Fail2Ban 显示错误并且无法启动。
[DEFAULT]
ignoreip = 127.0.0.1/8
bantime = 1800
maxretry = 4
destemail = [email protected]
mta = postfix
action = %(action_mwl)s
错误:
WARNING 'findtime' not defined in 'ssh'. Using default value
ERROR /etc/fail2ban/action.d/postfix-whois-lines.conf and /etc/fail2ban/action.d/postfix-whois-lines.local do not exist
ERROR Error in action definition postfix-whois-lines[name=ssh, dest="[email protected]", logpath=/var/log/auth.log, chain="INPUT"]
ERROR Errors in jail 'ssh'. Skipping...
['set', 'loglevel', 3]
['set', 'logtarget', '/var/log/fail2ban.log']
错误指向其他地方,但是当我注释掉它时mta=postfix
它就起作用了。
我已将 Postfix 安装为我的 MTA(在 Debian 7 中),我认为我应该将此设置的默认值更改sendmail
为。我错了吗?postfix
答案1
看看我的,/etc/fail2ban/jail.local
有这样的评论:
Since 0.8.1 upstream fail2ban uses sendmail MTA for the mailing.
Change mta configuration parameter to mail if you want to revert to conventional 'mail'
基于此以及您发布的错误,似乎您只能指定sendmail
或mail
。
mta
当设置为时,您会收到来自 fail2ban 的电子邮件吗sendmail
?
答案2
好的,挖出一个旧线程,但这就是我让 postfix 与 Fail2ban 一起工作的方法:
在 /etc/fail2ban/action.d/ 中,我复制并重命名了这些文件,将所有 sendmail 更改为 postfix,现在对我来说工作正常:
例如 cp sendmail-buffered.conf postfix-buffered.conf
此文件夹中所有其余的 sendmail conf 文件也同样如此......
然后重新启动 fail2ban 服务 -
答案3
当您将其设置为“sendmail”时,它实际上并不是“使用 Sendmail”作为 MTA。它所做的是使用系统上的 sendmail 命令将邮件发送到您正在使用的任何 MTA。Postfix、qmail、Exim 以及可能所有其他 *nix MTA 都提供了一个 /usr/bin/sendmail 命令,该命令与 Sendmail 提供的 /usr/bin/sendmail 命令兼容,该命令与提供“sendmail”命令的 MTA 进行通信。
因此,如果您使用 Postfix,则无需更改任何内容。只需将其设置为“sendmail”即可。