QRadar での証明書ベースの認証のセットアップ

IBM QRadarTLS における TCP との IBM Disconnected Log Collector 通信では、証明書に基づく通信が使用され、エンドエンティティからルート証明書に至るまで、ハードウェアおよびソフトウェアの有効性が検証される信頼の連鎖が確立されます。

始める前に

信頼できる認証局 (CA) から発行されたルート証明書が必要です。 通常は、 Disconnected Log Collector コンピューターと QRadar コンピューターで同じルート証明書を使用します。 ルート証明書に分かりやすい名前 (root-ca.cer など) が付いていることを確認します。 client_root_ca.crt ファイルは X.509 形式でなければなりません。

署名者が中間 CA を使用している場合は、中間 CA のルート証明書をトラストストアにインポートすることも必要です。 この場合は、 QRadar サーバーのトラストストアではなく、独自のトラストストアを使用してください。

重要: 環境内に複数の Disconnected Log Collectorが存在する場合は、 Disconnected Log Collector の接続先の QRadar システムで以下のステップを 1 回のみ実行してください。

手順

  1. SSH を使用して、 Disconnected Log Collector インスタンスからイベントを受信する Event CollectorEvent Processor、または QRadar Console にログインします。
  2. ルート証明書を /etc/pki/ca-trust/source/anchors ディレクトリーにコピーします。
  3. 独自のトラストストアを使用している場合は、以下のコマンドを入力して、クライアント証明書の CA と中間 CA を独自のトラストストアに追加します。
    keytool -import -alias client_root_ca -file client_root_ca.crt -keystore clientca
    
    keytool -import -alias client_int_ca -file client_int_ca.crt -keystore clientca
    
    重要:
    • client_root_ca.crt ファイルは X.509 形式でなければなりません。
    • 2 番目のコマンドは、証明書が中間 CA によって署名されている場合にのみ実行してください。
  4. デフォルトのトラストストアを使用している場合は、以下のコマンドを入力してデフォルトのトラストストアを更新します。
    update-ca-trust
  5. サーバーの証明書署名要求 (CSR) を構成するには、以下の情報を含むテキスト・ファイルを作成します。
    [ default ]
    # Change the following line to include the FQDN and IP address of the QRadar console or host
    SAN = DNS:<ec.example.com>,IP:<IP_address>
    [ req ]
    default_bits = 2048                        # RSA key size; change to 4096 if required by your
    organization
    encrypt_key = no                           # Protect private key
    default_md = sha256                        # MD to use
    utf8 = yes                                 # Input is UTF-8
    string_mask = utf8only                     # Emit UTF-8 strings
    prompt = no                                # Prompt for DN
    distinguished_name = server_dn             # DN template
    req_extensions = server_reqext             # Desired extensions
    [ server_dn ]
    organizationName = <your_organization_name>
    organizationalUnitName = <your_organizational_unit_name>
    commonName = <common_name>                 # Should match a listed SAN
    [ server_reqext ]
    keyUsage = critical,digitalSignature,keyEncipherment
    extendedKeyUsage = serverAuth,clientAuth
    subjectKeyIdentifier = hash
    subjectAltName = $ENV::SAN
  6. テキスト・ファイルを /tmp/tls-server.conf として、または任意の場所に保存します。
  7. 以下のコマンドを入力して、サーバー証明書署名要求 (CSR) を生成します。
    openssl req -new -config /tmp/tls-server.conf -out /tmp/tls-server.csr -keyout /tmp/tlsserver.key

    サーバー CSR ファイルは /tmp/tls-server.csrに保存され、秘密鍵ファイルは /tmp/tls-server.keyに保存されます。

  8. 署名のために、CSR を内部または商用の認証局に、それぞれの認証局の手順に従って送信します。

    この手順には、CSR ファイルを開き、次の間に含まれるエンコード・テキストのブロックをコピーすることが含まれる場合があります。BEGINおよびENDマーカー。

  9. 返されたサーバー証明書を /tmp ディレクトリーまたは任意の場所にコピーします。
  10. クライアント証明書が PEM ( Base64 ASCII)形式であることを確認してください。 証明書が DER (バイナリー) 形式である場合、以下のコマンドを入力して PEM 形式に変換します。
    openssl x509 -inform der -in <certificate_file_name>.der -out <certificate_file_name>.pem
    ヒント: 証明書のファイル拡張子は、使用されるエンコード方式を必ずしも示すものではありません。 たとえば、拡張子が .cer の証明書には、 Base-64 や DER といったエンコーディングが使用されている場合があります。 通常、証明書要求の手順でエンコード方式を選択します。 証明書を別の形式に変換する OpenSSL コマンドについて詳しくは、インターネットを検索してください。
    PEM ファイルには、BEGINおよびENDマーカー。
  11. お使いのCAが証明書の署名に中間CAを使用している場合は、その中間CAの証明書が PEM ( Base64 ASCII)形式であることを確認してください。 証明書が DER (バイナリ)形式の場合は、 PEM 形式に変換してください(前の手順を参照)。 次に、次のコマンドを入力して、中間 CA 証明書を署名付きサーバー証明書に追加します。
    cat <intermediate_ca_file_name>.pem >> <signed_server_certificate_file_name>.pem
  12. 受け取ったストアのサーバー証明書が、 PKCS#12 形式(Distinguished Encoding Rules( DER )など)でない場合は、クライアント証明書を PKCS#12 形式に変換してください。 以下のコマンドを入力し、プロンプトが出されたらセキュア・パスワードを選択します。
    openssl pkcs12 -inkey /tmp/tlsserver.key -in <signed_server_certificate_file_name>.pem -export -out dlc-server.pfx
  13. プロンプトが出されたら、セキュアなパスワードを選択します。
  14. サーバー証明書を QRadar コンピューターの /opt/qradar/conf/key_stores ディレクトリーにコピーします。 /key_stores フォルダーが存在しない場合は、作成します。

結果

作成した dlc-server.pfx ファイルを使用して、 QRadarDisconnected Log Collector ログ・ソースを構成できます。

次に実行するタスク

QRadar との通信において、 TCP 経由で TLS を設定する