カスタムドメインのスプーフィング防止(SPF、DKIM、DMARC)
- 閲覧中
- 1 分
- カテゴリー
- ドメインのセットアップ
メールのオープンで分散型という性質には大きなメリットがある一方で、この自由さはメールの悪用を容易にしています。例えば、インターネットに接続された任意のサーバーから、お客様になりすましてご友人にメールを送信することが可能であり、このような攻撃はメールスプーフィングとして知られています。
Proton Mailでカスタムドメインを使用するすべてのお客様に、メールが正しく配信されるようにするために、SPF、DKIM、およびDMARCをセットアップすることを強くお勧めします。
このような攻撃からお客様のカスタムドメインを保護する方法について、以下をお読みください。
SPF
Sender Policy Framework(SPF)レコードは、基本的にお客様のドメインに代わってメールを送信することを許可されているホストまたはIPを外部に伝えるものです。メールサーバーはお客様のドメインから送信されたと称するメールを受信した際、SPFレコードを参照して、送信元サーバーがそこに含まれているかどうかを確認できます。
必須ではありませんが、Proton Mailを含めたSPFレコードをセットアップすることを強くお勧めします。
これにより、お客様のメールの信頼性が高まり、迷惑メールフォルダーに振り分けられにくくなるだけでなく、お客様になりすまして偽装されたヘッダーを含むメールを送信する攻撃者から、ドメインを保護することにも役立ちます。
ブラウザでProton Mailアカウントにログインし、設定 → すべての設定 → ドメイン名に移動して、SPFレコードを追加したいドメインの横にある レビュー をクリックします。

SPFタブを選択します。ここにお客様のレジストラのドメイン管理ポータルに追加することが推奨されるSPFレコードが表示されます。項目の左側にある小さなアイコンをクリックして、システムのクリップボードにコピーできます。

テキスト文字列の「include:_spf.protonmail.ch」の部分は、お客様のドメインに代わってProton Mailサーバーが送信することを許可することを意味します。既存のSPFレコードを維持したい場合は、既存のレコードの「v=spf1」の右後ろに「include:_spf.protonmail.ch」のテキスト文字列を追加するだけです。「mx」にはお客様のドメインのMXレコードも含まれます。
「~all」の部分は、テキスト文字列に含まれていないサーバーからメールが送信された場合、SoftFailとして処理されることを意味します。これは、受信側のメールサーバーがメールの配信を承認するものの、SPF failedとしてマークすることを意味します。もう1つの選択肢は、「-all」(HardFail)パラメーターを使用することです。
これによりメールが拒否され、正当なメールの配信に問題が発生する可能性があります。たとえば、アドレスAに送信したメールがアドレスBに自動転送されるようなメール転送の際、SPFは頻繁に失敗します。お客様のドメインのSPFレコードにProton Mailが含まれていることが検出されると、SPFタブに緑色のチェックマークアイコンが表示されます。
DKIM
DomainKeys Identified Mail(DKIM)は、メールが信頼できるサーバーによって送信され、改ざんされていないかどうかを暗号技術によって検証するメール認証の方法です。
基本的に、サーバーがお客様のドメインを使用してメールを送信する際、(信頼できるサーバーのみが知っている)秘密鍵を使用してメール内容の暗号化ハッシュを計算し、それをDKIM署名としてメールヘッダーに追加します。
受信側サーバーは、お客様のドメインのDNSレコードにある対応する公開鍵を参照し、暗号化されたハッシュを復号化し、受信したメール内容に基づいて新しいハッシュを計算することで、メール内容を検証します。その後、復号化されたハッシュと新しいハッシュを比較します。一致する場合、メールは改ざんされておらず、DKIMはパスします。そうでない場合、DKIMは失敗し、そのメールは不審なメールとして処理されます。
弊社では、推奨されるセキュリティのベストプラクティスである自動DKIMキーローテーションを管理するために、cnameレコードを使用しています。お客様には、3つのcnameレコードを追加し、維持していただくようお願いいたします。これにより、セキュリティ向上のために他のキーが定期的に自動で廃止・再作成される間も、常に有効なキーが使用され、サービスが中断されることなく提供されます。
複雑に聞こえるかもしれませんが、Proton Mailでお客様のドメインにDKIMを実装するのは非常に簡単です。Proton Mailで使用するために、最初にDNSレコードを変更した際、カスタムドメインの検証に数時間かかります。カスタムドメインが確認されると、Proton Mailはお客様のドメインのDNSポータルに必要なホスト名と値を生成します。その後、自動DKIMキーローテーションに必要なcnameレコードを作成します。
カスタムドメイン、ホスト名、および値の準備が整ったことをお知らせするメール通知をお送りします。
新規ユーザー
ブラウザでProton Mailアカウントにログインし、設定 → すべての設定 → 組織 → ドメイン名 → 操作列 → DKIMレコードを追加したいドメインの横にある レビュー ボタンに移動します。
DKIMタブを選択します。ここにお客様のドメインのDNS設定に追加する必要がある3つのホスト名と値が表示されます。

