(IT) AWSでメールサーバー立てててspamhaus.org使ってると受け取ったメールを全部SPAM扱いされる

もう、メール送信サーバーを自前で運用するなんて、面倒くさいだけで何のメリットもないけど、意地と趣味で続けていたりする。合計6ドメイン、3サーバーでメールサーバーの運用をしている。全部AWS上のpostfixだ。
今日の昼頃、そのうちの一つのメールサーバーで運用しているメーリングリリストへ送信できないよーというメッセージを頂いた。エラーの内容がわからなかったのと受け取ったのが出先だったので、エラーメール転送してくださいとだけ返信して、帰宅後に対応を開始した。
とりあえず、サーバーにログインしてログをみると、確かにエラーになっている。

Nov 3 11:04:39 ip-10-0-1-97 postfix/smtpd[23376]: NOQUEUE: reject: RCPT from 送信元サーバー[IPアドレス]: 554 5.7.1 Service unavailable; Client host [IPアドレス] blocked using zen.spamhaus.org; Error: open resolver; https://www.spamhaus.org/returnc/pub/[AWSのパブリックIPアドレス]; from=<送信元アドレス> to=<送信先アドレス> proto=ESMTP helo=<送信元サーバー名>

spamhausとは、無料のブラックリスト判定サービス。サーバーの設定で「spamhausがSPAMと判定しているサーバーから来たメールは問答無用で拒否する」という設定ができるもの。
最初あんまりちゃんと読まないで、自分のサーバーがブラックリスト登録されたんだと思いこんで、解除依頼すればいいんだろうとたかをくくっていた。そう、なぜかブラックリストに追加されて解除依頼は過去にも経験があったからだ。
spamhaus.orgのブラックリスト確認ページへ行って、自分のメールサーバーのIPアドレスやドメインを入れても問題ないと出る。

なんでだ?
ログをもう一度よく見てみると、SPAM判定されているのは送信者側のサーバーのようだし、リンクされているのはAWSのRoute53(DNS)のIPアドレスのブロック確認ページだ。天下のGmail様から来たメールも見事におはじきになっておられる。どういうこったー?
こういう時はtwitter検索で同じ症状の人を探すのが近道。というわけで、見事に原因にたどり着けた。
9月22日に
AWSから無料でspamhaus使ってるメールサーバーには全部SPAMって答えるよ、さもなければ有料サービスにお入りなさい」と書かれた告知がリリースされているを発見。君か。10月18日から順次適用とな。オレが管理している3サーバーでは、11/1適用が1台、11/3適用が1台、残る1台は未適用という感じだったが、これから順次適用されていくと思うので、該当する管理者は対応を急いだ方がいい。
具体的な対応としては、/etc/postfix/main.cfに書かれているこのエントリーの「eject_rbl_client sbl.spamhaus.org」という部分を削除し、適切なspamチェッカーを設定すればOK。ようするにspamhausを使わなくすること。

smtpd_client_restrictions = (もろもろの許可設定),reject_rbl_client sbl.spamhaus.org,

念のためpostifixやその他のモジュール(DKIMとかdovecotとか)を再起動して復旧となる。
早く気がつけてよかった。死活監視では気が付けない問題なので、利用者からの問い合わせじゃないと気が付けない。
同じ症状で困っている人に向けてblogにしておいた。

(IT) Apple関連ドメインのメールがblockされたら

しばらく前に個人で管理しているメールサーバーで発生してたんだけど、今日は会社のメールサーバーでも発生してたので、blogにまとめておく。

Apple社のサービスで使ってるドメイン(me.comとかicloud.com)へのメールが届いてないんだけど、と相談されたら大抵これ、という解決策。
Apple社が自社サービスのメールサーバーの受信フィルタで使っている「proofpoint」というサービスがあって、こいつがある日、急に送信元のIPアドレスに従ってメールをブロックする。その基準はわからない。
ブロックされたらそのIPアドレスのサーバーを使っているドメインからme.comとかicloud.com宛のメールが届かなくなる。
/var/mail/maillog に対応策がログとして残っているので、それを実施。
logの内容はこんな;

Apr 11 06:14:46 smtp_server_name postfix/smtp[ID]: B7E93A****: to=<hogehoge@icloud.com>, relay=mx3.mail.icloud.com[17.172.34.64]:25, delay=2, delays=0.12/0.01/1.3/0.55, dsn=5.7.0, status=bounced (host mx3.mail.icloud.com[17.172.34.64] said: 550 5.7.0 Blocked – see https://support.proofpoint.com/dnsbl-lookup.cgi?ip=IP_ADDRESS (in reply to MAIL FROM command))

(smtp_server_name=自分のSMTPサーバーの名前、 IP_ADDRESS=自分のSMTPサーバーのグローバルIPアドレス)

要は「ブロックしたからなんとかしたけりゃここのサイトにおいで」と。
ログにある https://support.proofpoint.com/dnsbl-lookup.cgi?ip= へ行って自分のSMTPサーバーのグローバルIPアドレスを入力し、「ロボットではありません」にチェックを入れて「LOOKUP IP」ボタンを押す。

ブロックされてない場合はこんなだが、

ブロックされてた場合はこんな。

なので、名前とアドレスと(あれば)会社名を入力し、「ブロック解除お願いします」と日本語でもいいので、入力の上、「SUBMIT」ボタンを押す。審査中はこんな画面だけど、1時間前後でブロックが解除され、最初のブロックされてない画面になる。

一度解除されても、またブロックされているケースもあるので、注意が必要。