memento-mori最近はメーラーも賢くなってきて、迷惑メールの振り分けはある程度自動的にやってくれるのですが、メールサーバ側での対策を見直そうと最新情報を調べ直しました。以前もpostfixの「header_checks」を使って簡易的に迷惑メールを排除していたのですが、特定IPアドレスからのsmtp関連への攻撃が多いのと、スパム対策の見直しで「smtpd_client_restrictions」の再設定を行い、迷惑メールをしっかり駆除したいと思います。List)の設定RBLは「迷惑メールの配信元をまとめたリスト」、つまりブラックリストの事で、このリストを管理しているサービスが幾つかありますので、それを参照してメールサーバ側で排除したいと思います。今回利用するRBLは「all.rbl.jp(元々設定済み)」「bl.spamcop.net」「zen.spamhaus.org」の3つです。設定は簡単で、main.cfの「smtpd_client_restrictions」にパラメータを記述するだけです。permit「permit_mynetworks」はその名の通り、「mynetworks」のネットワークを許可します。「reject_rbl_client」でRBLサービスのドメインを設定する事でRBLをチェック、リストに該当すれば排除します。最後に「permit」として、それ以外は許可するという設定例です。この設定によりチンケな迷惑メールは大方排除できるのですが、稀に正常な送信元がブラックリストに登録されている事があり、メールが届かないといったトラブルが発生しますので、その場合は一旦該当サービスを外して、リストから該当IPアドレスを削除する申請を行う必要があります。実体験として今まで2件ほどありました。「smtpd_client_restrictions」の「check_client_access」というパラメータで、個別にドメインやIPアドレスを指定して許可したり排除したりできます。今回は攻撃回数が多いIPアドレスを排除するのですが、IPアドレスはコロコロ変わるものの、ご丁寧に「91.200.12.」の範囲になっていたので「91.200.12」という指定で設定します。設定は「reject_client」というファイルを作り、postmapでdbファイルを作成するやり方で設定しました。※「check_client_access」パラメータを上記RBL関連の設定とまとめて記述しています。permit記述が完了すれば以下のコマンドで「reject_client.db」を作成してpostfixを再起動すれば完了です。