IMSVA 9.1 は初期設定で受信トラフィック、送信トラフィックともに STARTTLS を用いた SMTP 接続の暗号化 (SMTP over TLS) に対応しています。
-
ここでは SMTP クライアント (送信元メールサーバなど) と InterScan MSS が連携するローカルの Postfix 間のトラフィックを「受信トラフィック」、InterScan MSS が連携するローカルの Postfix と配送先メールサーバ間のトラフィックを「送信トラフィック」として取り扱います。
-
STARTTLS による SMTP 接続の暗号化が有効であれ無効であれ、受信トラフィックにおいて SMTP クライアントから接続を受け付けるポート (SMTP ポート、25/tcp) や、送信トラフィックにおいて配送先のメールサーバに接続するポート (通常 25/tcp) に変更はありません。
受信トラフィックでは IMSVA は SMTP サーバとして動作します。送信元メールサーバやメールクライアント (SMTP クライアント) が STARTTLS を用いた SMTP over TLS に対応していれば、SMTP クライアントと IMSVA 間の通信は暗号化されます。
一方、送信トラフィックでは IMSVA は SMTP クライアントとして動作します。配送先のメールサーバ (SMTP サーバ) が STARTTLS を用いた SMTP over TLS に対応していれば、IMSVA と SMTP サーバ間の通信は暗号化されます。
受信トラフィックにおける SMTP クライアント、送信トラフィックにおける SMTP サーバが STARTTLS を用いた SMTP over TLS に対応していなければ、SMTP クライアントと IMSVA 間、IMSVA と SMTP サーバ間のトラフィックは暗号化されず、プレーンテキストでやり取りされます。
SMTP 接続暗号化の無効化
SMTP 接続を暗号化せずに常にプレーンテキストでやり取りすよう設定するのであれば、以下を実施してください。
受信トラフィック
IMSVA サーバに root でログインして Postfix の設定ファイル main.cf を vi で開き、次のようにパラメータ smtpd_tls_security_level の値を "may" から "none" に変更します。設定ファイル編集後、postfix reload を実行して設定を反映してください。
#smtpd_tls_security_level=may smtpd_tls_security_level=none
送信トラフィック
管理コンソールにログインして 管理 > IMSVA設定 > Transport Layer Security > IMSVAから送信されるメッセージ の画面を開き、「初期設定」のセキュリティレベルを「透過的」から「使用しない」に変更して [OK] ボタンで設定を保存します。もし他のエントリが登録されていれば、すべてステータスを無効化するか、セキュリティレベルを「使用しない」に変更してください。
設定を初期設定の有効化の状態に戻すには、受信トラフィックでは smtpd_tls_security_level のパラメータ値を "may" に戻した上で postfix reload を実行してください。
送信トラフィックでは「初期設定」のセキュリティレベルを「透過的」に変更して設定を保存します。
確認方法
SMTP 接続が暗号化されているかを確認するには、管理コンソールの ログ > ログクエリ 画面を開き、種類に「メッセージ追跡」を選択してメッセージを検索します。
受信トラフィックまたは送信トラフィックにおいて TLS 接続が確立され、暗号化されていれば、以下のように件名のところに "TLS" のマークが表示されます。受信トラフィックおよび送信トラフィックにおいて SMTP 接続がいずれも暗号化されていなければ "TLS" マークは表示されません。
また、検索されたメッセージの日時をクリックすると詳細画面が表示されます。受信トラフィックにおいて SMTP 接続が暗号化されていれば、接続元に「(TLS経由)」と表示されます。送信トラフィックにおいて SMTP 接続が暗号化されていれば、配信IPに「(TLS経由)」と表示されます。SMTP 接続が暗号化されていなければ「(TLS経由)」が表示されません。
送信元に応じた設定
受信トラフィック
管理 > IMSVA設定 > Transport Layer Security > IMSVAに着信するメッセージ では SMTP クライアントから IMSVA 間の SMTP 接続 (受信トラフィック) に対して送信元IPアドレスまたは送信者のドメインに応じてセキュリティレベルや暗号強度を設定することができます。
追加方法
-
[追加] ボタンをクリックします。「TLS IPアドレスまたはドメインの追加」の画面がポップアップします。
-
「有効」にチェックを入れた上で各項目を設定し、[OK] ボタンをクリックします。
IPアドレスまたはドメイン: 送信元のIPアドレスまたは送信者のドメイン
セキュリティレベル: 「透過的」「必須」「確認」のいずれかを選択
暗号強度: 「中」または「強」を選択
セキュリティレベル
セキュリティレベル | プレーンテキストの通信 | 暗号化された通信 | 説明 |
---|---|---|---|
使用しない | 可 | 不可 | SMTP クライアントからの暗号化の要求を受け付けません |
透過的 | 可 | 可 | SMTP クライアントに応じて SMTP 接続はプレーンテキストでやり取りされるか、暗号化されます |
必須 | 不可 | 可 | SMTP クライアントに TLS による暗号化を強制します |
確認 | 不可 | 可 | SMTP クライアントに TLS による暗号化を強制し、クライアント証明書を要求します |
暗号強度
暗号強度 | 説明 |
---|---|
中 | 128-bit 以上の暗号スイート (MEDIUM と HIGH) に対応 |
強 | 128-bit 以上の暗号スイート (HIGH) に対応 |
例えばセキュリティレベルが「必須」に設定された場合に SMTP クライアントがプレーテキストでやり取りしようとすると、IMSVA は SMTP クライアントに "530 5.7.0 <送信者のメールアドレス>: Sender address rejected: Must use TLS (in reply to MAIL FROM command))" の応答を返し、メッセージの受信を拒否します。IMSVA のメールログには次のようなログが出力されます。
Apr 1 10:40:24 imsva91 postfix/smtpd[769]: NOQUEUE: reject: MAIL from unknown[送信元IPアドレス]: 530 5.7.0 : Sender address rejected: Must use TLS; from= proto=ESMTP helo=
また、セキュリティレベルが「確認」に設定された場合に SMTP クライアントの SSL 証明書の検証に失敗すると、IMSVA は SMTP クライアントに "421 4.7.1 <送信者のメールアドレス>: Sender address rejected: Unverified client certificate" の応答を返し、メッセージの受信を一時的に拒否します。IMSVA のメールログには次のようなログが出力されます。
Apr 1 10:49:43 imsva91 postfix/smtpd[3651]: NOQUEUE: reject: MAIL from unknown[送信元IPアドレス]: 421 4.7.1 : Sender address rejected: Unverified client certificate; from= proto=ESMTP helo=
「初期設定」や任意に作成したエントリに対してセキュリティレベルを「使用しない」に設定しないでください。
「使用しない」に設定したとしても、IMSVA は SMTP クライアントに STARTTLS のコマンドを返すため、SMTP クライアントは SMTP 接続の暗号化に対応しているとみなし、TLS で接続を確立しようとします。しかし、IMSVA は SMTP クライアントに "421 4.7.0 <送信者のメールアドレス>: Sender address rejected: Must not use TLS" の応答を返し、メッセージの受信を一時的に拒否するため、IMSVA がメッセージを受信することはありません。
送信トラフィック
管理 > IMSVA設定 > Transport Layer Security > IMSVAから送信されるメッセージ では IMSVA と配送先のメールサーバ (SMTP サーバ) 間の SMTP 接続 (送信トラフィック) に対して宛先のドメインに応じてセキュリティレベルや暗号強度を設定することができます。
追加方法
-
[追加] ボタンをクリックします。「TLSドメインの追加」の画面がポップアップします。
-
「有効」にチェックを入れた上で各項目を設定し、[OK] ボタンをクリックします。
ドメイン: 宛先のドメイン
セキュリティレベル: 「使用しない」「透過的」「必須」「確認」のいずれかを選択
暗号強度: 「中」または「強」を選択
セキュリティレベル
セキュリティレベル | プレーンテキストの通信 | 暗号化された通信 | 説明 |
---|---|---|---|
使用しない | 可 | 不可 | 常にプレーンテキストでやり取りされます |
透過的 | 可 | 可 | SMTP サーバに応じて SMTP 接続はプレーンテキストでやり取りされるか、暗号化されます |
必須 | 不可 | 可 | SMTP サーバに TLS による暗号化を強制します |
確認 | 不可 | 可 | SMTP サーバに TLS による暗号化を強制し、サーバ証明書の正当性をチェックします |
暗号強度
暗号強度 | 説明 |
---|---|
中 | 128-bit 以上の暗号スイート (MEDIUM と HIGH) に対応 |
強 | 128-bit 以上の暗号スイート (HIGH) に対応 |
例えばセキュリティレベルが「必須」に設定された場合に SMTP サーバが STARTTLS による SMTP 接続の暗号化に対応していなければ、IMSVA は "TLS is required, but was not offered by host" の理由で遅延キューにメッセージを保存し、再送設定にしたがって再送を試みます。最終的にメッセージの配送に失敗すればメッセージはバウンスします。
また、セキュリティレベルが「確認」に設定された場合に SMTP サーバの SSL 証明書の検証に失敗すると、IMSVA は "Server certificate not trusted" の理由で遅延キューにメッセージを保存し、再送設定にしたがって再送を試みます。最終的にメッセージの配送に失敗すればメッセージはバウンスします。
ログ > ログクエリ の画面で「メッセージ追跡」で検索し、その詳細画面を表示すると失敗した理由を確認できます。
対応する SSL/TLS プロトコルと暗号スイート
IMSVA 9.1 では初期設定で TLS 1.0, TLS 1.1, TLS 1.2 の各プロトコルバージョンに対応しています。SSL 3.0 には対応していません。
受信トラフィック (SMTP クライアントと IMSVA 間) では TLS 接続時に SMTP クライアントが TLS 1.2 を選択すれば TLS 1.2 で、TLS 1.0 を選択すれば TLS 1.0 で接続します。送信トラフィック (IMSVA と SMTP サーバ間) では SMTP クライアントである IMSVA は TLS 1.2 で接続を試みます。SMTP サーバが TLS 1.2 に対応していなければ TLS 1.1 で、SMTP サーバが TLS 1.1 に対応していなければ TLS 1.0 のプロトコルで TLS 接続を確立します。
また、RC4 や EXPORT などの安全性の低い暗号スイートは初期設定で無効化されています。
SSL/TLS 接続の安全性の強化
SSL/TLS 接続の安全性をより高めるには以下の方法があります。
手順を実施することで安全性は強化されますが、その一方、一部の SMTP クライアントと IMSVA、あるいは IMSVA と一部の SMTP サーバ間で TLS 接続が確立できず、メッセージの受信や配送ができない可能性があります。
(a) TLS のプロトコルバージョンを TLS 1.2 に制限する
TLS 接続を TLS 1.2 のプロトコルバージョンに制限するのであれば、以下の手順を実施します。
IMSVA のビルドが Patch 3 (b1962) 以降である必要があります。Patch 3 未適用の環境の場合、事前に最新の Patch を適用してください。
-
IMSVA サーバに root でログインして、Postfix の設定ファイル main.cf を vi で開き、以下のように各パラメータの値を変更します。
/opt/trend/imss/postfix/etc/postfix/main.cf:... #smtpd_tls_protocols = !SSLv2, !SSLv3 smtpd_tls_protocols = !SSLv2, !SSLv3, !TLSv1, !TLSv1.1 #smtp_tls_protocols = !SSLv2, !SSLv3 smtp_tls_protocols = !SSLv2, !SSLv3, !TLSv1, !TLSv1.1 ... #smtpd_tls_mandatory_protocols = !SSLv2, !SSLv3 smtpd_tls_mandatory_protocols = !SSLv2, !SSLv3, !TLSv1, !TLSv1.1 #smtp_tls_mandatory_protocols = !SSLv2, !SSLv3 smtp_tls_mandatory_protocols = !SSLv2, !SSLv3, !TLSv1, !TLSv1.1 ...
-
設定ファイル変更後、下記コマンドを実行して、設定を反映します。
# postfix reload
(b) Triple DES (3DES) の暗号スイートを無効化する
3DES の暗号スイートを使用しないようにするのであれば、以下の手順にしたがって受信トラフィックであれば smtpd_tls_ciphers、送信トラフィックであれば smtp_tls_ciphers のパラメータを HIGH に変更します。
-
IMSVA サーバに root でログインして、Postfix の設定ファイル main.cf を vi で開き、以下のように各パラメータの値を変更します。
/opt/trend/imss/postfix/etc/postfix/main.cf:... #smtpd_tls_ciphers=medium smtpd_tls_ciphers=HIGH ... #smtp_tls_ciphers = medium smtp_tls_ciphers = HIGH ...
-
設定ファイル変更後、下記コマンドを実行して設定を反映します。
# postfix reload
(c) DH (Diffie-Hellman) 鍵の鍵長を 2048-bit に引き上げる
DH (Diffie-Hellman) 鍵交換の暗号スイートで TLS 接続を確立する場合、IMSVA の初期設定ではその鍵長が 1024-bit です。 鍵長を 2048-bit に引き上げるには以下の手順を実施してください。
-
IMSVA サーバに root でログインして、OpenSSL の dhparam コマンドを以下のように実行し、DH 鍵のパラメータファイルを生成します。生成には数分かかります。
# openssl dhparam -out /opt/trend/imss/postfix/etc/postfix/dh2048.pem 2048 Generating DH parameters, 2048 bit long safe prime, generator 2 This is going to take a long time .............+..................+...........+...............+..................... ... ...............................++*++*++*++*
-
次に、Postfix の設定ファイル main.cf を vi で開き、以下のように smtpd_tls_dh1024_param_file のパラメータを追加します。
/opt/trend/imss/postfix/etc/postfix/main.cf:smtpd_tls_dh1024_param_file = /opt/trend/imss/postfix/etc/postfix/dh2048.pem
-
設定ファイル変更後、下記コマンドを実行して設定を反映します。
# postfix reload