Citrix ADC

ADC で暗号がサポートされていない場合にクライアントトラフィックを転送するように SSL アクションを設定します

注意: この機能は、リリース12.1ビルド49.x以降で使用できます。

クライアント hello メッセージで、ADC でサポートされていない暗号を受信した場合、クライアントトラフィックを別の仮想サーバに転送するように SSL アクションを設定できます。SSL オフロードが必要ない場合は、この仮想サーバーを TCP または SSL_BRIDGE タイプに設定します。ADCにはSSLオフロードはなく、トラフィックはバイパスされます。SSL オフロードの場合は、SSL 仮想サーバーを転送仮想サーバーとして構成します。

次の手順を実行します。

  1. SSL タイプの負荷分散仮想サーバーを追加します。クライアントトラフィックは、この仮想サーバで受信されます。
  2. この仮想サーバーに SSL サービスをバインドします。
  3. タイプ TCP の負荷分散仮想サーバーを追加します。:トラフィックの転送先となる仮想サーバーでは、IPアドレスまたはポート番号は必須ではありません。
  4. ポート 443 で TCP サービスを追加します。
  5. このサービスを以前に作成した TCP 仮想サーバーにバインドします。
  6. 「forward」パラメータに TCP 仮想サーバを指定する SSL アクションを追加します。
  7. 特定の暗号スイート(16進コードで識別される)がクライアントのhelloメッセージで受信された場合は、前述のアクションを指定するSSLポリシーを追加します。
  8. このポリシーを SSL 仮想サーバーにバインドします。
  9. 構成を保存します。

CLI を使用した設定

add service ssl-service 10.102.113.155 SSL 443
add ssl certkey sv -cert complete/server/server_rsa_2048.pem -key complete/server/server_rsa_2048.ky
add ssl certkey cacert -cert complete/CA/root_rsa_1024.pem -key complete/CA/root_rsa_1024.ky
add lb vserver v1 SSL 10.102.57.186 443
bind ssl vserver v1 -certkeyName sv
bind lb vserver v1 ssl-service
add lb vserver v2 TCP
add service tcp-service 10.102.113.150 TCP 443
bind lb vserver v2 tcp-service
add ssl action act1 -forward v2
add ssl policy pol2 -rule client.ssl.client_hello.ciphers.has_hexcode(0x002f) -action act1
bind ssl vserver v1 -policyName pol2 -type CLIENTHELLO_REQ -priority 1
<!--NeedCopy-->
sh ssl vserver v1

    Advanced SSL configuration for VServer v1:
    DH: DISABLED
    DH Private-Key Exponent Size Limit: DISABLED    Ephemeral RSA: ENABLED  Refresh Count: 0
    Session Reuse: ENABLED  Timeout: 120 seconds
    Cipher Redirect: DISABLED
    SSLv2 Redirect: DISABLED
    ClearText Port: 0
    Client Auth: DISABLED
    SSL Redirect: DISABLED
    Non FIPS Ciphers: DISABLED
    SNI: ENABLED
    OCSP Stapling: DISABLED
    HSTS: DISABLED
    HSTS IncludeSubDomains: NO
    HSTS Max-Age: 0
    SSLv2: DISABLED  SSLv3: ENABLED  TLSv1.0: ENABLED  TLSv1.1: ENABLED  TLSv1.2: ENABLED  TLSv1.3: DISABLED
    Push Encryption Trigger: Always
    Send Close-Notify: YES
    Strict Sig-Digest Check: DISABLED
    Zero RTT Early Data: DISABLED
    DHE Key Exchange With PSK: NO
    Tickets Per Authentication Context: 1

    ECC Curve: P_256, P_384, P_224, P_521

1)  CertKey Name: sv    Server Certificate


    Data policy
1)  Policy Name: pol2   Priority: 1



1)  Cipher Name: DEFAULT
    Description: Default cipher list with encryption strength >= 128bit
 Done
