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へ移行してください。