BlueCat DDI ログを収集する

以下でサポートされています。

このパーサーは、Bluecat DDI(DNS、DHCP、IPAM)からの LEEF 形式と非 LEEF 形式の Syslog メッセージを処理します。grok パターンと条件付きロジックを使用して、さまざまなログタイプ(named、dhcpd、audit、CRON など)からフィールドを抽出し、ログタイプに基づいて UDM にマッピングし、DNS、DHCP、ユーザー関連のフィールドに入力します。

始める前に

  • Google Security Operations インスタンスがあることを確認します。
  • Windows 2016 以降、または systemd を使用した Linux ホストを使用していることを確認します。
  • プロキシの背後で実行している場合は、ファイアウォールのポートが開いていることを確認します。
  • Bluecat への特権アクセス権があることを確認します。

Google SecOps 取り込み認証ファイルを取得する

  1. Google SecOps コンソールにログインします。
  2. [SIEM 設定 > 収集エージェント] に移動します。
  3. 取り込み認証ファイルをダウンロードします。

Google SecOps のお客様 ID を取得する

  1. Google SecOps コンソールにログインします。
  2. [SIEM 設定] > [プロファイル] に移動します。
  3. [組織の詳細] セクションから [お客様 ID] をコピーして保存します。

BindPlane Agent をインストールする

  1. Windows へのインストールの場合は、次のスクリプトを実行します。
    msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quiet
  2. Linux へのインストールの場合は、次のスクリプトを実行します。
    sudo sh -c "$(curl -fsSlL https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh)" install_unix.sh
  3. その他のインストール オプションについては、こちらのインストール ガイドをご覧ください。

Syslog を取り込んで Google SecOps に送信するように BindPlane エージェントを構成する

  1. BindPlane がインストールされているマシンにアクセスします。
  2. config.yaml ファイルを次のように編集します。

    receivers:
        tcplog:
            # Replace the below port <54525> and IP <0.0.0.0> with your specific values
            listen_address: "0.0.0.0:54525" 
    
    exporters:
        chronicle/chronicle_w_labels:
            compression: gzip
            # Adjust the creds location below according the placement of the credentials file you downloaded
            creds: '{ json file for creds }'
            # Replace <customer_id> below with your actual ID that you copied
            customer_id: <customer_id>
            endpoint: malachiteingestion-pa.googleapis.com
            # You can apply ingestion labels below as preferred
            ingestion_labels:
            log_type: SYSLOG
            namespace: bluceat_ddi
            raw_log_field: body
    service:
        pipelines:
            logs/source0__chronicle_w_labels-0:
                receivers:
                    - tcplog
                exporters:
                    - chronicle/chronicle_w_labels
    
  3. BindPlane エージェントを再起動して変更を適用します。

    sudo systemctl restart bindplane
    

Bluecat DDI で Syslog を構成する

  1. Bluecat Address Manager(BAM)にログインします。
  2. [構成] メニューから構成を選択します。
  3. [Servers] タブを選択します。
  4. [サーバー] で BDDS の名前をクリックします。
  5. サーバーの [詳細] タブが開きます。
  6. サーバー名メニューをクリックします。
  7. [Service Configuration] を選択します。
  8. [Service Type> Syslog] をクリックします(アドレス マネージャーがサーバーにクエリを実行し、現在の値を返します)。
  9. [全般] で、次の値を設定します。
    • Syslog Server: Syslog サーバー(Bindplane)の IP アドレス。
    • Syslog Port: Syslog サーバー(Bindplane)のポート。
    • Syslog Transport: Bindplane の構成に応じて、[TCP] または [UDP] を選択します。
  10. [追加] をクリックします。
    • 新しく追加した Syslog サーバーがリストに表示されます。
  11. [更新] をクリックします。

BlueCat DDI で Syslog 設定を構成する

  1. BlueCat Address Manager にログインします。
  2. [構成] > [システム設定] > [ロギング] に移動します。
  3. [Logging Settings] で、[Syslog Servers] セクションを見つけます。
  4. [Add Syslog Server] をクリックします。
  5. 必要な値を指定します。
    • サーバー名: syslog サーバーの一意の名前(BindplaneServer など)。
    • IP アドレス: syslog サーバーの IP アドレスまたはホスト名。
    • プロトコル: TCPUDP(デフォルト)、または TLS(Syslog 構成に基づく)を選択します。
    • ポート: syslog 通信のポート(デフォルト: UDP/TCP の場合は 514、TLS の場合は 6514)を指定します。
  6. [Logging Level] を構成します。ニーズに応じて適切なレベルを選択します。次のようなオプションがあります。
    • 緊急: 直ちに対応が必要な重大な問題
    • アラート: 迅速な対応が必要なアラート
    • 重大: 重大な状態
    • Error: エラーイベント
    • 警告: 警告イベント
    • お知らせ: 正常だが重大なイベント
    • 情報: 情報メッセージ
    • デバッグ: 詳細なデバッグ情報
  7. 省略可: ログを分類するカスタム Syslog 施設を追加します(local0local1 など)。
  8. 構成を保存します。

