Global Protect Client certificat Auth Échec avec Vide CN

Global Protect Client certificat Auth Échec avec Vide CN

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


Symptom


Globalprotect L’authentification du certificat client échoue même si le certificat client correct est installé sur le client PC et que l’émetteur est configuré comme « CA Confiance » sur le Firewall . 

La connexion échouera même si le certificat prévu est récupéré par le client et envoyé au serveur pour VPN Globalprotect l’authentification du certificat client si le sujet CN est vide sur le certificat client.

Les journaux côté client afficheraient les erreurs ci-dessous.
(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
Sur le firewall chèque les compteurs mondiaux pour cette connexion.
Configurez « Gérer le filtre » avec la source IP de la destination et la destination comme adresse de PC IP IP l’interface qui met fin au Globalprotect portail et à la passerelle. 
Si le client est sur Internet, utilisez le public natted IP du client PC . 
Activez ensuite le filtre et exécutez la commande ci-dessous une fois. La première sortie peut être ignorée.
> show counter global filter packet-filter yes delta yes
Essayez de vous connecter au portail et à la passerelle de PC l’utilisateur qui a le problème. 
Attendez un certain temps et exécutez à nouveau la commande ci-dessous.
> show counter global filter packet-filter yes delta yes
Vérifiez les compteurs Global pour voir si le compteur ci-dessous est présent.
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 les journaux Diag packet sont pris pour cette connexion avec des fonctionnalités de base de flux " ssl basic " et " proxy basic « , les journaux ci-dessous peuvent être vus dans la sortie diag du paquet.
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


  • Protection globale avec l’authentification des certificats
  • Pan-OS 8.0


Cause


  • Le fait d’avoir un vide CN sur le certificat client n’est pas pris en charge par la PA firewall version 8.0
  • À partir de 8.1, il n’y a aucune restriction sur le vide CN côté serveur


Resolution


  1. Obtenez le certificat client rééd lui-même à partir CA du serveur de sorte qu’il contient un sujet CN .
  2. Ensuite, installez ce nouveau certificat sur le Client PC et testez à nouveau la connexion.
La connexion devrait maintenant être réussie.


Additional Information



Firewall exigences suivantes RFC .  

https://datatracker.ietf.org/doc/html/rfc5280#section-4.2.1.6 RFC Détails : « Si le champ objet contient une séquence vide, alors l’émission CA MUST inclut une extension subjectAltName qui est marquée comme critique. »     

Firewall Effectue une vérification supplémentaire s’il y a un /subject vide CNque le SAN champ du certificat est marqué comme extension « critique ».C’est pour s’assurer que le certificat est conforme au fichier RFC. 

Voici quelques journaux de débogage lorsqu’ils SAN ne sont pas marqués comme « critiques » :
 
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

Sur 8.1 et versions ultérieures si vous générez un certificat qui a un objet vide (ce qui est bien) et a SAN (ce qui est bien), mais SAN que l’extension MUST doit être marquée comme « critique » pour que le certificat soit par RFC.
Si ce n'est pas le cas, il manquerait une erreur - ce qui est, encore une fois, bien, PAN-OS car les certificats ne devraient pas être faits en tant que tels. 



 


Actions
  • Print
  • Copy Link

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

Choose Language