TLSトラフィックの検査

侵入防御モジュールに対して、高度なTLSトラフィック検査を有効にすることができます。

高度なTLSトラフィック検査とSSL検査は、圧縮されたトラフィックに対応していません。

このページの内容:

高度なTLSトラフィック検査の有効化

高度なTLSトラフィック検査には、従来のSSL検査の実装に比べて次のような利点があります。

  • これにより、TLS資格情報を手動で設定する必要がなくなります。
  • PFS (Perfect Forward Secrecy) 暗号など、SSL検査よりも多くの暗号がサポートされています。詳細については、「サポートされている暗号化スイート」を参照してください。

侵入防御モジュールが有効になっている場合、インバウンドおよびアウトバウンドトラフィックに対してデフォルトで高度なTLSトラフィック検査が適用されます

  • インバウンドTLS/SSLトラフィックの検査は、インバウンドトラフィックに対してデフォルトで有効になっています。
  • 送信TLS/SSLトラフィックの検査はデフォルトで送信トラフィックに対して有効になっており、Deep Security Agentリリース20.0.1-12510(20 LTSアップデート2024-06-19)以降でサポートされています。

これらの設定を確認または調整し、アウトバウンドトラフィックの構成手順に関するガイダンスを取得するには、ポリシー>侵入防御>一般>高度なTLSトラフィック検査に移動してください。

受信トラフィックと送信トラフィックに高度なTLSトラフィック検査を使用する

高度なTLSトラフィック検査を有効にして、WindowsおよびLinuxプラットフォームの受信トラフィックと送信トラフィックに使用できます (「プラットフォームごとにサポートされる機能」を参照)。

Windowsでは、Advanced TLS Traffic InspectionはWindowsネイティブのTLS通信チャネル (Secure Channelを参照) を使用するトラフィックのみをサポートします。例えば、IIS、Microsoft Exchange、およびRemote Desktop Protocol (RDP) によって生成されるトラフィックが検査されます。Advanced TLS Traffic Inspectionが有効になると、TMExtractorというコンポーネントがアクティブになり、必要な検査を実行します。DSAをアンインストールした後もTMExtractorファイルは残りますが、再起動後に自動的に削除されます。

Linuxでは、Advanced TLS Traffic InspectionはNGINX、Apache HTTP Server、HAProxy、およびTomcatサーバなどの一般的なWebアプリケーションによるトラフィックのみをサポートします。なお、TomcatサーバはLinux (64ビット) 上のOpenJDK 8のみをサポートし、コンテナなしで実行されます。

高度なTLSトラフィック検査でサポートされていないTLSトラフィック、または他のオペレーティングシステムのTLSトラフィックを検査する必要がある場合は、代わりに従来のSSL検査を設定できます。

SSLインスペクションを設定する(レガシー)

保護対象のコンピュータの1つ以上のインタフェースで、特定の資格情報とポートのペアに対してSSLインスペクションを設定できます。

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

  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)で暗号化されている場合に侵入防御を使用する

完全前方秘匿性 (PFS)は、後にサーバの秘密鍵が漏洩した場合でも復号されない通信チャネルを作成するために使用できます。完全前方秘匿性の目的はセッション終了後の復号を防ぐことであるため、SSLインスペクションを通じて侵入防御モジュールがトラフィックを確認することも防ぎます。これは、すべてのTLS 1.3暗号スイートが完全前方秘匿性を使用しているため、すべてのTLS 1.3トラフィックを含みます。

高度なTLSトラフィック検査を使用すると、侵入防御モジュールは、追加の設定を行わなくても、PFS暗号で暗号化されたトラフィックを分析できます。

代わりにSSLインスペクションでPFS暗号を使用するには、次の手順を実行します。

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

SSL Inspectionを使用する場合のDiffie-Hellman暗号に関する特別な考慮事項

Perfect Forward SecrecyはDiffie-Hellman鍵交換アルゴリズムに依存しています。一部のウェブサーバでは、Diffie-Hellmanがデフォルトになっている可能性があり、これによりSSLインスペクションが正しく機能しないことがあります。そのため、サーバの設定ファイルを確認し、ウェブサーバとロードバランサ (またはリバースプロキシ) 間のTLSトラフィックに対してDiffie-Hellman暗号を無効にすることが重要です。例えば、ApacheサーバでDiffie-Hellmanを無効にするには、次のようにします。

  1. サーバの設定ファイルを開いてください。Webサーバの設定ファイルのファイル名と場所は、OSやディストリビューションによって異なります。例えば、パスは次のようになります:
    • RHEL4でのデフォルトインストール: /etc/httpd/conf.d/ssl.conf
    • Red Hat Linux上のApache 2.2.2: /apache2/conf/extra/httpd-ssl.conf
  2. ファイル内でSSLCipherSuite変数を見つけてください。
  3. この文字列が既に存在しない場合、これらのフィールドに!DH:!EDH:!ADH:を追加してください。!はApacheにこの暗号を使用しないよう指示します。

