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 の取り込み認証ファイルを取得する
- Google SecOps コンソールにログインします。
- [SIEM 設定] > [コレクション エージェント] に移動します。
- Ingestion Authentication File をダウンロードします。Bindplane をインストールするシステムにファイルを安全に保存します。
Google SecOps のお客様 ID を取得する
- Google SecOps コンソールにログインします。
- [SIEM 設定] > [プロファイル] に移動します。
- [組織の詳細情報] セクションから [お客様 ID] をコピーして保存します。
Bindplane エージェントをインストールする
Windows のインストール
- 管理者として コマンド プロンプトまたは PowerShell を開きます。
次のコマンドを実行します。
msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quiet
Linux のインストール
- root 権限または sudo 権限でターミナルを開きます。
次のコマンドを実行します。
sudo sh -c "$(curl -fsSlL https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh)" install_unix.sh
その他のインストール リソース
- その他のインストール オプションについては、こちらのインストール ガイドをご覧ください。
Syslog を取り込んで Google SecOps に送信するように Bindplane エージェントを構成する
構成ファイルにアクセスします。
config.yaml
ファイルを見つけます。通常、Linux では/etc/bindplane-agent/
ディレクトリに、Windows ではインストール ディレクトリにあります。- テキスト エディタ(
nano
、vi
、メモ帳など)を使用してファイルを開きます。
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
自社のインフラストラクチャでの必要性に応じて、ポートと IP アドレスを置き換えます。
<customer_id>
は、実際の顧客 ID に置き換えます。/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 を構成する
- Nasuni Console ウェブ UI にログインします。
- [Console Settings] > [Syslog Exports] に移動します。
- [ネットワーク] セクションに次の構成の詳細を入力します。
- ホスト名: 一意でわかりやすい名前を入力します(例: Google SecOps syslog)。
- IP アドレス: Bindplane の IP アドレスを入力します。
- ポート: Bindplane の構成ポート番号を入力します(UDP の場合は 514 など)。
- プロトコル: [UDP] を選択します(Bindplane の構成に応じて、[TCP] を選択することもできます)。
- 形式: [SYSLOG+JSON] を選択します。
- [保存] をクリックします。
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 ではなく、ipaddr と prin_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.seconds 、timestamp.seconds |
タイムスタンプの秒の部分が time フィールドから抽出され、metadata.event_timestamp と最上位の timestamp の両方にデータが入力されます。ipaddr 、path 、event_type の値に基づくロジックによって決定されます。FILE_READ 、FILE_MODIFICATION 、FILE_UNCATEGORIZED 、STATUS_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 のプロフェッショナルから回答を得ることができます。