RPT-001レベル 1 · 基礎メールセキュリティ読了目安 5 分

SPF・DKIM・DMARC をやさしく解説:ドメインのなりすましを防ぐ

誰でもメールの「差出人」欄にあなたのドメインを入力できます。SPF、DKIM、DMARC は、その主張を世界が信じるかどうかを決める 3 つの DNS レコードです。

Iron Cyber Tech チーム

01問題点:メールには本人確認の仕組みがない

従来のメールの仕組みでは、送信者が「差出人」の行に好きなアドレスを書けます。攻撃者はこれを悪用し、あたかも御社から届いたかのような偽の請求書、パスワード再設定、「至急」の依頼を送ります。サーバーが侵入されているわけではなく、単に偽造されているのです。

3 つの DNS レコードでこの穴をふさげます。DNS プロバイダーで一度追加すれば、Gmail や Outlook などの受信サーバーが、すべてのメールでこれらを確認します。

02SPF:誰が代わりに送信できるか

SPF は、ドメインの代わりにメールを送信してよいサーバーの一覧です。ドメイン自体に置く 1 つの TXT レコードです。

example.com の TXT レコード
v=spf1 include:_spf.mx.cloudflare.net -all

左から右へ読みます。SPF バージョン 1 を使い、include に挙げられたものを信頼し、-all は「それ以外はすべて拒否」を意味します。~all はより穏やかな版で、ほかのメールを拒否せず、疑わしいものとして印を付けます。

03DKIM:すべてのメッセージに付く署名

DKIM では、メールプロバイダーが送信するすべてのメッセージに秘密鍵で署名します。対応する公開鍵は DNS に置かれ、受信側はメッセージが改ざんされておらず、確かにそのプロバイダーを通ったことを確認できます。通常このレコードは自分で書く必要はありません。貼り付ける正確な名前と値はプロバイダーが教えてくれます。

selector1._domainkey.example.com の TXT レコード
v=DKIM1; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A...

04DMARC:すべてをつなぐポリシー

DMARC は、表示される「差出人」ドメインと整合する SPF と DKIM の検証に失敗したメッセージをどう扱うか、またその報告をどこへ送るかを受信側に伝えます。

_dmarc.example.com の TXT レコード
v=DMARC1; p=none; rua=mailto:reports@example.com
  • p=none:監視してレポートを送るだけ。何もブロックしません。
  • p=quarantine:疑わしいメールは迷惑メールへ。
  • p=reject:偽造メールは完全に拒否されます。

05自分のドメインを確認する

下にドメインを入力してください。確認はお使いのブラウザ上で公開 DNS に対して実行され、何も保存されません。

ライブモジュール

メールとDNSの診断

誰かがあなたのドメインになりすましてメールを送れますか? SPF、DMARC、DNSSEC、CAAを確認します。

06安全な導入計画

  1. SPF レコードを ~all で追加または修正します。
  2. メールプロバイダーで DKIM を有効にし、提供されたレコードを公開します。
  3. p=none と、実際に読むレポート用アドレスで DMARC を追加します。
  4. 2〜4 週間、問題のないレポートが続いたら p=quarantine に進みます。
  5. 自信がついたら p=reject にし、SPF を -all に変更します。

ポイント

  • SPF は誰が送信できるかを列挙し、DKIM はメッセージが改ざんされていないことを証明し、DMARC は失敗時の扱いを決めます。
  • DMARC は p=none から始め、段階的に厳しくします。
  • SPF レコードはドメインにつき 1 つ、参照は 10 回未満に収めます。

御社のサイトも見てほしいですか?メッセージをお送りください。喜んでお手伝いします。

お問い合わせ

ほかのシグナル

← すべてのシグナル