【メールセキュリティ】SPFとDKIMおよびDMARCのDNSレコードへの実装

【メールセキュリティ】SPFとDKIMおよびDMARCのDNSレコードへの実装Tool

電子メールはビジネスにおいて必要不可欠なツールだし、そのセキュリティは昨今ますます重要になってきています

不正アクセス、スパム、フィッシング攻撃などからメールを守るために、SPF、DKIM、およびDMARCといった技術が導入されています
これらの技術は送信者がなりすましメールやフィッシング攻撃に対抗するために使われるメール認証方法です

この記事では、SPF、DKIM、およびDMARCの基本原則と仕組、どのぐらい重要なのかについて説明します

 

SPF(Sender Policy Framework)

SPFは、送信メールサーバーのIPアドレスを検証する電子メール認証プロトコルです
メールアドレスの所有者は、正当なメール送信サーバーを明示的に指定するわけです

spf

メールを受信すると(①)、受信者のメールサーバーは、送信者のドメインのSPFレコードをチェックします(②)

SPFレコードは、DNS設定のTXTレコードで、以下が含まれます

  1. メールを送信する権限のあるサーバーのIPアドレスまたはホスト名のリスト
  2. 受信サーバーがリストにないサーバーからのメールを処理するポリシー

送信者のIPアドレスまたはホスト名がSPFレコードに記載されたサーバーの1つと一致する場合、メールは受信トレイに渡されます
一致しない場合は、ポリシーに応じてメールはスパムとしてマークされるか、完全に拒否される流れとなります

 

SPFのメリット

実装の手軽さ:
SPFの強みと言えば、実装の手軽さ、容易さが挙げられます
普通に比較しても、DKIMやDMARCよりも実装が簡単です
ドメインのDNSサーバーの設定として、TXTレコードを追加し、許可されたメールサーバーのリストを指定するだけです
このシンプルさは、とりあえず電子メール認証を改善しようとしている組織にとっては、障壁の少ない対応方法となりえます

簡単な認証:
SPFは送信者のIPアドレスを直接許可されたメールサーバーのリストと照合して検証するというシンプルなものです
シンプルな認証ということはDKIMやDMARCよりかはサーバーへの負荷自体が低くなるということでもあります

 

SPFのデメリット

IPアドレス指定:
SPFはIPアドレスの検証にのみ依存しているため、メールがサードパーティのSAASサービス(クラウド上のメールセキュリティアプライアンス)を介して送信される場合に問題が生じる可能性があります
つまり、送信者のIPアドレスが変更されると、SPFレコードを更新する必要があるというわけです

メッセージの整合性検証なし:
SPFは送信者のIPアドレスを検証しますが、メールの内容自体の完全性や信頼性を保証するものではありません
これの意味するところは、完全に電子メールの改ざんや悪意のあるコンテンツから保護することはできません

転送との非互換性:
SPFはメール転送サービスと互換性がないので、転送の対応についてもあらかじめ検討しておく必要があります
これはメールが転送されると、元の送信者のSPFレコードが転送サーバーをカバーしていない可能性があり、SPFの失敗やメール配信の問題につながる可能性があるということです

高度なスプーフィングからの保護が弱い:
攻撃者は、より高度な手法を使用して、送信元アドレス(ユーザーに表示されるアドレス)をスプーフィングし、リターンパスで正当なアドレスを使用するなど、SPFをバイパスすることができます

include数や文字数に制限あり:
SPFレコードでは、DNSルックアップの回数が10回に制限されています
複雑なメールインフラや複数の許可されたメールサーバーを持つ組織では、この制限に引っ掛かる場合があります
SPFレコードがルックアップ制限を超えた場合に問題が発生し、すべてのSPFレコードが無視され、正当なメールが拒否される可能性がでてきます
また、文字数にも制限がありまして255文字までとなります
どちらも大事ですが、一つのメールではなくWebメールなどを複数使っている場合は特にinclude数に引っ掛かる可能性が高いです

 

全体的に、SPFは基本的なレベルのメール認証を提供し、メールのなりすましを軽減するのに役立ちますが、メールアドレスを複数使っていたり、メールサーバなどがたくさんあったり、また転送設定が多い場合は、柔軟性と有効性に制限がある場合があります

シンプルなメールインフラ環境であれば、導入してもデメリットは少ないものだと考えます

 

DKIM (DomainKeys Identified Mail)

DKIMは、電子メールメッセージにデジタル署名を追加する認証方法です
メールを送信時に送信元が電子署名を行い、 受信者がそれを検証することで、 メールセキュリティを高める方法です

DKIM

この署名は、送信ドメインのメールサーバーが保持する秘密鍵を使用して生成されます
受信者のメールサーバーは、送信者のDNSレコードで公開されている公開鍵を使用して署名を検証できます

署名が有効な場合、メールが転送中に改ざんされていないこと、および要求された送信者のドメインから発信されたことが確認されます

 

DKIMのメリット

全体を通して、SPFの弱点を補ってる感じになっています

暗号化コンテンツ認証:
DKIMは、メールの内容が送信中に改ざんされていないことを直接検証することができます

転送との互換性の向上:
DKIMはメールヘッダーの署名に基づいています
つまり、転送によって経路が変更されるとSPFは失敗する可能性がありますが、DKIMは問題なく機能するわけです

ドメインのレピュテーションを改善:
DKIM署名はドメイン固有であるため、DKIM署名を検証する受信メールサーバーの間でドメインが信頼された評価をされやすくなるので、時間の経過とともにメールの配信率が向上する可能性があります

柔軟性と制御性:
DKIMでは、送信者が電子メールのどの要素を署名でカバーするかを指定できるため、電子メール認証の実装方法にある程度の選択肢を持たせることができます

 

DKIMのデメリット

