F5 DNS のログを収集する

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

このドキュメントでは、Bindplane を使用して F5 DNS ログを Google Security Operations に取り込む方法について説明します。パーサーは、アプリケーション フィールドに基づいて grok パターンを使用して F5 DNS syslog メッセージからフィールドを抽出し、統合データモデル(UDM)にマッピングします。gtmdmcpdbig3d などのさまざまな F5 アプリケーションを処理し、特定のフィールドを解析して、ログレベルとアプリケーションに基づいて適切な UDM イベントタイプ、重大度、説明を設定します。

始める前に

次の前提条件を満たしていることを確認してください。

  • Google SecOps インスタンス
  • Windows 2016 以降、または systemd を使用する Linux ホスト
  • プロキシの背後で実行されている場合、ファイアウォール ポートが開いている
  • F5 BIG-IP への特権アクセス

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

  1. Google SecOps コンソールにログインします。
  2. [SIEM 設定] > [コレクション エージェント] に移動します。
  3. Ingestion Authentication File をダウンロードします。Bindplane をインストールするシステムにファイルを安全に保存します。

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

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

Bindplane エージェントをインストールする

次の手順に沿って、Windows または Linux オペレーティング システムに Bindplane エージェントをインストールします。

Windows のインストール

  1. 管理者として コマンド プロンプトまたは PowerShell を開きます。
  2. 次のコマンドを実行します。

    msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quiet
    

Linux のインストール

  1. root 権限または sudo 権限でターミナルを開きます。
  2. 次のコマンドを実行します。

    sudo sh -c "$(curl -fsSlL https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh)" install_unix.sh
    

その他のインストール リソース

その他のインストール オプションについては、インストール ガイドをご覧ください。

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

  1. 構成ファイルにアクセスします。
    • config.yaml ファイルを見つけます。通常、Linux の場合は /etc/bindplane-agent/ ディレクトリに、Windows の場合はインストール ディレクトリにあります。
    • テキスト エディタ(nanovi、メモ帳など)を使用してファイルを開きます。
  2. config.yaml ファイルを次のように編集します。

    receivers:
        udplog:
            # Replace the port and IP address as required
            listen_address: "0.0.0.0:514"
    
    exporters:
        chronicle/chronicle_w_labels:
            compression: gzip
            # Adjust the path to the credentials file you downloaded in Step 1
            creds_file_path: '/path/to/ingestion-authentication-file.json'
            # Replace with your actual customer ID from Step 2
            customer_id: <customer_id>
            endpoint: malachiteingestion-pa.googleapis.com
            # Add optional ingestion labels for better organization
            log_type: 'F5_DNS'
            raw_log_field: body
            ingestion_labels:
    
    service:
        pipelines:
            logs/source0__chronicle_w_labels-0:
                receivers:
                    - udplog
                exporters:
                    - chronicle/chronicle_w_labels
    
    • 自社のインフラストラクチャでの必要性に応じて、ポートと IP アドレスを置き換えます。
    • <customer_id> は、実際の顧客 ID に置き換えます。
    • /path/to/ingestion-authentication-file.json の値を、Google SecOps の取り込み認証ファイルを取得するで認証ファイルを保存したパスに更新します。

Bindplane エージェントを再起動して変更を適用する

  • Linux で Bindplane エージェントを再起動するには、次のコマンドを実行します。

    sudo systemctl restart bindplane-agent
    
  • Windows で Bindplane エージェントを再起動するには、サービス コンソールを使用するか、次のコマンドを入力します。

    net stop BindPlaneAgent && net start BindPlaneAgent
    

リモート ロギング サーバーのプールを構成する

  1. F5 BIG-IP ウェブ UI にログインします。
  2. [メイン] タブで、[DNS>送信>ロード バランシング>プールまたはローカル トラフィック>プール] に移動します。
  3. [作成] をクリックします。
  4. 次の構成の詳細を指定します。
    • 名前: プールの一意の名前を入力します。
    • [新しいメンバー] 設定を使用する場合:
      • [アドレス] フィールドに Bindplane エージェントの IP アドレスを入力します。
      • [Service Port] フィールドに、Bindplane エージェントのポート番号を入力します。
  5. [追加> 完了] をクリックします。

