※Centos8 では失敗した?
対応:
# 早口すぎるクライアントをブロックします。
smtpd_data_restrictions = reject_unauth_pipelining
以下、本記事
メールサーバが外部からアクセスを試みされることが多い
その場合、IPを特定し、拒絶することを進める アクセス制限
その為の作業は以下の通り
# vi /etc/postfix/main.cf 最終行に
#SMTP接続制限設定
smtpd_client_restrictions =
permit_mynetworks,
reject_rbl_client all.rbl.jp,
reject_rbl_client bl.spamcop.net,
reject_rbl_client zen.spamhaus.org,
check_client_access hash:/etc/postfix/reject_client,
permit
を記載 説明========================= ■設定内容解説 smtp_client_restrictions SMTPサーバーがクライアントからSMTP接続の要求を受けた際に適用する、オプションのアクセス制限を指定します。
詳しい仕様は以下のリンク先のPostfix公式マニュアルを参照してください。
reject_rbl_client
「reject_rbl_client」と記述されている行が5行存在します。
これは「RBL(Real-time Blackhole List)」と呼ばれるスパムメール送信元データベースからREJECT対象の送信元を判別させる為の記述です。
今回はIPアドレスを指定したアクセス制限以外にも、各団体などが管理しているスパムメール送信元リストもアクセス制限の判定条件に加えることします。
RBL(DNSBL)とは、についてはWikipediaの記事を参考にしてください。
今回の設定例に記述したRBLのリストは
の「Multi-RBL Check」処理で利用されていたRBLの一覧から当方で抜粋したものです。
check_client_access
アクセス制限を掛ける接続元のIPアドレスやホスト名などを指定します。
対象行では hash: と記述が続いており、データベース化したファイルを参照する指定内容にしてあります。
データベース化については後述します。
permit
最終行に permit が記述されています。
これはアクセス制限対象か否かを上から順番に評価されていき、上記の各条件に当てはまらなかったら permit(許可)と指定しています。
ただ、実際にはこの permit を記述しなくても許可されます。
視覚的にルールがわかりやすいので、明示的に書いておくことをおススメします。
=================================
アクセス制限対象db作成
vi /etc/postfix/reject_client
尚、ファイル「reject_client」は別の名前でも問題ありませんが、その場合は上項の「main.cf」内の「smtp_client_restrictions」でも同じファイルを指定してください。
今回は以前の記事の続きの作業で、接続元がロシアのIPアドレスの場合に制限を掛けようと思います。
その為、ファイル「reject_client」には以下の記述を入れて保存します。
45.142.120.0/24 REJECT 書き方は、ここを参照⇒http://www.postfix-jp.info/trans-2.2/jhtml/access.5.html/
postmap /etc/postfix/reject_client
postfix reload
参考ページ:https://www.depthbomb.net/?p=3422