Nasuni File Services Platform のログを収集する

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

このドキュメントでは、Bindplane エージェントを使用して Nasuni File Services Platform のログを Google Security Operations に取り込む方法について説明します。パーサーは、SYSLOG ログと JSON ログからフィールドを抽出します。Grok パターンを使用して初期メッセージを解析し、埋め込み JSON データに JSON フィルタを活用して、抽出されたフィールドを UDM にマッピングし、ファイルの読み取り、変更、汎用イベントなどのさまざまなイベントタイプを処理し、ベンダーと製品の情報でデータを拡充します。また、抽出されたフィールドに基づいて条件付きロジックを実行し、イベントを分類して UDM メタデータを入力します。

始める前に

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

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

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

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

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

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. 構成ファイルにアクセスします。

    1. config.yaml ファイルを見つけます。通常、Linux では /etc/bindplane-agent/ ディレクトリに、Windows ではインストール ディレクトリにあります。
    2. テキスト エディタ(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: '/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
            ingestion_labels:
                log_type: NASUNI_FILE_SERVICES
                raw_log_field: body
    
    service:
        pipelines:
            logs/source0__chronicle_w_labels-0:
                receivers:
                    - udplog
                exporters:
                    - chronicle/chronicle_w_labels
    
  3. 自社のインフラストラクチャでの必要性に応じて、ポートと IP アドレスを置き換えます。

  4. <customer_id> は、実際の顧客 ID に置き換えます。

  5. /path/to/ingestion-authentication-file.json の値を、Google SecOps の取り込み認証ファイルを取得するで認証ファイルを保存したパスに更新します。

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

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

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

    net stop BindPlaneAgent && net start BindPlaneAgent
    

Nasuni File Service プラットフォームで Syslog を構成する

  1. Nasuni Console ウェブ UI にログインします。
  2. [Console Settings] > [Syslog Exports] に移動します。
  3. [ネットワーク] セクションに次の構成の詳細を入力します。
    • ホスト名: 一意でわかりやすい名前を入力します(例: Google SecOps syslog)。
    • IP アドレス: Bindplane の IP アドレスを入力します。
    • ポート: Bindplane の構成ポート番号を入力します(UDP の場合は 514 など)。
    • プロトコル: [UDP] を選択します(Bindplane の構成に応じて、[TCP] を選択することもできます)。
    • 形式: [SYSLOG+JSON] を選択します。
  4. [保存] をクリックします。

UDM マッピング テーブル

ログフィールド UDM マッピング ロジック
application target.application msg フィールドが存在し、JSON ではなく、application フィールドが空でない場合に設定されます。
event_type metadata.product_event_type 未加工ログの event_type フィールドから直接マッピングされます。
gid target.group.product_object_id 未加工ログの gid フィールドから直接マッピングされ、文字列に変換されます。
groupname target.group.group_display_name 未加工ログの groupname フィールドから直接マッピングされます。
host principal.hostname 未加工ログの host フィールドから直接マッピングされます。
ipaddr principal.ip 未加工ログの ipaddr フィールドから直接マッピングされます。
is_dir additional.fields.value.string_value(キーは is_dir 未加工ログの is_dir フィールドから直接マッピングされ、文字列に変換されます。追加フィールドとして追加されました。
msg metadata.description msg フィールドが存在し、JSON ではなく、ipaddrprin_port がそこから抽出されない場合に設定されます。STATUS_UPDATE イベントにも使用されます。
newpath additional.fields.value.string_value(キーは newpath 未加工ログの newpath フィールドから直接マッピングされます。追加フィールドとして追加されました。
offset additional.fields.value.string_value(キーは offset 未加工ログの offset フィールドから直接マッピングされ、文字列に変換されます。追加フィールドとして追加されました。
path target.file.full_path 未加工ログの path フィールドから直接マッピングされます。
pid target.process.pid 未加工ログの pid フィールドから直接マッピングされ、文字列に変換されます。
prin_port principal.port msg が JSON ではない場合、grok を使用して msg フィールドから抽出され、整数に変換されます。
proc_id principal.process.pid 未加工ログの proc_id フィールドから直接マッピングされます。
product_log_id metadata.product_log_id 未加工ログの product_log_id フィールドから直接マッピングされます。
proto metadata.description 未加工ログの proto フィールドから直接マッピングされます。
resource target.resource.resource_subtype 未加工ログの resource フィールドから直接マッピングされます。
sequence additional.fields.value.string_value(キーは sequence 未加工ログの sequence フィールドから直接マッピングされ、文字列に変換されます。追加フィールドとして追加されました。
sid principal.user.windows_sid 未加工ログの sid フィールドから直接マッピングされます。
tid target.resource.product_object_id 未加工ログの tid フィールドから直接マッピングされ、文字列に変換されます。
time metadata.event_timestamp.secondstimestamp.seconds タイムスタンプの秒の部分が time フィールドから抽出され、metadata.event_timestamp と最上位の timestamp の両方にデータが入力されます。ipaddrpathevent_type の値に基づくロジックによって決定されます。FILE_READFILE_MODIFICATIONFILE_UNCATEGORIZEDSTATUS_UPDATE、または GENERIC_EVENT のいずれかです。NASUNI_FILE_SERVICES にハードコードされています。Nasuni File Services Platform にハードコードされています。Nasuni にハードコードされています。
uid additional.fields.value.string_value(キーは uid 未加工ログの uid フィールドから直接マッピングされ、文字列に変換されます。追加フィールドとして追加されました。
username principal.user.user_display_name 未加工ログの username フィールドから直接マッピングされます。
volume additional.fields.value.string_value(キーは volume 未加工ログの volume フィールドから直接マッピングされます。追加フィールドとして追加されました。

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