Trend Micro Email Security (TMEmS) における送信元メールサーバと配送先メールサーバ間の SMTP 通信 (SMTP トラフィック) に対する Transport Layer Security (TLS) による暗号化について説明します。
Trend Micro Email Security (TMEmS) における送信元メールサーバと配送先メールサーバ間の SMTP 通信 (SMTP トラフィック) に対する Transport Layer Security (TLS) による暗号化について説明します。
Trend Micro Email Security (TMEmS) のメールサーバは STARTTLS を使用する Transport Layer Security (TLS) による通信の暗号化に対応しています。
TMEmS は一般的に次のような配送経路上に配置され、TMEmS の TLS 設定では、受信保護における送信者のメールサーバ、送信保護における受信者のメールサーバ、そしてユーザのメールサーバを「TLS ピア」として取り扱います。
- 受信保護 (外部から内部宛)
- 送信者のメールサーバ <<==== (A) ====>> TMEmS <<==== (B) ====>> ユーザのメールサーバ
- 送信保護 (内部から外部宛)
- ユーザのメールサーバ <<==== (C) ====>> TMEmS <<==== (D) ====>> 受信者のメールサーバ
受信保護のトラフィックでは 通信A と 通信B、送信保護のトラフィックでは 通信C と 通信D の各トラフィック (各 SMTP 通信) において、TLS ピアの対応状況と 受信保護設定 > 送受信フィルタ > Transport Layer Security (TLS) ピア または 送信保護設定 > Transport Layer Security (TLS) ピア の設定に応じて処理されます。
初期設定ではすべての TLS ピアに対して セキュリティレベル が「透過的TLS」に設定されているため、TLS ピアがすべて STARTTLS を使用する TLS による通信の暗号化に対応していれば、すべてのトラフィックにおいて TLS によって暗号化された通信でメッセージ (メールデータ) は配送されます。
一方、STARTTLS に対応していない TLS ピアがあれば、その TLS ピアとの通信は暗号化されず、プレーンテキスト (平文) でメッセージはやり取りされます。例えば、送信者のメールサーバは STARTTLS に対応しているもののユーザのメールサーバが対応していなければ、通信A は暗号化される一方、通信B は暗号化されません。
このように TMEmS では TLS ピアが STARTTLS に対応していれば特に設定することなく TLS ピアと TMEmS 間の SMTP 通信は暗号化されます。
ここでは主に TMEmS における TLS 暗号化のプロトコル とセキュリティレベルについて説明しますが、例えば各 SMTP 通信において必ず暗号化する、STARTTLS のセキュリティを強化するなど、ユーザ独自の要件があれば、以下に説明される TMEmS の仕様と オンラインヘルプ を参考に適切に設定してください。
ユーザが任意に実施した TLS 設定の内容によっては特定の送信者からメッセージを受信できなかったり、特定の宛先にメッセージを送信できない場合があります。
サポートする TLS バージョン
TMEmS のメールサーバは次の TLS バージョンに対応しており、TLS ピアがサポートするバージョンに応じて高い順に TLS 接続を確立し、通信を暗号化します。
- TLS 1.0
- TLS 1.1
- TLS 1.2
- TLS 1.3
例えばユーザのメールサーバが TLS 1.3 までサポートしていれば、通信B と 通信C は TLS 1.3 のバージョンで TLS 接続が確立され、ユーザのメールサーバが TLS 1.2 までサポートしていれば TLS 1.2 のバージョンで TLS 接続が確立されます。
TLS 暗号化のプロトコル (STARTTLS)
STARTTLS や DANE TLS、MTA-STS などの技術に関してここでは詳細に説明しません。詳細は任意に技術書などを参照してください。
一般的に SMTP 通信の暗号化では STARTTLS が使用され、SMTP 拡張 (ESMTP) で実現されています。
STARTTLS では SMTP クライアントと SMTP サーバが STARTTLS を使用した SMTP 通信の暗号化にいずれも対応していれば、その間の通信は TLS で暗号化されます。
一方、SMTP クライアントと SMTP サーバのいずれか、または両方が STARTTLS に対応していなければ、その間の通信は暗号化されずにプレーンテキストのまま、やり取りされます。
しかし、SMTP クライアントと SMTP サーバが STARTTLS に対応していたとしても、中間者攻撃 (Man-in-the-middle attack, MITM) を介して「暗号化された通信」から「プレーンテキストの通信」にダウングレードさせる攻撃が可能など、STARTTLS には仕様上、弱点も抱えています。
TMEmS は STARTTLS を使用した SMTP 通信の暗号化に対応していることに加え、STARTTLS の安全性を強化する以下のプロトコルに対応しています (送信保護のみ)。
DNS-Based Authentication of Named Entities TLS (DANE TLS)
DNS-Based Authentication of Named Entities TLS (DANE TLS) は RFC 7672 などでインターネット標準として規格化されています。
DANE TLS では、DNS の応答を偽造するキャッシュポイズニングなどの攻撃に対し、公開鍵暗号と電子署名により DNS の応答が正規のサーバからのものであり改ざんされていないことを検証する DNSSEC の技術と STARTTLS を組み合わせることで STARTTLS のセキュリティを強化しています。
DANE TLS に対応しているドメインでは、DNS に TLSA レコード (リソースレコード) が用意されており、TLSA レコードには STARTTLS (TLS による暗号化) に対応しているメールサーバのホストと証明書のハッシュ値が指定されています。
したがって DANE TLS では DANE の認証 (DNSSEC の検証) に成功すれば、SMTP クライアント (TMEmS) は宛先ドメインの MX レコードに指定されている正規の SMTP サーバに接続し、その間の SMTP 通信が常に TLS で暗号化されます。
SMTP MTA Strict Transport Security (MTA-STS)
SMTP MTA Strict Transport Security (MTA-STS) は RFC 8461 でインターネット標準として規格化されています。
MTA-STS では STARTTLS (TLS による暗号化) に対応している MX レコードのホストが記述されたポリシーファイルを HTTPS で取得して検証することで STARTTLS のセキュリティを強化しています。
また、MTA-STS のポリシーファイルには "enforce", "testing", "none" のいずれかのモードが指定されており、例えば "enforce" モードであれば MTA-STS の検証に成功した場合のみ TLS で暗号化し、失敗した場合には配送しない、などの挙動を受信するドメイン側で指定できます。
MTA-STS は実装が複雑な DNSSEC を使用しないため比較的導入が容易ですが、その安全性は一般的に DNSSEC を使用する DANE TLS より低いと考えられます。
STARTTLS と DANE TLS、MTA-STS の違いを簡単に説明すると、以下となります。
安全性 | 実装の容易さ | 普及状況 | |
---|---|---|---|
STARTTLS | 比較的安全 | 容易 | 多くのメールサーバが対応している |
DANE TLS | 安全性は最も高い | 難しい | 対応しているドメインは非常に少ない |
MTA-STS | 安全性は高いが、DANE TLS より低い | 比較的容易 | 対応するドメインは Gmail といった一部のサービスプロバイダなどに限られる |
送信保護設定 > Transport Layer Security (TLS) ピア の TLS ピアの設定画面でセキュリティレベルに「透過的DANE TLS」または「必須DANE TLS」を選択した場合、テスト領域が表示されて宛先ドメインが DANE TLS に対応しているか、確認できます。
また、セキュリティレベルに「MTA-STS」を選択した場合、同様にテスト領域が表示されて宛先ドメインが MTA-STS に対応しているか、確認できます。
セキュリティレベル
管理コンソールの 受信保護設定 > 送受信フィルタ > Transport Layer Security (TLS) ピア と 送信保護設定 > Transport Layer Security (TLS) ピア の TLS 設定において用意されているセキュリティレベルは以下のとおりです。
適用されるトラフィック | 説明 | |
---|---|---|
透過的TLS | 受信保護および送信保護 | 初期設定です。TLS ピアが STARTTLS に対応している場合には暗号化され、対応していない場合には暗号化されずにメッセージはやり取りされます。そのため、メッセージの配送に影響することはありません。 |
必須TLS | 暗号化を強制します。そのため、すべての通信において TLS ピアが STARTTLS に対応している必要があり、対応していない TLS ピアがあればメッセージは配送されません。 | |
透過的DANE TLS | 送信保護のみ | DANE TLS に対応している宛先ドメインに対し、メッセージを配送する際に暗号化を強制します。 |
必須DANE TLS | すべての宛先ドメインに対し、メッセージを配送する際に暗号化を強制します。宛先ドメインが DANE TLS に対応しており、かつ DANE 認証に成功しない限り、メッセージは配送されません。 | |
MTA-STS | MTA-STS に対応しており、かつポリシーに "enforce" モードが指定されている宛先ドメインに対し、メッセージを配送する際に暗号化を強制します。 |
セキュリティレベルに「透過的DANE TLS」「必須DANE TLS」「MTA-STS」が設定されている場合、通信C では「必須TLS」として判定されます。もしユーザのメールサーバが STARTTLS に対応していなければ TMEmS はユーザのメールサーバに 530 の応答を返し、メッセージの受信を拒否するため、ユーザのメールサーバが STARTTLS に対応していることは必須です。
以下では各セキュリティレベルにおける挙動を例示します。
透過的TLS
セキュリティレベルに「透過的TLS」が設定されている場合、TLS ピア の STARTTLS の対応状況によって挙動が異なります。
受信保護
受信保護では TLS ピアは送信者のメールサーバとユーザのメールサーバとなります。
送信者のメールサーバ | ユーザのメールサーバ | 通信A | 通信B | メール追跡ログ |
---|---|---|---|---|
STARTTLS に対応 | STARTTLS に対応 | 暗号化されてメッセージは受信されます。 | 暗号化されてメッセージは配送されます。 |
|
STARTTLS に対応 | STARTTLS に対応していない | 暗号化されてメッセージは受信されます。 | プレーンテキストでメッセージは配送されます。 | |
STARTTLS に対応していない | STARTTLS に対応 | プレーンテキストでメッセージは受信されます | 暗号化されてメッセージは配送されます。 | |
STARTTLS に対応していない | STARTTLS に対応していない | プレーンテキストでメッセージは受信されます。 | プレーンテキストでメッセージは配送されます。 |
送信保護
送信保護では TLS ピアはユーザのメールサーバと受信者のメールサーバとなります。
ユーザのメールサーバ | 受信者のメールサーバ | 通信C | 通信D | メール追跡ログ |
---|---|---|---|---|
STARTTLS に対応 | STARTTLS に対応 | 暗号化されてメッセージは受信されます。 | 暗号化されてメッセージは配送されます。 |
|
STARTTLS に対応 | STARTTLS に対応していない | 暗号化されてメッセージは受信されます。 | プレーンテキストでメッセージは配送されます。 | |
STARTTLS に対応していない | STARTTLS に対応 | プレーンテキストでメッセージは受信されます | 暗号化されてメッセージは配送されます。 | |
STARTTLS に対応していない | STARTTLS に対応していない | プレーンテキストでメッセージは受信されます。 | プレーンテキストでメッセージは配送されます。 |
必須TLS
セキュリティレベルに「必須TLS」が設定されている場合、TLS ピア の STARTTLS の対応状況によって挙動が異なります。
受信保護
受信保護では TLS ピアは送信者のメールサーバとユーザのメールサーバとなります。
送信者のメールサーバ | ユーザのメールサーバ | 通信A | 通信B | メール追跡ログ |
---|---|---|---|---|
STARTTLS に対応 | STARTTLS に対応 | 暗号化されてメッセージは受信されます。 | 暗号化されてメッセージは配送されます。 | |
STARTTLS に対応 | STARTTLS に対応していない | 暗号化されてメッセージは受信されます。 | メッセージの配送を拒否し、バウンスします。送信者にバウンスメールが送信されます。 | |
STARTTLS に対応していない | STARTTLS に対応 | 送信者のメールサーバに 530 の応答を返し、メッセージの受信を拒否します。送信者のメールサーバは送信者にバウンスメールを送信します。 | n/a | |
STARTTLS に対応していない | STARTTLS に対応していない |
送信保護
送信保護では TLS ピアはユーザのメールサーバと受信者のメールサーバとなります。
ユーザのメールサーバ | 受信者のメールサーバ | 通信C | 通信D | メール追跡ログ |
---|---|---|---|---|
STARTTLS に対応 | STARTTLS に対応 | 暗号化されてメッセージは受信されます。 | 暗号化されてメッセージは配送されます。 | |
STARTTLS に対応 | STARTTLS に対応していない | 暗号化されてメッセージは受信されます。 | メッセージの配送を拒否し、バウンスします。送信者にバウンスメールが送信されます。 | |
STARTTLS に対応していない | STARTTLS に対応 | ユーザのメールサーバに 530 の応答を返し、メッセージの受信を拒否します。ユーザのメールサーバは送信者にバウンスメールを送信します。 | n/a | |
STARTTLS に対応していない | STARTTLS に対応していない |
透過的DANE TLS
セキュリティレベルに「透過的DANE TLS」が設定されている場合、宛先ドメインの DANE TLS の対応状況 (TLSA レコードの有無) と DANE 認証 (DNSSEC 検証) の結果によって挙動が異なります。
宛先ドメイン | DANE 認証 | 通信D | メール追跡ログ |
---|---|---|---|
DANE TLS に対応 | 成功 | 暗号化されてメッセージは配送されます。 | |
失敗 | メッセージの配送を一時的に拒否します。メッセージは キュー に入ります。 | ||
DNS 設定の不備により検証できない | セキュリティレベルが「必須TLS」にダウングレードされます。配送先メールサーバが STARTTLS に対応していれば暗号化されてメッセージは配送されますが、対応していなければメッセージの配送を拒否してバウンスし、送信者にバウンスメールを送信します。 | ||
DANE TLS に対応していない | n/a | セキュリティレベルが「透過的TLS」にダウングレードされます。配送先メールサーバが STARTTLS に対応していれば暗号化されてメッセージは配送されますが、対応していなければプレーンテキストで配送されます。 |
必須DANE TLS
セキュリティレベルに「必須DANE TLS」が設定されている場合、宛先ドメインの DANE TLS の対応状況 (TLSA レコードの有無) と DANE 認証 (DNSSEC 検証) の結果によって挙動が異なります。
MTA-STS
セキュリティレベルに「MTA-STS」が設定されている場合、宛先ドメインの MTA-STS の対応状況 (MTA-STS レコードの有無)、対応している場合にはポリシーの設定、および MTA-STS 認証の結果によって挙動が異なります。
宛先ドメイン | MTA-STS ポリシー | MTA-STS 認証 | 通信D | メール追跡ログ |
---|---|---|---|---|
MTA-STS に対応 | "enforce" モード | 成功 | 暗号化されてメッセージは配送されます。 | |
失敗 | メッセージの配送を一時的に拒否し、メッセージはキューに保存されます。 | |||
"testing" モード | 成功 | 暗号化されてメッセージは配送されます。 | ||
失敗 | セキュリティレベルが「透過的TLS」にダウングレードされます。配送先メールサーバが STARTTLS に対応していれば暗号化されてメッセージは配送されますが、対応していなければプレーンテキストで配送されます。 | |||
"none" モード | n/a | |||
MTA-STS に対応していない |
MTA-STS のセキュリティレベルが適用されるのは送信保護のみです。受信保護には適用されません。
この オンラインヘルプ で説明されていることは、ユーザのドメイン (管理ドメイン) が MTA-STS に対応していることを送信元に明示するための設定例です。TMEmS の TLS 設定とは関係ありません。