TMEmS/V1ECS のメールサーバは STARTTLS を使用する Transport Layer Security (TLS) による通信の暗号化に対応しています。
TMEmS/V1ECS は一般的に次のような配送経路上に配置され、TMEmS/V1ECS の TLS 設定では、受信保護における送信者のメールサーバ、送信保護における受信者のメールサーバ、そしてユーザのメールサーバを「TLS ピア」として取り扱います。
- 受信保護 (外部から内部宛)
- 送信者のメールサーバ <<==== (A) ====>> TMEmS/V1ECS <<==== (B) ====>> ユーザのメールサーバ
- 送信保護 (内部から外部宛)
- ユーザのメールサーバ <<==== (C) ====>> TMEmS/V1ECS <<==== (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/V1ECS では TLS ピアが STARTTLS に対応していれば特に設定することなく TLS ピアと TMEmS/V1ECS 間の SMTP 通信は暗号化されます。
ここでは主に TMEmS/V1ECS における TLS 暗号化のプロトコル とセキュリティレベルについて説明しますが、例えば各 SMTP 通信において必ず暗号化する、STARTTLS のセキュリティを強化するなど、ユーザ独自の要件があれば、以下に説明される TMEmS/V1ECS の仕様とオンラインヘルプ(TMEmS / V1ECS)を参考に適切に設定してください。
・ユーザが任意に実施した TLS 設定の内容によっては特定の送信者からメッセージを受信できなかったり、特定の宛先にメッセージを送信できない場合があります。
・TLS でメール送受信が行われたかは、メール追跡ログから確認可能です。詳細はメール追跡とポリシーイベントをご参照ください。なお、TMEmS/V1ECSのメールサーバが付与するReceivedヘッダには、TLS 通信の結果の情報は含まれません。TLS でメール送受信が行われても、その情報はReceivedヘッダに記録されません。
サポートする TLS バージョン
TMEmS/V1ECS のメールサーバは次の 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 バージョンの下限
TLS 設定には 最小TLSバージョン の項目が用意され、「制限なし」「TLSv1.2」「TLSv1.3」のなかから TLS 接続に使用する TLS バージョンの下限を指定できます。
-
この機能は 2023/8/23 にTMEmSに実装されました。その後にリリースされたV1ECSではリリース当初から実装されております。
2023/8/23 より前に TMEmS を導入済みのユーザでは、2023/8/23 以降も同じ挙動となるよう既存の TLS 設定における 最小TLSバージョン の項目には「制限なし」が設定されます。
一方、2023/8/23 以降に TMEmS を導入したユーザでは、初期設定で用意されている「初期設定 (ドメインが未指定の場合)」の TLS 設定において 最小TLSバージョン の項目には「TLSv1.2」が設定されます。
-
最小TLSバージョン に「TLSv1.2」または「TLSv1.3」が選択されている場合、ユーザのメールサーバは少なくとも選択されている TLS バージョン以降に対応している必要があります。
-
最小TLSバージョン に「TLSv1.2」または「TLSv1.3」が選択されると、「過去7日間に、最小TLSバージョンに指定したものより低いバージョンで送信されたメッセージを表示する」のリンクが表示されます。そのリンクをクリックすると、過去7日間 に受信保護であれば送信元メールサーバ (アップストリーム MTA)、送信保護であれば宛先のメールサーバ (ダウンストリーム MTA) と、指定した最小バージョンより小さいバージョンで TLS 接続を確立したメッセージのメール追跡ログが表示されます。
例えば 最小TLSバージョン に「TLSv1.2」を選択した場合、受信保護のトラフィックでは送信者のメールサーバ、送信保護のトラフィックでは受信者のメールサーバが TLS 1.2 または TLS 1.3 に対応している必要があります。
また、最小TLSバージョン に「TLSv1.3」を選択した場合、同様に受信保護のトラフィックでは送信者のメールサーバ、送信保護のトラフィックでは受信者のメールサーバが TLS 1.3 に対応している必要があります。
例えば 最小TLSバージョン に「TLSv1.2」が選択されており、受信保護のトラフィックにおいて送信者のメールサーバが TLS 1.2 まで対応している場合、通信A では TLS 1.2 で TLS 接続が確立されます。送信者のメールサーバが TLS 1.3 まで対応している場合、通信A では TLS 1.3 で TLS 接続が確立されます。
しかし、送信者のメールサーバが TLS 1.0 のみに対応している場合には TMEmS/V1ECS のメールサーバは "530 5.7.1 TLS version lower than the minimum required version TLSv1.2" の応答を返し、メッセージの受信を拒否します。メール追跡の画面では種類に「ブロックされたトラフィック」を選択して検索すると、ブロック理由 に「低すぎるTLSバージョン」と表示されます。
一方、送信保護のトラフィックにおいて受信者のメールサーバが TLS 1.2 まで対応している場合、通信D では TLS 1.2 で TLS 接続が確立されます。受信者のメールサーバが TLS 1.3 まで対応している場合、通信D では TLS 1.3 で TLS 接続が確立されます。
しかし、送信者のメールサーバが TLS 1.0 のみに対応している場合には TMEmS/V1ECS のメールサーバはメッセージの配送を諦め、メッセージをバウンスして配信不能通知 (バウンスメール) を送信者に送信します。その場合、メール追跡ログの 詳細画面 では処理に「未配信」と表示され、配送できなかった理由として "Cannot start TLS: handshake failure, but TLS is required" と表示されます。
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/V1ECS は 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/V1ECS) は宛先ドメインの 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/V1ECS はユーザのメールサーバに 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 に対応していない |