Citrix ADC

クライアント証明書のパススルー

Citrix ADCは、ユーザー認証にクライアント証明書を必要とする保護されたアプリケーションにクライアント証明書を渡すように構成できるようになりました。ADC は最初にユーザーを認証し、次にクライアント証明書を要求に挿入してアプリケーションに送信します。この機能は、適切な SSL ポリシーを追加することによって設定されます。

ユーザがクライアント証明書を提示した場合のこの機能の正確な動作は、VPN 仮想サーバの設定によって異なります。

  • VPN 仮想サーバーがクライアント証明書を受け入れるように構成されているが、クライアント証明書を必要としない場合、ADC は証明書を要求に挿入し、要求を保護されたアプリケーションに転送します。
  • VPN 仮想サーバでクライアント証明書認証が無効になっている場合、ADC は認証プロトコルを再ネゴシエートし、ユーザを再認証してから、クライアント証明書をヘッダーに挿入し、保護されたアプリケーションに要求を転送します。
  • VPN 仮想サーバーがクライアント証明書認証を要求するように設定されている場合、ADC はクライアント証明書を使用してユーザーを認証し、ヘッダーに証明書を挿入し、保護されたアプリケーションに要求を転送します。

これらのいずれの場合も、クライアント証明書のパススルーを次のように設定します。

コマンドラインインターフェイスを使用してクライアント証明書のパススルーを作成および構成するには

コマンドプロンプトで、次のコマンドを入力します。

  • add vpn vserver <name> SSL <IP> 443

    nameには、仮想サーバの名前を置き換えます。名前には、1〰127のASCII文字が文字またはアンダースコア (_) で始まり、英字、数字、アンダースコア (#)、ピリオド (.)、スペース、コロン (:)、アットマーク (@)、等号 (=)、ハイフン (-) のみを含む必要があります。<IP>では、仮想サーバに割り当てられた IP アドレスを置き換えます。```

  • set ssl vserver <name> -clientAuth ENABLED -clientCert <clientcert> <name>では、作成した仮想サーバの名前を置き換えます。<clientCert>では、次のいずれかの値を置き換えます。
    • disabled:VPN 仮想サーバでのクライアント証明書認証を無効にします。
    • [mandatory]:認証にクライアント証明書を要求するように VPN 仮想サーバを設定します。
    • オプション:クライアント証明書認証を許可するが、要求しないように VPN 仮想サーバを設定します。
  • bind vpn vserver \<name\> -policy local <name>では、作成したVPN仮想サーバの名前を置き換えます。
  • bind vpn vserver \<name> -policy cert <name>では、作成したVPN仮想サーバの名前を置き換えます。
  • bind ssl vserver \<name> -certkeyName \<certkeyname> <name>では、作成した仮想サーバの名前を置き換えます。<certkeyName>では、クライアント証明書キーを置き換えます。
  • bind ssl vserver \<name> -certkeyName \<cacertkeyname> -CA -ocspCheck Optional <name>では、作成した仮想サーバの名前を置き換えます。<cacertkeyName>では、CA 証明書キーを置き換えます。
  • add ssl action \<actname\> -clientCert ENABLED -certHeader CLIENT-CERT <actname>では、SSL アクションの名前を置き換えます。
  • add ssl policy \<polname\> -rule true -action \<actname\> <polname>では、新しい SSL ポリシーの名前に置き換えます。<actname>では、先ほど作成した SSL アクションの名前を置き換えます。
  • bind ssl vserver \<name\> -policyName \<polname\> -priority 10 <name>には、VPN 仮想サーバの名前を置き換えます。

  • add vpn vserver vs-certpassthru SSL 10.121.250.75 443
  • set ssl vserver vs-certpassthru -clientAuth ENABLED -clientCert optional
  • bind vpn vserver vs-certpassthru -policy local
  • bind vpn vserver vs-certpassthru -policy cert
  • bind ssl vserver vs-certpassthru -certkeyName mycertKey
  • bind ssl vserver vs-certpassthru -certkeyName mycertKey -CA -ocspCheck Optional
  • add ssl action act-certpassthru -clientCert ENABLED -certHeader CLIENT-CERT
  • add ssl policy pol-certpassthru -rule true -action act-certpassthru
  • bind ssl vserver vs-certpassthru -policyName pol-certpassthru -priority 10

クライアント証明書のパススルー