postfix は RBL クエリをキャッシュしますか?

postfix は RBL クエリをキャッシュしますか?

これは私をイライラさせます… Linux Debian + postfix… /etc/postfix/main.cf には次の行があります:

smtpd_recipient_restrictions =
    check_recipient_access hash:/etc/postfix/access,
    reject_invalid_hostname,
    reject_non_fqdn_recipient,
    reject_non_fqdn_sender,
    reject_unauth_destination,
    reject_unauth_pipelining,
    reject_unknown_recipient_domain,
    reject_rbl_client cbl.abuseat.org,
    reject_rbl_client sbl-xbl.spamhaus.org,
    check_policy_service unix:private/policyd-spf,
    check_policy_service inet:127.0.0.1:10023,
    permit_auth_destination,
    reject

最近、postfix は単一の IP からの受信メッセージを拒否しています:

 [email protected]
   SMTP error from remote mail server after RCPT TO:<[email protected]>:
   host mail.server.ext [123.123.123.123]: 554 5.7.1 Service unavailable; Client host [234.234.234.234] blocked using cbl.abuseat.org; Blocked - see http://cbl.abuseat.org/lookup.cgi?ip=234.234.234.234

良い…http://cbl.abuseat.org/lookup.cgi?ip=234.234.234.234234.234.234.234 がブラックリストに登録されていないことを報告します (明らかに、IP 234.234.234.234 は実際のものではありません)。

これまでに同じ理由で数十件の電子メールがブロックされていますが、RBL を手動で照会するたびに、IP はクリーンであると報告されます。

postfix は RBL へのクエリをキャッシュしていますか? 何が足りないのでしょうか?

お時間をいただきありがとうございます。

答え1

最上層の観点からPostfixはDNS検索(RBLを含む)をlibcリゾルバに依存しているため、動作はライブラリによって異なります。たとえば、postfixは常にNSサーバを介して検索を行います。/etc/resolv.conf.

NSサーバーにキャッシュ機構がある場合、postfixもキャッシュ結果を取得します。プロバイダが「DNSハイジャック「(NS サーバーに転送された DNS パケット)。このイベントでは、(有効になっている場合)キャッシュにもヒットします。」

DNS ルックアップの出力を確認するには、digコマンドを使用できます。たとえば、IP アドレス 216.154.195.36 が cbl.abuseat.org にリストされているかどうかを確認します。

$  dig  36.195.154.216.cbl.abuseat.org

; <<>> DiG 9.10.1-P1 <<>> 36.195.154.216.cbl.abuseat.org
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 48609
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 1

返された値が NXDOMAIN の場合、IP アドレスはリストされていません。


最下層の視点から、各smtpdプロセス独自のDNSBL検索結果をキャッシュしているこれらの結果は他のPostfixプロセスと共有されません。各smtpdプロセスは、max_useまたはmax_idle到達しました。smtpdプロセスが終了すると、RBLキャッシュも失われます。デーモンsmtpdによって新しいプロセスが作成されると、master新しい設定を取得しますオンmain.cf(およびを含むmax_idlemax_use。したがって、実際には postfix を再起動する必要はありません。

関連情報