Apache Kafka のリモートロギング

このリファレンスには、Apache Kafka のリモートロギングで使用可能なすべての環境設定が含まれています。

Compliance Reporter (コンプライアンス報告者) 用のリモートエンドポイントロギング証明書を生成する

リモートエンドポイントのデータをログ記録する場合、ログを受信するサーバを検証するための証明書が必要です。最良の方法は、クライアントの接続先となる完全な証明書チェーンを手動で定義することです。このプロセスは初期設定時にのみ適用されます。設定の検証後、Jamf Pro の構成プロファイルを使用して、本番環境のエンドポイントに証明書を展開することができます。詳しくは、Jamf Pro 管理者ガイドコンピュータ構成プロファイルをご参照ください。

  1. Terminal (ターミナル) で以下を実行し、証明書ファイルへの完全な出力を取得します。
    echo -n | openssl s_client -showcerts -connect HOSTNAME:PORT
  2. BEGIN CERTIFICATE および END CERTIFICATE の行を含む、証明書のテキストを別々の .txt ファイルへコピーします。例:
    -----BEGIN CERTIFICATE-----
    MIIFazCCBFOgAwIBAgISBIuX8OD2k1mBKORs6oCdBeaFMA0GCSqGSIb3DQEBCwUA
    MEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD
    ...(truncated for readability)
    -----END CERTIFICATE-----
  3. .txt ファイルの名前を .pem ファイルへ変更し、ダブルクリックしてファイルをシステムキーチェーンにインポートします。

    出力は以下のように表示されるはずです。

    $ ls -la certs.d
    server-leaf-cert.pem
    intermediate-ca.pem
    root-ca.pem
    $ cat server-leaf-cert.pem
    -----BEGIN CERTIFICATE-----
    MIIFazCCBFOgAwIBAgISBIuX8OD2k1mBKORs6oCdBeaFMA0GCSqGSIb3DQEBCwUA
    MEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD
    ...(truncated for readability)
    -----END CERTIFICATE----- 

Compliance Reporter (コンプライアンス報告者) 用の Apache Kafka 自己署名証明書を生成する

