Global Protect Client-Zertifikat Auth-Fehler bei Leer CN
65180
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. RetryBei 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 yesVersuchen 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 validationWenn 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
- Holen Sie sich das Clientzertifikat, das vom Server neu ausgestellt CA wurde, sodass es einen Betreff CN enthält.
- Installieren Sie dann dieses neue Zertifikat auf dem PC Client, und testen Sie die Verbindung erneut.
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.