第5回 ExchangeサーバとSender IDの親和性

竹島 友理
NRIラーニングネットワーク株式会社
2006/3/14

 SMTPによるメール送信処理

 それでは、SMTPのやりとりを見ておきましょう。以下は、皆さんが新規メールを作成して送信する際の処理フローです。

図1 SMTPのやりとり

 送信側のメールサーバは、HELO(またはEHLO)コマンドで受信側のメールサーバにアクセスします。受信側が「OK」を返すと、送信側はMAIL FROMコマンドでメール送信者アドレスを受信側のメールサーバへ送ります。受信側から「OK」が返ってくれば、続けてRCPT TOコマンドでメールあて先アドレスを送ります。これに対しても受信側が「OK」を返すと、送信側がDATAコマンドを使用してメールの本文を送信します。メール本文には、メールのアプリケーションに送信者として表示されるFrom:ヘッダやあて先として表示されるTo:ヘッダなどのヘッダ情報も含まれます。

 受信側メールサーバが知り得る送信側の情報は、(1)送信側メールサーバのIPアドレス、(2)MAIL FROMコマンドで送られる送信者アドレス、(3)メール本文に含まれるFrom:ヘッダのメールアドレスの3つです。

 (1)の情報を偽ることは難しいです。しかし、SMTPのMAIL FROMコマンドで指定したアドレスやメール本文に含まれるFrom:ヘッダで指定したアドレスは何も検証されないので、(2)と(3)は詐称しやすいです。Sender IDは、(2)と(3)の詐称を見破るために、(1)の情報をDNSサーバに照会して(2)と(3)の情報を検証します。

 Sender IDによる送信ドメインの検証方法

 Sender IDの送信ドメイン認証の仕組みは非常にシンプルです。メール送信側は、事前に送信メールサーバのIPアドレスをSPF(Sender Policy Framework)レコードとしてDNSに公開しておきます。SPFレコードとは、Sender ID Frameworkの仕様で規定されたTXT形式で、メールサーバのホスト情報を記述するレコードです。

図2 Sender IDによる送信ドメイン認証

手順1 A.comドメインのメールサーバからB.comドメインのメールサーバへSMTP通信を開始します

手順2 B.comドメインのメールサーバは、MAIL FROMコマンドの引数またはPRA(Purported Responsible Address)情報に設定されているメールアドレスから送信ドメインを特定し、SMTPで接続してきたメールサーバのIPアドレスがSPFレコードとしてA.comドメインのDNSサーバに登録されているかどうか確認します

手順2で参照するPRA情報とは、メール本文に含まれるResent-Sender:ヘッダ、Resent-From:ヘッダ、Sender:ヘッダ、From:ヘッダなどのヘッダ情報に指定されているメールアドレス情報のことです

手順3 A.comのSPFレコードのIPアドレスリストに、送信側のメールサーバが含まれていれば認証成功です

 かつてSender IDは、SPFレコードを公開する立場、公開されているSPFレコードを参照する立場それぞれにおけるライセンス使用料をめぐって大きな議論を展開していました。最終的には、送信側でSPFレコードを公開するだけの場合、ライセンス料は不要になりました。また、受信側でSPFレコードを確認する場合は、Microsoftとの契約書にサインして送付する必要はありますが、ライセンス料はかかりません。ライセンスに関するFAQは、「マイクロソフトの特許使用料無償のSender ID仕様のライセンス」を参照してください。

 それでは次に、Sender IDを使用するために、メール送信側とメール受信側で行う作業を見ておきましょう。

2/4

Index
ExchangeサーバとSender IDの親和性
  Page1
Sender IDはいまの時代に必要なスプーフィング対策
Sender IDは迷惑メール対策ではありません
Page2
SMTPによるメール送信処理
Sender IDによる送信ドメインの検証方法
  Page3
メール送信側の設定作業
メール受信者側の作業
  Page4
3つの送信ドメイン認証


関連記事
基礎から学ぶExchange Server 2003運用管理

Security&Trust記事一覧


Security&Trust フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Security & Trust 記事ランキング

本日 月間