Cisco VCS ログを収集する
このドキュメントでは、Bindplane を使用して Cisco VCS(ExpressWay で制御)ログを Google Security Operations に取り込む方法について説明します。パーサーは syslog メッセージからフィールドを抽出し、統合データモデル(UDM)に正規化します。また、IP アドレス、ポート、アクションなどの抽出された詳細に基づいてイベントタイプを分類します。さまざまなログ形式を処理し、Key-Value ペアを抽出し、セキュリティ分析のために重大度レベルを標準化された値にマッピングします。
始める前に
次の前提条件を満たしていることを確認してください。
- Google SecOps インスタンス
- Windows 2016 以降、または
systemd
を使用する Linux ホスト - プロキシの背後で実行されている場合、ファイアウォール ポートが開いている
- Cisco ExpressWay への特権アクセス
Google SecOps の取り込み認証ファイルを取得する
- Google SecOps コンソールにログインします。
- [SIEM 設定] > [収集エージェント] に移動します。
- 取り込み認証ファイルをダウンロードします。BindPlane をインストールするシステムにファイルを安全に保存します。
Google SecOps のお客様 ID を取得する
- Google SecOps コンソールにログインします。
- [SIEM 設定] > [プロファイル] に移動します。
- [組織の詳細情報] セクションから [お客様 ID] をコピーして保存します。
Bindplane エージェントをインストールする
次の手順に沿って、Windows または Linux オペレーティング システムに 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_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: 'CISCO_VCS' 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
Cisco ExpressWay の Syslog を構成する
- Cisco ExpressWay ウェブ UI にログインします。
- [メンテナンス> ロギング] に移動します。
- Bindplane エージェントの IP アドレスを [リモート syslog サーバー] として入力します。
- [Options] をクリックします。
- 次の構成の詳細を入力します。
- トランスポート: [UDP] を選択します。
- ポート: Bindplane エージェントのポート番号を入力します。
- メッセージ形式: [BSD] を選択します。もう 1 つのオプションは [IETF] です。
- 重大度でフィルタ: [Informational] を選択します。
- [保存] をクリックします。
UDM マッピング テーブル
ログフィールド | UDM マッピング | ロジック |
---|---|---|
アクション | read_only_udm.security_result.action_details | 未加工ログの Action フィールドの値。 |
コード | read_only_udm.network.http.response_code | 未加工ログの Code フィールドの値(整数に変換済み)。Response-code が存在しない場合に使用されます。 |
詳細 | read_only_udm.security_result.description | 未加工ログの Detail フィールドの値。 |
Dst-ip | read_only_udm.target.ip | 未加工ログの Dst-ip フィールドの値。Action が Received ではない場合に使用されます。 |
宛先ポート | read_only_udm.target.port | 未加工ログの Dst-port フィールドの値(整数に変換済み)。Action が Received ではない場合に使用されます。 |
イベント | read_only_udm.metadata.product_event_type | 未加工ログの Event フィールドの値。 |
レベル | read_only_udm.security_result.severity_details | 未加工ログの Level フィールドの値。 |
レベル | read_only_udm.security_result.severity | 未加工ログの Level フィールドの値に基づいてマッピングされます。- 9 、10 、VERY-HIGH : CRITICAL - error 、warning 、7 、8 、HIGH : HIGH - notice 、4 、5 、6 、MEDIUM : MEDIUM - information 、info 、0 、1 、2 、3 、LOW : LOW |
Local-ip | read_only_udm.principal.ip | 未加工ログの Local-ip フィールドの値。Action が Received ではない場合に使用されます。 |
Local-ip | read_only_udm.target.ip | 未加工ログの Local-ip フィールドの値。Action が Received の場合に使用されます。 |
Local-port | read_only_udm.principal.port | 未加工ログの Local-port フィールドの値(整数に変換済み)。Action が Received ではない場合に使用されます。 |
Local-port | read_only_udm.target.port | 未加工ログの Local-port フィールドの値(整数に変換済み)。Action が Received の場合に使用されます。 |
メソッド | read_only_udm.network.http.method | 未加工ログの Method フィールドの値。 |
モジュール | read_only_udm.additional.fields.value.string_value | 未加工ログの Module フィールドの値。 |
ノード | read_only_udm.additional.fields.value.string_value | 未加工ログの Node フィールドの値。 |
プロトコル | read_only_udm.network.ip_protocol | 未加工ログの Protocol フィールドの値が解析され、parse_ip_protocol.include ロジックを使用して対応する IP プロトコル名にマッピングされます。 |
Response-code | read_only_udm.network.http.response_code | 未加工ログの Response-code フィールドの値(整数に変換)。 |
Src-ip | read_only_udm.principal.ip | 未加工ログの Src-ip フィールドの値。Action が Received の場合に使用されます。 |
Src-ip | read_only_udm.principal.ip | 未加工ログの Src-ip フィールドの値。Action が Received ではなく、Local-ip が存在しない場合に使用されます。 |
Src-port | read_only_udm.principal.port | 未加工ログの Src-port フィールドの値(整数に変換済み)。Action が Received の場合に使用されます。 |
Src-port | read_only_udm.principal.port | 未加工ログの Src-port フィールドの値(整数に変換済み)。Action が Received ではなく、Local-port が存在しない場合に使用されます。 |
アプリケーション | read_only_udm.target.application | 未加工ログの application フィールドの値。 |
説明 | read_only_udm.security_result.description | 未加工ログの description フィールドの値。 |
inner_msg | read_only_udm.security_result.description | 未加工ログの inner_msg フィールドの値。inner_msg_grok_failure が発生したときに使用されます。 |
principal_hostname | read_only_udm.principal.hostname | 未加工ログの principal_hostname フィールドの値。 |
timestamp | read_only_udm.metadata.event_timestamp.seconds | 未加工ログの timestamp フィールドから抽出されたエポック タイムスタンプ。 |
timestamp | read_only_udm.events.timestamp.seconds | 未加工ログの timestamp フィールドから抽出されたエポック タイムスタンプ。 |
read_only_udm.additional.fields.key | ハードコードされた値: Module 、Node |
|
read_only_udm.metadata.log_type | ハードコードされた値: CISCO_VCS |
|
read_only_udm.metadata.product_name | ハードコードされた値: CISCO VCS |
|
read_only_udm.metadata.vendor_name | ハードコードされた値: CISCO VCS |
|
read_only_udm.metadata.event_type | Action 、Src-ip 、principal_hostname 、Local-ip 、Dst-ip フィールドの値に基づいて決定されます。- NETWORK_CONNECTION : (Action が Received で Local-ip が存在する場合)または(Action が Received ではなく Dst-ip が存在する場合)のいずれかの場合 - STATUS_UPDATE : それ以外の場合 |
さらにサポートが必要な場合 コミュニティ メンバーや Google SecOps のプロフェッショナルから回答を得ることができます。