ポリシーの施行の欠如:
DKIMだけでは、DKIM検証に失敗した場合の処理方法が指定されていません。DMARCが明確なポリシーを提供しない場合、受信者はDKIMの失敗をさまざまな方法で処理し、検証に失敗しても正当なメールが受け入れられる可能性があります。

複雑なセットアップと管理:
 DKIMを実装するには、鍵の生成、メールサーバーの設定、DNSレコードの更新が必要です。この複雑さは、一部の組織、特にITリソースが限られている組織にとって障壁となる可能性があります
そのためか、DKIMの普及率はSPFに比べると全然低いです

送信者ポリシーの公開なし:
DKIMは、送信者ポリシーを公開する仕組みを提供していません。SPFは、ドメイン所有者が自分に代わってメールを送信する権限のあるメールサーバーを指定することができるため、なりすましメールの可能性を減らすことができます。

特定の攻撃に対する限定的な保護:
たとえば、DKIMが設定されたドメイン内のメールアカウントを攻撃者が合法的に侵害した場合、攻撃から保護することはできません。このような場合、侵害されたアカウントから送信されたメールは、そのドメインからの技術的に正当なメールであるため、DKIMチェックに合格します

ドメインを認証はするがヘッダFromは認証しない:
電子署名に登録されたドメインから来たものかどうかを確認する認証方法になるので、途中でその内容が改ざんされていないことを保証するための認証技術となっています
もし自社ドメインがヘッダFromのなりすましメールの場合は防げないことが考えられます

 

DMARC(Domain-based Message Authentication, Reporting, and Conformance)

DMARCは、SPFとDKIMの上に構築されたポリシーフレームワークです

イメージとしてはSPF+DMARC、DKIM+DMARCというようにDMARCを追加で、ドメイン所有者がメール認証をより細かく制御できるようにします

DMARC

DMARCを使用すると、メールがSPFまたはDKIMの認証チェックに失敗した場合に取るべきアクションを指定することができます
これには、メールの配信、スパムまたは迷惑メールフォルダへの隔離、または完全に拒否することができたりします

DMARCレコード内の設定によって制御されます
以下のDMARCポリシーを記載します

none:何もしない、認証失敗時もそのまま配信する
quarantine:迷惑メールフォルダに配信
reject:メッセージを一切送信しない

上記だけでなく、もっと細かい設定できます
ドメイン所有者は、各メール認証の失敗に関するレポートを受け取ることが可能なので、メールセキュリティ的に統計情報を蓄積して、方針などを改善することができます

 

DMARCのメリット

ポリシーの適用:
DMARCでは、ドメイン所有者は、SPFまたはDKIMチェックに失敗した場合のメールの処理方法を指定できます
これの意味するところは、送信者は受信者に認証されていないメールを隔離または拒否するように指示できるため、メールの処理方法をより強力に制御でき、なりすましや詐欺を防ぐことができます

レポート:
DMARCは、設定したメールアドレス宛てにDMARC評価に合格したメッセージと失敗したメッセージに関するフィードバックレポートを提供します
このレポートから、認証の問題の特定や統計情報を集め、潜在的な攻撃を発見するための重要な情報となってきます

配信品質の向上:
DMARCを導入することで、送信者はISPやメール受信者に、メールのセキュリティに配慮していることを伝えることができます
電子メールの不正利用を予防するような積極的な姿勢を示すことは重要で、電子メールの配信が増加する可能性があります

 

DMARCのデメリット

複雑さと運用負荷:
DMARCを正しく設定するには、SPFレコードとDKIMレコードを理解した上で、目的のポリシーを反映したDMARCレコードを作成する必要があります
設定ミスにより、(内部メールも含む)正当なメールが拒否または隔離される可能性がありますので、事前に動作テストも重要ですが、自然と神経をとがらす必要が出てきます

SPFとDKIMへの依存:
DMARCでは、SPFとDKIMの両方が適切に配置・構成され、機能に至ります
この依存関係は、組織が複数の認証システムのセットアップと保守に時間とリソースを使用する必要が出てくるということを意味するわけです

フィードバックの遅延:
DMARCが提供するフィードバックやレポートはリアルタイムではないため、現在発生している問題や攻撃への対応が遅れる可能性があります
タイムリーなインシデント対応にとって課題となる可能性があります

 

まとめ SPF、DKIM、DMARCを比較して

SPFとDKIMとDMARCは、電子メールのセキュリティを向上させるために使用されるプロトコルですが、それぞれ異なる目的を持っています

SPF、DKIM、DMARCは、個別に使用することもできますが、DMARCを使うには、他の方法の少なくとも1つを併用する必要があるということ
SPFやDKIMがメール送信者の信頼性を検証することに対して、DMARCはその検証に失敗した場合に何が起こるかを指定するルールであることです
SPFやDKIMでは
SPFがメール送信者の信頼性を検証するために、ドメインに代わってメールを送信できるメールサーバーのリストを使用することに対し
DKIMは電子メールメッセージの信頼性を検証するためにデジタル署名を使用することの違いがあります

最近だとGmailのガイドラインで、SPF、DKIM、DMARCの利用をはじめとしたメールセキュリティの引き上げが求められたりしています

これはなりすましによる迷惑メールの削減を目的としていて、Gmailだけじゃなくても
その要件は増える可能性が高いということです

 

きちんと理解して、安全性の高いメール送信を行うために今のうちに実装をしましょう

 

・・・とはいえ、IT知識が無い方には敷居が高いかもしれません
まずはご相談していただければと思います(代行で設定を実施することも可能です)

 

    SPF、DKIM、DMARCを代わりに設定します

    お気軽にお問い合わせください。

    必須 お名前

    必須 メールアドレス

    必須 依頼内容

    タイトルとURLをコピーしました