エラーメッセージに対応する

閲覧数: 16(0)

メールサーバー用のポートに朝から晩までのべつ幕無しにアタックしてくるIPアドレスにいちいち反応するのも癪だけどログが汚くなるのでFirewalldでドロップする事にした。とは言ってもログを見て手動で追加するのも面倒だしって事で、いろいろなサイトを参考にfirewall-cmdを吐き出すシェルを作ってみた。自動化には程遠いけど(笑) firewall-cmdで「–permanent」オプションを付けずに「–add-source」をすると次回の「–reload」でチャラになるのを逆手に取って、直近の「mail.log」で以下のようなログを5回吐いたIPアドレスを文字通りドロップゾーンに落とす(笑)設定です。

postfix/smtpd[8671]: warning: unknown[185.137.111.77]: SASL LOGIN authentication failed: authentication failure

作ったシェルはこんな感じ。前述したように「–reload」で一旦チャラにして、前回実行時の抽出結果と比較して差分があれば実行するってやりたかったけど、その部分は別シェルで手動で確認して「Firewalld」を再設定した方が良いと判断したら手で以下のシェルを起動するというとってもアナログな方法です(笑)

firewall-cmd --reload
  
cat /var/log/mail.log |grep 'authentication failed' | egrep -o -e '\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\]' | sed -e 's/^\[\(.*\)\]$//g' | sort | uniq -c | awk '$1 > 5 {print $2}' > /etc/postfix/sals_failed_ip_list || exit 1
while read LINE
    do
        firewall-cmd --add-source $LINE --zone=drop
    done < /etc/postfix/sals_failed_ip_list

firewall-cmd --list-all --zone=drop

exit $?

ある程度の期間を見て、最終的に本当にドロップする必要があると判断した相手はVPC上のネットワークACLでしっかり「DENY」にしています。

カテゴリーIT閑話, 公開タグ,
関連記事
テザリングでVPN
2019年6月25日

外出中はiPadのSSHアプリでコンソールからマルチクラウドの管理を行なっています。「以前」はvSS  続きを読む

VPNのサービス化
blank
2019年6月24日

マルチクラウド化してしまって、いちいちターミナル接続設定をするのが面倒で、一旦踏み台にするVPNサー  続きを読む

zabbix 4.0
blank
2019年6月21日

昨日の「ラズパイ」に続いて他のサーバーもZABBIXエージェントのバージョンアップを行います。AWS  続きを読む

名前解決
blank
2019年6月8日

バージョン5からのWordpressが「ツール」で提供している「サイトヘルス」という機能でサイトの健  続きを読む

超高速WEBサイト?
blank
2018年7月28日

NGINXとHHVMを使った超高速WEBサイトを目指して新しいインスタンスを立てた今回の「引越」でし  続きを読む

サイトのお引越し
blank
2018年7月26日

このサイトは2014年からAWS EC2上の「Amazon Linux」インスタンスで稼働していまし  続きを読む

コメントを残す

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください