技術解説 · 出典付きの回答
オープンリレーとは?定義とセキュリティリスク
オープンリレーとは、認証なしで任意の第三者がメールを送信できるように設定されたSMTPサーバーです。つまり、送信者がローカルユーザーか許可されたクライアントかに関係なく、あらゆる送信元からメールを受け付け、あらゆる宛先へ転送してしまうサーバーです。
仕組み
通常のSMTPトランザクションでは、サーバーは送信者が認証済みかどうか、または受信者がそのドメインのローカルユーザーかどうかを確認します。オープンリレーはこれらのチェックを省略します。リモートのクライアントがオープンリレーに接続し、外部アドレスに対してRCPT TOコマンドを発行すると、サーバーはメッセージを受け付けて宛先サーバーにリレーします。これにより、メールの流れを既知のユーザーに制限するためのセキュリティ制御が回避されてしまいます。
送信者への影響
オープンリレーは、悪意のあるメールの送信元を隠そうとするスパマーの格好の標的です。サーバーがオープンリレーになると、すぐにインターネット上に迷惑メールがあふれます。その結果、サーバーのIPが世界的なリアルタイムブラックホールリスト(RBL)に追加されます。ブラックリストに載ると、そのIPから送信される正当なメールも主要なプロバイダーに拒否され、送信者レピュテーションが失われます。
運用上の間違い
オープンリレーは、任意のIPアドレスからのリレーを許可したり、SMTP AUTHを強制していなかったりといった、SMTPの設定ミスによって発生することがよくあります。管理者が接続の問題をトラブルシューティングしている最中に、誤ってオープンリレーを有効にしてしまうこともあります。SendHQの無料ツール(https://sendhq.cc/tools)を使うと、サーバーのセキュリティ不備に伴いがちなDNSや認証レコードの設定の抜けを特定できます。
具体例
開発者がPostfixを使ったLinuxサーバーを構築し、テストを簡単にするためにすべてのIPアドレスからのリレーを許可したとします。ボットネットがこの開いているポート25を見つけ、サーバー経由で1,000万通のフィッシングメールを送信します。数時間のうちにサーバーのIPは迷惑メールの送信元として判定され、そのサーバーから送られる正当な社内メールもすべて550エラーでバウンスし始めます。
防止策
オープンリレーを防ぐには、認証済みのユーザーまたは特定の信頼できるIP範囲に対してのみメールをリレーするよう、SMTPサーバーを設定する必要があります。SMTP AUTH拡張を導入すれば、外部の受信者宛てのメールをサーバーが受け付ける前に、ユーザー名とパスワードを必須にできます。セキュリティを維持するには、リレー権限の定期的な監査とトラフィックの急増の監視が欠かせません。
よく寄せられる質問
オープンリレーはSMTPリレーと同じですか?
いいえ。SMTPリレーは、サーバー間でメールを移動させる一般的な機能です。オープンリレーは、その機能が認証なしで誰にでも使える状態になっている、特定の安全でない設定を指します。
自分のサーバーがオープンリレーになっていないか確認するには?
外部のオープンリレーテストツールを使うか、外部のマシンから自分のサーバーをSMTPゲートウェイとして使い、第三者のアドレス宛てにメールを送信してみることで確認できます。
SPFやDKIMでオープンリレーを防げますか?
いいえ。SPFとDKIMは送信者とメッセージの内容を認証しますが、サーバーが許可されていないトラフィックをリレーするように設定されることを防ぐものではありません。
一次情報源
- RFC 5321:簡易メール転送プロトコル(SMTP) — RFC Editor
- RFC 4954:認証のためのSMTPサービス拡張 — RFC Editor
- M3AAWGベストプラクティス(BCP) — M3AAWG