論文の2007年7月27日以降の版では、従来とは異なる設定ファイル構成と、拒否メッセージの変更を推奨しています。
従来の版で説明していた設定をしておられる方は、次のように変更するようお勧めします。
- main.cfファイルに追加するsmtpd_client_restrictionsパラメータは、従来は次のとおりでした。
smtpd_client_restrictions =
permit_mynetworks,
check_client_access regexp:/etc/postfix/client_restrictions,
reject_unknown_client
これを次のように変更します。
smtpd_client_restrictions =
permit_mynetworks,
check_client_access regexp:/etc/postfix/white_list,
check_client_access regexp:/etc/postfix/rejections - 従来のclient_restrictionsファイルからホワイトリスト部分を切り取ってwhite_listファイルにコピーします。
- 従来のclient_restrictionsファイルからブラックリストおよび一般規則の部分を切り取ってrejectionsファイルにコピーします。
- rejectionsファイルの中の、ルール1の直前に次の行を挿入します。
# [rule 0]
/^unknown$/ 450 reverse lookup failure, be patient - rejectionsファイルの中の、ブラックリストの従来の拒否メッセージ「450 domain UCE-blacklisted」を「450 domain check, be patient」に置き換えます。
- rejectionsファイルの中の、一般規則の従来の拒否メッセージ「450 may not be mail exchanger」を「450 S25R check, be patient」に置き換えます。
- 「postfix reload」を実行して完了です。
●送信を再試行する正当なメールサーバをホワイトリストで救済する作業が数時間以上遅れた時、送信者は送信側のメールサーバから遅延警告メッセージを受け取ることがあります。その中に、設定ファイルで指定した拒否メッセージが表示されます。拒否メッセージは、逆引きできない場合も含め、「be patient」(お待ちください)という語句を含むものに変更しました。これにより、善良な送信者に不安を与えるのを避けることができます。
●従来の設定方法では、逆引きできて逆引き名が一般規則かブラックリストに引っかかるメールサーバの許可条件はFQDNで指定する必要があり、IPアドレスの十進表記で指定しても許可されませんでした。これは、Postfixが条件をサーチする順序に原因があります(こちらの記事の中に説明があります)。変更後の設定では、ホワイトリストを単独のファイルとして分離したことにより、許可条件をFQDNでもIPアドレスの十進表記でもどちらで書いても許可されるようになりました。
●設定ファイルをホワイトリストと拒否条件に分けたため、ファイルの役割分担がわかりやすくなり、メンテナンスがやりやすくなります。