本文へスキップ
IPeek

MTA-STS チェック

受信メールに対する強制 TLS ポリシー

チェック中…

MTA-STSとは?

MTA-STSは、受信メールを認証済みのTLSで配信するようドメインに要求させ、ダウングレード攻撃や中間者攻撃から防御します。IPeekは_mta-stsのTXTレコードを読み取り、mta-sts.your-domainに公開されたポリシーファイルを取得します。攻撃者が黙って剥がせる日和見的なSTARTTLSが残すギャップを埋めます。

MTA-STSがポリシーを公開・強制する仕組み

MTA-STSは2つの部分を使います。_mta-sts.your-domainのTXTレコードは、バージョンとポリシーIDを保持し、ポリシーが存在することを送信サーバーに伝え、更新時に変化します。ポリシー自体は、https://mta-sts.your-domain/.well-known/mta-sts.txt にHTTPS経由で配信される平文ファイルにあります。そのファイルには、バージョン、モード、許可されたMXホスト名、max_ageのキャッシュ有効期間が列挙されます。MTA-STSに対応する送信側はポリシーを取得してキャッシュし、それに照らして証明書の検証に失敗するMXへの配信を拒否します。

MTA-STS結果の読み解き方

IPeekは、_mta-stsのTXTレコードが存在するか、ポリシーファイルがHTTPS経由で到達可能かを示します。最も重要なのはモードの値です。noneはポリシーが有効でないこと、testingは失敗が報告されるもののメールは流れること、enforceはTLS認証に失敗した場合に送信側が配信を中止しなければならないことを意味します。ポリシー内のmxエントリが実際のMXレコードと一致すること、ポリシーホストのHTTPS証明書が有効であることを確認してください。max_ageが高い値(多くは604800秒)だと、キャッシュされたポリシーが実時間の改ざんに耐えるため保護が向上します。

よくあるMTA-STSの問題と修正方法

最もよくある間違いは、TXTレコードが存在するのにポリシーファイルが404やリダイレクトを返し、ポリシーを使用不能にしていることです。ポリシーホストは有効なHTTPSを配信しなければならないため、mta-sts.your-domainの期限切れまたは不一致の証明書は強制を完全に壊します。MXエントリがDNSとずれると、enforceに切り替えた時点で配信失敗を引き起こします。まずtestingで展開し、TLS-RPTレポートで失敗を監視し、すべてのMXが有効で一致する証明書を提示することを確認してからenforceへ移行してください。

よくある質問

MTA-STSのtestingモードとenforceモードの違いは何ですか?

testingモードでは、TLSの失敗を検出した送信側もメールを配信しますが、問題を報告するため、トラフィックをブロックせずに問題を発見できます。enforceモードでは、送信側は証明書の検証に失敗したMXへの配信を中止しなければなりません。まずtestingで始め、TLS-RPTレポートを監視し、失敗が現れなくなってからenforceへ切り替えてください。

MTA-STSのポリシーファイルはどこにありますか?

ポリシーファイルは、mta-stsという名前のサブドメイン上の https://mta-sts.your-domain/.well-known/mta-sts.txt にHTTPS経由で配信されます。_mta-sts.your-domainのDNS TXTレコードは、ポリシーが存在することを告知しIDを運ぶだけで、モードや許可されたMXホストを含む実際のルールはそのHTTPSファイルにあります。MTA-STSが機能するには、両方が存在し有効である必要があります。

MTA-STSはSTARTTLSとどう違いますか?

STARTTLSは日和見的です。暗号化を提供しますが、ネットワーク攻撃者がSTARTTLSの広告を剥がし、検知されないまま平文配信を強制できます。MTA-STSは、TLSが必須でありどのMX証明書を信頼すべきかを送信側に伝える公開ポリシーを追加するため、剥がされたり無効なTLS接続は黙ってダウングレードするのではなく配信失敗を引き起こします。STARTTLSをダウングレード攻撃に対して強化するものです。

MTA-STSはDNSSECを必要としますか?

いいえ。MTA-STSは、DNSSECではなくHTTPSとウェブPKIに信頼を意図的に依存するため、DANEより展開が容易です。ポリシーファイルのHTTPS証明書が認証を提供します。ドメインにすでにDNSSECがある場合は、DANEをMTA-STSと並行して運用できます。2つの仕組みは衝突せず補完し合うからです。

MTA-STSを安全に展開するにはどうすればよいですか?

まずTXTレコードとポリシーファイルをtestingモードで公開し、次にTLS-RPTを有効化して、送信サーバーがTLS失敗のレポートをメールで送ってくるようにします。ポリシー内のMXホスト名がDNSと一致し、すべてのMXが有効な証明書を提示することを確認してください。通常のレポートサイクルにわたって失敗が報告されなくなったら、モードをenforceに変更し、ポリシーIDを更新します。