Citrix ADC

OCSP による証明書ステータスの監視

オンライン証明書状態プロトコル (OCSP) は、クライアントの SSL 証明書の状態を決定するために使用されるインターネットプロトコルです。Citrix ADC アプライアンスは、RFC 2560 で定義されている OCSP をサポートしています。OCSP には、タイムリーな情報という点で、証明書失効リスト (CRL) よりも大きな利点があります。クライアント証明書の最新の失効ステータスは、多額の金銭や価値の高い株式取引を含む取引で特に役立ちます。また、使用するシステムリソースとネットワークリソースも少なくなります。Citrix ADC の OCSP 実装には、要求のバッチ処理と応答のキャッシュが含まれます。

OCSP の実装

Citrix ADCアプライアンスでのOCSP検証は、SSLハンドシェイク中にアプライアンスがクライアント証明書を受信したときに開始されます。証明書を検証するために、アプライアンスは OCSP 要求を作成し、それを OCSP 応答側に転送します。そのために、アプライアンスはローカルに設定された URL を使用します。アプライアンスがサーバからの応答を評価し、トランザクションを許可するか拒否するかを決定するまで、トランザクションは中断状態になります。サーバからの応答が設定された時間を超えて遅延し、他の応答側が設定されていない場合、アプライアンスはトランザクションを許可するか、OCSP チェックがオプションまたは必須に設定されているかに応じて、エラーを表示します。

アプライアンスは、OCSP 要求のバッチ処理と OCSP 応答のキャッシュをサポートし、OCSP 応答側の負荷を軽減し、応答を高速化します。

OCSP 要求のバッチ処理

アプライアンスは、クライアント証明書を受信するたびに、OCSP レスポンダに要求を送信します。OCSP レスポンダが過負荷にならないように、アプライアンスは同じ要求内の複数のクライアント証明書のステータスを照会できます。これを効率的に機能させるには、バッチの形成を待っている間に単一の証明書の処理が過度に遅れることがないように、タイムアウトを定義する必要があります。

OCSP 応答キャッシュ

OCSP レスポンダから受信した応答をキャッシュすると、クライアントへの応答が高速になり、OCSP レスポンダの負荷が軽減されます。OCSP レスポンダからクライアント証明書の失効ステータスを受け取ると、アプライアンスは応答をローカルにキャッシュします。SSL ハンドシェイク中にクライアント証明書を受信すると、アプライアンスはまずローカルキャッシュにこの証明書のエントリをチェックします。(キャッシュのタイムアウト制限内で)有効なエントリが見つかった場合、そのエントリが評価され、クライアント証明書が受け入れられるか拒否されます。証明書が見つからない場合、アプライアンスは OCSP レスポンダに要求を送信し、設定された時間だけ応答をローカルキャッシュに保存します。

: リリース 12.1 ビルド 49.x から、キャッシュのタイムアウト制限は最大 43200 分 (30 日) に増加しました。以前は1440分(1日)でした。この制限を大きくすると、OCSP サーバー上のルックアップを減らし、ネットワークやその他の問題によって OCSP サーバーに到達できない場合に SSL/TLS 接続障害を回避できます。

OCSP レスポンダの設定

OCSP の構成には、OCSP レスポンダーの追加、OCSP レスポンダーの証明機関 (CA) 証明書へのバインド、証明書の SSL 仮想サーバーへのバインドが含まれます。すでに設定されている OCSP 応答側に別の証明書をバインドする必要がある場合は、まず応答側のバインドを解除してから、応答側を別の証明書にバインドする必要があります。

CLI を使用した OCSP レスポンダーの追加

コマンドプロンプトで、次のコマンドを入力して OCSP を構成し、構成を確認します。

add ssl ocspResponder <name> -url <URL> [-cache ( ENABLED | DISABLED )[-cacheTimeout <positive_integer>]] [ -batchingDepth <positive_integer>][-batchingDelay <positive_integer>] [-resptimeout <positive_integer>] [-responderCert <string> | -trustResponder] [-producedAtTimeSkew <positive_integer>][-signingCert <string>][-useNonce ( YES | NO )][ -insertClientCert( YES | NO )]
bind ssl certKey [<certkeyName>] [-ocspResponder <string>] [-priority <positive_integer>]
bind ssl vserver <vServerName>@ (-certkeyName <string> ( CA [-ocspCheck ( Mandatory | Optional )]))
show ssl ocspResponder [<name>]

例:

add ssl ocspResponder ocsp_responder1 -url "http:// www.myCA.org:80/ocsp/" -cache ENABLED -cacheTimeout 30 -batchingDepth 8 -batchingDelay 100 -resptimeout 100 -responderCert responder_cert -producedAtTimeSkew 300 -signingCert sign_cert  -insertClientCert YES
bind ssl certKey ca_cert -ocspResponder ocsp_responder1 -priority 1
bind ssl vserver vs1 -certkeyName ca_cert -CA -ocspCheck Mandatory
sh ocspResponder ocsp_responder1

    1)Name: ocsp_responder1
    URL: http://www.myCA.org:80/ocsp/, IP: 192.128.22.22
    Caching: Enabled        Timeout: 30 minutes
    Batching: 8 Timeout: 100 mS
    HTTP Request Timeout: 100mS
    Request Signing Certificate: sign_cert
    Response Verification: Full, Certificate: responder_cert
    ProducedAt Time Skew: 300 s
    Nonce Extension: Enabled
     Client Cert Insertion: Enabled
    Done
show certkey ca_cert

    Name: ca_cert     Status: Valid,   Days to expiration:8907
    Version: 3
    …

    1)  VServer name: vs1      CA Certificate
    1)  OCSP Responder name: ocsp_responder1     Priority: 1
Done
sh ssl vs vs1

    Advanced SSL configuration for VServer vs1:
    DH: DISABLED
    …

    1) CertKey Name: ca_cert CA Certificate OCSPCheck: Mandatory
    1) Cipher Name: DEFAULT
      Description: Predefined Cipher Alias
    Done

CLI を使用した OCSP レスポンダーの変更

レスポンダ名は変更できません。他のすべてのパラメータは、set ssl ocspResponder コマンドを使用して変更できます。

コマンドプロンプトで次のコマンドを入力して、パラメーターを設定し、構成を確認します。

set ssl ocspResponder <name> [-url <URL>] [-cache ( ENABLED | DISABLED)] [-cacheTimeout <positive_integer>] [-batchingDepth <positive_integer>] [-batchingDelay <positive_integer>] [-resptimeout <positive_integer>] [ -responderCert <string> | -trustResponder][-producedAtTimeSkew <positive_integer>][-signingCert <string>] [-useNonce ( YES | NO )]

unbind ssl certKey [<certkeyName>] [-ocspResponder <string>]

bind ssl certKey [<certkeyName>] [-ocspResponder <string>] [-priority <positive_integer>]

show ssl ocspResponder [<name>]

GUI を使用して OCSP レスポンダを構成する

  1. [トラフィック管理] > [SSL] > [OCSP レスポンダー] に移動し、OCSP レスポンダーを設定します。
  2. [トラフィック管理] > [SSL] > [証明書] に移動し、証明書を選択し、[アクション] リストで [OCSP バインディング] を選択します。OCSP レスポンダをバインドします。
  3. トラフィック管理 」>「 負荷分散 」>「 仮想サーバー 」に移動し、仮想サーバーを開き、「証明書」セクションをクリックして CA 証明書をバインドします。
  4. 必要に応じて、「 OCSP 必須」を選択します

OCSP による証明書ステータスの監視