空のグローバル保護クライアント証明書の認証失敗 CN
65170
Created On 03/25/19 06:17 AM - Last Modified 03/03/23 01:58 AM
Symptom
Globalprotect 正しいクライアント証明書がクライアントにインストールされていても、クライアント証明書の認証が失敗するPC発行者は「信頼済み」として構成されていますCA」Firewall .
のVPN目的の証明書が取得されても接続は失敗します。Globalprotect Subject の場合、クライアント証明書認証のためにサーバーに送信されます。CNクライアント証明書では空です。
クライアント側のログには、次のエラーが表示されます。
(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上でfirewallこの接続のグローバル カウンタを確認してください。
ソースで「フィルターの管理」を構成するIPのPCと目的地IPとしてIPを終了するインターフェイスのアドレスGlobalprotectポータルとゲートウェイ。
クライアントがインターネットにある場合は、NATted Public を使用しますIPクライアントのPC.
次に、フィルターを有効にして、以下のコマンドを 1 回実行します。 最初の出力は無視できます。
> show counter global filter packet-filter yes delta yesユーザーからポータルとゲートウェイへの接続を試みますPC問題があります。
しばらく待ってから、以下のコマンドを再度実行してください。
> show counter global filter packet-filter yes delta yesグローバル カウンターをチェックして、以下のカウンターが存在するかどうかを確認します。
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「flow basic」、「ssl basic」、および「proxy basic」機能を使用して、この接続の Packet Diag ログを取得すると、以下のログが packet diag 出力に表示されます。
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
- 証明書認証によるグローバル保護
- Pan-OS 8.0
Cause
- 空を持っているCNではサポートされていません。PA firewall 8.0
- 8.1 以降、空の制限はありませんCNサーバー側で
Resolution
- から再発行されたクライアント証明書を取得します。CAサブジェクトを含むサーバーCN.
- 次に、この新しい証明書をクライアントにインストールしますPC接続を再度テストします。
Additional Information
Firewall 続くRFC要件 。 https://datatracker.ietf.org/doc/html/rfc5280#section-4.2.1.6
RFC詳細: 「件名フィールドに空のシーケンスが含まれている場合、発行CA MUST重要とマークされている subjectAltName 拡張子を含めてください。」
Firewall空の場合は追加のチェックを実行しますCN/件名SAN証明書のフィールドは、「重要な」拡張子としてマークされています。これは、証明書が引用されたとおりであることを確認するためです。RFC .
ここにいくつかのデバッグログがありますSAN「重大」とマークされていない:
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
8.1 以降では、サブジェクトが空の (問題ありません) 証明書を生成し、SAN (それでいいです)が、SAN拡大MUST証明書が「クリティカル」とマークされていることRFC.
そうでない場合は、PAN-OS証明書はそのように作成されるべきではないため、これも問題ありません。