空のグローバル保護クライアント証明書の認証失敗 CN

空のグローバル保護クライアント証明書の認証失敗 CN

59376
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


  1. から再発行されたクライアント証明書を取得します。CAサブジェクトを含むサーバーCN.
  2. 次に、この新しい証明書をクライアントにインストールします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証明書はそのように作成されるべきではないため、これも問題ありません。 



 


Actions
  • Print
  • Copy Link

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

Choose Language