SSLまたはTLSトラフィックの検査

侵入防御モジュールでは、保護されているコンピュータの1つ以上のインタフェース上の指定した資格情報とポートの組み合わせに対して、SSLインスペクションを設定できます。

圧縮されたトラフィックでは、SSLインスペクションがサポートされません。

資格情報は、PKCS#12またはPEM形式でインポートできます。資格情報ファイルには、秘密鍵が含まれている必要があります。Windowsコンピュータでは、CryptoAPIを直接使用できます。

侵入防御モジュールの概要については、侵入防御を参照してください。

このトピックの内容:

SSLインスペクションを設定する

  1. Deep Security Managerで、設定するコンピュータを選択し、[詳細] をクリックしてコンピュータエディタを開きます。
  2. コンピュータエディタの左側の画面で、[侵入防御]→[詳細]→[SSL設定の表示] の順にクリックし、[SSL設定の表示] をクリックして [SSL設定] 画面を開きます。
  3. [新規] をクリックして、SSL設定ウィザードを開きます。
  4. このコンピュータで設定を適用するインタフェースを指定します。
    • このコンピュータのすべてのインタフェースに適用するには、[すべてのインタフェース] を選択します。
    • 特定のインタフェースに適用するには、[特定のインタフェース] を選択します。
  5. [ポート] または [ポートリスト] を選択してリストを選択し、[次へ] をクリックします。
  6. [IP選択] 画面で、[すべてのIP] を選択するか、SSLインスペクションを実行する [特定のIP] を指定し、[次へ] をクリックします。
  7. [資格情報] 画面で、資格情報を指定する方法を選択します。
    • 今すぐ資格情報をアップロードします
    • 資格情報はコンピュータにあります
    • 資格情報ファイルには、秘密鍵が含まれている必要があります。
  8. 今すぐ資格情報をアップロードするオプションを選択する場合、資格情報の種類、格納場所、および必要に応じてパスフレーズを入力します。

    資格情報がコンピュータにある場合、資格情報の詳細を指定します。

    • コンピュータに格納されているPEMまたはPKCS#12資格情報形式を使用する場合は、その資格情報ファイルの格納場所と必要に応じてファイルのパスフレーズを入力します。
    • Windows CryptoAPI資格情報を使用する場合は、コンピュータで見つかった資格情報のリストから対象の資格情報を選択します。
  9. この設定の名前と説明を入力します。
  10. 概要を確認して、SSL設定ウィザードを閉じます。設定操作の概要を読んで、[完了] をクリックしてウィザードを閉じます。

ポート設定を変更する

コンピュータのポート設定を変更して、クライアントがSSL対応ポートで適切な 侵入防御 フィルタを実行していることを確認します。加えた変更は、Agentコンピュータ上の特定のアプリケーションの種類 (Webサーバ共通など) に適用されます。この変更は、他のコンピュータ上のアプリケーションの種類には影響しません。

  1. このコンピュータに適用されている 侵入防御 ルールのリストを表示するには、コンピュータの[詳細]画面の[ 侵入防御ルール ]の順に選択します。
  2. ルールを [アプリケーションの種類] 別にソートし、「Webサーバ共通」のアプリケーションの種類を探します(同様のアプリケーションの種類に対しても、これらの変更を加えることができます)。
  3. アプリケーションの種類のルールを右クリックし、[アプリケーションの種類プロパティ] をクリックします。
  4. 継承された「HTTP」ポートリストをオーバーライドして、SSLの設定時に定義したポートとポート80をこのポートリストに追加します。ポートはカンマ区切りの値として入力します。たとえば、SSLの設定でポート9090を使用する場合は、「9090, 80」と入力します。
  5. パフォーマンスを向上させるために、[設定] タブで、[継承] と [Webサーバからの応答を監視] の選択を解除します。
  6. [OK] をクリックして画面を閉じます。

トラフィックがPerfect Forward Secrecy (PFS)で暗号化されている場合に侵入防御を使用する

Perfect Forward Secrecy (PFS) を使用することで、仮に後でサーバの秘密鍵が侵害された場合に復号できない通信チャネルを作成できます。Perfect Forward Secrecyの目的は、セッションの終了後に復号化を防止することにあるため、 侵入防御 モジュールによるSSL検査も防止します。

