メールが戻ってくるようになった、取引先のファイアウォールが応答しなくなった、あるいはあるサイトがサーバーに CAPTCHA の壁を見せるようになった。誰かが「IP がブラックリストに載っている」と言い、真っ先に新しい IP を頼みたくなります。たいていそれは最初の一手として間違っています。ここでは、実際に何が起きているのかを 5 分ほどで突き止める方法と、根本的に解決する方法を紹介します。
「ブロックリスト」とは実際に何か
この言葉は 3 つの別々のものを指しており、それぞれ直し方が違います。
- DNS ブロックリスト(DNSBL)。 スパムを送ったり、乗っ取りの兆候を見せたりしたアドレスの公開リストです。メールサーバーは受信接続のたびにこれを照会します。ふつう「ブラックリスト入り」というとこれのことで、直せる種類です。
- 大手メールサービスの非公開の評価。 大規模なウェブメールサービスは独自のスコアを持っており、公開していません。影響(迷惑メールフォルダー行きや配信の遅延)は見えますが、確認できるリストはなく、あるのはそのサービスの postmaster ツールだけです。
- ネットワークの分類。 多くのサイトや不正検知システムは、データセンターのアドレスをすべて「ホスティング」として扱い、認証を求めたりブロックしたりします。これは掲載ではなく、削除もできません。そのアドレスがどんな種類のネットワークに属しているかを表しているだけです。
この記事の残りは主に 1 つ目について扱います。自分で確認して直せるのはこれだからです。
確認すべきリスト
- Spamhaus は、ほとんどのメールサーバーが使っているリストです。統合ゾーンの ZEN には、SBL(既知のスパム送信元)、XBL(感染した、または悪用されたマシン。CBL のデータが元)、PBL(直接メールを送るべきでないアドレス範囲)、CSS(少量ずつ送る「スノーシュー」型スパム)が含まれます。
- Barracuda は独自のリストを運営しており、多くの企業のメールゲートウェイで使われています。
- SpamCop はユーザーから報告されたアドレスを掲載します。掲載は最後の報告からおよそ 24 時間で自動的に消えます。
- UCEPROTECT には 3 つのレベルがあります。レベル 1 は個々のアドレスが対象で、新たなスパムがなければ 7 日後に自動的に消えます。レベル 2 と 3 は隣人の振る舞いを理由に割り当て範囲やネットワーク全体を掲載し、「即時」削除を販売しています。大手のメールサービスがレベル 2 と 3 に頼ることはめったにありません。
チェック方法
DNS ブロックリストは、アドレスのオクテットを逆順にして、リストのゾーンの下で照会します。どの Linux サーバーからでも次のように実行できます。
IP=203.0.113.7
REV=$(echo "$IP" | awk -F. '{print $4"."$3"."$2"."$1}')
for BL in zen.spamhaus.org b.barracudacentral.org bl.spamcop.net; do
echo "$BL: $(dig +short "$REV.$BL" A | tr '\n' ' ')"
done
応答がなければ掲載されていません。127.0.0.x の範囲の応答があれば掲載されており、Spamhaus の場合は最後の数字で ZEN のどの部分かがわかります。
| 応答 | 意味 |
|---|---|
127.0.0.2 | SBL:既知のスパム送信元 |
127.0.0.3 | CSS:スノーシュー型スパム |
127.0.0.4〜127.0.0.7 | XBL:乗っ取られた、または悪用されたマシン |
127.0.0.10、127.0.0.11 | PBL:直接メールを送るべきでない |
127.255.255.254 | 掲載ではない:公開リゾルバー経由で照会した |
最後の行で多くの人がつまずきます。Spamhaus は大規模な公開 DNS リゾルバー経由で届いた問い合わせには応答せず、代わりにエラーコードを返します。どのチェック結果もおかしく見えるなら、自前のリゾルバーを使うサーバーから実行するか、各リストのウェブサイトにある照会ページを使ってください。大量に照会する利用者には、DNS で照会する前に登録を求めるリストもあります。
まず原因を直す
原因を直さずに削除を申請しても、次に掲載されるまでの 1〜2 日を稼ぐだけで、繰り返し掲載されると解除までの時間も長くなります。ですから、掲載がどこから来たのかを突き止めましょう。
- 受け取る前からそのアドレスは掲載されていましたか? 掲載日とサーバーの作成日を比べてください。新たな活動のない古い掲載なら簡単です。そのまま削除フォームへ進みましょう。
- XBL または CBL への掲載: リストがあなたのアドレスから、マルウェアやボットネットに典型的な通信を検出しました。見覚えのないプロセス、ポート 25 への予期しない送信接続、新しい cron のエントリー、知らない SSH キーを探してください。乗っ取られたウェブアプリや弱いパスワードがよくある侵入口です。マシンがクリーンか確信が持てないなら、作り直しましょう。
- SBL または CSS への掲載: あなたのアドレスから送られたメールがスパムのように見えました。CAPTCHA なしでメールを送るお問い合わせフォーム、ニュースレターを送るスクリプト、公開インターフェースで待ち受けている SMTP サービスを確認してください。
- そもそもメールを送っていますか? 多くのホスティングでは、送信ポート 25 と 465 はデフォルトで閉じられており、メールはメールサービスのポート 587 経由で送るべきです。メールを一切送っていないのに掲載されているなら、サーバー上の何か別のものが送っています。
メールを送っているのと同じマシンで信頼できないコードを動かしているなら、今こそ分けるときです。危険な作業をサンドボックスや 2 台目のサーバーに移せば、その評価の問題をメール用のアドレスから遠ざけられます。選択肢の比較は信頼できないコードのための隔離レベルをご覧ください。
それから削除を申請する
- Spamhaus: 照会ページを使ってください。そのゾーンに合った削除手続きへのリンクがあります。原因がなくなれば、XBL/CBL と PBL の削除はセルフサービスでできます。PBL からの削除が意味を持つのは、逆引き DNS が一致するメールサーバーを本当に運用している場合だけです。
- Barracuda: 何を直したかを簡単に説明して削除フォームを送信します。最長で 1 日ほどかかると見ておきましょう。
- SpamCop: 何もする必要はありません。報告が止まってからおよそ 1 日で掲載は自動的に消えます。
- UCEPROTECT: レベル 1 は新たなスパムがなければ 7 日で消えます。レベル 2 と 3 は無視し、削除にお金を払わないでください。
削除されたら、リストに載らないための基本を整えましょう。サーバーのホスト名と一致する逆引き DNS 名、ドメインの SPF・DKIM・DMARC、そして上のチェックを毎週実行して変化があればメールで知らせる cron ジョブです。
新しいアドレスが正解になるとき
そういう場合もあります。たとえば、削除してもらえない古い SBL 掲載がそのアドレスに残っている、あるいは新しいプロジェクトのためにきれいな評価が必要な場合です。私たちのところでは、別のアドレスとは新しいサーバーのことです。新しいサーバーを注文し、データを移してから、古いものを解約します。すべての選択肢は IP アドレスの変更で説明しています。現在のアドレスの掲載が誤りだと思うなら、リスト名とリンクを添えてチケットを作成してください。一件ずつ確認しますが、依頼に応じてアドレスを交換することはしていません。
最後に 2 点。評価が少しでも重要なら(メール、取引先の許可リスト、アドレスに紐づいた API キー)、Small-IP のような独自の IPv4 を持つプランを使ってください。NAT プランの送信元アドレスはあなた自身のものではないため、自分の送信者評価を積み上げられません。そして、データセンターにいるという理由でサイトにブロックされているなら、どのリストも、どの新しいデータセンターのアドレスも、それを変えることはできません。各プランが何を公開しているかはネットワークとポートで説明しています。
コメント
まだコメントはありません。最初になりましょう。