MTA-STSチェック
ドメインのMTA-STSポリシーとTLS-RPTレコードをチェック。適用モード、許可サーバー、受信メールがダウングレード攻撃から守られているかを確認。無料・登録不要。
MTA-STSとは
MTA-STSは、転送中のメールの暗号化を「可能ならTLS」から「TLSでなければ配信しない」へ引き上げる標準です。仕組みは、 _mta-sts.yourdomain.co.jp のDNS TXTレコードと、メールサーバーと適用モードを記したHTTPS上のポリシーファイルの組み合わせです。GmailやMicrosoft 365など、MTA-STS対応の送信サーバーはこのポリシーを取得し、偽のサーバーや暗号化を外された接続にはメールを渡しません。 DMARC や BIMI レコードと組み合わせれば、受信と送信の両方を守れます。詳しくは MTA-STS完全ガイドを参照.
メール認証ナレッジベース
MTA-STSとは?
MTA-STS(Mail Transfer Agent Strict Transport Security、RFC 8461)は、自ドメインへのメール配信に、暗号化され認証されたTLSの使用を他のメールサーバーに求める仕組みです。これがないとSMTPの暗号化は任意で、接続を傍受できる攻撃者はTLSを外し、メールを読んだり改ざんしたりできます(ダウングレード攻撃)。MTA-STSは、送信サーバーが従うべきポリシーを公開して、この穴をふさぎます。
MTA-STSの構成要素は?
2つの要素が両方とも必要です。1つは_mta-sts.yourdomain.co.jpのDNS TXTレコードで、v=STSv1とidを含みます。もう1つはhttps://mta-sts.yourdomain.co.jp/.well-known/mta-sts.txtでHTTPS配信するポリシーファイルで、モード(testingかenforce)、許可するメールサーバー(mx)、max_ageを記載します。DNSレコードはポリシーの存在と最終更新を送信側に伝え、HTTPSのファイルがポリシー本体です。どちらかが欠けるか、mta-stsホストの証明書が無効なら、MTA-STSは機能しません。
このMTA-STSチェックの仕組みは?
ドメインを入力すると、_mta-stsのTXTレコードを照会し、mta-stsホストからHTTPSでポリシーファイルを取得し、TLS-RPT用の_smtp._tlsのTXTレコードを読み取ります。そのうえで適用モード、ポリシーで許可したメールサーバー、max_age、レポートの設定有無を表示します。送信サーバーから見たとおりに設定全体が機能するか確認できます。
testingモードとenforceモードの違いは?
testingモードでは、有効なTLSを確立できない送信サーバーもメールを配信し、(TLS-RPTを設定していれば)失敗を報告します。enforceモードでは、同じサーバーは記載されたMXと認証済みのTLS接続ができるまで配信しません。必ずtestingから始め、失敗の原因がわかるまでTLS-RPTレポートを確認してから、enforceへ切り替えます。MXの記載に誤りがあるままいきなりenforceにすると、正規のメールが不達になることがあります。
TLS-RPTとは?必要ですか?
TLS-RPT(RFC 8460)は、_smtp._tls.yourdomain.co.jpに置く対のTXTレコードです。TLS接続の成功と失敗について、日次レポートを送るよう受信側に求めます。強く推奨します。enforceに移る前にMTA-STSポリシーが問題を起こしていないかを知る手段であり、その後も続く配信トラブルに気づく手段になります。
MTA-STSとDANEの違いは?
どちらも受信メールにTLSを強制しますが、信頼の根拠が違います。DANEは証明書のフィンガープリントをDNSで公開し、ドメインへのDNSSEC導入が前提です。MTA-STSはWeb PKI(mta-stsホストの有効な証明書)に依拠し、DNSSECは不要なため、はるかに導入しやすくなっています。そのためGoogle、Microsoft、YahooはMTA-STSに対応しています。DNSSECを運用済みのドメインは、両方を公開していることもよくあります。
ポリシーファイルをmta-stsサブドメインに置く理由は?
場所は標準で決まっており、送信側はhttps://mta-sts.yourdomain.co.jp/.well-known/mta-sts.txtを取得します。mta-stsサブドメインには、専用のA/AAAA(またはCNAME)レコードと、そのホスト名を含む有効なTLS証明書が必要です。よくある失敗は、DNS TXTレコードだけ公開してmta-stsホストを用意しない、または証明書を失効させることです。上のツールはこのケースを検出します。
PalisadeがMTA-STSを設定しますか?
はい。Palisadeはポリシーファイルを冗長化した基盤でホストし、DNSレコードの案を作成して承認を求めます。ポリシーの変更時にはidを同期し、TLS-RPTレポートを表示するので、testingからenforceへ切り替える時期を判断できます。管理する全ドメインで、SPF、DKIM、DMARC、BIMIとあわせて対応します。
MTA-STSと、対になるTLS-RPTのタグをすべて解説します。
- vバージョン(DNS)
- _mta-sts TXTレコードのバージョンタグです。値は「STSv1」でなければなりません。欠落や誤りがあると、受信側はレコードを無視し、ポリシーファイルを取得しません。
- idポリシーID
- _mta-sts TXTレコード内の一意の文字列です(一般的には20240419T120000のようなタイムスタンプ)。ホストしているポリシーファイルを変更するたびにidも変更し、送信側に再取得を促す必要があります。古いidを使い回すと、キャッシュは以前のポリシーを返し続けます。
- mode適用モード
- ポリシーファイルで設定します。「testing」はTLSの問題を報告しますが、TLSが失敗したり証明書が無効でもメールは配信されるため、最初の安全な一歩です。「enforce」は、記載したMXへ有効で認証済みのTLS接続ができない限り、配信を拒否するよう送信側サーバーに求めます。「none」はポリシーを取り下げます。
- mx許可するMX
- ポリシーファイル内の1行以上のmx行で、メールの受信を許可するメールサーバーのホスト名を示します(例:mail.example.com、ワイルドカードの*.example.net)。公開中のMXレコードと一致させる必要があります。送信側サーバーがTLSを強制するのは、この一覧にあるホストだけです。
- max_age有効期間
- 送信側がポリシーをキャッシュできる期間(秒)で、ポリシーファイルで指定します。一般的な値は604800(1週間)です。キャッシュが長いほどダウングレード攻撃に強くなりますが、変更の反映は遅くなります。テスト中は短めにし、ポリシーが安定してから長くしてください。
- ruaTLS-RPTの送信先
- 関連する_smtp._tls TXTレコード(v=TLSRPTv1)では、ruaに受信側が毎日のTLSレポートを送る宛先をmailtoまたはhttps:で指定します。このレポートで自ドメイン宛てのメールがTLSにどれだけ失敗しているかがわかり、MTA-STSをtestingからenforceへ移行する判断材料になります。