SPFインクルードメカニズムは、SPFレコードの中に、メールの配信性を向上させるために各サーバーが満たさなければならない参照や条件を保持します。もし、SPFレコードにサードパーティベンダーのインクルードステートメントを誤って追加してしまった場合、受信者にバウンスメールなどの問題をもたらし、全体のバウンス率が急上昇する可能性があります。
SPFレコードの「Include」メカニズムとは何か、また、ニーズに合わせてSPF Includeステートメントを最適化する方法について説明します。
SPF Includeとはどういう意味ですか?
SPFレコードの構文で、「include」機構は、「include」行で指定されたドメインに対して一致するレコードをチェックするよう、メールサーバーに伝えるためのレコードを示します。
SPF "include "は、送信IPが許可されているかどうかをチェックする際に、SPFレコードが照会されるドメインを指します。送信IPアドレスがSPFで定義された「include」リストに含まれている場合、一致することになり、SPFは通過します。
SPFマルチプルインクルードメカニズムの重要性
SPFインクルードが重要なのは
➜ includeブロックに記載されているドメインのSPFレコードで保護されることを指定します。
➜ ドメインに固有のルールを追加します。
➚ SPF Includeメカニズムを使用して、同じクラス内のすべてのドメインに適用される一般的なフィルタリング ルールをさらに組み込むことができます。つまり、アプリケーションが電子メールアドレスの複数のクラスをサポートする場合、includeステートメントを使用して、受信者アドレスのクラスに基づくより複雑なフィルタリングを可能にすることができます。
SPF includeの仕組みは?
SPFインクルードメカニズムは、ドメイン所有者が電子メール送信の責任を他のドメインに委任することを可能にします。一般的には、ドメイン所有者がサードパーティーのサービスやプロバイダーに、自分の代わりに電子メールを送信することを承認したい場合に使用されます。
ここでは、SPFのインクルード機構の仕組みについて説明します:
- ドメイン所有者がSPFレコードを公開する
- SPFレコードのインクルードメカニズムは、自分の代わりにメールを送信することを許可された別のドメインまたはIPアドレスを指定します。
- ルックアップの過程で、送信者ドメインのDNSからSPFレコードが取得されます。
- 受信側メールサーバーは、SPFレコードを評価して、送信側サーバーがそのドメインのメール送信を許可されているかどうかを判断します。SPFレコードに「include」メカニズムが含まれている場合、受信サーバーはincludeドメインのSPFレコードも同様にチェックするように進みます。
- 受信サーバーは、インクルードされたドメインのSPFレコードをDNSに問い合わせることで、再帰的な検索を実行する。このプロセスは、インクルードメカニズムのレイヤーが複数ある場合に継続されます。
SPF Includeの例
例えば: SPFレコードに「include:_spf.google.com」を設定している場合、GoogleのIPアドレスからメールが送信されると、そのドメインのSPFレコードの「include」メカニズム内に送信元IPが見つかるため、正規メール送信者と見なされます。この結果、メールはサーバーを正常に通過して目的の受信者に届きます。
googleを送信元として認証するためには、SPFレコードの構文をこのようにする必要があります:
v=spf1 include:_spf.google.com ~all
なぜSPFマルチプルインクルードは推奨されないのか?
複数のSPFレコードまた、SPFレコードが多すぎると、DNSの検索回数が増え、検索回数の上限である10回を超えてしまいます。
SPFレコードは、v=spf1という文字列で始まるTXTタイプのレコードで、電子メールサーバーが電子メールがスパムであるかどうかを判断する際に従うべき規則を示します。そのルールは以下の通りです。
したがって、サーバーに2つの別々のSPF TXTレコードエントリがある場合、メールはSPF認証に失敗し、PermErrorが返されます。これは、受信側のメールサーバーがどちらのルールに従えばよいのかわからず、単に両方のTXTレコードを無視するためです。
SPFレコードに複数のドメインやホスト、IPアドレスを含めるにはどうすればよいですか?
1つ以上のSPFレコードを含めることを検討している場合、メールの配信に関する問題(例えば メールが発生することがあります。)修正方法としては、問題のあるSPFレコードを削除し、SPF includeによってドメインまたはホストのエントリーを1つのレコードまたは行に統合することです。
世界的に有名な家電メーカーであるLenovo.comが使用している、多数のホストとip4アドレスを持つSPFレコードの例を見てみましょう。
実行時 SPFレコードルックアップを実行したところ、Lenovo.comは4つのドメインを併合していることがわかりました。
- spf.messagelabs.com
- _netblocks.eloqua.com
- spf.protection.outlook.com
- spf.pfpool.lenovo.com
と5つのIP4アドレスがあります。
- 72.32.45.225
- 40.65.201.146
- 138.108.60.125
- 138.108.24.107
- 52.247.21.11
を1つのレコードにまとめると、このようになります。
v=spf1 include:spf.messagelabs.com include:_netblocks.eloqua.com include:spf.protection.outlook.com include:spf.pfpool.lenovo.com ip4:72.32.45.225 ip4:40.65.201.146 ip4:138.108.60.125 ip4:138.108.24.107 ip4:52.247.21.11 ~all
SPFレコードのセマンティクスを理解する
上記の例から、多数のホストやIP4アドレスを1つのSPFレコードに統合する場合、以下のルールが適用されることがわかりました。
SPFレコードは、宣言(start)、ドメインのinclude機構とIPアドレスのIP4タグ(center)、実施規則(end)の3つのセクションを持つことが有効とされる。
➜ 宣言:レコードの先頭は v=spf1(この文字列をルール内で再び使用しない)
➜ 許可されたドメイン:を追加する。 を追加します。を追加する(ドメインごとにSPFレコードを追加するinclude:のように、SPF Includeのメカニズムを使用する必要があります)。
➜ 許可されたIPを追加します。 IP4タグを追加します (SPFレコードに追加するすべてのIPアドレスの前にIP4タグを使用する必要があります)
➜ 施行規則:レコードを1つで終了させる ~すべて文(この文字列は最後に一度だけ使用します。)
SPFに関する重要な注意点 含まれる
SPFレコードに他のドメインやホストを含めることができるため、メッセージの真正性を検証するのに役立つので、SPFレコードに「include」メカニズムを組み込むことが重要です。
ただし、SPFレコードあたりのルックアップ回数を使用する場合は、以下のルールが適用されます(10.1節で言及されています)。 10.1 of RFC 4408):
"SPF実装は、"include "メカニズムや "redirect "修飾子の使用によるルックアップを含めて、SPFチェックごとにメカニズムや修飾子の数を最大10個までに制限しなければならない(MUST)。"
もしあなたのSPF実装がメカニズムや修飾子の数を制限しないなら、到達不能なホストのチェックで眠ってしまうでしょう。これらのホストはチェックに含まれることがないので、クライアントからメールを受け取ることはありません。これは、メールの配信に深刻な問題を引き起こす可能性があります。
SPF include:とaの違い。
SPFの "include "メカニズムは、現在のドメインのSPFレコード内に他のドメインのSPFレコードを含めるために使用され、SPFの "a "メカニズムは、ドメインのメール送信を許可する個々のIPアドレスまたはホスト名(Aレコード)を指定するために使用されます。
SPF include vs a
aを使用する理由。
- より実用的で、より複雑ではない
- 該当するドメインでSPFを有効にしていないため
- SPFが正しく設定されていなかったり、Aレコードにない他のサーバを誤って許可してしまうため
使用する理由は以下の通りです。
- サイトのドメイン名が有効なSPFレコードを持っていることを信頼する場合
- 繰り返してはいけないという理由から真実のソースを1つにしたい、そしてSPFドメインが複雑であるため。
- SPFレコードの変更は、あなたのドメインを含むすべてのドメインのDNSを必ずしも編集しなくてもよい場合があります。
SPF Includeの自動最適化:複数ドメインとIPアドレスの場合
マルチホスト、マルチIPアドレスのSPFレコードは、新しいものではありません。しかし、どのようにこの種のレコードを構築する必要があるかは、以下を回避するための適切な専門知識が必要です。 SPF認証の失敗またはPermErrorを回避するための適切な専門知識が必要です。
機能するSPFレコードを構築するためには、include:メカニズムを正しく使用する必要があります。また、SPFポリシーを有効にするためには、複数のホストとIPアドレスに正しく実装する必要があります。
PowerDMARCの使用時 SPFフラット化ツールツールを使用すると、1行のテキストにすべてのホストと IP アドレスが含まれる有効な SPF レコードを生成します。ドメインやIPはいくつでも追加でき、スペースで区切るだけです。これを1つのSPFレコードに統合します。 インクルードすることでルックアップの制限を超えたり、メール配信やハード障害の問題に直面することがないようにします。
- PowerDMARCがコネクトワイズと統合- 2024年10月31日
- データグラム・トランスポート・レイヤー・セキュリティ(DTLS)とは:利点と課題- 2024年10月29日
- DMARCとFedRAMP:メールセキュリティの向上- 2024年10月28日