Grapado OCSP
La implementación de Citrix ADC de CRL y OCSP informa únicamente del estado de revocación de certificados de cliente. Para comprobar el estado de revocación de un certificado de servidor recibido durante un protocolo de enlace SSL, un cliente debe enviar una solicitud a una entidad emisora de certificados.
Para sitios web con mucho tráfico, muchos clientes reciben el mismo certificado de servidor. Si cada cliente envía una consulta para el estado de revocación del certificado del servidor, la entidad emisora de certificados se inundaría con solicitudes OCSP para comprobar la validez del certificado.
Solución de grapado OCSP
Para evitar la congestión innecesaria, el dispositivo Citrix ADC admite ahora el grapado OCSP. Es decir, el dispositivo ahora puede enviar el estado de revocación de un certificado de servidor a un cliente, en el momento de la conexión SSL, después de validar el estado del certificado desde un respondedor OCSP. El estado de revocación de un certificado de servidor está “grapado” a la respuesta que el dispositivo envía al cliente como parte del protocolo de enlace SSL. Para utilizar la función de grapado OCSP, debe habilitarla en un servidor virtual SSL y agregar un respondedor OCSP al dispositivo.
Nota:
-
Los dispositivos Citrix ADC admiten el grapado OCSP tal como se define en RFC 6066.
-
El grapado OCSP solo se admite en el front-end de los dispositivos Citrix ADC.
Importante:
La compatibilidad con Citrix ADC para el grapado OCSP se limita a los apretones de manos que utilizan el protocolo TLS versión 1.0 o superior.
Almacenamiento en caché de respuesta OCSP de certificados de servidor
Durante el protocolo de enlace SSL, cuando un cliente solicita el estado de revocación del certificado de servidor, el dispositivo comprueba en primer lugar la entrada de este certificado en su caché local. 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 para el estado de revocación del certificado de 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: Desde la versión 12.1 compilación 49.x, puede borrar la respuesta almacenada en caché del certificado del servidor del respondedor OCSP incluso antes de que expire el tiempo de espera. Anteriormente, no era posible descartar el estado almacenado en caché en el par de claves certificadas hasta que finalice el tiempo de espera configurado.
Para borrar el estado almacenado 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 almacenado en caché mediante la interfaz gráfica de usuario
- En la GUI, vaya a Administración de 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 pida que confirme, haga clic en Sí.
Configuración de grapado OCSP
La configuración del grapado OCSP implica habilitar la función y configurar OCSP. Para configurar OCSP, debe agregar un respondedor OCSP, enlazar el respondedor OCSP a un certificado de CA y enlazar el certificado a un servidor virtual SSL.
Nota:
Se admiten respondedores OCSP con solo 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 interfaz gráfica de usuario
- Vaya a Administración de tráfico > SSL > Servidor virtual.
- Abra un servidor virtual y, en Parámetros SSL, seleccione Grapado OCSP.
Configuración 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 al agregar un certificado de servidor y su certificado de emisor basado en la dirección URL de OCSP en el certificado de servidor. Se agrega un respondedor OCSP manual desde la CLI o GUI. Para enviar una solicitud OCSP para un certificado de servidor, el dispositivo Citrix ADC selecciona un respondedor OCSP en función de la prioridad que se le asigna al vincularlo a un certificado emisor. Si un respondedor no envía una solicitud de grapado OCSP, se selecciona el respondedor con la prioridad siguiente para enviar la solicitud. Por ejemplo, si solo se configura manualmente un respondedor y falla y existe un respondedor enlazado dinámicamente, se selecciona para enviar la solicitud OCSP.
Si la dirección URL de OCSP es distinta de 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) |
Creado de forma manual y explícita enlazado al certificado emisor con prioridad. | Creado y enlazado de forma predeterminada, al tiempo que agrega un certificado de servidor y su certificado de emisor (certificado de CA). El nombre comienza con “ns_internal_”. |
La prioridad entre 1 y 127 está reservada para un respondedor configurado. | La prioridad se asigna automáticamente a partir de 128. |
URL y profundidad de lotes se pueden cambiar. | La URL y la profundidad de lotes no se pueden cambiar. |
Eliminado directamente. | Se elimina solo cuando se elimina el certificado de servidor o el certificado de CA. |
Puede vincularse a cualquier certificado de CA. | Encuadernado 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 de adición no se guardan en la configuración. Solo se guardan los comandos de conjunto. |
Si vincula tres respondedores de OCSP al mismo certificado de emisor con las prioridades 1, 2 y 3 respectivamente, y posteriormente desvincula la prioridad 2, las demás prioridades no se verán afectadas. | Tres respondedores de OCSP se vinculan automáticamente a un certificado de emisor con las prioridades 128, 129 y 130 respectivamente. Si quita el certificado de servidor que se utilizó para crear un respondedor vinculado con la prioridad 129, se elimina ese respondedor. Además, la prioridad del siguiente respondedor (prioridad 130) se cambia automáticamente a 129. |
Ejemplo de manejo de solicitudes:
- Agregue un servidor virtual (VIP1).
- Agregue el certificado emisor (CA1) y vincularlo 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.
- Una solicitud llega a VIP1. Responder resp3 está seleccionado.
Para crear dinámicamente un respondedor OCSP interno, el dispositivo necesita lo siguiente:
- Certificado del emisor del certificado de servidor (normalmente el certificado de CA).
- Par de certificados y claves del certificado de servidor. Este certificado debe contener la dirección URL de OCSP proporcionada por la entidad emisora de certificados. 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. Utilice el
set ssl ocspResponder
comando 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 HttpTod:
Método HTTP utilizado para enviar solicitudes OCSP. Para las 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 mayor que 255 bytes, el dispositivo utiliza el método predeterminado (POST).
Valores posibles: GET, POST
Valor predeterminado: POST
OCSpurlResolveTimeout:
Tiempo, en milisegundos, para esperar una resolución de URL OCSP. Una vez 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 elimina la conexión, dependiendo de 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 se puede modificar el nombre de un respondedor de OCSP, pero puede utilizar el set ssl ocspResponder
comando 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 interfaz gráfica de usuario
- Vaya a Administración de tráfico > SSL > Respondedor de OCSP y configure un respondedor de 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 enlazar un certificado de CA.
- Si lo quiere, seleccione Obligatorio OCSP.
Nota:
El parámetro de certificado de cliente de insertar en
add ssl ocspResponder
y losset ssl ocspResponder
comandos ya no es válido. Es decir, el parámetro se ignora durante la configuración.