こんにちは、アイレットMSPチームの沢田です。

今回は、Elastic IP(EIP)が「ブラックリスト(DNSBL)」に登録されていたことが原因でロック解除が進められなかったケースと、その際の注意点について記載します。

EIP を解放(削除)しようとした際にロックがかかっていて解放できず、AWS サポートへロック解除を申請しても「この IP はブラックリストに登録されているため、まずはその解除が必要」と案内されることがあります。EIP のロックには複数の原因があり、逆引き(rDNS)設定が残っているケースについては以下の記事で解説されていますが、本記事ではこの ブラックリスト登録が原因のケース を取り上げます。

あわせて読みたい:ElasticIP の逆引き(rDNS)設定を解除する際の注意点

発生した事象

不要になった EIP を解放しようとしたところ、EIP がアカウントにロックされており、マネジメントコンソールから解放できませんでした。

そこで AWS サポートへロック解除を申請したところ、以下のような回答が返ってきました(一部を抜粋・和訳)。

ご提供いただいた IP アドレスは、Anonmails DNSBL および s5h.net のブラックリストに登録されていることを確認しました。
リクエストを処理する前に、これらのブラックリストへ働きかけてリストからの削除(delist)を試みてください。
連絡しても解決に至らなかった場合は、恒久的に解決するために講じた手順をこのメールに返信してください。

つまり、ロック解除の前提として、まず自分たちでブラックリストからの解除を行う必要がある という案内でした。

⚠️ 注意点:EIP のロック解除は AWS 側だけで完結するとは限りません。ブラックリスト登録が原因の場合、まず利用者側で delist(登録解除)を済ませないと、ロック解除の申請が受理されないようです。

そもそも「DNSBL」とは?

DNSBL(DNS-based Blackhole List)は、インターネット上にある「迷惑メール送信者のブラックリスト」のようなものです。RBL(Realtime Blackhole List)、拒否リスト、ブロックリスト、ブラックリストなどとも呼ばれます。

大まかな仕組みは次のとおりです。

  1. 世界中で「この IP アドレスから迷惑メールが大量に届いている」という情報をリスト化して共有する。
  2. メールの受信サーバーは、メールを受け取る前にこのリストを照会する。
  3. 送信元がリストに載っていれば「迷惑メールの可能性が高い」と判断し、受信を拒否したり迷惑メールフォルダに振り分けたりする。

なぜブラックリストに登録されてしまうのか

AWS の公式ドキュメント(Amazon SES: DNS ブラックホールリスト (DNSBL) に関するよくある質問)によると、IP アドレスが DNSBL に登録される主な経路は次のとおりです。

  • スパムトラップへの送信:スパムトラップ(人間のユーザーに属さず、迷惑メールの収集・スパム発信者の特定のためだけに存在するメールアドレス)へメールを送信すると登録される。
  • 個別ユーザーからの申告:一部の DNSBL は、個別のユーザーからの IP アドレスの申告を受け付ける。
  • IP アドレス範囲全体の申告:IP アドレス範囲全体の申告を受け付ける DNSBL もある。
  • メール管理者による追加:メール管理者の寄稿で維持される DNSBL では、管理者が「自分のシステムを不正使用している」と思われる IP アドレスを登録できる。

過去にその IP を使っていたときの送信状況などが原因で、意図せず登録されてしまっているケースもあります。つまり、どの IP がどのブラックリストに載るかはケースバイケース であり、自分では心当たりがなくても登録されていることがあります。

どうやったら防げるのか

ブラックリストへの登録は、多くの場合「迷惑メールとして報告されること」や「スパムトラップへの送信」が原因です。まずは送信元のレピュテーション(信頼度)を監視し、苦情率・配信率・エンゲージメントの低下がないかを日頃から確認しておくことが基本の予防策になります。

あわせて、宛先リストにスパムトラップが混入しないよう、以下の対策が有効です。

  • ダブルオプトイン:新しいアドレスを登録する前に確認メールを送り、同意を得た宛先だけをリストに追加する。無効なアドレスやスパムトラップの混入を防げる。
  • エンゲージメントを基準にリストを整理:一定期間、開封・クリックのない宛先は配信対象から外す。「使われなくなったアドレス」などに起因するスパムトラップに引っかかるリスクを減らせる。
  • メールアドレスのリアルタイム検証:登録時に有効性や入力ミスをチェックし、誤ったアドレスやでたらめなアドレスの登録を防ぐ。

⚠️ 注意点:運用面では、EIP やリソースを片付ける前に、あらかじめ対象 IP のブラックリスト登録状況を dig 等で確認しておくと、いざ解放という段階での手戻りを防げます(確認方法は後述)。

今回登録されていた2つのブラックリスト

ブラックリスト(DNSBL)は世界中に多数存在し、運営元も解除方法もさまざまです。前述のとおり、どの IP がどのリストに登録されるかはケースバイケースで、今回は以下の2つに登録されていました。それぞれ解除方法が異なるため、順に解説します。

Anonmails DNSBL

ドイツの組織(anonmails.de)が運営する DNSBL です。個人のメールアドレスを迷惑メールから守ることを目的に運用されており、スパムトラップにメールを送ってきたサーバーや、不審な大量送信を行っているサーバーを監視して自動的に登録します。

