STARTTLS の削除への対策
A 社の送信側 MTA のログに,取引先 example.jp の MX への配送で次のやり取りが記録されていた。example.jp の MX は,通常は EHLO への応答で STARTTLS を通知している。このように平文で配送されることを防ぐ方法として,適切なものはどれか。
S: 220 mx.example.jp ESMTP
C: EHLO mail.example.com
S: 250-mx.example.jp
S: 250-PIPELINING
S: 250 8BITMIME
C: MAIL FROM:<sales@example.com>- ア送信側 MTA から MX への配送を,接続直後から TLS で暗号化する 465 番ポート宛てに変更する。
- イexample.jp の MX で,TLS を確立していない送信側からの MAIL コマンドを拒否する設定にする。
- ウexample.jp が MTA-STS のポリシーを enforce モードで公開し,送信側 MTA がそのポリシーに従って配送する。
- エ送信側 MTA で,送信するメールに DKIM 署名を付与する。
正解と解説を見る
正解 ウ
この問題の基礎知識
- STARTTLS は,平文で開始した SMTP の通信を途中から TLS に切り替える拡張であり,受信側サーバは EHLO への応答で STARTTLS に対応していることを通知する。
- MTA 間の配送では相手が対応していれば暗号化する方式が一般的なので,経路上で STARTTLS の通知を削除されると平文で送信されてしまう(STARTTLS ストリッピング)。
- MTA-STS は,受信側ドメインが TLS の使用を求めるポリシーを公開し,送信側 MTA がそれに従う仕組みであり,enforce モードでは TLS を確立できない MX にはメールを配送しない。
- MX への配送には 25 番ポートが使われ,465 番ポートや 587 番ポートはメールの投稿(Submission)に用いる。DKIM は署名による改ざんの検知の仕組みであり,メールを暗号化しない。
465 番ポートの暗黙的 TLS はメール投稿(Submission)のためのものである。MX への配送ではポートを指定する仕組みがなく,常に 25 番ポートが使われるので,MTA 間の配送の対策にならない。
経路上の攻撃者は送信側 MTA と平文でやり取りできるので,MX で拒否しても,送信側から攻撃者への平文での送信は防げない。また,公開された MX が STARTTLS の使用を必須にすることは RFC 3207 で禁じられている。
ログでは EHLO の応答に 250 STARTTLS がなく,送信側はそのまま MAIL コマンドを送っており,経路上で通知が削除された可能性がある。MTA-STS の enforce モードでは,送信側 MTA は STARTTLS に対応しない MX にメールを配送してはならない。
DKIM は,署名によってメールの改ざんの検知と署名したドメインの確認を可能にする仕組みであり,暗号化は行わない。経路上での盗聴は防げない。
照合の根拠(5 件)
- ログの読解: EHLO の応答に 250 STARTTLS がなく,送信側は TLS を開始せず MAIL コマンドを送っている。経路上で通知が削除された可能性がある
A man-in-the-middle attack can be launched by deleting the "250 STARTTLS" response from the server. This would cause the client not to try to start a TLS session.
RFC 3207 · Section 6 Security Considerations(新しいタブで開きます) - ウ(正解): MTA-STS の enforce モードでは,送信側 MTA は STARTTLS に対応しない MX に配送してはならない
"enforce": In this mode, Sending MTAs MUST NOT deliver the message to hosts that fail MX matching or certificate validation or that do not support STARTTLS.
RFC 8461 · Section 5 Policy Application(新しいタブで開きます) - イ(誤り): 公開された MX が STARTTLS を必須にすることは禁じられている。ア(誤り): MX 宛ての配送は 25 番ポートで受け付けられる
A publicly-referenced SMTP server MUST NOT require use of the STARTTLS extension in order to deliver mail locally. This rule prevents the STARTTLS extension from damaging the interoperability of the Internet's SMTP infrastructure. A publicly-referenced SMTP server is an SMTP server which runs on port 25 of an Internet host listed in the MX record
RFC 3207 · Section 4 The STARTTLS Command(新しいタブで開きます) - ア(誤り): 465 番ポートの暗黙的 TLS を定める RFC 8314 はメール投稿・アクセスのためのもので,MTA 間の中継は対象外
This memo does not address the use of TLS with SMTP for message relay (where Message Submission [RFC6409] does not apply).
RFC 8314 · Section 1 Introduction(新しいタブで開きます) - エ(誤り): DKIM は暗号化を行わないので盗聴を防がない
no attempt is made to include encryption as part of the mechanism;
RFC 6376 · Section 1 Introduction(新しいタブで開きます)
ログの EHLO 応答(250-PIPELINING,250 8BITMIME)に STARTTLS がなく,送信側はそのまま MAIL FROM を送っている。通常は STARTTLS を通知する MX なので,経路上での通知の削除(STARTTLS ストリッピング)が疑われ,送信側に TLS を強制させる MTA-STS の enforce が対策になる。