IBM Support

QRadar: 完全な証明書チェーンを確認して取得する方法

How To


Summary

QRadar の管理者は、中間証明書、ルート証明書、またはその両方が見つからないために、次のようなエラー " certificate validation failed "を受け取ることがあります。この技術書では、コマンドラインから完全な証明書チェーンを確認し、取得する方法について、さまざまな方法をについて説明します。

Objective

QRadar 管理者は、証明書の検証に失敗したというエラー・メッセージが表示されないよう、証明書の完全なチェーンをインポートする必要があります。

Environment

QRadar が証明書を検証するための CA (認証局) の完全なチェーンを持っていないと、以下のエラーが発生する可能性があります。

hostcontext サービスは、完全な証明書チェーンがないことを示すために、次のエラーを表示することができます。
[hostcontext.hostcontext] [Server Host Status Processor] com.q1labs.frameworks.crypto.trustmanager.CertificateValidator: 
[ERROR] [NOT:0000003000][a.b.c.d/- -] [-/- -]checkCertificatePinning failed.
または

ecs-ec-ingress サービスは、完全な証明書チェーンがないことを示すために、以下のエラーを表示することがあります。
[ecs-ec-ingress.ecs-ec-ingress] [Akamai Kona REST API Protocol Provider Thread: 
class com.q1labs.semsources.sources.akamaikonarestapi.AkamaiKonaRESTAPIProvider148] 
com.q1labs.frameworks.crypto.trustmanager.Q1X509TrustManager: 
[INFO] [NOT:0000006000][a.b.c.d/- -] [-/- -]Audit logging msg:(ecs-ec-ingress) 
Server Certificate Validation failed. chain:[0]X509Certificate : 
{ SubjectDN : CN=*.luna.akamaiapis.net, O="Akamai Technologies, Inc", L=Cambridge, 
ST=Massachusetts, C=US, IssuerDN : CN=DigiCert TLS RSA SHA256 2020 CA1, O=DigiCert Inc, 
C=US},[1]X509Certificate :  { SubjectDN : CN=DigiCert TLS RSA SHA256 2020 CA1, O=DigiCert 
Inc, C=US, IssuerDN : CN=DigiCert Global Root CA, OU=www.digicert.com, O=DigiCert Inc, C=US}, 
exception:com.q1labs.frameworks.crypto.trustmanager.exceptions.Q1CertificateException: checkCertificatePinning failed.
完全な証明書チェーンを分析し、確認するために役立つ方法がいくつかあります。
  1. 証明書が商業的に署名されている場合は、チェーンに従って、ベンダーの Web サイトから中間証明書またはルート証明書をダウンロードする。
  2. 証明書の AIA ( Authority Information Access ) フィールドから取得する。
  3. openssl の出力から直接証明書を取得する。
どの方法を使用する場合でも、管理者はすべての中間証明書とルート証明書をオペレーティング・システムの信頼できるフォルダー  /etc/pki/ca-trust/source/anchors にコピーし、次のコマンドを実行する必要があります。
update-ca-trust

Steps

証明書をインストールする QRadar コンソールまたは管理対象ホストに SSH で接続し、以下のコマンドを実行します。
1. ベンダーの Web ページから直接取得する
  1. 次のコマンドを実行して、証明書から発行者の情報を取得します。
    # openssl x509 -noout -issuer -subject -dates -in cert_filename.pem
    issuer= /C=US/O=Let's Encrypt/CN=R3
    subject= /CN=logs-console-00xxx.qradar.ibmcloud.com
    notBefore=Aug 22 20:15:21 2022 GMT
    notAfter=Nov 20 20:15:20 2022 GMT
  2. この例では、Let's Encrypt R3 が発行した証明書を使用しています。Let's Encrypt のウェブサイトを検索すると、R3 中間証明書へのリンクがあります。 https://letsencrypt.org/certs/lets-encrypt-r3.pem
  3. lets-encrypt-r3.pem ファイルをダウンロードし、lets-encrypt-r3.pem ファイルに対して手順 1 と同じコマンドを実行して、ルート証明書に関する情報を取得します。
    # openssl x509 -noout -issuer -subject -dates -in lets-encrypt-r3.pem
    issuer= /C=US/O=Internet Security Research Group/CN=ISRG Root X1
    subject= /C=US/O=Let's Encrypt/CN=R3
    notBefore=Sep  4 00:00:00 2020 GMT
    notAfter=Sep 15 16:00:00 2025 GMT
  4. Let's Encrypt のウェブサイトを再度検索すると、管理者はルート証明書へのリンクを見つけることができます。  https://letsencrypt.org/certs/isrgrootx1.pem.
2. 証明書の AIA ( Authority Information Access ) フィールドから取得する
  1. 次のコマンドを実行して、証明書から完全な情報を表示します。
    # openssl x509 -noout -text -in cert_filename.pem
  2. Authority Information Access のセクションに、発行者の証明書へのリンクが表示されます。
    Authority Information Access:
        OCSP - URI:http://status.thawte.com
        CA Issuers - URI:http://cacerts.thawte.com/ThawteRSACA2018.crt
  3. 同じ方法を使用するか、方法 1 を組み合わせて、次の発行者の証明書を見つけます。
  4. 多くの場合、ダウンロードされた証明書は DER(.crt .cer .der)形式です。管理者は、以下のコマンドを使用して、DER 形式の証明書を PEM 形式に変換することができます。
    openssl x509 -inform der -in filename.cer -out filename.pem
