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

閲覧数: 21(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閑話, 公開タグ,
名前解決

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

非互換対応再び
blank

サイトのお守りというのは、言い換えれば「それらを構成するソフトウェア群とそれらが稼働するハードウェア  続きを読む

VPNのサービス化
blank

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

新年早々の非互換対応
blank

昨年から先送りしていた「mediawiki」のマイナーバージョンアップ(2020/12/18リリース  続きを読む

Zabbix 5.0を導入する
blank

もうね、完全にネタ切れw、ITネタで突っ走るしかない。今回は久しぶりのZABBIXネタと、それが稼働  続きを読む

テザリングでVPN
blank

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

スポンサーリンク

コメントを残す

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