この製品のドキュメントセットは、偏向のない言語を使用するように配慮されています。このドキュメントセットでの偏向のない言語とは、年齢、障害、性別、人種的アイデンティティ、民族的アイデンティティ、性的指向、社会経済的地位、およびインターセクショナリティに基づく差別を意味しない言語として定義されています。製品ソフトウェアのユーザインターフェイスにハードコードされている言語、RFP のドキュメントに基づいて使用されている言語、または参照されているサードパーティ製品で使用されている言語によりドキュメントに例外が存在する場合があります。シスコのインクルーシブ ランゲージの取り組みの詳細は、こちらをご覧ください。
シスコは世界中のユーザにそれぞれの言語でサポート コンテンツを提供するために、機械と人による翻訳を組み合わせて、本ドキュメントを翻訳しています。ただし、最高度の機械翻訳であっても、専門家による翻訳のような正確性は確保されません。シスコは、これら翻訳の正確性について法的責任を負いません。原典である英語版(リンクからアクセス可能)もあわせて参照することを推奨します。
このドキュメントでは、ESA送信メールフローのDANE実装について説明します。
ESAの概念と設定に関する一般的な知識
DANEの実装要件:
DANEは、送信メールの検証のためにESA 12に導入されました。
名前付きエンティティのDNSベース認証(DANE)。
DANEを実装するには、dnssec/DANEクエリを実行するDNS機能が必要です。
ESA DNS DANE機能をテストするには、ESA CLIログインから簡単なテストを実行します。
CLIコマンド「daneverify」は、複雑なクエリーを実行して、ドメインがDANE検証を渡すことができるかどうかを検証します。
同じコマンドを既知の適切なドメインで使用して、ESAがdnssecクエリを解決できることを確認できます。
「ietf.org」は世界的に知られているソースです。cliコマンド「daneverify」を実行すると、DNSリゾルバがDANE対応かどうかを確認できます。
有効なパス: ietf.orgのDANE CAPABLE DNS SERVER “DANE SUCCESS”の結果
> daneverify ietf.org
SECURE MX record(mail.ietf.org) found for ietf.org
SECURE A record (4.31.198.44) found for MX(mail.ietf.org) in ietf.org
Connecting to 4.31.198.44 on port 25.
Connected to 4.31.198.44 from interface 216.71.133.161.
SECURE TLSA record found for MX(mail.ietf.org) in ietf.org
Checking TLS connection.
TLS connection established: protocol TLSv1.2, cipher ECDHE-RSA-AES256-GCM-SHA384.
Certificate verification successful
TLS connection succeeded ietf.org.
DANE SUCCESS for ietf.org
DANE verification completed.
無効なエラー: ietf.orgに対する非DANE対応DNSサーバーの「偽」の結果
> daneverify ietf.org
BOGUS MX record found for ietf.org
DANE FAILED for ietf.org
DANE verification completed.
有効なエラー: daneverify cisco.com >シスコはDANEを実装していません。これは、dnssec対応リゾルバからの予想される結果です。
> daneverify cisco.com
INSECURE MX record(alln-mx-01.cisco.com) found for cisco.com
INSECURE MX record(alln-mx-01.cisco.com) found. The command will still proceed.
INSECURE A record (173.37.147.230) found for MX(alln-mx-01.cisco.com) in cisco.com
Trying next MX record in cisco.com
INSECURE MX record(rcdn-mx-01.cisco.com) found for cisco.com
INSECURE MX record(rcdn-mx-01.cisco.com) found. The command will still proceed.
INSECURE A record (72.163.7.166) found for MX(rcdn-mx-01.cisco.com) in cisco.com
Trying next MX record in cisco.com
INSECURE MX record(aer-mx-01.cisco.com) found for cisco.com
INSECURE MX record(aer-mx-01.cisco.com) found. The command will still proceed.
INSECURE A record (173.38.212.150) found for MX(aer-mx-01.cisco.com) in cisco.com
DANE FAILED for cisco.com
DANE verification completed.
上記のテストで「VALID」と判定された場合は、次の手順を実行します。
「RELAY」アクションが設定されている送信者グループ/メールフローポリシーは、DANE検証を実行します。
「ACCEPT」アクションが設定されている送信者グループ/メールフローポリシーでは、DANE検証は実行されません。
注意:ESAのデフォルトポリシーで宛先制御「DANE」が有効になっている場合、配信が失敗する危険性があります。 RATにリストされているドメインなどの内部所有ドメインが、ドメインのSMTPルートの存在と組み合わされて、RELAYとACCEPTの両方のメールフローポリシーをパススルーする場合。
「宛先ホスト」が「使用」に設定されていない限り、SMTPルートでDANEが失敗する。
DANE Opportunisticは、バウンスプロファイルタイマーが時間切れになるまでメッセージを配信キューに入れて、メッセージを配信しません。
これは、なぜですか。SMTPルートは実際の宛先の変更であり、DNSを正しく使用しない可能性があるため、DANE検証はスキップされます。
解決方法:宛先制御プロファイルを作成して、SMTPルートを含むドメインのDANE検証を明示的に無効にします
DANEの検証時には、次のルックアップが実行されます。
各検証は、コンテンツをフィードして、その後の検証を実行する。
セキュア:
安全でない:
偽:
NXDOMAIN(拡張ドメイン)
上記のレコードチェックと検証結果の組み合わせにより、「DANE Success | DANEエラー | DANEフォールバックをTLSに設定します」
例: example.comのMXレコードに送信されたRRSIGがない場合、親ゾーン(.com)がチェックされ、example.comにDNSKEYレコードがあるかどうかが確認されます。これは、example.comがそのレコードに署名する必要があることを示します。この検証では、ルートゾーン(.)キーの検証による信頼のチェーン仕上げが続行されます。に到達すると、ルートゾーンのキーはESAが想定する値(ESAではハードコードされた値で、RFC5011に基づいて自動更新されます)と一致します。
DANE必須
注:DANE OPPORTUNISTICは、TLS PREFERREDのように動作しません。次のグラフのACTION部分の結果はDANE FAILであり、MandatoryまたはOpportunisticのいずれでも配信されません。タイマーが時間切れになるまでメッセージは配信キューに残り、その後配信が終了します。
デーン日和見主義
次の図は、マルチアプライアンス環境でDANEを有効にした場合のワークフローを示しています。
環境にESAアプライアンスの複数のレイヤがある場合、1つはスキャン用、もう1つはメッセージ配信用です。DANEは、外部の宛先に直接接続するアプライアンスでのみ設定します。
ESAに複数のDNSリゾルバ(DNSSECをサポートするリゾルバとDNSSECをサポートしないリゾルバの両方)が設定されている場合、不整合を防ぐため、DNSSEC対応リゾルバには高い優先順位(小さい数値)を設定することをお勧めします。
これにより、非DNSSEC対応のリゾルバが、DANEをサポートする宛先ドメインを「偽」として分類することを防ぎます。
DNSリゾルバに到達できない場合、DNSはセカンダリDNSサーバにフォールバックします。セカンダリDNSサーバでDNSSECを設定しない場合、DANE対応の宛先ドメインのMXレコードは「偽」として分類されます。 これは、DANE設定(OpportunisticまたはMandatory)に関係なく、メッセージ配信に影響します。セカンダリDNSSEC対応リゾルバを使用することを推奨します。
配信ステータス
WebUIの「Delivery Status」レポートを監視し、DANE障害が原因で意図しない宛先ドメインの構築が発生していないかを確認します。
サービスを有効にする前にこれを実行し、その後数日間定期的に実行して、継続的な成功を保証します。
ESA WebUI > Monitor > Delivery Status > Active Recipients列を確認します。
メールログ
ログレベルの情報レベルのデフォルトのメールログ。
メールログには、DANEが正常にネゴシエートされたメッセージに関する非常にわずかなインジケータが示されます。
最後の発信TLSネゴシエーションでは、ログエントリの最後にドメインが含まれるように、わずかに変更された出力が含まれます。
ログエントリには、「TLS success protocol」の後に「for domain.com」のTLSバージョン/暗号が続きます。
魔法は「for」にあります。
myesa.local> grep "TLS success.*for" mail_logs
Tue Feb 5 13:20:03 2019 Info: DCID 2322371 TLS success protocol TLSv1.2 cipher DHE-RSA-AES256-GCM-SHA384 for karakun.com
メールログのデバッグ
デバッグレベルのカスタムメールログには、完全なDANEおよびdnssecルックアップ、予想されるネゴシエーション、成功/失敗したチェック部分、および成功インジケータが表示されます。
注:デバッグレベルのロギングが設定されたメールログは、システムの負荷と設定によっては、ESAで過剰なリソースを消費する場合があります。
デバッグレベルのロギング用に設定されたメールログは、システムの負荷と設定によっては、ESAで過剰なリソースを消費する場合があります。
メールログは通常、デバッグレベルで長期間保持されません。
デバッグレベルのログは、短時間で大量のメールログを生成する可能性があります。
mail_logs_d用に追加のログサブスクリプションを作成し、DEBUG用にロギングを設定する方法がよく使用されます。
このアクションにより、既存のmail_logsへの影響が防止され、サブスクリプション用に維持されるログの量を操作できます。
作成されるログの量を制御するには、保持するファイルの数を2 ~ 4ファイルなど、より少ない数に制限します。
モニタリング、トライアル期間、またはトラブルシューティングが完了したら、ログを無効にします。
デバッグレベルに設定されたメールログに、非常に詳細なDANE出力が表示されます。
Success sample daneverify
daneverify ietf.org
SECURE MX record(mail.ietf.org) found for ietf.org
SECURE A record (4.31.198.44) found for MX(mail.ietf.org) in ietf.org
Connecting to 4.31.198.44 on port 25.
Connected to 4.31.198.44 from interface 194.191.40.74.
SECURE TLSA record found for MX(mail.ietf.org) in ietf.org
Checking TLS connection.
TLS connection established: protocol TLSv1.2, cipher DHE-RSA-AES256-GCM-SHA384.
Certificate verification successful
TLS connection succeeded ietf.org.
DANE SUCCESS for ietf.org
DANE verification completed.
debug level mail logs during the above 'daneverify' exeuction.
Sample output from the execution of the daneverify ietf.org will populate the dns lookups within the mail logs
Mon Feb 4 20:08:47 2019 Debug: DNS query: Q('ietf.org', 'MX')
Mon Feb 4 20:08:47 2019 Debug: DNS query: QN('ietf.org', 'MX', 'recursive_nameserver0.parent')
Mon Feb 4 20:08:47 2019 Debug: DNS query: QIP ('ietf.org','MX','194.191.40.84',60)
Mon Feb 4 20:08:47 2019 Debug: DNS query: Q ('ietf.org', 'MX', '194.191.40.84')
Mon Feb 4 20:08:48 2019 Debug: DNSSEC Response data([(0, 'mail.ietf.org.')], secure, 0, 1800)
Mon Feb 4 20:08:48 2019 Debug: DNS encache (ietf.org, MX, [(8496573380345476L, 0, 'SECURE', (0, 'mail.ietf.org'))])
Mon Feb 4 20:08:48 2019 Debug: DNS query: Q('mail.ietf.org', 'A')
Mon Feb 4 20:08:48 2019 Debug: DNS query: QN('mail.ietf.org', 'A', 'recursive_nameserver0.parent')
Mon Feb 4 20:08:48 2019 Debug: DNS query: QIP ('mail.ietf.org','A','194.191.40.84',60)
Mon Feb 4 20:08:48 2019 Debug: DNS query: Q ('mail.ietf.org', 'A', '194.191.40.84')
Mon Feb 4 20:08:48 2019 Debug: DNSSEC Response data(['4.31.198.44'], secure, 0, 1800)
Mon Feb 4 20:08:48 2019 Debug: DNS encache (mail.ietf.org, A, [(8496573380345476L, 0, 'SECURE', '4.31.198.44')])
Mon Feb 4 20:08:48 2019 Debug: DNS query: Q('mail.ietf.org', 'AAAA')
Mon Feb 4 20:08:48 2019 Debug: DNS query: QN('mail.ietf.org', 'AAAA', 'recursive_nameserver0.parent')
Mon Feb 4 20:08:48 2019 Debug: DNS query: QIP ('mail.ietf.org','AAAA','194.191.40.84',60)
Mon Feb 4 20:08:48 2019 Debug: DNS query: Q ('mail.ietf.org', 'AAAA', '194.191.40.84')
Mon Feb 4 20:08:48 2019 Warning: Received an invalid DNSSEC Response: DNSSEC_Error('mail.ietf.org', 'AAAA', '194.191.40.84', 'DNSSEC Error for hostname mail.ietf.org (AAAA) while asking 194.191.40.84. Error was: Unsupported qtype') of qtype AAAA looking up mail.ietf.org
Mon Feb 4 20:08:48 2019 Debug: DNS query: Q('mail.ietf.org', 'CNAME')
Mon Feb 4 20:08:48 2019 Debug: DNS query: QN('mail.ietf.org', 'CNAME', 'recursive_nameserver0.parent')
Mon Feb 4 20:08:48 2019 Debug: DNS query: QIP ('mail.ietf.org','CNAME','194.191.40.83',60)
Mon Feb 4 20:08:48 2019 Debug: DNS query: Q ('mail.ietf.org', 'CNAME', '194.191.40.83')
Mon Feb 4 20:08:48 2019 Debug: DNSSEC Response data([], , 0, 1800)
Mon Feb 4 20:08:48 2019 Debug: Received NODATA for domain mail.ietf.org type CNAME
Mon Feb 4 20:08:48 2019 Debug: No CNAME record(NoError) found for domain(mail.ietf.org)
Mon Feb 4 20:08:49 2019 Debug: DNS query: Q('_25._tcp.mail.ietf.org', 'TLSA')
Mon Feb 4 20:08:49 2019 Debug: DNS query: QN('_25._tcp.mail.ietf.org', 'TLSA', 'recursive_nameserver0.parent')
Mon Feb 4 20:08:49 2019 Debug: DNS query: QIP ('_25._tcp.mail.ietf.org','TLSA','194.191.40.83',60)
Mon Feb 4 20:08:49 2019 Debug: DNS query: Q ('_25._tcp.mail.ietf.org', 'TLSA', '194.191.40.83')
Mon Feb 4 20:08:49 2019 Debug: DNSSEC Response data(['0301010c72ac70b745ac19998811b131d662c9ac69dbdbe7cb23e5b514b56664c5d3d6'], secure, 0, 1800)
Mon Feb 4 20:08:49 2019 Debug: DNS encache (_25._tcp.mail.ietf.org, TLSA, [(8496577312207991L, 0, 'SECURE', '0301010c72ac70b745ac19998811b131d662c9ac69dbdbe7cb23e5b514b56664c5d3d6')])
fail sample daneverify
[]> thinkbeyond.ch
INSECURE MX record(thinkbeyond-ch.mail.protection.outlook.com) found for thinkbeyond.ch
INSECURE MX record(thinkbeyond-ch.mail.protection.outlook.com) found. The command will still proceed.
INSECURE A record (104.47.9.36) found for MX(thinkbeyond-ch.mail.protection.outlook.com) in thinkbeyond.ch
Trying next A record (104.47.10.36) for MX(thinkbeyond-ch.mail.protection.outlook.com) in thinkbeyond.ch
INSECURE A record (104.47.10.36) found for MX(thinkbeyond-ch.mail.protection.outlook.com) in thinkbeyond.ch
DANE FAILED for thinkbeyond.ch
DANE verification completed.
mail_logs
Sample output from the execution of he danverify thinkbeyond.ch will populate the dns lookups within the mail logs
Mon Feb 4 20:15:52 2019 Debug: DNS query: Q('thinkbeyond.ch', 'MX')
Mon Feb 4 20:15:52 2019 Debug: DNS query: QN('thinkbeyond.ch', 'MX', 'recursive_nameserver0.parent')
Mon Feb 4 20:15:52 2019 Debug: DNS query: QIP ('thinkbeyond.ch','MX','194.191.40.84',60)
Mon Feb 4 20:15:52 2019 Debug: DNS query: Q ('thinkbeyond.ch', 'MX', '194.191.40.84')
Mon Feb 4 20:15:52 2019 Debug: DNSSEC Response data([(10, 'thinkbeyond-ch.mail.protection.outlook.com.')], insecure, 0, 3600)
Mon Feb 4 20:15:52 2019 Debug: DNS encache (thinkbeyond.ch, MX, [(8502120882844461L, 0, 'INSECURE', (10, 'thinkbeyond-ch.mail.protection.outlook.com'))])
Mon Feb 4 20:15:52 2019 Debug: DNS query: Q('thinkbeyond-ch.mail.protection.outlook.com', 'A')
Mon Feb 4 20:15:52 2019 Debug: DNS query: QN('thinkbeyond-ch.mail.protection.outlook.com', 'A', 'recursive_nameserver0.parent')
Mon Feb 4 20:15:52 2019 Debug: DNS query: QIP ('thinkbeyond-ch.mail.protection.outlook.com','A','194.191.40.83',60)
Mon Feb 4 20:15:52 2019 Debug: DNS query: Q ('thinkbeyond-ch.mail.protection.outlook.com', 'A', '194.191.40.83')
Mon Feb 4 20:15:52 2019 Debug: DNSSEC Response data(['104.47.9.36', '104.47.10.36'], insecure, 0, 10)
Mon Feb 4 20:15:52 2019 Debug: DNS encache (thinkbeyond-ch.mail.protection.outlook.com, A, [(8497631700844461L, 0, 'INSECURE', '104.47.9.36'), (8497631700844461L, 0, 'INSECURE', '104.47.10.36')])
Mon Feb 4 20:15:52 2019 Debug: DNS query: Q('thinkbeyond-ch.mail.protection.outlook.com', 'AAAA')
Mon Feb 4 20:15:52 2019 Debug: DNS query: QN('thinkbeyond-ch.mail.protection.outlook.com', 'AAAA', 'recursive_nameserver0.parent')
Mon Feb 4 20:15:52 2019 Debug: DNS query: QIP ('thinkbeyond-ch.mail.protection.outlook.com','AAAA','194.191.40.84',60)
Mon Feb 4 20:15:52 2019 Debug: DNS query: Q ('thinkbeyond-ch.mail.protection.outlook.com', 'AAAA', '194.191.40.84')
Mon Feb 4 20:15:52 2019 Debug: DNSSEC Response data([], , 0, 32768)
Mon Feb 4 20:15:52 2019 Debug: Received NODATA for domain thinkbeyond-ch.mail.protection.outlook.com type AAAA
Mon Feb 4 20:15:52 2019 Debug: DNS query: Q('thinkbeyond-ch.mail.protection.outlook.com', 'CNAME')
Mon Feb 4 20:15:52 2019 Debug: DNS query: QN('thinkbeyond-ch.mail.protection.outlook.com', 'CNAME', 'recursive_nameserver0.parent')
Mon Feb 4 20:15:52 2019 Debug: DNS query: QIP ('thinkbeyond-ch.mail.protection.outlook.com','CNAME','194.191.40.83',60)
Mon Feb 4 20:15:52 2019 Debug: DNS query: Q ('thinkbeyond-ch.mail.protection.outlook.com', 'CNAME', '194.191.40.83')
Mon Feb 4 20:15:53 2019 Warning: Received an invalid DNS Response: SERVER FAILED to IP 194.191.40.83 looking up thinkbeyond-ch.mail.protection.outlook.com
Mon Feb 4 20:15:53 2019 Debug: DNS query: QIP ('thinkbeyond-ch.mail.protection.outlook.com','CNAME','194.191.40.84',60)
Mon Feb 4 20:15:53 2019 Debug: DNS query: Q ('thinkbeyond-ch.mail.protection.outlook.com', 'CNAME', '194.191.40.84')
Mon Feb 4 20:15:54 2019 Warning: Received an invalid DNS Response: SERVER FAILED to IP 194.191.40.84 looking up thinkbeyond-ch.mail.protection.outlook.com
Mon Feb 4 20:15:54 2019 Debug: No CNAME record() found for domain(thinkbeyond-ch.mail.protection.outlook.com)
改定 | 発行日 | コメント |
---|---|---|
1.0 |
26-Aug-2019 |
初版 |