Sender Policy Framework 実装

Sender Policy Framework

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/02/24 06:39 UTC 版)

実装

SPFの実装は2つの部分から成る。

ドメインが彼らを代表して電子メールを送信するために正式に認めたメールサーバを特定する。ドメインは彼らの既存のDNS情報へこの付加情報を追加する。配送先メールサーバはSPF情報を要求しそれを用いることができる。メールサーバは普段どおりのDNS問合せを使い、一般的にはDNSの性能向上のためにキャッシュされる。配送先メールサーバはSPFに記載された情報を解釈し、その結果に従い行動する。

このように、ドメインが設定し配送先メールサーバが用いる、新しいDNS情報の仕様がSPFの核心である。SPFレコードは下記のように標準的なDNS構文で設定される。example.jp. IN TXT "v=spf1 a mx -all"

「v=」は使用されたSPFのバージョンを定義する。以下の語は、あるドメインが電子メールを送信する資格があるかどうかを、決定するために用いる機構(Mechanism)を規定する。「a」および「mx」は、所定のドメインのために電子メールを送信することが許可されたコンピュータシステムを示す。SPFレコードの最後にある「-all」は、もしそれまでの機構が一致しなければ、メッセージは拒否されるべきということを示す。

機構

8つの機構が定義されている。

all 常に真である。優先する機構に一致しない全てのIPアドレスのために、「-all」のように既定の結果として用いられる。
a ドメイン名が、送信元メールサーバのIPアドレスに一致するAレコード(またはIPv6のためのAAAAレコード)を持っている場合に真となる(つまり電子メールは直接ドメイン名から届く)。
ip4 送信元メールサーバが所定のIPv4アドレス範囲にある場合に真となる。
ip6 送信元メールサーバが所定のIPv6アドレス範囲にある場合に真となる。
mx 所定のドメイン名が、送信元メールサーバのIPアドレスに結び付けられるMXレコードを持っている場合に真となる(つまり電子メールはドメインのメールサーバの内のひとつから届く)。
ptr 送信元メールサーバのIPアドレスに対する逆引きドメインを正引きした結果に(Forward Confirmed reverse DNS)、送信元メールサーバのIPアドレスが含まれること、及び逆引きドメインが所定のドメイン名で終わる場合に真となる。
exists 所定のドメイン名で正引きを行い、Aレコードが存在する場合に(そのIPアドレスに関係なく)真となる。

これは、DNSBLのようにさらに複雑な照合に用いるSPFマクロ言語と一緒にしか、ほとんど使われない。

include 所定の方針を取り込み、それがSPFの検証に合格する場合に真となる。これは複数のISPの方針を取り込むために標準的に使われる。

限定子

各々の機構は4つの限定子の内1つと結合させることができる。

  • +」は検証の合格(Pass)を意味する。限定子を省略した場合の既定値として用いられ、「mx」は「+mx」と同等である。
  • ?」は検証の中立(Neutral)を意味する。方針が指定されていない場合(NONE)のように解釈される。
  • ~」は弱い失敗(SoftFail)を意味する。中立(Neutral)と失敗(Fail)の間をデバッグする助けとなる。
  • -」は失敗(Fail)を意味する。電子メールは拒否されるべきである(下記参照)。

変更子

変更子はSPFの将来の拡張を考慮する。これまでのところ、RFC 7208で定められた2つの変更子については、広く展開された。

exp=some.example.jp」は、DNSのTXTレコードにドメイン名を挙げる。それはSMTPエラーコードに加え失敗(Fail)の説明(一般的にはURL)を得るためにSPFのマクロ言語を用いて解釈される。この過度に装飾的な機能はほとんど使われない。

redirect=some.example.jp」は、他ドメインのSPFレコードに「all」を結び付ける代わりに使うことができる。この変更子は幾らか類似した機構である「include」を理解するより簡単である。

エラー処理

SPF実装がSPFレコードの文法エラーを検出すると、直ちに恒久的エラー(PermError)として評価を中断しなければならない。誤っている機構を読み飛ばして続けると、その結果は予想できない。したがって「include:bad.example」や「redirect=bad.example」もまた「PermError」となる。

その他の安全策としては、DNSへ問合せる機構、すなわち「ip4」「ip6」「all」以外のあらゆる機構が、SPFレコード当たり最大10までに制限されている。SPF実装では、評価が長時間に渡る場合やDNSの問合せがタイムアウトとなった際に、一時的エラー(TempError)として評価の中断ができる。もしSPFが直接または間接的に10を超える問合せを必要とした場合は恒久的エラー(PermError)を返さなければならない。「redirect=」もまたこの処理制限に数えられる。

標準的なSPF宣言である「v=spf1 a -all」は、(1)TXTレコード、(2)SPFレコード、(3)AまたはAAAAレコードのように、DNS問合せが3回必要である。この最後のDNS問合せの数は、最初の機構から制限(10)に向かって合計された物であり、今回の例では「all」がDNS問合せを必要としないため、最初の機構が最後でもある。


  1. ^ 2008年10月、RFC 2822は、RFC 5322で置き換えられた。
  2. ^ ドメイン認証規制”. 2009年9月11日閲覧。
  3. ^ 送信ドメイン認証SPFレコードについて”. 2009年9月11日閲覧。
  4. ^ 送信ドメイン認証(Sender ID/SPF)について”. 2009年9月11日閲覧。
  5. ^ 「かんたん設定」の導入とブロック機能拡張について”. 2009年9月11日閲覧。
  6. ^ 「Sender IDやSPFを逆手にとったスパムが増加」、米MX Logicの調査”. 日経BP (2005年7月16日). 2011年6月24日閲覧。
  7. ^ 迷惑メールへの対応の在り方に関する研究会 最終とりまとめ”. 2009年1月13日時点のオリジナルよりアーカイブ。2011年6月24日閲覧。





英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「Sender Policy Framework」の関連用語

Sender Policy Frameworkのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



Sender Policy Frameworkのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
ウィキペディアウィキペディア
All text is available under the terms of the GNU Free Documentation License.
この記事は、ウィキペディアのSender Policy Framework (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。 Weblio辞書に掲載されているウィキペディアの記事も、全てGNU Free Documentation Licenseの元に提供されております。

©2024 GRAS Group, Inc.RSS