リモートログの宛先を構成する

  1. [メイン] タブで、[システム> ログ> 設定> ログの宛先] に移動します。
  2. [作成] をクリックします。
  3. 次の構成の詳細を指定します。
    • 名前: この宛先の一意の名前を入力します。
    • タイプ: [リモート高速ログ] を選択します。
    • プール名: BIG-IP システムがログ メッセージを送信するリモート ログサーバーのプールを選択します。
    • プロトコル: 使用するプロトコルを選択します。
  4. [Finished] をクリックします。

フォーマットされたリモートログの宛先を作成する

  1. [メイン] タブで、[システム> ログ> 設定> ログの宛先] に移動します。
  2. [作成] をクリックします。
  3. 次の構成の詳細を指定します。
    • 名前: この宛先の一意の名前を入力します。
    • Type: [Remote Syslog] を選択します。
    • 形式: ログ形式を選択します。
    • 転送先: [高速ログの宛先> リモート Syslog サーバーのプールを指す宛先] を選択します。
  4. [Finished] をクリックします。

ログ パブリッシャーを構成する

  1. [メイン] タブで、[システム] > [ログ] > [設定] > [ログ パブリッシャー] に移動します。
  2. [作成] をクリックします。
  3. 次の構成の詳細を指定します。
    • 名前: このパブリッシャーの一意の名前を入力します。
    • 移行先: [使用可能] リストから [リモート Syslog] の新しく作成した移行先を選択し、 keyboard_double_arrow_left [移動] をクリックして、移行先を [選択済み] リストに移動します。
  4. [Finished] をクリックします。

カスタム DNS ロギング プロファイルを構成する

  1. [メイン] タブで、[DNS] > [送信] > [プロファイル] > [その他] > [DNS ロギング] または [ローカル トラフィック] > [プロファイル] > [その他] > [DNS ロギング] に移動します。
  2. [作成] をクリックします。
  3. 次の構成の詳細を指定します。
    • Name: このプロファイルの一意の名前を入力します。
    • ログ パブリッシャー: システムが DNS ログエントリを送信する、新しく作成した宛先を選択します。
    • ログクエリ: [有効] チェックボックスをオンにします。
    • Log Responses: [Enabled] チェックボックスをオンにします。
    • クエリ ID を含める: [有効] チェックボックスをオンにします。
  4. [Finished] をクリックします。

DNS プロファイルを DNS リスナーに追加する

  1. [メイン] タブで、[DNS>送信>リスナー> DNS リスナー] を選択します。
  2. [サービス] セクションの [DNS プロファイル] で、以前に構成した DNS プロファイルを選択します。
  3. [更新] をクリックします。

UDM マッピング テーブル

ログフィールド UDM マッピング 論理
application principal.application application フィールドから直接マッピングされます。
cipher_name network.tls.cipher cipher_name フィールドから直接マッピングされます。
command_line principal.process.command_line command_line フィールドから直接マッピングされます。
desc security_result.description desc フィールドから直接マッピングされます。
desc_icrd security_result.description desc_icrd フィールドから直接マッピングされます。
dest_ip target.ip dest_ip フィールドから直接マッピングされます。
dest_port target.port dest_port フィールドから直接マッピングされます。
file_path principal.process.file.full_path file_path フィールドから直接マッピングされます。level が「alert」の場合は true に設定されます。それ以外の場合は存在しません。level が「alert」の場合は true に設定されます。それ以外の場合は存在しません。
msg3 security_result.description application が「run-parts」の場合、msg3 フィールドから直接マッピングされます。
metadata.event_type event_type が空の場合は GENERIC_EVENT に設定します。それ以外の場合は event_type からマッピングされます。「DNS」にハードコードされています。「F5」にハードコードされます。
principal_hostname principal.hostname principal_hostname フィールドから直接マッピングされます。
proc_id principal.process.pid proc_id フィールドから直接マッピングされます。
received_bytes network.received_bytes received_bytes フィールドから直接マッピングされます。
resource_id target.resource.id resource_id フィールドから直接マッピングされます。
resource_parent principal.resource.parent resource_parent フィールドから直接マッピングされます。
response_code network.http.response_code response_code フィールドから直接マッピングされます。level フィールドに基づいて決定されます。
src_ip principal.ip src_ip フィールドから直接マッピングされます。
src_port principal.port src_port フィールドから直接マッピングされます。
tls_version network.tls.version tls_version フィールドから直接マッピングされます。
userName principal.user.userid userName フィールドから直接マッピングされます。
when event.timestamp datetime1timezone、または datetimetimezone から計算されます。

さらにサポートが必要な場合 コミュニティ メンバーや Google SecOps のプロフェッショナルから回答を得ることができます。