Fijación de certificados de NetScaler Gateway con Citrix Secure Access para Android

Importante:

Citrix SSO para Android ahora se llama Citrix Secure Access. Estamos actualizando nuestra documentación y las capturas de pantalla de la interfaz de usuario para reflejar este cambio de nombre.

La fijación de certificados ayuda a prevenir los ataques de intermediarios. Citrix Secure Access solo admite la fijación de certificados para configuraciones de VPN administradas en el modo Android Enterprise y en el modo de administrador de dispositivos antiguos. No es compatible con los perfiles VPN agregados por el usuario final.

Configurar la anclaje de certificados de NetScaler Gateway con Citrix Secure Access para Android

Para obtener más información sobre la fijación de certificados en la configuración administrada (anteriormente restricciones de aplicaciones) para Citrix Secure Access, consulte Certificados y autenticación.

Se define un nuevo par clave-valor para llevar los hashes de certificados de NetScaler Gateway anclados de la siguiente manera.

Key: ServerCertificatePins
Value: {
  "hash-alg": "sha256",
  "pinset": [
    "cert1_base64_encoded_SHA-256_hash_of_the_X509_SubjectPublicKeyInfo(SPKI)",
    "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=",
    "BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB="
    ...
  ]
}
<!--NeedCopy-->

La clave para especificar los detalles de fijación de certificados en la configuración administrada es ServerCertificatePins. El valor es una carga útil JSON que lleva los hashes SHA-256 codificados en base64 del certificado de NetScaler Gateway anclado y el algoritmo hash utilizado. El certificado anclado puede ser cualquiera de los certificados de la cadena de confianza validados por el sistema operativo. En este caso, es Android.

La fijación de certificados solo se realiza después de que el sistema operativo haya validado la cadena de certificados durante el protocolo de enlace TLS. El pin del certificado se calcula mediante el hash de la información de clave pública del sujeto del certificado (SPKI). Ambos campos (“hash-alg” y “pinset”) deben especificarse en la carga útil de JSON.

El “hash-alg” especifica el algoritmo hash utilizado para calcular el hash SPKI. El “pinset” especifica la matriz JSON que contiene el hash SHA-256 codificado en base64 de los datos SPKI del certificado de NetScaler Gateway. Debe especificarse al menos un valor para el pin del certificado. Se pueden especificar más valores de pin para permitir la rotación o caducidad del certificado.

Puede calcular el valor del pin de un dominio (por ejemplo, gw.yourdomain.com) mediante el siguiente comando openssl.

openssl s_client -servername gw.yourdomain.com -connect gw.yourdomain.com:443 | openssl x509 -pubkey -noout | openssl pkey -pubin -outform der | openssl dgst -sha256 -binary | openssl enc -base64
<!--NeedCopy-->

El comando muestra el hash SHA-256 codificado en base64 del certificado hoja presentado por una puerta de enlace. Cualquier certificado de la cadena se puede utilizar para la fijación de certificados. Por ejemplo, si una empresa utiliza su propia entidad emisora de certificados intermedia para generar certificados para varias puertas de enlace, se puede utilizar el pin correspondiente al certificado de firma intermedio. Si ninguno de los pines coincide con los certificados de la cadena de certificados validada, el protocolo de enlace TLS se anula y la conexión a la puerta de enlace no continúa.

Nota:

En el modo de administrador de dispositivos, la fijación de certificados solo se admite con las soluciones Citrix Endpoint Management y Microsoft Endpoint Management. La fijación de certificados debe configurarse en los parámetros personalizados utilizados en el perfil VPN heredado (configuración no administrada) con el parámetro personalizado ServerCertificatePins con la misma carga útil JSON para la fijación.

Fijación de certificados de NetScaler Gateway con Citrix Secure Access para Android