DDI アプライアンスに Syslog 設定を適用する

  1. [サーバー] > [サーバー管理] に移動します。
  2. syslog を有効にする DNS/DHCP サーバーを選択します。
  3. [サーバーを編集] をクリックします。
  4. [ロギング] セクションで次の操作を行います。
    • 前に構成した syslog サーバーを選択します。
    • 特定のサービス(DNS クエリDHCP リースなど)のロギングを有効にします。
    • 変更を保存します。

UDM マッピング テーブル

ログフィールド UDM マッピング ロジック
client_ip network.dhcp.ciaddr DHCPREQUEST メッセージから抽出されます。DHCPREQUEST メッセージの場合のみ入力されます。
client_mac principal.mac DHCP メッセージ(DHCPDISCOVER、DHCPREQUEST、DHCPRELEASE)から抽出されます。
client_mac target.mac DHCP メッセージ(DHCPOFFER、DHCPNAK)から抽出されます。
client_mac network.dhcp.chaddr DHCP メッセージ(DHCPREQUEST、DHCPOFFER、DHCPACK、DHCPNAK、DHCPRELEASE)から抽出されます。
cmd target.process.command_line CRON ログから抽出されます。アンパサンドとスペースは削除されます。
description metadata.description さまざまなログタイプから抽出され、追加のコンテキストを提供します。
description metadata.description syslog-ng ログから抽出され、追加のコンテキストを提供します。
file_path target.file.full_path さまざまなログタイプから抽出され、ファイルのフルパスを表します。
file_path target.process.file.full_path agetty ログから抽出されたもので、プロセスに関連するファイルのフルパスを表します。
inner_message metadata.description オペレーション タイプが定義されていない場合の GENERIC_EVENT の説明と、MEM-MON ログに使用されます。
metadata.event_type ログタイプとコンテンツに基づいてパーサーによって決定されます。有効な値は、NETWORK_DNS、NETWORK_DHCP、USER_LOGIN、USER_LOGOUT、USER_UNCATEGORIZED、GENERIC_EVENT、STATUS_UPDATE、NETWORK_CONNECTION です。常に「BLUECAT_DDI」です。
metadata.vendor_name 常に「Bluecat Networks」です。
metadata.product_name 常に「Bluecat DDI」です。
metadata.event_timestamp ログエントリの解析されたタイムスタンプからコピーされます。
network.protocol DNS ログの場合は「DNS」、DHCP ログの場合は「DHCP」に設定します。
network.dns.answers 回答レコードを含む配列。answers 内の data フィールドには、target_ip が存在する場合は target_ip が入力されます。
network.dns.questions 質問レコードを含む配列。name フィールドには target_host が設定され、type フィールドは query_type フィールドまたは question_type フィールドから派生し、class フィールドは qclass フィールドから派生します。
network.dns.recursive rec_flag が「+」の場合は「true」に設定します。
qclass network.dns.questions.class DNS クエリログから抽出され、dns_query_class_mapping.include ファイルを使用して整数値にマッピングされます。
query_type network.dns.questions.type DNS クエリログから抽出され、dhcp_qtype_mapping.include ファイルを使用して整数値にマッピングされます。
relay_ip intermediary.ip DNS ログと DHCP ログから抽出されます。リレー サーバーまたは中間サーバーの IP アドレスを表します。
server_host target.hostname さまざまなログタイプから抽出され、サーバーのホスト名を表します。
server_host network.dhcp.sname DHCP ログから抽出されたもので、サーバー ホスト名を表します。
server_host principal.hostname systemd、agetty、一部の監査ログから抽出され、プリンシパルのホスト名を表します。
server_ip target.ip LEEF 形式のログから抽出されたもので、サーバーの IP アドレスを表します。
src_ip principal.ip さまざまなログタイプから抽出され、送信元 IP アドレスを表します。
src_ip network.dhcp.yiaddr DHCPINFORM メッセージで yiaddr フィールドに値を設定するために使用されます。
src_port principal.port さまざまなログタイプから抽出され、送信元ポートを表します。
src_user principal.user.userid CRON と監査ログから抽出され、ユーザー ID を表します。
target_host target.hostname さまざまなログタイプから抽出され、ターゲット ホスト名を表します。
target_host network.dns.questions.name DNS ログでクエリ名を入力するために使用されます。
target_ip target.ip さまざまなログタイプから抽出され、ターゲット IP アドレスを表します。
target_ip network.dhcp.ciaddr BOOTREQUEST メッセージで ciaddr フィールドに値を設定するために使用されます。
target_ip network.dns.answers.data DNS ログで回答データを入力するために使用されます。
tgt_port target.port syslog-ng ログから抽出され、ターゲット ポートを表します。

変更点

2022-11-08

  • log_type が「agetty」、「syslog-ng」、「systemd」の新しい取り込まれたログに grok を追加しました。
  • log_type の grok パターン(「named」、「systemd」、「CRON」、「agetty」、「syslog-ng」)と、上記の log_type のフィールドのそれぞれのマッピングを追加しました。

2022-09-01

  • 汎用イベントの割合を減らすため、event_type を「GENERIC_EVENT」から「USER_UNCATEGORIZED」に変更しました。

2022-08-16

  • UDM マッピングを追加しました
  • metadata.vendor_name を「Bluecat Networks」に変更
  • metadata.product_name を「Bluecat DDI」に変更

2022-05-05

  • query_type フィールドのチェックを追加しました。