Apple macOS の syslog データを収集する
以下でサポートされています。
Google SecOpsSIEM
このパーサーは、Grok パターンを使用して Apple macOS syslog メッセージからフィールドを抽出し、抽出された値(タイムスタンプ、ホスト名、中間ホスト、コマンドライン、プロセス ID、説明など)を統合データモデル(UDM)に入力します。ホスト名が存在する場合、パーサーはイベントを STATUS_UPDATE
に分類します。それ以外の場合は、イベントにカテゴリ GENERIC_EVENT
を割り当てます。最後に、パーサーはベンダーとプロダクトの情報で UDM イベントを拡充します。
始める前に
- Google Security Operations インスタンスがあることを確認します。
- Auditd ホストに対する root 権限があることを確認します。
- Auditd ホストに rsyslog がインストールされていることを確認します。
- Windows 2012 SP2 以降または systemd を搭載した Linux ホストがあることを確認します。
- プロキシの背後で実行している場合は、ファイアウォールのポートが開いていることを確認します。
Google SecOps 取り込み認証ファイルを取得する
- Google SecOps コンソールにログインします。
- [SIEM 設定] > [収集エージェント] に移動します。
- 取り込み認証ファイルをダウンロードします。
Google SecOps のお客様 ID を取得する
- Google SecOps コンソールにログインします。
- [SIEM 設定] > [プロファイル] に移動します。
- [組織の詳細] セクションから [お客様 ID] をコピーして保存します。
BindPlane Agent をインストールする
- Windows へのインストールの場合は、次のスクリプト
msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quiet
を実行します。 - Linux へのインストールの場合は、次のスクリプト
sudo sh -c "$(curl -fsSlL https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh)" install_unix.sh
を実行します。 - その他のインストール オプションについては、こちらのインストール ガイドをご覧ください。
Syslog を取り込んで Google SecOps に送信するように BindPlane エージェントを構成する
- BindPlane がインストールされているマシンにアクセスします。
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: auditd raw_log_field: body service: pipelines: logs/source0__chronicle_w_labels-0: receivers: - tcplog exporters: - chronicle/chronicle_w_labels
次のコマンドを使用して BindPlane エージェントを再起動して、変更を適用します。
sudo systemctl bindplane restart
macOS から Syslog をエクスポートする
Homebrew を使用して
syslog-ng
をインストールします。brew install syslog-ng
syslog-ng を構成します。
syslog-ng.conf
ファイルを編集します(通常は/usr/local/etc/syslog-ng/syslog-ng.conf
にあります)。
sudo vi /usr/local/etc/syslog-ng/syslog-ng.conf
- 次の構成ブロックを追加します。
- BindPlane の構成に応じて、配信方法を
tcp
に変更するか、udp
のままにします。 <BindPlaneAgent_IP>
と<BindPlaneAgent_Port>
は、BindPlane エージェントの実際の IP アドレスとポートに置き換えます。
- BindPlane の構成に応じて、配信方法を
source s_local { system(); internal(); }; destination d_secops { tcp("<BindPlaneAgent_IP>:<BindPlaneAgent_Port>"); }; log { source(s_local); destination(d_secops); };
syslog-ng
サービスを再起動します。brew services restart syslog-ng
syslog-ng
のステータスを確認します(syslog-ng
が開始済みと表示されます)。brew services list
UDM マッピング テーブル
ログフィールド | UDM マッピング | ロジック |
---|---|---|
サポート | read_only_udm.metadata.description | description フィールドの値は、Grok パターンを使用して未加工ログの data フィールドから抽出されます。 |
サポート | read_only_udm.principal.hostname | ホスト名は、Grok パターンを使用して data フィールドから抽出されます。 |
サポート | read_only_udm.intermediary.hostname | 中間ホスト名は、grok パターンを使用して data フィールドから抽出されます。 |
サポート | read_only_udm.principal.process.command_line | プロセスのコマンドラインは、grok パターンを使用して data フィールドから抽出されます。 |
サポート | read_only_udm.principal.process.pid | プロセス ID は、grok パターンを使用して data フィールドから抽出されます。 |
サポート | read_only_udm.metadata.event_timestamp | イベント タイムスタンプは、grok パターンを使用して data フィールドから抽出され、タイムスタンプ オブジェクトに変換されます。パーサーで「MacOS」にハードコードされています。パーサーで「Apple」にハードコードされています。ログからホスト名が抽出された場合は「STATUS_UPDATE」に設定し、それ以外の場合は「GENERIC_EVENT」に設定します。 |
log_type | read_only_udm.metadata.log_type | 元のログの log_type フィールドから直接マッピングされます。 |
変更点
2022-05-04
- 新しく作成されたパーサー。