Global Protect Client-Zertifikat Auth-Fehler bei Leer CN

Global Protect Client-Zertifikat Auth-Fehler bei Leer CN

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


Symptom


Globalprotect Die Clientzertifikatauthentifizierung schlägt fehl, obwohl das richtige Clientzertifikat auf dem Client installiert ist PC und der Aussteller auf der als "Vertrauenswürdig" konfiguriert CA Firewall ist. 

Die VPN Verbindung schlägt fehl, obwohl das beabsichtigte Zertifikat vom Client abgeholt Globalprotect und an den Server für die Clientzertifikatauthentifizierung gesendet wird, wenn der Antragsteller CN auf dem Clientzertifikat leer ist.

Die Client-Seitenprotokolle zeigen die folgenden Fehler an.
(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
Bei der firewall Überprüfung der globalen Leistungsindikatoren für diese Verbindung.
Konfigurieren Sie "Filter verwalten" mit der Quelle IP des und dem Ziel als Adresse der PC IP IP Schnittstelle, die das Portal und Gateway Globalprotect beendet. 
Wenn sich der Client im Internet befindet, verwenden Sie die NATted Public IP des Clients PC . 
Aktivieren Sie dann den Filter, und führen Sie den folgenden Befehl einmal aus. Die erste Ausgabe kann ignoriert werden.
> show counter global filter packet-filter yes delta yes
Versuchen Sie, eine Verbindung mit dem Portal und dem Gateway über den Benutzer PC herzustellen, der das Problem hat. 
Warten Sie einige Zeit, und führen Sie den folgenden Befehl erneut aus.
> show counter global filter packet-filter yes delta yes
Überprüfen Sie die globalen Leistungsindikatoren, um festzustellen, ob der folgende Leistungsindikator vorhanden ist.
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
Wenn Packet Diag-Protokolle für diese Verbindung mit den Funktionen "flow basic" "ssl basic" und "proxy basic" verwendet werden, sind die folgenden Protokolle in der Paketdiagnoseausgabe zu sehen.
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


  • Globaler Schutz mit Zertifikatsauthentifizierung
  • Pan-OS 8.0


Cause


  • Ein leeres CN Clientzertifikat wird von PA firewall 8.0 nicht unterstützt
  • Ab 8.1 gibt es serverseitig keine Einschränkung für leere CN


Resolution


  1. Holen Sie sich das Clientzertifikat, das vom Server neu ausgestellt CA wurde, sodass es einen Betreff CN enthält.
  2. Installieren Sie dann dieses neue Zertifikat auf dem PC Client, und testen Sie die Verbindung erneut.
Die Verbindung sollte nun erfolgreich sein.


Additional Information



Firewall folgenden RFC Anforderungen .  

https://datatracker.ietf.org/doc/html/rfc5280#section-4.2.1.6 RFC Details: "Wenn das Betrefffeld eine leere Sequenz enthält, enthält die Ausgabe CA MUST eine subjectAltName-Erweiterung, die als kritisch markiert ist."     

Firewall Führt eine zusätzliche Prüfung durch, wenn ein leeres CN/subject vorhanden ist, dass das SAN Feld des Zertifikats als "kritische" Erweiterung markiert ist.Dies dient dazu, sicherzustellen, dass das Zertifikat dem angegebenen RFCentspricht. 

Hier sind einige Debug-Protokolle, wenn SAN sie nicht als "kritisch" markiert sind:
 
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

Auf 8.1 und höher, wenn Sie ein Zertifikat generieren, das einen leeren Betreff hat (was in Ordnung ist) und hat SAN (was in Ordnung ist), aber SAN Erweiterung MUST als "kritisch" markiert werden, damit das Zertifikat von RFCist.
Wenn dies nicht der Fall ist, würde ein Fehler auftreten - was wiederum in Ordnung ist, PAN-OS da Zertifikate nicht als solche erstellt werden sollten. 



 


Actions
  • Print
  • Copy Link

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

Choose Language