DMARCレコードの謎を解き明かす

公開: 2021-08-18

DMARC(ドメインベースのメッセージ認証、レポーティング&適合性)標準の最適なツールのブランドが戦闘フィッシング攻撃に自分の所有するドメインを偽装することによってターゲット顧客ことを持っています。 しかし、DMARCの実装は、すぐに混乱する可能性があります。

この投稿では、DMARCレコードを構成するDMARCタグを定義することにより、DMARCレコードをわかりやすく説明します。 必須タグとオプションタグの両方について説明し、さらに、あまり知られていないDMARCタグによって組織がより高いレベルの電子メールセキュリティを実現できるいくつかの戦略と使用例について説明します。

DMARCタグとは何ですか?
DMARCタグは、DMARC標準の言語です。 それらは、電子メール受信者に(1)DMARCをチェックし、(2)DMARC認証に失敗したメッセージをどう処理するかを指示します。

必要なDMARCタグ
必要なDMARCタグは「v:」と「p:」の2つだけです。

v:バージョン このタグは、TXTレコードをDMARCレコードとして識別するために使用されるため、電子メールの受信者はそれを他のTXTレコードと区別できます。 v:タグの値は「DMARC1」である必要があり、DMARCレコード全体の最初のタグとしてリストされている必要があります。 値が「DMARC1」と完全に一致しない場合、またはv:タグが最初にリストされていない場合、DMARCレコード全体が受信者によって無視されます。

例:v = DMARC1

p:要求されたメール受信者ポリシー。 このタグは、ドメイン所有者によって指定された、DMARC認証およびアライメントチェックに失敗したメッセージに対して受信者によって制定されるポリシーを示します。 このポリシーは、個別のサブドメインポリシーが明示的に説明されていない限り、クエリされたドメインとすべてのサブドメインに適用されます(これについては後ほど説明します)。 p:タグには3つの可能な値があります

  1. p = none:ドメイン所有者は、DMARC認証と調整に失敗したメールに対して特定のアクションを実行しないように要求します。
  2. p = quarantine:ドメイン所有者は、DMARC認証およびアライメントチェックに失敗したメールがメール受信者によって疑わしいものとして扱われることを望んでいます。 これは、受信者が電子メールをスパム/ジャンクフォルダに配置したり、疑わしいとしてフラグを立てたり、このメールをさらに厳しく精査したりすることを意味します。
  3. p = reject:ドメイン所有者は、メール受信者がDMARC認証とアライメントチェックに失敗した電子メールを拒否するように要求します。 SMTPトランザクション中に拒否が発生する必要があります。 これは最も厳格なポリシーであり、最高レベルの保護を提供します。

上記の情報を考えると、最も基本的なDMARCレコードの例は次のようになります。v= DMARC1; p =なし。

オプションのDMARCタグ
以下のオプションのDMARCタグを使用すると、電子メールの送信者は、認証されないメールをどう処理するかについてより具体的な指示を与えることができ、受信者の当て推量を排除できます。

  • rua:集約DMARCレポートの送信先を示します。 送信者は、宛先アドレスを次の形式で指定します。rua= mailto:[email protected]
  • ruf:フォレンジックDMARCレポートの送信先を示します。 送信者は、宛先アドレスを次の形式で指定します。ruf= mailto:[email protected]

次のオプションのタグには、タグが除外された場合に想定されるデフォルト値があります。 デフォルト値が想定されるタグのリストは次のとおりです。

  • adkim:厳密または緩和されたDKIM識別子の配置を示します。 デフォルトは緩和されています。
  • aspf:厳密または緩和されたSPF識別子の配置を示します。 デフォルトは緩和されています。
  • rf:メッセージ障害レポートの形式。 デフォルトは、Authentication Failure ReportingFormatまたは「AFRF」です。
  • ri:集計レポートを送信者に送信するまでに経過した秒数。 デフォルト値は86,400秒または1日です。
  • pct: DMARCポリシーが適用されるメッセージのパーセンテージ。 このパラメーターは、ポリシーの影響を段階的に実装およびテストする方法を提供します。
  • fo :ドメイン所有者に報告される認証および/またはアライメントの脆弱性のタイプを指示します。
  • 後者のfoには4つの値があります:tag:
  • 0:基礎となるすべての認証メカニズムが整列された「合格」結果を生成できない場合、DMARC障害レポートを生成します。 (ディフォルト)
  • 1:基礎となる認証メカニズムが整列された「合格」結果以外のものを生成した場合、DMARC障害レポートを生成します。
  • d:メッセージに、その配置に関係なく、評価に失敗した署名が含まれている場合、DKIM失敗レポートを生成します。
  • ■:メッセージがSPF評価に失敗した場合、その配置に関係なく、SPF失敗レポートを生成します。

デフォルトは「fo = 0」ですが、リターンパスは、クライアントにfo:1を使用して最も包括的な障害レポートを生成するようにアドバイスし、電子メールチャネルをより詳細に表示します。

以下はDMARCレコードの例です。 これまでに学んだことに基づいて、各タグを解読してみてください。

v = DMARC1; p =拒否; fo = 1; rua = mailto:[メール保護]; ruf = mailto:[メール保護]; rf = afrf; pct = 100

サブドメインはどうですか?
今日説明する最後のDMARCタグはsp:タグです。これは、メールがDMARC認証とアライメントチェックに失敗しているすべてのサブドメインに対して要求されたポリシーを示すために使用されます。 このタグは、トップレベルドメイン(組織レベルドメイン)にのみ適用されます。 ドメイン所有者がトップレベルドメインとすべてのサブドメインに異なるポリシーを指定する場合に最も効果的です。

次のシナリオでは、「domain.com」のトップレベルドメインと「mail.domain.com」のサブドメインを使用して、ユースケースを説明します。

  1. ドメイン所有者は、「domain.com」に対して拒否ポリシーを適用したいと考えていますが、「mail.domain.com」(および他のすべてのサブドメイン)に対しては隔離ポリシーを適用しています。 「domain.com」のDMARCレコードには、 「v = DMARC1; 」が含まれます。 p =拒否; sp = quarantine。」 これは、組織がトップレベルドメインとすべてのサブドメインに対して個別のDMARCポリシーを維持する必要がある場合に効果的な戦略です。
  2. ドメイン所有者は、「mail.domain.com」(および他のすべてのサブドメイン)に拒否ポリシーを適用したいが、「domain.com」に拒否ポリシーを適用したくない。 「domain.com」のDMARCレコードには、「v = DMARC1;」が含まれます。 p =なし; sp = reject。」 これは、トップレベルドメインがポリシーを適用する準備ができていない場合に辞書攻撃に対抗するための効果的な戦略ですが、詐欺師はmail.domain.com、abc.domain.com、123.domainなどのサブドメインをスプーフィングしています。 com、xyz.domain.comなど。sp:タグを拒否に設定すると、トップレベルドメイン「domain.com」から送信されるメールに影響を与えることなく、サブドメインを標的とするこれらの辞書攻撃から組織を保護できます。

DMARCレコードのDNAを理解したので、DMARCレコードがブロックする攻撃の種類と、ブロックしない攻撃の種類について詳しくは、電子メール脅威インテリジェンスレポートを参照してください