自己署名証明書を使用している Apache Kafka サーバを使用する場合、証明書を生成して TLSServerCertificate 環境設定キーを構成する必要があります。証明書の検証要件に基づき、TLSServerCertificate 環境設定において、認証局を署名済みのサーバ証明書と組み合わせる必要があります。

  1. Terminal (ターミナル) で、以下のコマンドを実行し、トラストストアを .p12 ファイルにコピーします。
    /usr/bin/keytool -importkeystore -srckeystore kafka-server.truststore.jks -destkeystore kafka-server-truststore-copy.p12 -srcstoretype jks -deststoretype pkcs12
  2. 以下のコマンドを実行し、生成した .p12 ファイルを Compliance Reporter (コンプライアンス報告者) が要求する .pem ファイルフォーマットに変換します。
    /usr/bin/openssl pkcs12 -in kafka-server-truststore-copy.p12 -out kafka-server-truststore-copy.pem
  3. 以下のコマンドを実行し、認証局の .pem ファイルと自己署名済みサーバ公開証明書を連結します。
    /bin/cat "kafka-server-truststore-copy.pem" "kafka-server-public-cert" > copy_everything_in_here_to_TLSServerCertificate_pref.txt
  4. 以下のコマンドを実行し、証明書を .txt ファイルにコピーします。
    /bin/cat "copy_everything_in_here_to_TLSServerCertificate_pref.txt"
    -----BEGIN CERTIFICATE-----
    MIID3DCCAsQCCQC+fcrOm+zE4DANBgkqhkiG9w0BAQsFADCBrzELMAkGA1UEBhMC
    VVMxDTALBgNVBAgMBE5vbmUxDzANBgNVBAcMBlNlY3JldDEUMBIGA1UECgwLY21k
    U2VjdXJpdHkxGjAYBgNVBAsMEU1hZ2ljYWwgTXlzdGVyaWVzMS8wLQYDVQQDDCZl
    bWFpbC5kYW4uYWJvdXQuam9iLmF0LmNtZHNlY3VyaXR5LmNvbTEdMBsGCSqGSIb3
    DQEJARYOZGFuQGNtZHNlYy5jb20wHhcNMTkwNTE1MDUzMTM1WhcNMjkwNTEyMDUz
    MTM1WjCBrzELMAkGA1UEBhMCVVMxDTALBgNVBAgMBE5vbmUxDzANBgNVBAcMBlNl
    Y3JldDEUMBIGA1UECgwLY21kU2VjdXJpdHkxGjAYBgNVBAsMEU1hZ2ljYWwgTXlz
    dGVyaWVzMS8wLQYDVQQDDCZlbWFpbC5kYW4uYWJvdXQuam9iLmF0LmNtZHNlY3Vy
    aXR5LmNvbTEdMBsGCSqGSIb3DQEJARYOZGFuQGNtZHNlYy5jb20wggEiMA0GCSqG
    SIb3DQEBAQUAA4IBDwAwggEKAoIBAQDO42BoNMw3gxNKlSTW1BeNeykYsz4rUBSF
    Yv1gQmwZVGPJo5vSSMsrl6PDNEvFkGyWIG9R1FlzYrFnVj7rYhTXYXHluTRj+1Hg
    JIfGztXYZCj6mCZ9lSobBnkaY8quiGBzxS7VhkKukiAUzCBKcNR9gSHqKGynFuY9
    63HI9jRIVlOBfCe23La8BH+vLzKswYUvUXQmeyz9sDUn5ZKvatq7VJb9qD7JIl1L
    hF+kuXtKgaTrmDTR8Gl/asPNXCVMop+1W8eZ+Lb1Wrm0/EepSVV90fkvOupYeCXz
    detU8MVzUY7ZX+FmFERDznSMtuX7i8llRMw3y6A/EPK4xjLoxdpVAgMBAAEwDQYJ
    KoZIhvcNAQELBQADggEBAL4Yi9B2h/mp/gNvvuJ09G8H9BlVXvjxlLfM5+nKvecP
    1oe5mekoPMiNspTvi3+64z+9znwELcWfKAww2iQHV1wj552URvBkhWa3IHZkgCDh
    6tILUpwXLx4xc0H1t2/JGj27yjSwyNZftAMjqver8oiv/s0c14YMy+AUac834kFz
    xSYVLNPz65FdZKVLEnncwpEB5Rj75oZL5gflfT/tMKY2luiVEh9kM9iuXwTPtM9m
    CkqKXC6s9SVg66PrvvZUARtUhU++/jsJYQUhWcdiZUOenYBIN3VuCQ+/1G4IGRvo
    RPS9rXKcnGAXz1+K13YXc0MzY6ESkcRj79MB0VX828U=
    -----END CERTIFICATE-----
    -----BEGIN CERTIFICATE-----
    MIIDqTCCApECCQDWiXa1rlad3TANBgkqhkiG9w0BAQUFADCBrzELMAkGA1UEBhMC
    VVMxDTALBgNVBAgMBE5vbmUxDzANBgNVBAcMBlNlY3JldDEUMBIGA1UECgwLY21k
    U2VjdXJpdHkxGjAYBgNVBAsMEU1hZ2ljYWwgTXlzdGVyaWVzMS8wLQYDVQQDDCZl
    bWFpbC5kYW4uYWJvdXQuam9iLmF0LmNtZHNlY3VyaXR5LmNvbTEdMBsGCSqGSIb3
    DQEJARYOZGFuQGNtZHNlYy5jb20wHhcNMTkwNTE1MDUzMzIzWhcNMjkwNTEyMDUz
    MzIzWjB9MQswCQYDVQQGEwJVUzENMAsGA1UECBMETm9uZTENMAsGA1UEBxMETm9u
    ZTEZMBcGA1UEChMQY21kU2VjdXJpdHksIGluYzEbMBkGA1UECxMSam9iIGF0IGNt
    ZHNlY3VyaXR5MRgwFgYDVQQDEw9lbWFpbCBkYW4gYWJvdXQwggEiMA0GCSqGSIb3
    DQEBAQUAA4IBDwAwggEKAoIBAQCJUj6iPn5ix6rkerXF/Sq/lmxuyN7d5UCKoZin
    cilLtMbiuTF+YD9m79dtty/tS+b8RPlsGBwlZswHQcRg0Jy+2zCg0av4a6GnAQSt
    l49mKxs79g3jBbEcO8q1rIuB/7qxtOeRK+Bfzm8R9orV/p+Ec4Ba13px9uOPRKGm
    6lzAu4+LpleHXfyKQyeIqyadcBLIhr3nJATufTZlB8eD91zvQ9PMaWDq4KEms5HH
    IruwqXN2tjNeMGVtl+G2CK/ilkIkPZ5k5QtJqZyBroDsrA2SF04Lc9+jEoYErzvd
    UP1MmUwe+6XxIHfUmGzsA58tgmTnveB1eMnP7Tz47Yp/vfe9AgMBAAEwDQYJKoZI
    hvcNAQEFBQADggEBAK703fNWyzv0/t/GnMdFkMbSlm2Efd3w2xQYfge7XIl1Tkhf
    bx0bFSMqAPgyBR8uADS/cwDwnLG22Fcb7L3IMcLIuGqwtLhYQEkgQN/fyn+fXoFA
    9R/DeOdwXFjW2sNgluz9Zav4eqgVAb18S0TgsNDtBqoDZe7Mx/hll764icgsM5fi
    DJEe0/DuI/5nK9OSN9glC0pAoTG98GlgNX2f3d581FowTQxOAoGxYfSZT8TnjQZl
    BW0AYoVfDxpc2qYIeh7CcL4ggC55Iq4amxmEwXRUpmdDwoOPWjmJXiFdjh2Cldpe
    Ut3xLrRoo4oIcWELzuGujrl/BOtU7InAJgC2yqY=
    -----END CERTIFICATE-----

