Global Protect Certificado de cliente Auth Error con vacío CN

Global Protect Certificado de cliente Auth Error con vacío CN

59384
Created On 03/25/19 06:17 AM - Last Modified 03/03/23 01:59 AM


Symptom


Globalprotect Se produce un error en la autenticación de certificado de cliente aunque el certificado de cliente correcto esté instalado en el cliente PC y el emisor esté configurado como "De CA confianza" en el archivo Firewall . 

Se VPN producirá un error en la conexión aunque el cliente recojan el certificado previsto y se Globalprotect envíen al servidor para la autenticación de certificados de cliente si el asunto CN está vacío en el certificado de cliente.

Los registros del lado cliente mostrarían los siguientes errores.
(T6560) 03/24/19 19:30:51:752 Info ( 736): Server cert query failed with error 12019
(T6560) 03/24/19 19:30:51:752 Debug( 905): PostRequest error code=2148074279(An unknown error occurred while processing the certificate.)
(T6560) 03/24/19 19:30:51:752 Debug( 993): ERROR_WINHTTP_SECURE_FAILURE, clean m_pMachineCertCtx. Retry
En la firewall comprobación de los contadores globales para esta conexión.
Configure "Administrar filtro" con el origen IP y el destino como la dirección de la interfaz que termina el portal y la puerta PC de IP IP Globalprotect enlace. 
Si el cliente está en Internet, utilice el público NATted IP del PC cliente. 
A continuación, habilite el filtro y ejecute el siguiente comando una vez. La primera salida se puede ignorar.
> show counter global filter packet-filter yes delta yes
Intente conectarse al portal y a la puerta de enlace desde el usuario PC que tiene el problema. 
Espere un poco de tiempo y vuelva a ejecutar el siguiente comando.
> show counter global filter packet-filter yes delta yes
Marque los contadores globales para ver si el contador abajo está presente.
proxy_client_cert_parse_error 167 3 warn proxy pktproc Number of ssl sessions with bad client cert
proxy_decrypt_cert_validation_overall 167 3 info proxy pktproc Overall number of decrypted packet cert validation
Si los registros del diag del paquete se toman para esta conexión con las características "básica ssl" y "proxy basic", los registros abajo se pueden ver en la salida del diag del paquete.
2019-03-24 20:07:58.853 -0700 debug: pan_proxy_cfg_client_cert_handler(pan_proxy_cfg.c:1244): receive client cert
2019-03-24 20:07:58.853 -0700 debug: pan_x509_parse_dn(pan_x509.c:519): didn't find common name
2019-03-24 20:07:58.853 -0700 debug: pan_x509_parse_tbs_certificate(pan_x509.c:1998): pan_x509_parse_dn() failed

 


Environment


  • Protección global con autenticación de certificados
  • Pan-OS 8.0


Cause


  • Tener un certificado vacío CN en el cliente no es compatible con 8.0 PA firewall
  • A partir de 8.1, no hay restricciones en vacío en CN el lado del servidor


Resolution


  1. Obtenga el certificado de cliente reeditado desde el CA servidor de forma que contenga un asunto CN .
  2. A continuación, instale este nuevo certificado en el cliente PC y vuelva a probar la conexión.
La conexión debe ser ahora correcta.


Additional Information



Firewall siguientes RFC requisitos .  

https://datatracker.ietf.org/doc/html/rfc5280#section-4.2.1.6 RFC Detalles: "Si el campo de asunto contiene una secuencia vacía, entonces la emisión CA MUST incluye una extensión subjectAltName que está marcada como crítica".     

Firewall Realiza una comprobación adicional si hay un /subject vacío CNque el SAN campo del certificado está marcado como extensión "crítica".Esto es para asegurarse de que el certificado está de acuerdo con el archivo .RFC 

Aquí hay algunos registros de depuración cuando SAN no está marcado como "crítico":
 
Firewall side flow basic, ssl basic, proxy basic : 

