メールを送信しないドメインを保護する方法

これらの特定のDNSレコードを作成することで、電子メールを送信しないドメインがドメインスプーフィング攻撃に利用されることを防ぐことができます。

学習目的

この記事を読み終えると、以下のことができるようになります。

  • メールを送信しないドメインを保護するためのDNSレコードを学ぶ
  • これらのタイプのDNSレコードがどのように機能するかを説明する
  • これらのタイプのDNSレコードの主な構成要素を理解する

記事のリンクをコピーする

電子メールを送信しないドメインを保護する方法

電子メールを送信しないドメインでも、メールなりすましフィッシング攻撃に利用される可能性はありますが、攻撃者を牽制する目的で利用できる特定の種類のDNS テキスト(TXT)レコードがあります。これらのレコードには、攻撃者がこれらのドメインを悪用することを困難にするために、メールサーバーが不正な電子メールをどのように扱うべきかのルールを設定します。

DNS TXTレコードは、ドメイン管理者がDomain Name System(DNS) 上にテキストを登録するためのものです。DNS TXTレコードは、ドメインが自分に代わってメール送信者にメッセージを送信することを許可しているかどうかをサーバーが確認するための重要な情報を保存できるため、メール認証などのプロセスに使用されます。

メールを送信しないドメインの例としては、ブランド名の保護や将来のビジネスのために購入したドメインなどがあります。また、廃止されたレガシードメインもメールを送信する理由がないため、この種のレコードが有効です。

メール認証に使われるDNS TXTレコードにはどのような種類があるか?

メール認証に使われるDNS TXTレコードには、主に次の3種類があります。それぞれの動作方法は若干異なります。

  • Sender Policy Framework(SPF)レコードには、ドメインを代表してメールを送信することを許可されたIPアドレスとドメイン名がすべて列挙されています。
  • DomainKeys Identified Mail(DKIM)レコードは、送信者が実際にメールを承認したかどうかを認証するデジタル署名を提供します。また、このデジタル署名は、攻撃者が通信を傍受し、悪意のある目的のためにメッセージを改ざんするオンパス攻撃の防止にも役立ちます。
  • Domain-based Message Authentication, Reporting and Conformance(DMARC)レコードには、ドメインのDMARCポリシーが記載されています。DMARCは、ドメインのSPFおよびDKIMレコードをチェックすることで電子メールを認証するシステムです。DMARCポリシーは、SPFやDKIMのチェックに失敗したメールをスパムとしてマーク、ブロック、または通過を許可するかを規定しています。

これらのDNSレコードはどのようなものか?

これらのDNSレコードはそれぞれ微妙に異なる機能を持っているため、その構成要素はそれぞれに独自性があります。

SPF

SPFレコードは、ドメインから送信された電子メールを拒否することで、フィッシング攻撃からドメインを保護するためにフォーマットすることができます。これを行うには、SPFレコードの登録で以下の形式を使用します。

v=spf1 -all

*注意:SPFレコードはドメイン自体に直接設定されるため、特別なサブドメインを必要としません。

このレコードの個々の構成要素の意味は次の通りです。

  • v=spf1は、レコードにSPFポリシーが含まれていることをサーバーに知らせるものです。すべてのSPFレコードは、この要素で始まる必要があります。
  • -allは、SPFレコードに明示的に記載されていない送信者や、SPFに準拠していないメールをどのように処理するかをサーバーに指示するものです。このタイプのSPFレコードでは、IPアドレスやドメインの使用は許可されていないため、-allは、すべてのSPFに準拠していない電子メールを拒否することを示しています。このタイプのレコードでは、許可されるIPアドレスやドメインがないため、すべてのメールが非準拠とみなされます。

DKIM

DKIMレコードは、公開鍵と秘密鍵を使用して、電子メールが送信者によって実際に承認されたことを確認することで、ドメインを保護します。DKIMレコードには、電子メール署名が送信者によって承認されたことを認証するために電子メールサーバーが使用する公開キーが格納されます。電子メールを送信しないドメインの場合、DKIMレコードは、関連する公開鍵なしで設定する必要があります。次に例を示します。

名称 種類 本文
*._domainkey.example.com TXT v=DKIM1; p=

 

  • *._domainkey.example.com は、DKIMレコードの特殊名です(「example.com」の部分はお客様のドメインに置き換えてください)。この例では、アスタリスク(ワイルドカードと呼ばれます)はセレクタとして使用されます。このセレクタはDKIMヘッダの一部であり、メールサーバーはDNSでのDKIM検索を行うためにこれを使用します。ワイルドカードは、セレクタに可能なすべての値をカバーします。
  • TXT は、DNSのレコードの種類を示しています。
  • v=DKIM1 ではバージョン番号を設定しており、このレコードがDKIMポリシーを参照していることをサーバーに伝えます。
  • p の値は、署名をその公開鍵に結びつけることで、電子メールの認証に役立ちます。このDKIMレコードでは、pの値は、結びつけるべき署名/公開鍵がないため、空にする必要があります。
  • DMARC

    DMARCポリシーは、SPFとDKIMに失敗したメールをすべて拒否することで、メールを送信しないドメインを保護することができます。この場合、電子メールを送信するように設定されていないドメインから送信されたすべての電子メールは、SPFとDKIMのチェックに失敗します。以下は、このようにポリシーをフォーマットする例です。

    名称 種類 本文
    _dmarc.example.com TXT v=DMARC1;p=reject;sp=reject;adkim=s;aspf=s

     

    • Nameフィールドは、DMARCポリシーに必要な _dmarc.example.com というサブドメインにレコードが設定されていることを確認します。
    • TXT は、DNSのレコードの種類を示しています。
    • v=DMARC1は、このDNSレコードにDMARCポリシーが含まれていることをサーバーに伝えます。
    • p=rejectは、DKIMやSPFのチェックに失敗したメールをメールサーバーが拒否することを示しています。
    • adkim=s は、アライメントモードというものを表しています。このケースでは、アライメントモードにstrict(厳格)の「s」を設定しています。アライメントの厳格モードとは、DMARCレコードを含むメールドメインのサーバーとメールのFromヘッダのドメインが正確に一致しなければならないことを意味します。そうでない場合、DKIMチェックは失敗します。
    • aspf=sは、adkim=sと同じ目的ですが、SPFの整合性のためのものです。
    • Cloudflare Email セキュリティのDNSウィザードを使用すると、スパマーによるドメイン使用をブロックための正しいDNSのTXTレコードを簡単に設定することができます。 ウィザードについての詳細はこちら