停止 fail2ban 停止/启动通知

停止 fail2ban 停止/启动通知

如果服务器重新启动,或者即使 fail2ban 停止/启动,它也会发送通知。

[asterisk-iptables]
enabled  = true
filter   = asterisk
action   = iptables-allports[name=ASTERISK, protocol=all]
           sendmail-whois[name=ASTERISK, [email protected], [email protected]] 
logpath  = /var/log/asterisk/messages
maxretry = 5
bantime = 259200

删除 sendmail-whois 会停止它,但它也会停止禁止通知,如何让它在进程启动/停止时停止通知我?

谢谢

答案1

查看action.d/mail.confaction.d/sendmail.conf控制邮件的启动/停止/禁止。

答案2

要在 CentOS 7 (RHEL 7) 上的 Fail2Ban v0.9.1(来自 epel 存储库)上修复此问题,您可以覆盖 /etc/fail2ban/action.d/sendmail-common.local 中的 sendmail 启动和停止操作(将其设置为无)。我通过以 root 身份运行以下命令来创建此文件:

cat << EOF >> /etc/fail2ban/action.d/sendmail-common.local
# Override the Fail2Ban defaults in sendmail-common.conf with these entries

[Definition]
# Disable email notifications of jails stopping or starting
actionstart =
actionstop =
EOF
cat /etc/fail2ban/action.d/sendmail-common.local

答案3

无需在任何文件中修复此问题。这取决于 中的配置jail.conf

如果您进行了配置mta = sendmail,则可以缩小文件范围action.d/sendmail-*

然后你必须看看你的action = %(action_*)s。如果你配置了

“action_”:在 action.d/ 中注释“actionstart”和“actionstop”发送邮件配置文件

“action_mw”:在 action.d/ 中评论...发送邮件配置文件

“action_mwl”:在 action.d/ 中评论...发送邮件-whois-lines.conf

如果你将 mta 配置为“邮件”,则只需更改发送邮件邮件并配置特定的文件。

评论完文件后别忘了重新启动!

答案4

尝试将前面答案的点点滴滴整合在一起,并为懒人提供更多细节和长命令。

jail.{conf,local}定义如何发送邮件。默认情况下,它是sendmail。检查:

grep 'mta *=' jail.{conf,local}

要查看为您的jail配置了哪些启动/停止操作,请使用fail2ban-client -d

把两者结合起来:

mta=$(grep 'mta *=' /etc/fail2ban/jail.{conf,local} | awk '{print $NF}')
fail2ban-client -d | awk "/action(start|stop).*$mta/ {print \$4}" | sort -u

在我的配置中,输出是'sendmail-whois-lines',so that is the file to edit。假设您的配置位于 /etc/fail2ban 下,则完整文件名是/etc/fail2ban/action.d/sendmail-whois-lines.conf

但是,正如 Rabin 所提到的,不要直接编辑该文件,因为它会在更新过程中被覆盖。相反,创建/etc/fail2ban/action.d/sendmail-whois-lines.local(或action.d/file-name.local在您的配置中执行任何正确操作)并添加以下行:

[Definition]
actionstart =
actionstop  =

或者,对于那些真正懒得查找和创建正确文件的人来说:

mta=$(grep 'mta *=' /etc/fail2ban/jail.{conf,local} | awk '{print $NF}')
fail2ban-client -d \
| awk "/action(start|stop).*$mta/ {print \$4}" \
| sort -u \
| while read f; do \
    f=${f//\'/}
    f="/etc/fail2ban/action.d/${f/%,/}.local"
    cat <<EOF >>"$f"
[Definition]
actionstart =
actionstop  =
EOF
done

相关内容