Apple macOS syslog データを収集する
以下でサポートされています。
Google SecOps
SIEM
このパーサーは、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 Settings] > [Collection Agent] に移動します。
- Ingestion Authentication File をダウンロードします。
Google SecOps のお客様 ID を取得する
- Google SecOps コンソールにログインします。
- [SIEM 設定] > [プロファイル] に移動します。
- [組織の詳細情報] セクションから [お客様 ID] をコピーして保存します。
Bindplane エージェントをインストールする
- 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 Agent を構成する
- 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 Agent を再起動して、変更を適用します。
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 Agent の実際の 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 フィールドから直接マッピングされます。 |
さらにサポートが必要な場合 コミュニティ メンバーや Google SecOps のプロフェッショナルから回答を得ることができます。