ADC

NetScaler ADCアプライアンスで利用可能な暗号

NetScaler ADCアプライアンスには、事前定義された一連の暗号グループが付属しています。DEFAULT 暗号グループに含まれない暗号を使用するには、SSL 仮想サーバーに明示的にバインドする必要があります。また、ユーザー定義の暗号グループを作成して、SSL 仮想サーバーにバインドすることもできます。ユーザー定義の暗号グループの作成の詳細については、 ADCアプライアンスでのユーザー定義の暗号グループの構成を参照してください

メモ

RC4暗号は、NetScaler ADCアプライアンスのデフォルトの暗号グループには含まれません。ただし、N3 ベースのアプライアンス上のソフトウェアではサポートされています。ハンドシェイクを含む RC4 暗号化はソフトウェアで行われます。

この暗号は安全ではないと見なされ、RFC 7465で非推奨になっているため、使用しないことをお勧めします。

アプライアンスに N3 チップが搭載されているかどうかを確認するには、「show hardware」コマンドを使用します。

sh hardware

Platform: NSMPX-22000 16\*CPU+24\*IX+12\*E1K+2\*E1K+4*CVM N3 2200100

Manufactured on: 8/19/2013

CPU: 2900MHZ

Host Id: 1006665862

Serial no: ENUK6298FT

Encoded serial no: ENUK6298FT
<!--NeedCopy-->
  • フロントエンド (仮想サーバー) でデフォルトでバインドされている暗号スイートに関する情報を表示するには、次のように入力します。 sh cipher DEFAULT
  • バックエンドで (サービスに) デフォルトでバインドされている暗号スイートに関する情報を表示するには、以下のように入力します。 sh cipher DEFAULT_BACKEND
  • アプライアンスに定義されているすべての暗号グループ (エイリアス) に関する情報を表示するには、次のように入力します。 sh cipher
  • 特定の暗号グループに含まれるすべての暗号スイートに関する情報を表示するには、sh cipher <alias name>と入力します。たとえば、sh 暗号 ECDHE です。

以下のリンクは、さまざまなNetScaler ADCプラットフォームおよび外部ハードウェアセキュリティモジュール(HSM)でサポートされている暗号スイートの一覧です。

注:

DTLS暗号のサポートについては、 NetScaler ADC VPX、MPX、およびSDXアプライアンスでのDTLS暗号のサポートを参照してください

表1-仮想サーバー/フロントエンドサービス/内部サービスのサポート:

プロトコル/プラットフォーム MPX/SDX (N2) MPX/SDX (N3) VPX MPX/SDX 14000** FIPS MPX 5900/8900 MPX 15000-50G MPX 26000-100G
TLS 1.3 13.0 すべてのビルド 13.0 すべてのビルド 13.0 すべてのビルド 未サポート 13.0 すべてのビルド
12.1—50.x (TLS1.3-CHACHA20-POLY1305-SHA256を除く) 12.1—50.x (TLS1.3-CHACHA20-POLY1305-SHA256を除く) 12.1–50.x 未サポート
TLS 1.1/1.2 13.0 すべてのビルド 13.0 すべてのビルド 13.0 すべてのビルド 13.0 すべてのビルド 13.0 すべてのビルド
12.1 全ビルド 12.1 全ビルド 12.1 全ビルド 12.1 全ビルド
12.0 全ビルド 12.0 全ビルド 12.0 全ビルド 12.0 全ビルド
11.1 全ビルド 11.1 全ビルド 11.1 全ビルド 11.1 全ビルド
11.0 全ビルド 11.0 全ビルド 11.0 全ビルド 11.0 全ビルド
10.5 全ビルド 10.5 全ビルド 10.5–57.x 10.5—59.1359.e
ECDHE/DHE (例 TLS1-ECDHE-RSA-AES128-SHA) 13.0 すべてのビルド 13.0 すべてのビルド 13.0 すべてのビルド 13.0 すべてのビルド 13.0 すべてのビルド
12.1 全ビルド 12.1 全ビルド 12.1 全ビルド 12.1 全ビルド
12.0 全ビルド 12.0 全ビルド 12.0 全ビルド 12.0 全ビルド
11.1 全ビルド 11.1 全ビルド 11.1 全ビルド 11.1–51.x
11.0 全ビルド 11.0 全ビルド 11.0 全ビルド
10.5–53.x 10.5–53.x 10.5 全ビルド
AES-GCM (例 TLS1.2-AES128-GCM-SHA256) 13.0 すべてのビルド 13.0 すべてのビルド 13.0 すべてのビルド 13.0 すべてのビルド 13.0 すべてのビルド
12.1 全ビルド 12.1 全ビルド 12.1 全ビルド 12.1 全ビルド
12.0 全ビルド 12.0 全ビルド 12.0 全ビルド 12.0 全ビルド
11.1 全ビルド 11.1 全ビルド 11.1 全ビルド 11.1—51.x (注を参照)
11.0 全ビルド 11.0 全ビルド 11.0–66.x
10.5–53.x 10.5–53.x
SHA-2 暗号 (例 TLS1.2-AES-128-SHA256) 13.0 すべてのビルド 13.0 すべてのビルド 13.0 すべてのビルド 13.0 すべてのビルド 13.0 すべてのビルド
12.1 全ビルド 12.1 全ビルド 12.1 全ビルド 12.1 全ビルド
12.0 全ビルド 12.0 全ビルド 12.0 全ビルド 12.0 全ビルド
11.1 全ビルド 11.1 全ビルド 11.1 全ビルド 11.1–52.x
11.0 全ビルド 11.0 全ビルド 11.0–66.x
10.5–53.x 10.5–53.x
ECDSA (例 TLS1-ECDHE-ECDSA-AES256-SHA) 未サポート 13.0 すべてのビルド 13.0 すべてのビルド 13.0 すべてのビルド 13.0 すべてのビルド
未サポート 12.1 全ビルド 12.1 全ビルド 12.1 全ビルド
未サポート 12.0 全ビルド 12.0-57.x 未サポート
11.1 全ビルド
CHACHA20 未サポート 13.0 すべてのビルド 13.0 すべてのビルド 未サポート 13.0 すべてのビルド
未サポート 未サポート 12.1 全ビルド 未サポート
未サポート 未サポート 12.0–56.x 未サポート