3. openssl 出力から直接取得する
この方法は、サード・パーティーのサービスと統合されていて、管理者が証明書ファイルを手元に持っていない場合によく使用されます。 一部のサード・パーティーは、サービスへのハンドシェイク中に証明書バンドルを提供しています。 この技術書では、例として https://sbpasc.api.cloud.extrahop.com を取り上げます。
  1. 次のコマンドを実行して、サービスによって提供されるチェーンを確認します。
    openssl s_client -connect sbpasc.api.cloud.extrahop.com:443 -verify 5 -showcerts </dev/null
  2. 出力には、証明書の完全な長いチェーンが表示されます。
    verify depth is 5
    CONNECTED(00000003)
    depth=4 C = US, O = "Starfield Technologies, Inc.", OU = Starfield Class 2 Certification Authority
    verify return:1
    depth=3 C = US, ST = Arizona, L = Scottsdale, O = "Starfield Technologies, Inc.", CN = Starfield Services Root Certificate Authority - G2
    verify return:1
    depth=2 C = US, O = Amazon, CN = Amazon Root CA 1
    verify return:1
    depth=1 C = US, O = Amazon, OU = Server CA 1B, CN = Amazon
    verify return:1
    depth=0 CN = *.lb.cloud.extrahop.com
    verify return:1
    ---
    Certificate chain
     0 s:/CN=*.lb.cloud.extrahop.com
       i:/C=US/O=Amazon/OU=Server CA 1B/CN=Amazon
    -----BEGIN CERTIFICATE-----
    <redacted>
    -----END CERTIFICATE-----
     1 s:/C=US/O=Amazon/OU=Server CA 1B/CN=Amazon
       i:/C=US/O=Amazon/CN=Amazon Root CA 1
    -----BEGIN CERTIFICATE-----
    <redacted>
    -----END CERTIFICATE-----
     2 s:/C=US/O=Amazon/CN=Amazon Root CA 1
       i:/C=US/ST=Arizona/L=Scottsdale/O=Starfield Technologies, Inc./CN=Starfield Services Root Certificate Authority - G2
    -----BEGIN CERTIFICATE-----
    <redacted>
    -----END CERTIFICATE-----
     3 s:/C=US/ST=Arizona/L=Scottsdale/O=Starfield Technologies, Inc./CN=Starfield Services Root Certificate Authority - G2
       i:/C=US/O=Starfield Technologies, Inc./OU=Starfield Class 2 Certification Authority
    -----BEGIN CERTIFICATE-----
    <redacted>
    -----END CERTIFICATE-----
    
    
    
  3. 管理者は、'-----BEGIN CERTIFICATE-----' と '-----END CERTIFICATE-----' の間の証明書部分を、対応する証明書のファイルにコピーできます。 ただし、管理者は次のコマンドを実行することで、証明書を別々のファイルにエクスポートすることができます。
    openssl s_client -connect sbpasc.api.cloud.extrahop.com:443 -verify 5 -showcerts </dev/null |  awk '/BEGIN CERTIFICATE/,/END CERTIFICATE/{if(/BEGIN CERTIFICATE/){n++}; out="cert"n".pem"; print >out}'
  4. コマンドの出力は、ステップ 2 で実行したコマンドの出力セクションにあるように、depth=0, depth=1, ...に対応するファイル cert1.pem, cert2.pem, ...が作成されます。
    [root@trinhh-qr742-3199-11153 extrahop]# ls -l
    -rw-r--r--   1 root root 2106 Sep 15 18:17 cert1.pem
    -rw-r--r--   1 root root 1545 Sep 15 18:17 cert2.pem
    -rw-r--r--   1 root root 1647 Sep 15 18:17 cert3.pem
    -rw-r--r--   1 root root 1606 Sep 15 18:17 cert4.pem
    

Additional Information

  • 証明書が使用されるコンポーネントによっては、管理者は対応する QRadar サービスを再起動する必要がある場合があります。
  • この技術書に記載されている 3 つの方法で問題が解決しない場合、QRadar 管理者は、証明書を提供したサード・パーティーにチェーンを要求する必要があります。
  • 証明書のトラブルシューティングの詳細については、 QRadar: How to verify certifcate connections by using OpenSSL を参照してください。

Document Location

Worldwide

[{"Type":"MASTER","Line of Business":{"code":"LOB24","label":"Security Software"},"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Product":{"code":"SSBQAC","label":"IBM Security QRadar SIEM"},"ARM Category":[{"code":"a8m0z000000cwsyAAA","label":"Admin Tasks"}],"ARM Case Number":"","Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"All Versions"}]

Document Information

Modified date:
27 December 2022

UID

ibm16847255