ADC

OCSPで証明書のステータスを監視する

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

OCSP の実装

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

アプライアンスは、OCSP 要求のバッチ処理と OCSP 応答のキャッシュをサポートしているため、OCSP 応答側の負荷が軽減され、応答が速くなります。

OCSP リクエストのバッチング

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

OCSP 応答キャッシュ

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

:キャッシュのタイムアウト制限は、最大 43200 分 (30 日) に設定できます。リリース 12.1 ビルド 49.x 以前では、制限は 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 )]
<!--NeedCopy-->
bind ssl certKey [<certkeyName>] [-ocspResponder <string>] [-priority <positive_integer>]
<!--NeedCopy-->
bind ssl vserver <vServerName>@ (-certkeyName <string> ( CA [-ocspCheck ( Mandatory | Optional )]))
<!--NeedCopy-->
show ssl ocspResponder [<name>]
<!--NeedCopy-->

例:

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
<!--NeedCopy-->
bind ssl certKey ca_cert -ocspResponder ocsp_responder1 -priority 1
<!--NeedCopy-->
bind ssl vserver vs1 -certkeyName ca_cert -CA -ocspCheck Mandatory
<!--NeedCopy-->
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
<!--NeedCopy-->
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
<!--NeedCopy-->
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
<!--NeedCopy-->

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>]
<!--NeedCopy-->

GUI を使用して OCSP レスポンダを設定する

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