Citrix ADC

サーバー認証

Citrix ADCアプライアンスは、Webサーバーに代わってSSLオフロードとアクセラレーションを実行するため、通常、アプライアンスはWebサーバーの証明書を認証しません。ただし、エンドツーエンドの SSL 暗号化を必要とする展開では、サーバーを認証できます。

このような状況では、アプライアンスは SSL クライアントになり、SSL サーバーとの安全なトランザクションを実行し、SSL サービスにバインドされている証明書を持つ CA がサーバー証明書に署名していることを確認し、サーバー証明書の有効性をチェックします。

サーバーを認証するには、まずサーバー認証を有効にしてから、サーバーの証明書に署名したCAの証明書をCitrix ADCアプライアンス上のSSLサービスにバインドする必要があります。証明書をバインドするときは、[CA としてバインド] オプションを指定する必要があります。

サーバー証明書認証の有効化(または無効化)

CLI および GUI を使用して、サーバ証明書認証を有効または無効にできます。

CLI を使用したサーバ証明書認証の有効化(または無効化)

コマンドプロンプトで次のコマンドを入力して、サーバー証明書の認証を有効にし、構成を確認します。

set ssl service <serviceName> -serverAuth ( ENABLED | DISABLED )
show ssl service <serviceName>

例:

set ssl service ssl-service-1 -serverAuth ENABLED
show ssl service ssl-service-1

            Advanced SSL configuration for Back-end SSL Service ssl-service-1:`
            DH: DISABLED
            Ephemeral RSA: DISABLED
            Session Reuse: ENABLED          Timeout: 300 seconds
            Cipher Redirect: DISABLED
            SSLv2 Redirect: DISABLED
            Server Auth: ENABLED
            SSL Redirect: DISABLED
            Non FIPS Ciphers: DISABLED
            SSLv2: DISABLED SSLv3: ENABLED  TLSv1: ENABLED
    1)      Cipher Name: ALL
            Description: Predefined Cipher Alias
Done

GUI を使用したサーバー証明書認証の有効化 (または無効化)

  1. 「トラフィック管理」>「負荷分散」>「サービス」に移動し、SSL サービスを開きます。
  2. [SSL パラメータ] セクションで、[サーバー認証を有効にする] を選択し、[共通名] を指定します。
  3. [詳細設定] で [証明書] を選択し、CA 証明書をサービスにバインドします。

CLI を使用して CA 証明書をサービスにバインドする

コマンドプロンプトで次のコマンドを入力して、CA 証明書をサービスにバインドし、構成を確認します。

bind ssl service <serviceName> -certkeyName <string> -CA

show ssl service <serviceName>

例:

bind ssl service ssl-service-1 -certkeyName samplecertkey -CA
show ssl service ssl-service-1

            Advanced SSL configuration for Back-end SSL Service ssl-service-1:
            DH: DISABLED
            Ephemeral RSA: DISABLED
            Session Reuse: ENABLED          Timeout: 300 seconds
            Cipher Redirect: DISABLED
            SSLv2 Redirect: DISABLED
            Server Auth: ENABLED
            SSL Redirect: DISABLED
            Non FIPS Ciphers: DISABLED
            SSLv2: DISABLED SSLv3: ENABLED  TLSv1: ENABLED
    1)      CertKey Name: samplecertkey     CA Certificate          CRLCheck: Optional
    1)      Cipher Name: ALL
            Description: Predefined Cipher Alias
Done

サーバー証明書認証の共通名を構成する

サーバ認証を有効にしたエンドツーエンドの暗号化では、SSL サービスまたはサービスグループの設定に共通名を含めることができます。指定した名前は、SSL ハンドシェイク中にサーバー証明書の共通名と比較されます。2 つの名前が一致すると、ハンドシェイクは成功します。 共通名が一致しない場合、サービスまたはサービスグループに指定された共通名が、証明書のサブジェクト代替名 (SAN) フィールドの値と比較されます。これらの値のいずれかに一致すると、ハンドシェイクは成功します。この設定は、たとえば、ファイアウォールの内側に 2 台のサーバがあり、一方のサーバが他方のサーバの ID をスプーフィングする場合に特に便利です。共通名がチェックされていない場合、IP アドレスが一致すれば、いずれかのサーバから提示された証明書が受け入れられます。

注: SAN フィールドのドメイン名、URL、電子メール ID DNS エントリのみが比較されます。

CLI を使用した SSL サービスまたはサービスグループの共通名検証の設定

コマンドプロンプトで次のコマンドを入力して、コモンネーム検証によるサーバー認証を指定し、構成を確認します。

  1. サービスで共通名を構成するには、次のように入力します。

    set ssl service <serviceName> -commonName <string> -serverAuth ENABLED
    show ssl service <serviceName>
    
  2. サービスグループの共通名を構成するには、次のように入力します。

    set ssl serviceGroup <serviceGroupName> -commonName <string> -serverAuth ENABLED
    show ssl serviceGroup <serviceGroupName>
    

例:

> set ssl service svc1 -commonName xyz.com -serverAuth ENABLED
show ssl service svc

     Advanced SSL configuration for Back-end SSL Service svc1:
     DH: DISABLED
     Ephemeral RSA: DISABLED
     Session Reuse: ENABLED Timeout: 300 seconds
     Cipher Redirect: DISABLED
     SSLv2 Redirect: DISABLED
     Server Auth: ENABLED Common Name: www.xyz.com
     SSL Redirect: DISABLED
     Non FIPS Ciphers: DISABLED
     SNI: DISABLED
     SSLv2: DISABLED SSLv3: ENABLED TLSv1: ENABLED
    1) CertKey Name: cacert CA Certificate OCSPCheck: Optional
    1) Cipher Name: ALL
     Description: Predefined Cipher Alias
Done

GUI を使用して SSL サービスまたはサービスグループの共通名検証を構成する

  1. 「トラフィック管理」>「負荷分散」>「サービス」に移動するか、「トラフィック管理」>「負荷分散」>「サービスグループ」に移動して、サービスまたはサービスグループを開きます。
  2. [SSL パラメータ] セクションで、[サーバー認証を有効にする] を選択し、共通名を指定します。

サーバー認証