MTA-STSとTLS-RPT:メール配送の暗号化を強制し、失敗を知る仕組み
SPF・DKIM・DMARCは「送信者の正しさ」を守ります。MTA-STSは、「届ける途中の暗号化」を守る仕組みです。
公開: 2026年11月13日
メール配送の暗号化が抱える弱点
メールは、送信側のサーバーから、受信側のサーバーへ、SMTPという通信で運ばれます。この区間を暗号化するのが、STARTTLSです。ただし、STARTTLSには、「暗号化できなければ、暗号化せずに送る」という、後方互換のための性質があります。
通信経路の途中にいる攻撃者が、STARTTLSの提案を書き換えたり、遮断したりすると、送信側は暗号化を諦めて、平文で送ってしまうことがあります(ダウングレード攻撃)。また、受信サーバーの証明書を検証しない実装も多く、偽のサーバーへ配送されても、気づけない場合があります。
MTA-STSとは
MTA-STS(SMTP MTA Strict Transport Security、RFC 8461)は、受信側のドメインが、「私のドメイン宛のメールは、有効な証明書を持つ、このサーバーへ、TLSで配送してください。できない場合は、配送しないでください」と宣言する仕組みです。送信側のサーバーは、宣言を事前に取得しておき、条件を満たさない配送を拒否します。
構成要素
MTA-STSの設定は、2つに分かれます。
- DNSのTXTレコード:ポリシーが存在すること、そして、ポリシーのバージョンを示す識別子(id)を公開します。
_mta-sts.example.co.jp. TXT "v=STSv1; id=20261113T000000" - HTTPSで配信するポリシーファイル:
https://mta-sts.example.co.jp/.well-known/mta-sts.txtに置きます。version: STSv1 mode: testing mx: mail.example.co.jp max_age: 86400
mode:none(無効)、testing(違反しても配送し、レポートだけを出す)、enforce(違反したら配送しない)。mx:配送先として許可するメールサーバーのホスト名(複数指定可)。max_age:送信側がポリシーをキャッシュする秒数。
ポリシーファイルをHTTPSで配信することで、DNSが改ざんされても、ポリシーの真正性を、ウェブの証明書で確認できるようになっています。そのため、mta-stsという名前のサブドメインを用意し、有効なサーバー証明書を設定する必要があります。
TLS-RPT:失敗を知るためのレポート
TLS-RPT(SMTP TLS Reporting、RFC 8460)は、送信側のサーバーが、あなたのドメイン宛のメールをTLSで配送しようとして、失敗した内容を、集計して報告してくれる仕組みです。DMARCの集計レポートの、TLS版と考えると分かりやすいでしょう。
_smtp._tls.example.co.jp. TXT "v=TLSRPTv1; rua=mailto:tls-reports@example.co.jp"
レポートには、失敗の種類(証明書の期限切れ、ホスト名の不一致、STARTTLSの未対応、MTA-STSポリシーの不一致など)と件数が書かれています。MTA-STSをenforceにする前に、testingの期間で、レポートを確認することが重要です。
導入の進め方
- 自社のメールサーバーの証明書が、有効で、ホスト名が一致していることを確認する。
- TLS-RPTを先に設定し、現状の失敗の有無を観察する。
mode: testingでMTA-STSを設定する。- 2〜4週間ほど、レポートに問題がないことを確認する。
mode: enforceに切り替える。ポリシーを更新するたびに、TXTレコードのidも、新しい値に変更する(変更を知らせる合図になる)。
運用の注意点
- 証明書の期限切れに注意:
enforceのとき、メールサーバーの証明書が失効すると、あなたのドメイン宛のメールが、送信側から配送拒否されます。更新の自動化と、期限の監視が必須です。 - MXを変更するときは、ポリシーが先:メールサービスを乗り換えるときは、新しいMXを、ポリシーの
mxに追加してから、切り替えます。 - 対応は送信側しだい:MTA-STSは、送信側が対応していて初めて効果があります。大手のメールプロバイダの一部が対応していますが、すべてではありません。
- DANEという別の方法もある:DNSSECを前提に、証明書の情報をDNSに置く方法(DANE)もあります。DNSSECが前提となるため、導入の条件は異なります。
よくある質問
MTA-STSを設定しないと、メールが届かなくなりますか?
いいえ。設定は任意で、未設定でも、これまでどおり届きます。MTA-STSは、配送途中の暗号化を、より確実にするための追加の対策です。
MTA-STSとDMARCは、何が違いますか?
DMARCは、差出人のなりすましを防ぐ仕組みです。MTA-STSは、メールがサーバー間で運ばれる途中の、盗聴や、ダウングレードを防ぐ仕組みです。守る対象が、別のものです。
enforceにしても、安全ですか?
メールサーバーの証明書が有効で、ホスト名が一致していて、更新が自動化されていれば、安全に運用できます。まずはtestingで、TLS-RPTのレポートを確認してから、移行してください。