debug: pan_proxy_cfg_client_cert_handler(pan_proxy_cfg.c:1253): receive client cert
debug: pan_x509_parse_tbs_certificate(pan_x509.c:2082): not before 210521151540Z not after 220521151540Z
debug: pan_x509_parse_dn(pan_x509.c:531): didn't find common name
debug: pan_x509_parse_tbs_certificate(pan_x509.c:2106): SSLVPN:Print the certificate hostid (null)
debug: pan_x509_parse_tbs_certificate(pan_x509.c:2108): SSLVPN:Print the certificate username (null)
debug: pan_x509_parse_ext_subject_alt_name(pan_x509.c:1382): subject alt name
debug: pan_x509_parse_ext_subject_alt_name(pan_x509.c:1400): found subject alternative names @478
00000000: 82 0b 6d 61 63 68 69 6e  65 2e 6c 61 62             ..machin e.lab
debug: pan_x509_parse_tbs_certificate(pan_x509.c:2175): parse tbs certificate missing subject but subject alternative name is not critical
debug: pan_x509_parse_cert(pan_x509.c:2374): pan_asn1_tbs_certificate() failed
debug: pan_x509_parse_certs_chain(pan_x509.c:2548): pan_x509_parse_cert() failed; error
debug: pan_ssl_parse_client_cert_handshake(pan_ssl.c:2372): pan_x509_parse_certs_chain() failed
Error:  pan_proxy_cfg_client_cert_handler(pan_proxy_cfg.c:1292): failed to parse client cert
Error:  pan_proxy_offload_ssl_handshake_cb(pan_proxy_ssl.c:576): client cert callback() failed
Error:  pan_ssl_proxy_handle_rt_hs(pan_ssl_proxy.c:251): handshake callback failed: -3
Error:  pan_ssl_proxy_parse_data(pan_ssl_proxy.c:621): pan_ssl_parse_record() failed

   
Firewall counters : 

proxy_ssl_invalid_cert                     7        3 info      proxy     pktproc   Number of ssl sessions using invalid certificate
proxy_client_cert_parse_error              7        3 warn      proxy     pktproc   Number of ssl sessions with bad client cert
  
GP logs: 


(T7008)Debug( 868): Found the cert [empty] issued by OpenSSL-CA9 sha1 hash is b4 fd 25 c7 a7 e6 ee ac 2e ef cd dd bd f5 e9 02 35 14 98 51  in machine store
(T7008)Debug( 874): Finished searching machine store.
(T7008)Debug(1016): PrepareRequest, m_pMachineCertCtx is 000001AF7749D0B0...
(T7008)Debug(1024): WinHttpOpenRequest...
(T7008)Debug( 442): CPanHTTPSession::PostRequest: WinHttpSendRequest...
(T7008)Debug( 453): bResults=0, g_dwStatus = 00000000
(T7008)Debug( 456): SendRequest failed with error -2146893017
(T7008)Debug( 756): The length of the serialized string is 879.
(T7008)Debug( 775): The encoded element has been serialized.
(T7008)Debug( 786): SerializeServerCert(): wrote 879 of 879 bytes to file C:\WINDOWS\system32\config\systemprofile\AppData\Local\Palo Alto Networks\GlobalProtect\ServerCert.pan.
(T7008)Debug(1043): PostRequest error code=2148074279(An unknown error occurred while processing the certificate.)
(T7008)Debug(1132): ERROR_WINHTTP_SECURE_FAILURE, clean m_pMachineCertCtx. Retry

En 8.1 y versiones posteriores, si genera un certificado que tiene un asunto vacío (que está bien) y tiene SAN (que está bien), pero SAN la extensión MUST se marcará como "crítica" para que el certificado sea por RFC.
Si no es así, se equivocaría, lo cual está, de nuevo, bien, PAN-OS porque los certificados no deben hacerse como tales. 



 


Actions
  • Print
  • Copy Link

    https://knowledgebase.paloaltonetworks.com/KCSArticleDetail?id=kA10g000000boQOCAY&lang=es&refURL=http%3A%2F%2Fknowledgebase.paloaltonetworks.com%2FKCSArticleDetail

Choose Language