この問題を回避するには、次の手順を実行することをお勧めします。

  1. インターネットとロードバランサ (またはリバースプロキシ) の間のTLSトラフィックにPerfect Forward Secrecyを使用します。
  2. ロードバランサ (またはリバースプロキシ) でPerfect Forward Secrecyセッションを終了します。
  3. ロードバランサ(またはリバースプロキシ)とWebサーバまたはアプリケーションサーバ間のトラフィックに非PFS暗号スイート( サポートされている暗号化スイート を参照)を使用して、サーバ上の 侵入防御 モジュールがTLSを復号化できるようにします。セッションを検査し、それらを検査します。
  4. Perfect Forward Secrecyを使用しないアプリケーションサーバポートのトラフィックをWebサーバに制限します。

Diffie-Hellman暗号化の特別な注意事項

Perfect Forward Secrecyは、Diffie-Hellman鍵交換アルゴリズムに依存しています。初期設定でDiffie-Hellmanが使用されるWebサーバでは、SSLインスペクションが正常に動作しない場足があります。そのため、サーバの設定ファイルを確認して、Webサーバとロードバランサ (またはリバースプロキシ) の間のTLSトラフィックに対してDiffie-Hellman暗号化を無効にすることが重要です。ApacheサーバでDiffie-Hellmanを無効にするには、次の手順を実行します。

  1. サーバの設定ファイルを開きます。Webサーバ設定ファイルのファイル名と場所は、OSおよびディストリビューションによって異なります。たとえば、次のようなパスになります。
    • RHELの初期インストールの場合: /etc/httpd/conf.d/ssl.conf
    • Red Hat Linux上のApache 2.2.2の場合: /apache2/conf/extra/httpd-ssl.conf
  1. 設定ファイル内で、「SSLCipherSuite」変数を探します。
  2. !DH:!EDH:!ADH:」をこれらのフィールドに追加します (この文字列がまだ表示されていない場合)。(「!」: この暗号化をApacheで「使用しない」ように指定するものです)。
  3. たとえば、Apache設定ファイルの暗号化スイートを次のように編集します。

SSLCipherSuite !DH:!EDH:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL

詳細については、ApacheドキュメントのSSLCipherSuiteに関する箇所を参照してください。http://httpd.apache.org/docs/2.0/mod/mod_ssl.html#sslciphersuite.

サポートされている暗号化スイート

16進値

OpenSSL名

IANA名

NSS名

0x00,0x04

RC4-MD5

TLS_RSA_WITH_RC4_128_MD5

SSL_RSA_WITH_RC4_128_MD5

0x00,0x05

RC4-SHA

TLS_RSA_WITH_RC4_128_SHA

SSL_RSA_WITH_RC4_128_SHA

0x00,0x09

DES-CBC-SHA

TLS_RSA_WITH_DES_CBC_SHA

SSL_RSA_WITH_DES_CBC_SHA

0x00,0x0A

DES-CBC3-SHA

TLS_RSA_WITH_3DES_EDE_CBC_SHA

SSL_RSA_WITH_3DES_EDE_CBC_SHA

0x00,0x2F

AES128-SHA

TLS_RSA_WITH_AES_128_CBC_SHA

TLS_RSA_WITH_AES_128_CBC_SHA

0x00,0x35

AES256-SHA

TLS_RSA_WITH_AES_256_CBC_SHA

TLS_RSA_WITH_AES_256_CBC_SHA

0x00,0x3C

AES128-SHA256

TLS_RSA_WITH_AES_128_CBC_SHA256

TLS_RSA_WITH_AES_128_CBC_SHA256

0x00,0x3D

AES256-SHA256

TLS_RSA_WITH_AES_256_CBC_SHA256

TLS_RSA_WITH_AES_256_CBC_SHA256

0x00,0x41

CAMELLIA128-SHA

TLS_RSA_WITH_CAMELLIA_128_CBC_SHA

TLS_RSA_WITH_CAMELLIA_128_CBC_SHA

0x00,0x84

CAMELLIA256-SHA

TLS_RSA_WITH_CAMELLIA_256_CBC_SHA

TLS_RSA_WITH_CAMELLIA_256_CBC_SHA

0x00,0xBA

CAMELLIA128-SHA256

TLS_RSA_WITH_CAMELLIA_128_CBC_SHA256

TLS_RSA_WITH_CAMELLIA_128_CBC_SHA256

0x00,0xC0

非実装

TLS_RSA_WITH_CAMELLIA_256_CBC_SHA256

TLS_RSA_WITH_CAMELLIA_256_CBC_SHA256

サポートされているプロトコル

次のプロトコルがサポートされます。

  • SSL 3.0
  • TLS 1.0
  • TLS 1.1
  • TLS 1.2