表 2-バックエンドサービスのサポート:

TLS 1.3 はバックエンドではサポートされていません。

プロトコル/プラットフォーム MPX/SDX (N2) MPX/SDX (N3) VPX MPX/SDX 14000** FIPS MPX 5900/8900 MPX 15000-50G MPX 26000-100G
TLS 1.1/1.2 13.0 すべてのビルド 13.0 すべてのビルド 13.0 すべてのビルド 13.0 すべてのビルド 13.0 すべてのビルド
12.1 全ビルド 12.1 全ビルド 12.1 全ビルド 12.1 全ビルド
12.0 全ビルド 12.0 全ビルド 12.0 全ビルド 12.0 全ビルド
11.1 全ビルド 11.1 全ビルド 11.1 全ビルド 11.1 全ビルド
11.0–50.x 11.0–50.x 11.0–66.x  
10.5–59.x 10.5–59.x 10.5—59.1359.e
ECDHE/DHE (例 TLS1-ECDHE-RSA-AES128-SHA) 13.0 すべてのビルド 13.0 すべてのビルド 13.0 すべてのビルド 13.0 すべてのビルド 13.0 すべてのビルド
12.1 全ビルド 12.1 全ビルド 12.1 全ビルド 12.1 全ビルド
12.0 全ビルド 12.0 全ビルド 12.0–56.x 12.0 全ビルド
11.1 全ビルド 11.1 全ビルド 11.1–51.x
11.0–50.x 11.0–50.x
10.5–58.x 10.5–58.x
AES-GCM (例 TLS1.2-AES128-GCM-SHA256) 13.0 すべてのビルド 13.0 すべてのビルド 13.0 すべてのビルド 13.0 すべてのビルド 13.0 すべてのビルド
12.1 全ビルド 12.1 全ビルド 12.1 全ビルド 12.1 全ビルド
12.0 全ビルド 12.0 全ビルド 未サポート 12.0 全ビルド
11.1 全ビルド 11.1 全ビルド 11.1–51.x
SHA-2 暗号 (例 TLS1.2-AES-128-SHA256) 13.0 すべてのビルド 13.0 すべてのビルド 13.0 すべてのビルド 13.0 すべてのビルド 13.0 すべてのビルド
12.1 全ビルド 12.1 全ビルド 12.1 全ビルド 12.1 全ビルド
12.0 全ビルド 12.0 全ビルド 未サポート 12.0 全ビルド
11.1 全ビルド 11.1 全ビルド 11.1–52.x
ECDSA (例 TLS1-ECDHE-ECDSA-AES256-SHA) 未サポート 13.0 すべてのビルド 13.0 すべてのビルド 13.0 すべてのビルド 13.0 すべてのビルド
未サポート 12.1 全ビルド 12.1 全ビルド 12.1 全ビルド
未サポート 12.0 全ビルド 12.0–57.x 未サポート
11.1–51.x
CHACHA20 未サポート 13.0 すべてのビルド 13.0 すべてのビルド 未サポート 13.0 すべてのビルド
未サポート 未サポート 12.1 全ビルド 未サポート
未サポート 未サポート 12.0–56.x 未サポート

