Fail2ban - 使用 msmtp 發送電子郵件
如何設置 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 = sendmail
tobefore = 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>
為msmtp
inaction.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 的使用者創建單獨的配置。