これらのレコードを追加すると、Proton Mailが残りの処理を行います。現在のセキュリティのベストプラクティスに従い、弊社は6か月ごとに新しい2048ビットのキーを生成し、それを使用してお客様のメールに署名します。
お客様のドメインのDNS設定に追加するcnameレコードは、セットアップウィザードに表示されているものと完全に一致する必要があります。DNSでこれらのレコードが検出されると、DKIMタブに緑色のチェックマークアイコンが表示されます。その後、お客様に通知し、他のProton Mailメールアドレスと同様に、DKIMを使用してお客様のカスタムドメインからの送信メールへの署名を開始します。
重要:一部のレジストラでは、末尾にピリオドがあるcname値を承認しません(必須とするレジストラもあります)。お使いのレジストラがcnameレコードを承認しない場合は、各cname値の末尾にあるピリオドを削除して、もう一度お試しください。
現在手動でDKIMキーローテーションを使用しているユーザー
現在手動でのDKIMキーローテーションを使用しているすべてのお客様に、新しい自動キーローテーションシステムにアップグレードすることを強くお勧めします。これにより、手動でキーをローテーションする必要がなくなるだけでなく、(1024ビットのキーを使用していた場合は)キーの強度が自動的にアップグレードされます。
以前にTXTレコードを使用してお客様のドメインの手動DKIMキーローテーションを設定していた場合は、cnameレコードを入力する前に、DNS設定からこのレコードを削除する必要があります。
現在のTXTレコードでは自動キーローテーションを設定できませんが、cnameレコードでは設定が可能なため、DNS設定をcnameレコードで再設定する必要があります。
このTXTレコードを削除したら、新規ユーザー向けの手順に従ってください。TXTレコードを削除すると、DKIMによるメールへの署名は停止します。DKIMによる保護を維持するために、すぐにDNS設定にcnameホスト名と値を入力してください。
DMARC
(上記の)SPFとDKIMについて学ぶ中で、受信サーバーがチェックに失敗したメールをどのように処理するのか疑問に思われたかもしれません。そこで登場するのが、Domain-based Message Authentication, Reporting, and Conformance(DMARC)です。
DMARCを使用すると、ドメインの所有者は失敗したメールの処理方法を指定し、それらが届いたときにフィードバックを受け取ることができます。基本的に、SPFとDKIMの両方のチェックが失敗した場合、受信サーバーが実行できる操作は3つあります。それは、none、quarantine、そしてrejectです。
ブラウザでProton Mailアカウントにログインし、設定 → 設定に移動→ 組織 → ドメイン名 → 操作列 → DMARCレコードを追加したいドメインの横にある レビュー ボタンに移動します。

DMARC TXTのホスト名と値の文字列をコピーし、お使いのレジストラのドメイン管理コンソールでドメインに追加します。

「p=」の値は、DMARCに失敗したメールに対して実行する操作を指定します。利用可能な操作は以下の通りです:
- p=quarantine: 受信側のプラットフォームに対し、未承認のメールを迷惑メールとしてマークするか、隔離するように要求します。
- p=reject: 受信側のプラットフォームに対し、未承認のメールを拒否するように要求します。
- p=none: 未承認のメールを隔離または拒否しません。通常、このポリシーはトラブルシューティングやテスト目的でのみ使用されます。
デフォルトの設定はnoneです。ただし、セキュリティを向上させるために、この値をp=quarantineに設定することをお勧めします。
正当なメールがDMARCをパスしていると確信できたら、さらに厳しくp=rejectに設定することも可能です。 メールスプーフィングの標的になる可能性が高いと思われる場合は、そのように設定することをお勧めします。たとえば、Yahoo、PayPal、eBayなどは、迷惑メール送信者によるなりすましを防ぐためにp=rejectを使用しています。
もう1つのパラメーターはrua=で、これは他のメールサービスが統合レポートを送信できるメールアドレスを指定し、お客様のメールがDMARCに何件失敗しているかを確認できるようにします。

ただし、より厳密なDMARC操作を選択することにはリスクがあることに留意してください。たとえば、個別のアドレスに自動転送されるメーリングリスト宛てにメールを送信すると、SPFが破損します。厄介なことに、一部のメーリングリストではメールの内容も変更されるため、DKIMが破損し、DMARCが失敗します。DMARCをquarantineまたはrejectに設定している場合、配信の問題が発生します。これが、デフォルトでDMARCがnoneに設定されている理由です。
テストメール
カスタムドメインをセットアップしたら、Mail Tester(新しいウィンドウ)を使用してメールを送信することでテストできます。
カスタムドメインのアドレスから、Mail Testerのウェブページに表示されている一意のアドレス宛てにメールを送信するだけです。その後、迷惑メール判定スコアを確認してください。

SPFとDKIMの両方が適切に設定されていれば、10点満点中10点を獲得できるはずです!