Fail2ban

Fail2ban - 使用 msmtp 發送電子郵件

  • December 29, 2021

如何設置 fail2ban 以使用 msmtp 發送電子郵件?

我嘗試將mta = sendmail線路更改為mta = msmtp並將action = %(action_)s線路更改為action = %(action_mwl)s

我想/etc/fail2ban/action.d/msmtp-whois-lines.conf文件,但我不知道該放什麼。

echo -e "Subject: subject\nMessage contents" | msmtp recipient@hotmail.com我通常可以在沒有密碼的情況下從命令行發送郵件。

我會做的是以下幾點:

首先是將所有action.d/sendmail-*.conf文件複製到action.d/msmtp-*.conf文件中:

for file in /etc/fail2ban/action.d/sendmail*.conf; do cp "$file" "${file/sendmail/msmtp}"; done

下一步是更改文件中before = sendmailtobefore = msmtp的出現action.d/msmtp-*.conf

sed -i 's/before = sendmail/before = msmtp/' /etc/fail2ban/action.d/msmtp-*.conf

這將更正對其他 sendmail 配置文件的引用,例如before = sendmail-common.conf.

然後將所有出現的 更改sendmail -f <sender>msmtpin action.d/msmtp-*.conf

sed -i 's/sendmail -f <sender>/msmtp/p' /etc/fail2ban/action.d/msmtp-*.conf

這將更正sendmail被稱為 like的行Fail2Ban | /usr/sbin/sendmail -f <sender> <dest>

最後一步是更改文件mta = msmtp中的。action.d/jail.conf然後重新載入fail2ban來測試這些修改是否有效。

要記住的另一件事是關於 msmtp 配置的 fail2ban 的使用者上下文。如果您msmtprc配置了本地文件,則當 fail2ban 由於其他使用者上下文而嘗試執行 msmtp 時,可能不會應用它。在這種情況下,使用全域配置配置 msmtp,或為執行 fail2ban 的使用者創建單獨的配置。

引用自:https://unix.stackexchange.com/questions/233866