web-dev-qa-db-ja.com

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を削除すると停止しますが、禁止通知も停止します。プロセスの開始/停止時に通知を停止するにはどうすればよいですか?

ありがとう

15
Michael

開始/停止/禁止のメールを制御するaction.d/mail.confまたはaction.d/sendmail.confをご覧ください。

10
user9517

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
10
Jim

これをファイルで修正する必要はありません。 _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を「メール」に設定した場合は、sendmailmailに変更して、特定のファイルを設定します。

ファイルにコメントした後、再起動することを忘れないでください!

9
boesing

開始/停止通知を無効にする唯一の方法は、action.d/にあるこれらのファイルのallactionstartおよび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
7
chronon

以前の回答の一部を細かくまとめようとしています。いくつかの詳細と、怠惰な人のための長いコマンドを使用しています。

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
3
mivk

ファイル/etc/fail2ban/action.d/sendmail-common.confを作成して、/etc/fail2ban/action.d/sendmail-common.localのactionstartおよびactionstop定義をオーバーライドします。

このファイルに以下のテキストを追加します

[Definition]
actionstart =
actionstop =

これで、fail2banサービスの開始/停止時にメールが届きません。

1
B J de Jong

私はこれをすばやく簡単に行う方法を見つけました:

cd/etc/fail2ban/action.dディレクトリ。

次に、各actionstartステートメントを自分のステートメントで置き換えるだけです。これは私にとっては空白でした。

for FILE in *mail* ; do echo -e "actionstart =\nactionstop =\n" >> $FILE ; done

これにより、メール送信する各ファイルに新しいactionstartおよびactionstopセクションが追加されます。

1行、完了しました。

0

しないでくださいパッケージに付属しているデフォルトのファイルを変更することをお勧めします(ここで提案されているように)、それらは次に更新するときに上書きされます。

その場合に使用するアクションをコピーするだけです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]] 
0
Rabin

これは、その価値のある解決策です。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行のコード/コマンドで実行できますが、できるだけ明確にするようにしました。

0
malloc

まず、一部の人々が述べたように、将来の更新で上書きされる可能性がある元の「.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

最後の注意:これらの変更を適用した後、新しい変更がまだ適用されていないため、初めて「停止」メッセージが表示されます。

0
TheNG