送信ドメイン認証技術解説

Sender ID:送信者側の設定作業

末政 延浩
センドメール株式会社
テクニカルディレクター
2005/10/27

 SPFレコードの定義

 SPFレコードの定義には「+mx」や「+ip4:xxx.xxx.xxx.xxx」のように、メールを送信する可能性のあるサーバの条件を記述するディレクティブか、「redirect」や「explanation」などのモディファイヤを指定できる。

 ディレクティブはメカニズムクオリファイヤで構成される。メカニズムには対象となるホストのパターンを、クオリファイヤにはパターンにマッチするホストの扱いについて指定する。

 例えば、

+ip4:xxx.xxx.xxx.xxx

とした場合、「+」がクオリファイヤで「ip4:xxx.xxx.xxx.xxx」がメカニズムになる。

 受信側の認証処理では、メールを送信してくるホストのIPアドレスがメカニズムの定義にマッチするかどうかをチェックし、マッチした場合はクオリファイヤに示される値を認証結果とする。受信側での認証結果の判断について詳しくは次回に説明する。

 クオリファイヤは省略可能であり省略時は「+」になる。クオリファイヤには次のものがある。

+
Pass
認証成功
-
Fail

認証失敗。この定義にマッチするホストからはメールが送信されることはない

   
~
SoftFail
認証情報を公開しているが、場合によっては認証できないメールも存在する
?
Neutral
認証情報を公開しない

 メカニズムについては表1に、モディファイヤについては表2にその詳細を示す。

メカニズム 文法 説明
All All すべてのホストにマッチする。All以降に記述されたほかのメカニズムやredirectモディファイヤは無視される。SPFレコードの末尾に置かれ、else的な役割を持つ
Include include:ドメインスペック ドメインスペックに指定されたドメインのSPFレコードを読み出しチェックを実施する
A a:ドメインスペック ドメインスペックに指定されたホスト名のAレコードにマッチする
MX mx:ドメインスペック 指定されたドメインスペックのMXレコードにリストされているホストのAレコードと比較する
PTR PTR:ドメインスペック 該当接続の接続元IPアドレスをリバースルックアップして得たホスト名がドメインスペックに指定されたドメインに属しているかチェックする
リバースルックアップして得たホスト名をさらにAレコードルックアップして、該当接続のIPアドレスが含まれているかもチェックする
注意:このメカニズムの利用はあまり勧められない
IP4 ip4:ネットワークアドレスまたはIPアドレス 接続元のIPアドレスが指定されたネットワークに含まれているか、またはIPアドレスにマッチするかチェックする。ネットワークの指定にはCIDR表記が可能
IP6 ip6:ネットワークアドレスまたはIPアドレス 接続元のIPアドレスが指定されたネットワークに含まれているか、またはIPアドレスにマッチするかチェック。ただしIPv6のアドレス
exists exists:ドメインスペック ドメイン名またはホスト名に指定された表記でAレコードルックアップを実施し、該当のAレコードが存在すればマッチする
表1 メカニズム一覧

モディファイヤ 文法 説明
redirect redirect=ドメインスペック ドメインスペックに指定されたドメインでのチェックへ転送する。include:と比較すると、同じ管理化にあるドメインへ定義を集約する場合に使う
exp exp=ドメインスペック ドメインスペックに指定されたドメインのTXTレコードに、認証できなかった場合の理由の説明として扱われる文字列が含まれている
表2 モデファイヤ一覧

 SPFレコードのサンプル

 例えば、自分の扱っているドメインからまったくメールを送信しない場合は、

example.co.jp. IN TXT "v=spf1 -all"

を該当ドメインのTXTレコードに登録する。

 MXサーバとして登録されているメールサーバからしかメールを送信する可能性がない場合は、

example.co.jp. IN TXT "v=spf1 mx ~all"

となる。また、IPアドレスで直接指定する場合は、

example.co.jp. IN TXT "v=spf1 +ip4:xxx.xxx.xxx.xxx +ip4:yyy.yyy.yyy.yyy ~all"

となる。

 簡単な構成のサイトであれば、あえてSPFのマクロや「include/redirect」などの機能を利用する必要もないだろう。3番目の例のように直接IPアドレスを列記しておく方法が最も簡潔で、システムに対する負担も少ないのではないだろうか。

 SPFレコードを作成するときには、すでに公開されているSPFレコードが参考になる。例えば、UNIXのdigコマンドを使って「dig TXT ドメイン名」とすれば、そのドメインのSPFレコードを見ることができる。

 また、SPFレコードの自動作成ツールも存在している。自分のドメインに合ったSPFレコードを簡単に作成できるので参考にしてほしい。

SPF Wizard
http://spf.pobox.com/wizard.html

Sender ID Wizard
http://www.anti-spamtools.org/SenderIDEmailPolicyTool/Default.aspx

3/4

Index
Sender ID:送信者側の設定作業
  Page1
IPアドレスベースの送信ドメイン認証
Sender ID、使っても大丈夫?
送信側のベネフィット、受信側のベネフィット
  Page2
送信側での準備
チェック対象とされる送信ドメイン
SPFレコードの記述法
Page3
SPFレコードの定義
SPFレコードのサンプル
  Page4
SPFレコードを公開する場合の注意点

ドメイン認証技術解説
  Sender ID:送信者側の設定作業
  Sender ID:受信者側の設定作業

Sender ID:送信者側の設定作業

TechTargetジャパン

Security&Trust フォーラム 新着記事

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

RSSフィード

キャリアアップ

- PR -
@IT Sepcial

イベントカレンダー

PickUpイベント

- PR -
もっと見る
- PR -

お勧め求人情報

ホワイトペーパーTechTargetジャパン

@IT Sepcial
ソリューションFLASH