Web フォームから比較的簡単に解除申請ができるのが特徴です。

s5h.net

all.s5h.net というゾーンで運用される DNSBL(RFC 5782 準拠)です。実体は usenix.org.uk がホストしており、解除手順もそちらのページに記載されています。

今回の2つのブラックリストの解除方法

Anonmails DNSBL の解除

  1. 登録確認ページ(https://anonmails.de/dnsbl.php)で対象 IP を入力し、listed(登録あり)か not listed(登録なし)かを確認します。
  2. 登録ありの場合、解除申請ページ(https://anonmails.de/remove.php「DNSBL Removal Request」)を開きます。
  3. 解除したい IP アドレス・名前・申請理由を入力して送信します。
  4. 送信後「The IP address will be removed soon」と表示されれば申請完了です。反映までにはしばらく時間がかかり、数十分で反映されることもあれば、24時間ほどかかることもあります。

 

 

s5h.net の解除

(A) 自動解除(対象 IP を持つサーバーがある場合)

解除ページ(https://www.usenix.org.uk/content/rblremove)へ、登録された当該 IP を持つサーバー自身から 1 回アクセスします。curl / telnet / wget / ブラウザなど、いくつかの方法があります。

curlを使用してIPv4アドレスをリストから削除したい場合は、リストされているサーバーにログインして、次のコマンドを実行するだけです。

$ curl -4 http://www.usenix.org.uk/content/rblremove

成功すれば delist されます。

(B) 手動フォームで解除申請(対象 IP へ直接アクセスできない場合)

対象 IP をアタッチできるインスタンスが既に無い場合は、直接アクセスによる自動解除ができません。その場合は解除申請フォーム(https://www.usenix.org.uk/content/rblremovehelp)から依頼できます(英語のみ)。

  • 入力項目:メールアドレス/解除したい IP アドレス/解除理由/問題に対して実施した対処内容 など
  • 反映まで時間かかることがあります

なお、筆者のケースでは、この時点で s5h.net には対象 IP が登録されていなかった(not listed)ため、実際の解除申請は Anonmails DNSBL のみで済みました。

解除されたかの確認

dig コマンドで各 DNSBL に照会して確認します。IP アドレスを逆順にして 各 DNSBL のゾーン名を付与し、応答が返れば「登録あり」、何も返らなければ「登録なし(解除済み)」です。

例として、ドキュメント用 IP 203.0.113.1(逆順は 1.113.0.203)で示します。

# s5h.net
dig +short 1.113.0.203.all.s5h.net A
 
# Anonmails DNSBL
dig +short 1.113.0.203.spam.dnsbl.anonmails.de A

登録がある場合は値が返り、解除されると何も返らなくなります。また、各解除フォームの表示上でも「対象 IP が見つかりません(not listed)」といった形で確認できます。

⚠️ 注意点:照会は「IP を逆順にして」ゾーン名を付与します。順序を間違えると正しく判定できません。

解除後の対応

ブラックリストからの解除を確認できたら、AWS へロック解除を申請します。

  1. 両方のブラックリストで「登録なし」を確認する(上記 dig で応答なしを確認)。
  2. 対象アカウントにサインインし、それまでのメールスレッドを継続するのではなく「新規で」 ロック解除申請フォームから依頼する。
    • フォーム:https://console.aws.amazon.com/support/contacts#/rdns-limits
    • 「Elastic IP アドレス」欄に対象の EIP を記載する。
    • 「ユースケースの説明」欄は 英語 で、ロック解除を希望すること・ブラックリストから削除済みであることなどを記載する。
  3. ユースケース記載例:
    This IP address [xx.xxx.xxx.xxx] is locked by the account and cannot be released on the Management Console.
    Please unlock this Elastic IP from the account.
    We have removed this address from the Anonmails DNSBL blocklist, and have confirmed that it is not listed on the s5h.net blocklist.
    We intend to release this Elastic IP immediately after the lock is removed.
  4. AWS からロック解除完了の回答を受領したら、EIP を解放する。
    1. VPC コンソール(https://console.aws.amazon.com/vpc/)を開く
    2. ナビゲーションペインで「Elastic IP」を選択
    3. 対象 EIP を選び「アクション」→「Elastic IP アドレスの解放」
    4. 確認ダイアログで「解放」を選択

⚠️ 注意点:再申請は既存メールスレッドの継続ではなく「新規」で行うこと、また海外部署対応のため「ユースケースの説明」は英語で記載することが推奨されています。

まとめ

本記事のポイントは以下のとおりです。

  1. ブラックリストへの登録は主にメール送信のプラクティスに起因するため、日頃の適切な送信でレピュテーションを保つことが予防になる。
  2. EIP 解放時のロック解除申請で「ブラックリスト登録が原因」と言われたら、まず自分たちで DNSBL からの解除 を行う。
  3. DNSBL ごとに解除方法が異なる(今回の例:Anonmails は Web フォーム、s5h.net は基本サーバーからの直接アクセス、難しければ手動フォーム)。
  4. dig で解除を確認してから、新規で AWS へロック解除を申請し、ロックが解除されたら改めて EIP を解放する。

同様のケースで戸惑っている方の参考になれば幸いです。