Grapado OCSP
La implementación de NetScaler de CRL y OCSP informa solo del estado de revocación de los certificados de cliente. Para comprobar el estado de revocación de un certificado de servidor recibido durante un protocolo de enlace SSL, el cliente debe enviar una solicitud a una entidad emisora de certificados.
Para los sitios web con mucho tráfico, muchos clientes reciben el mismo certificado de servidor. Si cada cliente enviara una consulta sobre el estado de revocación del certificado del servidor, la autoridad certificadora se vería inundada de solicitudes OCSP para comprobar la validez del certificado.
Solución de grapado OCSP
Para evitar congestiones innecesarias, el dispositivo NetScaler ahora admite el grapado OCSP. Es decir, en el momento del protocolo de enlace SSL, el dispositivo ahora puede enviar el estado de un certificado de servidor a un cliente después de validar la respuesta de un respondedor de OCSP. El estado de un certificado de servidor se “grapa” al certificado que el dispositivo envía al cliente como parte del protocolo de enlace SSL. Para usar la función de grapado de OCSP, debe habilitarla en un servidor virtual SSL y agregar un respondedor de OCSP en el dispositivo.
Notas
- A partir de la versión 13.1-30.x, todos los certificados intermedios ahora incluyen la extensión de respuesta de OCSP cuando se cumplen las siguientes condiciones:
- TLS 1.3 protocol is used
- Client sends a status request
Anteriormente, solo el certificado del servidor incluía esta extensión en la respuesta a la solicitud de estado del cliente.
Con los demás protocolos (incluido TLS 1.2), el servidor envía la respuesta de OCSP solo para el certificado del servidor. Es decir, RFC 6961 no es compatible con el protocolo TLS 1.2.
Los dispositivos NetScaler admiten el grapado OCSP como se define en RFC 6066.
El grapado OCSP solo se admite en el front-end de los dispositivos NetScaler.
El dispositivo ADC se comporta de la siguiente manera cuando se usa el protocolo TLS 1.3: Si la respuesta OCSP almacenada en caché no es válida (está vacía o caducada), se envía una solicitud al respondedor OCSP, pero el protocolo de enlace SSL se completa sin esperar la respuesta. Cuando se recibe la respuesta, se almacena en caché y está disponible para futuras solicitudes de estado de los clientes.
- El soporte de NetScaler para el grapado de OCSP se limita a los apretones de manos que utilizan el protocolo TLS versión 1.0 o superior.
Almacenamiento en caché de respuestas de OCSP de certificados de servidor
Nota
A partir de la versión 13.1-30.x, cuando se usa el protocolo TLS 1.3, la respuesta de OCSP se almacena en caché para el certificado del servidor y todos los certificados intermedios.
Durante el protocolo de enlace SSL, cuando un cliente solicita el estado de revocación del certificado del servidor, el dispositivo primero busca en su caché local una entrada para este certificado. Si se encuentra una entrada válida, se evalúa y el certificado del servidor y su estado se presentan al cliente. Si no se encuentra una entrada de estado de revocación, el dispositivo envía una solicitud de estado de revocación del certificado del servidor al respondedor de OCSP. Si recibe una respuesta, envía el certificado y el estado de revocación al cliente. Si el siguiente campo de actualización está presente en la respuesta de OCSP, la respuesta se almacena en caché durante el período de tiempo configurado (valor especificado en el campo de tiempo de espera).
Nota: A partir de la versión 12.1 compilación 49.x, puede borrar la respuesta almacenada en caché del certificado del servidor del respondedor de OCSP incluso antes de que expire el tiempo de espera. Anteriormente, no era posible descartar el estado de almacenamiento en caché en el par certificado-clave hasta que se agotaba el tiempo de espera configurado.
Para borrar el estado de almacenamiento en caché mediante la CLI, en el símbolo del sistema, escriba:
clear ssl certKey <certkey name> -ocspstaplingCache
<!--NeedCopy-->
Ejemplo:
clear ssl certKey s1 -ocspstaplingCache
<!--NeedCopy-->
Para borrar el estado de la memoria caché mediante la interfaz gráfica de usuario
- En la GUI, vaya a Administración del tráfico > SSL > Certificados > Certificadosde CA.
- En el panel de detalles, seleccione un certificado.
- En la lista Seleccionar acción, seleccione Borrar. Cuando se le solicite confirmar, haga clic en Sí.
Configuración de grapado OCSP
La configuración del grapado de OCSP implica habilitar la función y configurar OCSP. Para configurar OCSP, debe agregar un respondedor de OCSP, vincular el respondedor de OCSP a un certificado de CA y vincular el certificado a un servidor virtual SSL.
Nota:
Se admiten los respondedores OCSP solo con URL basada en HTTP.
Habilitar el grapado de OCSP mediante la CLI
En el símbolo del sistema, escriba:
set ssl vserver <name> -ocspstapling [ENABLED | DISABLED]
<!--NeedCopy-->
Ejemplo:
set ssl vserver vip1 -ocspStapling ENABLED
Done
sh ssl vserver vip1
Advanced SSL configuration for VServer vip1:
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: ENABLED
SSLv2: DISABLED SSLv3: DISABLED TLSv1.0: ENABLED TLSv1.1: ENABLED TLSv1.2: ENABLED
Push Encryption Trigger: Always
Send Close-Notify: YES
ECC Curve: P_256, P_384, P_224, P_521
1) CertKey Name: server_certificate1 Server Certificate
1) Cipher Name: DEFAULT
Description: Default cipher list with encryption strength >= 128bit
Done
<!--NeedCopy-->
Nota: Si el perfil predeterminado (mejorado) está habilitado, utilice el comando set ssl profile <profile name> -ocspStapling [ENABLED | DISABLED]
para habilitar o inhabilitar OCSP.
Habilitar el grapado de OCSP mediante la GUI
- Vaya a Administración del tráfico > SSL > Servidor virtual.
- Abra un servidor virtual y, en Parámetros SSL, seleccione Grapado OCSP.
Configuración de OCSP
Se agrega un respondedor de OCSP de forma dinámica o manual para enviar solicitudes de grapado de OCSP. Un respondedor interno se agrega dinámicamente cuando se agrega un certificado de servidor y su certificado de emisor en función de la URL de OCSP en el certificado del servidor. Se agrega un respondedor OCSP manual desde la CLI o la GUI. Para enviar una solicitud OCSP de un certificado de servidor, el dispositivo NetScaler selecciona un respondedor de OCSP en función de la prioridad que se le asignó al vincularlo a un certificado de emisor. Si un respondedor no puede enviar una solicitud de grapado OCSP, se selecciona el respondedor con la siguiente prioridad más alta para enviar la solicitud. Por ejemplo, si solo se configura manualmente un respondedor y se produce un error y existe un respondedor enlazado dinámicamente, se selecciona para enviar la solicitud OCSP.
Si la URL de OCSP no es HTTP, no se crea un respondedor OCSP interno.
Nota
Un respondedor OCSP agregado manualmente tiene prioridad sobre un respondedor agregado dinámicamente.
Diferencia entre un respondedor OCSP creado manualmente y un respondedor OCSP creado internamente
Respondedor OCSP creado manualmente | Respondedor OCSP creado internamente (dinámicamente) |
Se crea de forma manual y explícita vinculada al certificado del emisor con prioridad. | Se crea y enlaza de forma predeterminada, mientras se agrega un certificado de servidor y su certificado de emisor (certificado de CA). El nombre empieza por “ns_internal_”. |
La prioridad entre 1 y 127 está reservada para un respondedor configurado. | La prioridad se asigna automáticamente a partir de 128. |
La URL y la profundidad de procesamiento por lotes se pueden cambiar. | La URL y la profundidad de procesamiento por lotes no se pueden cambiar. |
Eliminado directamente. | Se elimina solo cuando se elimina el certificado de servidor o el certificado de CA. |
Se puede vincular a cualquier certificado de CA. | Enlazado de forma predeterminada a un certificado de CA. No se puede vincular a ningún otro certificado de CA. |
Guardado en la configuración (ns.conf). | Los comandos Add no se guardan en la configuración. Solo se guardan los comandos set. |
Si enlaza tres respondedores de OCSP al mismo certificado de emisor con prioridades 1, 2 y 3 respectivamente, y luego desvincula la prioridad 2, las demás prioridades no se ven afectadas. | Tres respondedores de OCSP se vinculan automáticamente a un certificado de emisor con prioridades 128, 129 y 130, respectivamente. Si elimina el certificado de servidor que se usó para crear un respondedor enlazado con prioridad 129, se eliminará ese respondedor. Además, la prioridad para el siguiente respondedor (prioridad 130) se cambia automáticamente a 129. |
Ejemplo de gestión de solicitudes:
- Agregue un servidor virtual (VIP1).
- Agregue el certificado del emisor (CA1) y vincule a VIP1.
- Agregue tres certificados S1, S2 y S3. Los respondedores internos resp1, resp2 y resp3, respectivamente, se crean de forma predeterminada.
- Enlazar S3 a VIP1.
- Llega una solicitud a VIP1. Se selecciona Responder resp3.
Para crear un respondedor OCSP interno de forma dinámica, el dispositivo necesita lo siguiente:
- Certificado del emisor del certificado de servidor (normalmente el certificado de CA).
- Par de claves de certificado del certificado del servidor. Este certificado debe contener la URL de OCSP proporcionada por la autoridad de certificación. La URL se utiliza como nombre del respondedor interno agregado dinámicamente.
Un respondedor OCSP interno tiene los mismos valores predeterminados que un respondedor configurado manualmente.
Nota:
El almacenamiento en caché está inhabilitado de forma predeterminada en un respondedor interno. Use el comando
set ssl ocspResponder
para habilitar el almacenamiento en caché.
Configurar OCSP mediante la CLI
En el símbolo del sistema, escriba los siguientes comandos para configurar OCSP y verificar la configuración:
add ssl certKey <certkeyName> (-cert <string> [-password]) [-key <string> | -fipsKey <string> | -hsmKey <string>] [-inform <inform>] [-expiryMonitor ( ENABLED | DISABLED ) [-notificationPeriod <positive_integer>]] [-bundle ( YES | NO )]
add ssl ocspResponder <name> -url <URL> [-cache ( ENABLED | DISABLED )[-cacheTimeout <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>]
show ssl ocspResponder [<name>]
<!--NeedCopy-->
Parámetros:
Método HTTP:
Método HTTP utilizado para enviar solicitudes de OCSP. Para solicitudes de menos de 255 bytes de longitud, puede configurar el método HTTP GET para las consultas a un servidor OCSP. Si especifica el método GET pero la longitud es superior a 255 bytes, el dispositivo utiliza el método predeterminado (POST).
Valores posibles: GET, POST
Valor predeterminado: POST
Tiempo de espera de resolución de URL de OCS:
Tiempo, en milisegundos, para esperar una resolución de URL de OCSP. Transcurrido este tiempo, se selecciona el respondedor con la siguiente prioridad más alta. Si todos los respondedores fallan, aparece un mensaje de error o se interrumpe la conexión, según la configuración del servidor virtual.
Valor mínimo: 100
Valor máximo: 2000
Ejemplo:
add ssl certkey root_ca1 –cert root_cacert.pem
add ssl ocspResponder ocsp_responder1 -url "http:// www.myCA.org:80/ocsp/" -cache ENABLED -cacheTimeout 30 -resptimeout 100 -responderCert responder_cert -producedAtTimeSkew 300 -signingCert sign_cert -insertClientCert YES
bind ssl certKey root_ca1 -ocspResponder ocsp_responder1 -priority 1
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 root_ca1
Name: root_ca1 Status: Valid, Days to expiration:8907
Version: 3
…
1) OCSP Responder name: ocsp_responder1 Priority: 1
Done
<!--NeedCopy-->
Modificar OCSP mediante la CLI
No puede modificar el nombre de un respondedor de OCSP, pero puede usar el comando set ssl ocspResponder
para cambiar cualquiera de los demás parámetros.
En el símbolo del sistema, escriba los siguientes comandos para establecer los parámetros y verificar la configuración:
set ssl ocspResponder <name> [-url <URL>] [-cache ( ENABLED | DISABLED)] [-cacheTimeout <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-->
Configurar OCSP mediante la GUI
- Vaya a Administración del tráfico > SSL > Respondedor OCSPy configure un respondedor OCSP.
- Vaya a Administración del tráfico > SSL > Certificados, seleccione un certificado y, en la lista Acción, seleccione Enlaces de OCSP. Enlazar un respondedor OCSP.
- Vaya a Administración del tráfico > Equilibrio de carga > Servidores virtuales, abra un servidor virtual y haga clic en la sección Certificados para vincular un certificado de CA.
- Si lo desea, seleccione OCSP Mandatory.
Nota:
El parámetro insert client certificate de los comandos
add ssl ocspResponder
yset ssl ocspResponder
ya no es válido. Es decir, el parámetro se ignora durante la configuración.
En este artículo
- Solución de grapado OCSP
- Almacenamiento en caché de respuestas de OCSP de certificados de servidor
-
Configuración de grapado OCSP
- Habilitar el grapado de OCSP mediante la CLI
- Habilitar el grapado de OCSP mediante la GUI
- Configuración de OCSP
- Diferencia entre un respondedor OCSP creado manualmente y un respondedor OCSP creado internamente
- Configurar OCSP mediante la CLI
- Modificar OCSP mediante la CLI
- Configurar OCSP mediante la GUI