サポートされる ECDSA 暗号の詳細なリストについては、 ECDSA 暗号スイートのサポートを参照してください

  • TLS fallback_SCSV 暗号スイートは、リリース 10.5 ビルド 57.x 以降のすべてのアプライアンスでサポートされています。

  • HTTP 厳密なトランスポートセキュリティ (HSTS) のサポートはポリシーベースです。

  • すべての SHA-2 署名付き証明書(SHA256、SHA384、SHA512)は、すべてのアプライアンスのフロントエンドでサポートされています。リリース 11.1 ビルド 54.x 以降では、これらの証明書はすべてのアプライアンスのバックエンドでもサポートされています。リリース 11.0 以前では、すべてのアプライアンスのバックエンドで SHA256 署名付き証明書のみがサポートされています。

  • リリース11.1ビルド52.x以前では、次の暗号はMPX9700のフロントエンドでのみサポートされています。 MPX/SDX 14000 FIPSアプライアンス:
    • TLS1.2-ECDHE-RSA-AES-256-SHA384
    • TLS1.2-ECDHE-RSA-AES256-GCM-SHA384. From release 11.1 build 53.x, and in release 12.0, these ciphers are also supported on the back end.
  • すべてのChaCha20-Poly1035暗号は、SHA-256ハッシュ関数とTLS擬似ランダム関数(PSF)を使用します。

Perfect Forward Secrecy (PFS)

Perfect Forward Secrecy は、ウェブサーバーのセッションキーが後の時点で侵害された場合でも、現在の SSL 通信を確実に保護します。

なぜPerfect Forward Secrecy (PFS) が必要なのですか

SSL 接続は、クライアントとサーバー間で渡されるデータを保護するために使用されます。この接続は、クライアントのブラウザと接続した Web サーバーとの間で行われる SSL ハンドシェイクから始まります。このハンドシェイク中に、ブラウザとサーバーが特定の情報を交換してセッションキーに到達します。セッションキーは、通信の残りの部分を通してデータを暗号化する手段として機能します。

SSL PFS-1

RSA は、鍵交換で最も一般的に使用されるアルゴリズムです。ブラウザは、サーバーの公開鍵を使用して暗号化し、プリマスターシークレットを介してサーバーに送信します。この事前マスターシークレットは、セッションキーに到達するために使用されます。RSA キー交換アプローチの問題は、攻撃者が将来の任意の時点でサーバーの秘密鍵を保持することができた場合、攻撃者がセッションキーを取得できる事前マスターシークレットを保持することです。攻撃者がこのセッションキーを使用して、すべての SSL カンバセーションを復号化できるようになりました。つまり、過去のSSL通信は以前セキュリティで保護されていましたが、サーバーの盗まれた秘密鍵を使用してセッションキーに到達し、保存された履歴カンバセーションも復号化できるため、セキュリティがなくなることを意味します。

サーバの秘密キーが侵害された場合でも、過去の SSL 通信を保護できるようにする必要があります。ここでPerfect Forward Secrecy (PFS) の設定が助けになります。

PFSはどのように役立つのですか

Perfect Forward Secrecy(PFS)は、クライアントとサーバーをセッションごとに新しいキーに同意させ、このセッションキーの計算を秘密にすることで、過去の SSL 通信を保護します。これは、サーバーキーの侵害によってセッションキーが侵害されてはならないという基準で機能します。セッションキーは両端で別々に派生し、ワイヤを介して転送されることはありません。セッションキーは、通信が完了すると破棄されます。これらの事実により、誰かがサーバーの秘密鍵にアクセスしても、セッションキーに到達できず、過去のデータを復号化できないことが保証されます。

SSL PFS-2

例を挙げた説明

PFS の達成に DHE を使用していると仮定します。DHアルゴリズムは、ハッカーがサーバーの秘密鍵を保持していても、セッションキーと乱数(セッションキーに到達するために使用される)が両端で秘密に保たれ、ワイヤを介して交換されないため、ハッカーがセッションキーに到達できないようにします。 PFS は、SSL セッションごとに新しい一時キーを作成するエフェメラル Diffie-Hellman キー交換を使用することで実現できます。

セッションごとにキーを作成する反対側は、追加の計算が必要ですが、キーサイズが小さい楕円曲線を使用することでこれを克服できます。

NetScaler ADCアプライアンスでPFSを構成する