一般的なリモートロギングの環境設定キー

ドメイン
com.jamf.compliancereporter

リモートロギングを有効にするには、SIEM 固有の環境設定キーに加えて、以下の一般的な環境設定キーを構成する必要があります。

キー説明
LogRemoteEndpointEnabled

ログデータのネットワーク伝送を有効にします。

<key>LogRemoteEndpointEnabled</key>
<true/>
LogRemoteEndpointURL

ログデータが送信される URL です。すべてのリモートロギングのタイプに適用されます。Splunk を使用する場合、URL に /services/collector/raw を付加してください。syslog TLS を使用する場合、URL の先頭に 「tls://」を付けてください。

<key>LogRemoteEndpointURL</key>
<string>https://server.address.com:9093</string>
LogRemoteEndpointType
リモートログのアグリゲーションサーバのタイプです。使用するアグリゲーションサーバに応じて、以下のいずれかを使用します。
  • Splunk: "Splunk"

  • Apache Kafka: "Kafka"

  • TLS: "TLS"

  • REST エンドポイント: "REST"

  • Syslog TLS: "Syslog5424" または "syslog3164"

  • Amazon Kinesis: "AWSKinesis"

<key>LogRemoteEndpointType</key>
<string>サーバ名</string>

Apache Kafka のリモートロギングの環境設定キー

ドメイン
com.jamf.compliancereporter
キー説明
LogRemoteEndpointKafka

(必須) Kafka 環境設定のためのコンテナディクショナリ。

<key>LogRemoteEndpointKafka</key>
<dict></dict>
TLSServerCertificate

(必須) システムキーチェーンに保存されているパブリック TLS 証明書チェーンのコモンネーム。これは、Kafka の内部設定 ssl.ca.location にマップされます。Compliance Reporter (コンプライアンス報告者) は、ファイルパスへの変換を行います。

<key>TLSServerCertificate</key>
  <array>
    <string>server_name.company.com</string>
    <string>Let's Encrypt Authority X3</string>
    <string>DST Root CA X3</string>
  </array>
TLSClientPrivateKey

複合化されたパスワードレスのクライアントのプライベートキー (.Pem ファイル形式)。これは、Kafka の内部設定「ssl.key.location」にマップされます。Compliance Reporter (コンプライアンス報告者) は、ファイルパスへの変換を行います。

<key>TLSClientPrivateKey</key>
  <string>-----BEGIN CERTIFICATE-----
{variable sized random bytes}
-----END CERTIFICATE-----</string>
TLSClientCertificate

システムキーチェーンに保存されているクライアント証明書のコモンネーム。これは、Kafka の内部設定「ssl.certificate.location」にマップされます。Compliance Reporter (コンプライアンス報告者) は、ファイルパスへの変換を行います。

<key>TLSClientCertificate</key>
    <array>
    <string>Client Certificate CN</string>
  </array>
TopicName

Kafka サーバのルーティングカテゴリ。

<key>TopicName</key>
  <string>Compliance Reporter</string>