sh ssl policy pol2
    Name: pol2
    Rule: client.ssl.client_hello.ciphers.has_hexcode(0x002f)
    Action: act1
    UndefAction: Use Global
    Hits: 0
    Undef Hits: 0


    Policy is bound to following entities
1)  Bound to: CLIENTHELLO_REQ VSERVER v1
    Priority: 1

 Done
<!--NeedCopy-->
sh ssl action act1
1)  Name: act1
    Type: Data Insertion
    Forward to: v2
    Hits: 0
    Undef Hits: 0
    Action Reference Count: 1
 Done
<!--NeedCopy-->
sh ssl vserver v2

    Advanced SSL configuration for VServer v2:
    DH: DISABLED
    DH Private-Key Exponent Size Limit: DISABLED    Ephemeral RSA: ENABLED  Refresh Count: 0
    Session Reuse: ENABLED  Timeout: 120    seconds
    Cipher Redirect: DISABLED
    SSLv2 Redirect: DISABLED
    ClearText Port: 0
    Client Auth: DISABLED
    SSL Redirect: DISABLED
    Non FIPS Ciphers: DISABLED
    SNI: DISABLED
    OCSP Stapling: DISABLED
    HSTS: DISABLED
    HSTS IncludeSubDomains: NO
    HSTS Max-Age: 0
    SSLv2: DISABLED  SSLv3: ENABLED  TLSv1.0: ENABLED  TLSv1.1: ENABLED  TLSv1.2: ENABLED  TLSv1.3: DISABLED
    Push Encryption Trigger: Always
    Send Close-Notify: YES
    Strict Sig-Digest Check: DISABLED
    Zero RTT Early Data: DISABLED
    DHE Key Exchange With PSK: NO
    Tickets Per Authentication Context: 1

    ECC Curve: P_256, P_384, P_224, P_521

1)  CertKey Name: sv    Server Certificate



1)  Cipher Name: DEFAULT
    Description: Default cipher list with encryption strength >= 128bit
<!--NeedCopy-->

GUI を使用した設定

TCP 仮想サーバーを作成します

  1. [ トラフィック管理 ] > [ 負荷分散 ] > [ 仮想サーバー] に移動します。
  2. TCP 仮想サーバーを作成します。
  3. [サービスとサービスグループ] セクションをクリックし、TCP サービスを追加するか、既存のサービスをバインドします。
  4. [バインド] をクリックします。
  5. [続行] をクリックします。

SSL 仮想サーバーを作成します

  1. [ トラフィック管理 ] > [ 負荷分散 ] > [ 仮想サーバー] に移動します。
  2. 別の SSL 仮想サーバーを作成します。
  3. [サービスとサービスグループ] セクションをクリックし、新しい SSL サービスを追加するか、既存のサービスをバインドします。
  4. [バインド] をクリックします。
  5. [続行] をクリックします。
  6. 証明書 」セクションをクリックし、サーバー証明書をバインドします。
  7. [続行] をクリックします。
  8. [詳細設定] で、[SSL ポリシー] をクリックします。
  9. [SSL Policy] セクションをクリックして、既存のポリシーを追加または選択します。
  10. ポリシーのバインド」で、 「追加」をクリックし、ポリシーの名前を指定します。
  11. アクション」で、「 追加」をクリックします。
  12. SSL アクションの名前を指定します。「 転送アクション仮想サーバー」で、以前に作成したTCP仮想サーバーを選択します。
  13. [作成] をクリックします。
  14. 式に CLIENT.SSL.CLIENT_HELLO.CIPHERSHAS_HEXCODE(サポートされていない暗号の 16 進コード) を指定します。
  15. [完了] をクリックします。
  16. ポリシーで、サポートされていない暗号のトラフィックを評価する式を設定します。
  17. アクションをポリシーにバインドし、ポリシーを SSL 仮想サーバーにバインドします。バインドポイント クライアント要求 (CLIENTHELLO_REQ) を指定してください
  18. [完了] をクリックします。
ADC で暗号がサポートされていない場合にクライアントトラフィックを転送するように SSL アクションを設定します