たとえば、Apacheの設定ファイルの暗号スイートを次のように編集することができます。

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

SSL Inspection を使用する場合に限り、前述の情報が適用されます。Advanced TLS Traffic Inspection を使用する場合は適用されません。

詳細については、ApacheドキュメントSSLCipherSuite Directiveを参照してください

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

16進値

OpenSSL名

IANA名

NSS名

高度なTLS検査

SSLインスペクション(レガシー)

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,0x33

DHE-RSA-AES128-SHA

TLS_DHE_RSA_WITH_AES_128_CBC_SHA

TLS_DHE_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,0x39

DHE-RSA-AES256-SHA

TLS_DHE_RSA_WITH_AES_256_CBC_SHA

TLS_DHE_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,0x67

DHE-RSA-AES128-SHA256

TLS_DHE_RSA_WITH_AES_128_CBC_SHA256

TLS_DHE_RSA_WITH_AES_128_CBC_SHA256

0x00,0x6b

DHE-RSA-AES256-SHA256

TLS_DHE_RSA_WITH_AES_256_CBC_SHA256

TLS_DHE_RSA_WITH_AES_256_CBC_SHA256

0x00,0x84

CAMELLIA256-SHA

TLS_RSA_WITH_CAMELLIA_256_CBC_SHA

TLS_RSA_WITH_CAMELLIA_256_CBC_SHA

0x00,0x9c

AES128-GCM-SHA256

TLS_RSA_WITH_AES_128_GCM_SHA256

TLS_RSA_WITH_AES_128_GCM_SHA256

0x00,0x9d

AES256-GCM-SHA384

TLS_RSA_WITH_AES_256_GCM_SHA384

TLS_RSA_WITH_AES_256_GCM_SHA384

0x00,0x9e

DHE-RSA-AES128-GCM-SHA256

TLS_DHE_RSA_WITH_AES_128_GCM_SHA256

TLS_DHE_RSA_WITH_AES_128_GCM_SHA256

0x00,0x9f

DHE-RSA-AES256-GCM-SHA384

TLS_DHE_RSA_WITH_AES_256_GCM_SHA384

TLS_DHE_RSA_WITH_AES_256_GCM_SHA384

0x00,0xBA

CAMELLIA128-SHA256

TLS_RSA_WITH_CAMELLIA_128_CBC_SHA256

TLS_RSA_WITH_CAMELLIA_128_CBC_SHA256

0x00,0xC0

CAMELLIA256-SHA256

TLS_RSA_WITH_CAMELLIA_256_CBC_SHA256

TLS_RSA_WITH_CAMELLIA_256_CBC_SHA256

0xc0,0x09

ECDHE-ECDSA-AES128-SHA

TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA

TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA

0xC0,0x0A

ECDHE-ECDSA-AES256-SHA

TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA

TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA

0xc0,0x13

ECDHE-RSA-AES128-SHA

TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA

TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA

0xc0,0x14

ECDHE-RSA-AES256-SHA

TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA

TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA

0xc0,0x23

ECDHE-ECDSA-AES128-SHA256

TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256

TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256

0xc0,0x24

ECDHE-ECDSA-AES256-SHA384

TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384

TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384

0xc0,0x27

ECDHE-RSA-AES128-SHA256

TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256

TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256

0xc0,0x28

ECDHE-RSA-AES256-SHA384

TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384

TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384

0xc0,0x2b

ECDHE-ECDSA-AES128-GCM-SHA256

TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256

TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256

0xc0,0x2c

ECDHE-ECDSA-AES256-GCM-SHA384

TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384

TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384

0xc0,0x2f

ECDHE-RSA-AES128-GCM-SHA256

TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256

TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256

0xc0,0x30

ECDHE-RSA-AES256-GCM-SHA384

TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384

TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384

0xC0,0x9C

AES128-CCM

TLS_RSA_WITH_AES_128_CCM

TLS_RSA_WITH_AES_128_CCM

0xC0,0x9D

AES256-CCM

TLS_RSA_WITH_AES_256_CCM

TLS_RSA_WITH_AES_256_CCM

0xC0,0xA0

AES128-CCM8

TLS_RSA_WITH_AES_128_CCM_8

TLS_RSA_WITH_AES_128_CCM_8

0xC0,0xA1

AES256-CCM8

TLS_RSA_WITH_AES_256_CCM_8

TLS_RSA_WITH_AES_256_CCM_8

0xcc,0xa8

ECDHE-RSA-CHACHA20-POLY1305

TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256

TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256

0xcc,0xa9

ECDHE-ECDSA-CHACHA20-POLY1305

TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256

TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256

0xcc,0xaa

DHE-RSA-CHACHA20-POLY1305

TLS_DHE_RSA_WITH_CHACHA20_POLY1305_SHA256

TLS_DHE_RSA_WITH_CHACHA20_POLY1305_SHA256

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

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

  • TLS 1.0
  • TLS 1.1
  • TLS 1.2
  • TLS 1.3

SSL 3.0の検査はサポートされておらず、デフォルトでブロックされています。