TLS暗号化の仕組みとは?
自分のドメインからメールを送信する際、メール転送エージェント(MTA)は受信サーバーに問い合わせを行い、STARTTLSコマンドをサポートしているかどうかを確認します。MTAは、受信側がSTARTTLSをサポートしていることを確認すると、暗号化された接続に切り替え、安全にメールを送信します。
しかし、攻撃者はこのプロセスを妨害して、電子メールを攻撃者が管理するサーバにリルートしたり、STARTTLSクエリを失敗させて、MTAに暗号化されていない接続で電子メールを送信させたりすることができます。いずれの場合も、攻撃者はあなたの電子メールに完全にアクセスすることができます。
なぜMTA-STSなのか?
MTA-STS(MTA-Strict Transport Security)は、MITM攻撃を軽減するために設計されたセキュリティプロトコルです。その方法は以下の通りです。
- HTTPS対応サーバーの使用について
MX レコードは、MTA が DNS 経由でクエリするもので、MTA-STS ポリシーファイルに保存されているレコードと比較され、HTTPS 経由でフェッチされます。MTA は MTA-STS ポリシーファイルもキャッシュするため、DNS スプーフィング攻撃は非常に困難になります。
- 必須のTLS
MTA-STSでは、暗号化されたTLSでのメール送信を義務化するポリシーをドメインで公開することができます。何らかの理由で受信サーバーがSTARTTLSをサポートしていないことが判明した場合、メールは一切送信されません。これにより、SMTPのダウングレードを行うことができなくなります。