PFSは、DHEまたはECDHE暗号を構成することで、NetScaler ADC上で構成できます。これらの暗号により、作成されたシークレットセッションキーがワイヤ上で共有されず(DH アルゴリズム)、セッションキーが短時間だけ存続することが保証されます(エフェメラル)。次のセクションでは、両方の構成について説明します。

注: DHE の代わりに ECDHE 暗号を使用すると、小さなキーサイズで通信がより安全になります。

GUI を使用して DHE を構成する

  1. DH キーを生成します。

    a. [ トラフィック管理] > [SSL] > [ツール]に移動します。

    b. 「 Diffie Helman (DH) キーを作成」をクリックします。

    注: 2048 ビット DH キーの生成には最大 30 分かかることがあります。

  2. SSL 仮想サーバーの DH Param を有効にし、SSL 仮想サーバーに DH キーを接続します。

    a. [ 設定] > [トラフィック管理] > [仮想サーバ] に移動します。

    b. DH を有効にする仮想サーバーを選択します。

    c. [ 編集] をクリックし、[ SSL パラメータ] をクリックし、[ DH パラメータを有効にする] をクリックします。

  3. DHE 暗号を仮想サーバーにバインドします。

    a. [ 設定] > [トラフィック管理] > [仮想サーバ] に移動します。

    b. DH を有効にする仮想サーバーを選択し、鉛筆アイコンをクリックして編集します。

    c. [ 詳細設定]で、[ SSL Ciphers ]の横にあるプラスアイコンをクリックし、DHE 暗号グループを選択し、[ OK] をクリックしてバインドします。

    注: DHE 暗号が仮想サーバにバインドされた暗号リストの一番上に配置されていることを確認してください。

GUI を使用した ECDHE の設定

  1. ECC カーブを SSL 仮想サーバーにバインドします。

    a.[設定] > [トラフィック管理] > [負荷分散] > [仮想サーバー]に移動します。

    b. 編集するSSL仮想サーバーを選択し、[ ECC Curve ] をクリックして、[ バインドの追加] をクリックします。

    c. 必要な ECC カーブを仮想サーバにバインドします。

  2. ECDHE 暗号を仮想サーバにバインドします。

    a. [ 構成] > [トラフィック管理] > [仮想サーバー ] に移動し、DH を有効にする仮想サーバーを選択します。

    b. [ 編集] > [SSL 暗号 ] をクリックし、ECDHE 暗号グループを選択して [ バインド] をクリックします。

    注: ECDHE 暗号が、仮想サーバーにバインドされた暗号リストの一番上にあることを確認してください。

注: それぞれのケースで、NetScaler ADCアプライアンスが通信に使用する暗号をサポートしていることを確認します。

SSL プロファイルを使用した PFS の設定

注: SSL プロファイルを使用して PFS(暗号または ECC)を設定するオプションは、11.0 64.x リリース以降から導入されます。古いバージョンの場合は、次のセクションを無視してください。

SSL プロファイルを使用して PFS を有効にするには、仮想サーバ上で直接設定するのではなく、SSL プロファイルで同様の設定(前の設定セクションで説明した)を実行する必要があります。

GUI を使用して SSL プロファイルを使用した PFS の設定

  1. SSL プロファイルで ECC カーブと ECDHE 暗号をバインドします。

    注: ECC カーブは、デフォルトですべての SSL プロファイルに既にバインドされています。

    a. [ システム] > [プロファイル] > [SSL プロファイル ] に移動し、PFS を有効にするプロファイルを選択します。

    b. ECDHE 暗号をバインドします。

  2. SSL プロファイルを仮想サーバーにバインドします。

    a. [ 構成] > [トラフィック管理] > [仮想サーバー ] に移動し、仮想サーバーを選択します。

    b. 鉛筆アイコンをクリックして SSL プロファイルを編集します。

    c. 「 OK」 をクリックし、「 完了」をクリックします。

CLI を使用した SSL を使用した PFS の設定

コマンドプロンプトで入力します:

  1. ECC カーブを SSL プロファイルにバインドします。

    bind sslprofile <SSLProfileName> -eccCurveName <Name_of_curve>
    <!--NeedCopy-->
    
  2. ECDHE 暗号グループをバインドします。

    bind sslprofile <SSLProfileName> cipherName <ciphergroupName>
    <!--NeedCopy-->
    
  3. ECDHE 暗号のプライオリティを 1 に設定します。

    set sslprofile <SSLProfileName> cipherName <ciphergroupName> cipherPriority <positive_integer>
    <!--NeedCopy-->
    
  4. SSL プロファイルを仮想サーバーにバインドします。

    set SSL vserver <vservername> sslProfile <SSLProfileName>
    <!--NeedCopy-->
    
NetScaler ADCアプライアンスで利用可能な暗号