DMARCの外部レポート許可エラーの原因と対処法
著者: Ahona Rudra
翻訳: 東條 百々朱
この記事はPowerDMARCのブログ記事 How to Fix “External Domains Not Giving Permission for DMARC Reports” の翻訳です。
Spelldataは、PowerDMARCの日本代理店です。
この記事は、PowerDMARCの許可を得て、翻訳しています。
主なポイント
- 自社ドメイン以外のアドレスへDMARCレポートを送信する場合は、外部レポート送信先の検証が必要です。
- レポートの送信先となる外部ドメインは、レポート受信を許可する専用のDNSレコードを公開する必要があります。
- この仕組みにより、攻撃者が大量の偽DMARCレポートを送り付ける「DMARCレポートの不正転送(レポートハイジャック)」を防止できます。
- 「許可されていません(Permission Not Given)」エラーを解消するには、外部ドメイン側のDNSにTXTレコードを作成する必要があります。
- ワイルドカードによる検証設定はスパムやセキュリティ上のリスクが高いため推奨されません。
- PowerDMARCを利用すれば、この検証プロセスを自動化でき、手動でのDNS設定作業を省略しながら解析済みレポートをすぐに利用できます。
DMARCレポートの送信先として外部ドメインを指定しているにもかかわらず、許可エラーが発生していませんか?
これは、適切なDNS検証を行わずに外部ドメインへDMARCレポートを送信しようとした際によく発生する問題です。
本ガイドでは、その原因と解決方法について、手動での対応方法とPowerDMARCを利用した自動化方法の両方を紹介します。
DMARC External Destination Verificationとは?
DMARC External Destination Verification(外部レポート送信先の検証)は、DMARCレポートの不正な転送を防ぐためのセキュリティ機能です。
- 仕組み
- たとえば、自社ドメイン(yourcompany.com)がDMARCレポートを別ドメイン配下のメールアドレス(reports.com)へ送信したい場合、送信先ドメイン側で明示的に許可を与える必要があります。
これは、メーリングリストへの登録と似た仕組みです。
リスト管理者が受信を許可して初めて、そのリスト宛てにメッセージを送信できるのと同じ考え方です。
「Permission Not Given」エラーが表示される理由
「External domains in your DMARC are not giving permission for your reports to be sent to them」というエラーは、DMARCレコードで外部ドメインをレポート送信先として指定しているにもかかわらず、送信先ドメインに必要な認可レコードが設定されていない場合に発生します。
- 例
- DMARCレコード→rua=mailto:dmarc@reports.com
Reports.com→yourcompany.comからのDMARCレポート受信を許可するDNSレコードが存在しない場合 - 結果
- 送信先ドメインが検証用レコードを公開するまで、DMARCレポートは送信されません。
修正方法:ステップごとの手順
ステップ1:対象となるドメインを確認する
- 自社ドメイン
- 保護対象のドメインです。
例:yourcompany.com - 外部ドメイン
- DMARCレポートを受信するドメインです。
例:reports.com
ステップ2:検証用DNSレコードを作成する
注意:このレコードは自社ドメインではなく、DMARCレポートを受信する外部ドメイン側のDNSに追加します。
| DNS項目 | 例 | 説明 |
|---|---|---|
| レコードタイプ | TXT | 常にTXTレコード |
| ホスト名 | yourcompany.com._report._dmarc.reports.com | yourcompany.comを自社ドメイン名、reports.comを送信先ドメイン名に置き換える |
| 値 | v=DMARC1; | 固定値 |
| TTL | 3600(またはデフォルト値) | 一般的なTTL設定 |
ステップ3:レコードを公開して確認する
- 外部ドメイン管理者は、このTXTレコードをDNSゾーンへ追加します。
- 追加後はDMARCチェッカーツールなどを利用して、レコードが正しく公開されていることを確認してください。
- DNSの伝播状況やメールサーバのレポート生成サイクルによって異なりますが、通常は72時間以内にレポートが届き始めます。
より簡単な方法:PowerDMARCで自動化する
複数のドメインにまたがってDNSレコードを管理していると、設定はすぐに複雑になり、ミスも発生しやすくなります。
PowerDMARCを利用すれば、こうした手間を大幅に削減できます。
DMARCレコードの送信先としてPowerDMARCのレポートアドレスを指定します(例 rua=mailto:yourcompany.com@dmarc.powerdmarc.com)。
PowerDMARCがバックグラウンドで外部ドメイン検証を自動的に処理するため、追加のDNS設定を行う必要はありません。
PowerDMARCを利用するメリット
- 手動でのDNS設定が不要
- DMARC設定と外部送信先の認証を自動的に処理し、レポート収集を有効化します。
- 迅速に利用開始可能
- 設定後、通常72時間以内にレポートを受信できます。
- 一元管理ダッシュボード
- すべてのDMARCレポートを一か所で確認・分析し、必要な対応を行えます。
ワイルドカードレコードのリスク(推奨されない理由)
一部のサービスプロバイダでは、外部検証を簡略化するために次のようなワイルドカードレコードを利用することがあります。
*._report._dmarc.external.com TXT v=DMARC1;
これは、外部ドメインが任意のドメインからのDMARCレポート受信を許可することを意味します。
しかし、次のようなリスクがあります。
- 悪意ある第三者による大量の偽レポート送信
- どのドメインからレポートを受け付けるか制御できなくなる
- DMARCの厳格な検証設計を弱めてしまう
PowerDMARCでは、ワイルドカード方式ではなく、送信元ごとに明示的な認可を行う安全な方式を採用しています。
まとめ
「Permission Not Given」エラーは不具合ではありません。
これはDMARCレポートの悪用を防ぐために設計されたセキュリティ機能です。
問題を解決するには、外部ドメイン側で必要なDNS検証レコードを公開する必要があります。
ただし、複数ドメインを運用している組織では、この作業が煩雑になることがあります。
PowerDMARCを利用すれば、外部ドメイン検証を自動的に処理できるため、DNS設定ではなくレポート分析やセキュリティ対策に集中できます。
手動設定に時間を取られることなく、DMARC運用を効率化しましょう。
今すぐPowerDMARCの無料トライアルを開始して、DMARCレポート管理を簡単に始めてみてください。
よくある質問
- 複数の外部ドメインへレポートを送信できますか?
- はい。
ただし、それぞれの外部ドメインで、自社ドメインからのDMARCレポート受信を許可する検証レコードを公開する必要があります。 - レコード追加後、どれくらいでレポートを受信できますか?
- 通常は72時間以内です。
ただし、DNS伝播状況や各メールサーバのレポート生成スケジュールによって異なります。 - PowerDMARCはフォレンジック(ruf)レポートにも対応していますか?
- はい。
PowerDMARCは、集約レポート(rua)とフォレンジックレポート(ruf)の両方の収集・分析に対応しています。