これは私を狂わせています…LinuxDebian + 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.234 234.234.234.234のブラックリストは報告されていません(明らかにIP 234.234.234.234は実際のものではありません)。
同じ理由でこれまでに12通の電子メールがブロックされましたが、手動でRBLにクエリを実行するたびに、IPはクリーンであると報告されます。
ポストフィックスキャッシングクエリはRBLにありますか?何が足りないのですか?
よろしくお願いします。
最上位層の観点から、PostfixはDNSルックアップ(RBLを含む)を行うためにlibcリゾルバーに依存しているため、動作はライブラリによって異なります。たとえば、接尾辞は常にNS /etc/resolv.conf.
で定義されたサーバーを介してルックアップを実行します
NSサーバーにキャッシュメカニズムがある場合、postfixはキャッシュ結果も取得します。これは、次の場合にも発生します。プロバイダーには " DNSハイジャック "(DNSパケットがNSサーバー)に転送されました。この場合、キャッシュもヒットします(有効になっている場合)。
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_idle
とmax_use
を含む)。したがって、実際には接尾辞を再起動する必要はありません。