spamhaus.orgを利用する時の注意点

ある時からメールが届かなくなった。

ログを調べてみたら、届くメールがことごとくspamhaus.orgにブロックされていた。 先に結論から言うと、postfixでspamhause.orgの設定は以下の5行目ように指定するのが良さそうだということが分かった。

smtpd_client_restrictions =
      permit_mynetworks,
      reject_rbl_client all.rbl.jp,
      reject_rbl_client bl.spamcop.net,
      reject_rbl_client zen.spamhaus.org=127.0.0.[2..11],
      reject_unknown_sender_domain,
      reject_non_fqdn_sender,
      check_client_access hash:/usr/local/etc/postfix/reject_client,
      permit
 

理由

あるIPアドレス(aaa.bbb.ccc.ddd)がspamhaus.org にスパム認定されているかどうかは、彼らのドメイン名のホスト(ddd.ccc.bbb.aaa.pbl.spamhaus.org)のIPアドレスを調べてみることで分かる。 もしスパム認定されていれば127.0.0.2~127.0.0.11を返してくる。登録が無ければ”server can’t find”を返してくる。

もしこの時、リゾルバが参照するDNSが俗にいうパブリックDNSだった場合、”server can’t find”にはならずに”127.255.255.254″を返してくる。

つまり、

reject_rbl_client zen.spamhaus.org,

このように設定してあって、かつ /etc/resolv.conf に 1.1.1.1 などのパブリックDNSが設定されていた場合、届くメールはすべてスパムとみなされてしまう。

リゾルバが自前のDNSの時のnslookupの結果例

# nslookup 4.4.8.8.pbl.spamhaus.org
Server:         127.0.0.1
Address:        127.0.0.1#53

** server can't find 4.4.8.8.pbl.spamhaus.org: NXDOMAIN
#

リゾルバがパブリックDNS(1.1.1.1)の時のnslookupの結果例

# nslookup 4.4.8.8.pbl.spamhaus.org 1.1.1.1
Server:         1.1.1.1
Address:        1.1.1.1#53

Non-authoritative answer:
Name:   4.4.8.8.pbl.spamhaus.org
Address: 127.255.255.254
#

結論

リゾルバにパブリックDNSは使わないようにできるならそうした方が良い
どうしてもパブリックDNSを使いたいあるいは使う可能性があるなら設定にば”=127.0.0.[2..11]”を付け足さないとハマることになる。

参照サイト

Using our public mirrors? Check your return codes now.

What do the 127.*.*.* Return Codes mean?

コメントする

メールアドレスが公開されることはありません。 が付いている欄は必須項目です