サーバーが再起動した場合、または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を削除すると停止しますが、禁止通知も停止します。プロセスの開始/停止時に通知を停止するにはどうすればよいですか?
ありがとう
開始/停止/禁止のメールを制御するaction.d/mail.conf
またはaction.d/sendmail.conf
をご覧ください。
CentOS 7(RHEL 7)のFail2Ban v0.9.1(epelリポジトリから)でこれを修正するには、/ etc/fail2ban/action.d/sendmail-commonで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
これをファイルで修正する必要はありません。 _jail.conf
_の設定によって異なります。
_mta = sendmail
_を設定した場合は、ファイルを_action.d/sendmail-*
_に絞り込むことができます。
次に、action = %(action_*)s
を確認する必要があります。構成した場合
"action_":action.d/sendmail。confのコメント "actionstart"& "actionstop"
"action_mw":コメント... in action.d/sendmail-whois.conf
"action_mwl":コメント... in action.d/sendmail-whois-lines.conf
Mtaを「メール」に設定した場合は、sendmailをmailに変更して、特定のファイルを設定します。
ファイルにコメントした後、再起動することを忘れないでください!
開始/停止通知を無効にする唯一の方法は、action.d/
にあるこれらのファイルのallのactionstart
およびactionstop
セクションをコメント化することでした:
mail-buffered.conf
mail.conf
mail-whois.conf
mail-whois-lines.conf
sendmail-buffered.conf
sendmail.conf
sendmail-whois.conf
sendmail-whois-lines.conf
以前の回答の一部を細かくまとめようとしています。いくつかの詳細と、怠惰な人のための長いコマンドを使用しています。
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',
なので、編集するファイルです。設定が/ 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
ファイル/etc/fail2ban/action.d/sendmail-common.conf
を作成して、/etc/fail2ban/action.d/sendmail-common.local
のactionstartおよびactionstop定義をオーバーライドします。
このファイルに以下のテキストを追加します
[Definition]
actionstart =
actionstop =
これで、fail2banサービスの開始/停止時にメールが届きません。
私はこれをすばやく簡単に行う方法を見つけました:
cd
を/etc/fail2ban/action.d
ディレクトリ。
次に、各actionstartステートメントを自分のステートメントで置き換えるだけです。これは私にとっては空白でした。
for FILE in *mail* ; do echo -e "actionstart =\nactionstop =\n" >> $FILE ; done
これにより、メール送信する各ファイルに新しいactionstartおよびactionstopセクションが追加されます。
1行、完了しました。
私しないでくださいパッケージに付属しているデフォルトのファイルを変更することをお勧めします(ここで提案されているように)、それらは次に更新するときに上書きされます。
その場合に使用するアクションをコピーするだけですsendmail-whois
を新しいファイルに付け、好きな名前を付けます。例:sendmail-mod
およびこのファイルでは、actionstart/actionstopの部分をコメント化(または削除)する必要があります。
次に、構成ファイル(jail.conf/jail.local)のアクションを変更して、新しいアクションを使用します。
From:
action = iptables-allports[name=ASTERISK, protocol=all]
sendmail-whois[name=ASTERISK, [email protected], [email protected]]
To:
action = iptables-allports[name=ASTERISK, protocol=all]
sendmail-mod[name=ASTERISK, [email protected], [email protected]]
これは、その価値のある解決策です。bashファイルを作成して実行します。
#!/bin/bash
echo Start ...
BASE_PATH="/etc/fail2ban/action.d/"
FILES="${BASE_PATH}mail-buffered.conf
${BASE_PATH}mail.conf
${BASE_PATH}mail-whois.conf
${BASE_PATH}mail-whois-lines.conf
${BASE_PATH}sendmail-buffered.conf
${BASE_PATH}sendmail.conf
${BASE_PATH}sendmail-whois.conf
${BASE_PATH}sendmail-whois-lines.conf"
echo $FILES
for f in $FILES
do
temp1=${f}.temp1
awk '/^[^ ]/ { comment=0 }
/^actionstart/ { comment=1 }
comment {$0 = "#" $0}
{ print }' $f > $temp1 && mv -f $temp1 $f || rm -f $temp1
temp2=${f}.temp2
awk '/^[^ ]/ { comment=0 }
/^actionstop/ { comment=1 }
comment {$0 = "#" $0}
{ print }' $f > $temp2 && mv -f $temp2 $f || rm -f $temp2
done
コードの最初の部分は変更したいファイルのリストを定義し、後半は基本的にawkコマンドを使用してそれらのセクションをコメント化します。
これは、すべてのファイルを反復して単語をループする1行のコード/コマンドで実行できますが、できるだけ明確にするようにしました。
まず、一部の人々が述べたように、将来の更新で上書きされる可能性がある元の「.conf」ファイルを編集するよりも、「。local」ファイルを作成して変更する方が良いようです。
結論:この優れたリンクに基づく: http://tonesworld.co.uk/fail2ban-disable-stop-and-start-emails/ 、私は次の手順を実行し、問題を解決しました:
1。 新しいファイルを作成して編集します:
Sudo nano /etc/fail2ban/action.d/stop-start.local
2。 内部に貼り付け(終了して保存):
[Definition]
actionstart =
actionstop =
3。 fail2banが「メール」を使用してメールを送信する場合:
Sudo ln -s /etc/fail2ban/action.d/stop-start.local /etc/fail2ban/action.d/mail-buffered.local
Sudo ln -s /etc/fail2ban/action.d/stop-start.local /etc/fail2ban/action.d/mail-whois-common.local
Sudo ln -s /etc/fail2ban/action.d/stop-start.local /etc/fail2ban/action.d/mail-whois-lines.local
Sudo ln -s /etc/fail2ban/action.d/stop-start.local /etc/fail2ban/action.d/mail-whois.local
Sudo ln -s /etc/fail2ban/action.d/stop-start.local /etc/fail2ban/action.d/mail.local
fail2banが「sendmail」を使用してメールを送信する場合:
Sudo ln -s /etc/fail2ban/action.d/stop-start.local /etc/fail2ban/action.d/sendmail-buffered.local
Sudo ln -s /etc/fail2ban/action.d/stop-start.local /etc/fail2ban/action.d/sendmail-common.local
Sudo ln -s /etc/fail2ban/action.d/stop-start.local /etc/fail2ban/action.d/sendmail-geoip-lines.local
Sudo ln -s /etc/fail2ban/action.d/stop-start.local /etc/fail2ban/action.d/sendmail-whois-ipjailmatches.local
Sudo ln -s /etc/fail2ban/action.d/stop-start.local /etc/fail2ban/action.d/sendmail-whois-ipmatches.local
Sudo ln -s /etc/fail2ban/action.d/stop-start.local /etc/fail2ban/action.d/sendmail-whois-lines.local
Sudo ln -s /etc/fail2ban/action.d/stop-start.local /etc/fail2ban/action.d/sendmail-whois-matches.local
Sudo ln -s /etc/fail2ban/action.d/stop-start.local /etc/fail2ban/action.d/sendmail-whois.local
Sudo ln -s /etc/fail2ban/action.d/stop-start.local /etc/fail2ban/action.d/sendmail.local
4。 変更を適用するために再起動します:
Sudo service fail2ban restart
最後の注意:これらの変更を適用した後、新しい変更がまだ適用されていないため、初めて「停止」メッセージが表示されます。