最初に。
本記事で示すfirewalldの設定は、「firewall-cmd」のコマンドによるものではなく、
「firewalldのXML設定ファイル」の内容について示しています。
「firewalldのXML設定ファイル」の内容構成については、
次のWebページを参照していただければと思います。
【firewalld】firewalldリッチルールと設定XMLファイルの構成
# 個人的には、「firewall-cmd」を打つのよりも、XMLファイル編集の方が楽ですので。
【SMTP、SMTPSのアクセス拒否ブラックリスト方式】
firewalldのルールは、もともとデフォルト拒否となっていて、
必要なサービスを許可していくというホワイトリスト方式となっています。
ですが、SMTP、SMTPSのアクセス制御に関しては、次に示すように
ついついブラックリスト方式に設定している方もいらっしゃるのではないでしょうか?
かくいうわたしも、
特に調べもせずにSMTP、SMTPSのサービスに関しては許可とし、
不適切なアクセスを拒否するというブラックリスト方式にしていました。
この方式では、mailogを見て不適切なアクセスを見つけ出し、
拒否リストに追加していくという作業が欠かせません。
毎日毎日不適切なアクセスが見つかり、
毎日毎日拒否リストに追加していくという作業にはうんざりしていました。
# 放っておいたら、ひどい時で約1秒間隔でアクセスしてきました。
# 約1秒ごとに、
# SMTPサーバーにログイントを試みられたんじゃ、たまったもんじゃありません。
【SMTP、SMTPSの接続元許可ホワイトリスト方式】
firewalldリッチルールについて調べていたら、
SMTP、SMTPSのアクセス制限にホワイトリスト方式が適用できることがわかりました。
もともと通信先の少ないメールサーバーでしたから、
許可すべきアクセス元を列挙していくことに困難はありません。
上の例では、「<zone target="DROP">」により、ゾーンのルールを
「マッチしないすべてのパケットは拒否する」
から
「マッチしないすべてのパケットはドロップする」
に変更しています。
「拒否」を直ぐに応答するのではなく、
無応答にすることで、アクセス元のリトライ間隔を長くすることがネライです。
以上