msmtpを使用して電子メールを送信するようにFail2banを設定する方法は?
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 [email protected]
答え1
私がしたいことは次のとおりです。
1つ目は、すべての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
。before = 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>
次に、toのすべての項目をmsmtp
次に変更します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を再ロードして、これらの修正が有効であることをテストしてください。
注意すべきもう一つのことは、Fail2banがmsmtpのユーザーコンテキストに基づいて構成されることです。ローカルmsmtprc
ファイルを設定すると、fall2banがmsmtpを実行しようとしたときに、他のユーザーコンテキストによってそのファイルが適用されないことがあります。この場合、グローバル構成を使用してmsmtpを構成するか、fall2banを実行しているユーザーに対して別々の構成を作成します。
答え2
評判が足りないため、以下に直接コメントすることはできません。ランバート答えがとても役に立ちました。ここに私の考えを追加します。
〜のようにテキサス洪水彼らはあなたが実行しなければならないという意見を指摘しています。
sudo sed -i 's/\/usr\/sbin\/sendmail/\/usr\/bin\/msmtp/' /etc/fail2ban/action.d/msmtp*.conf
そして[マークメールを送信テキサス洪水の代わりにメール転送プロトコル! - ただオタイかもしれません。]
追加する必要があります。Sudo前にCPまたはsed正しく動作するために。