Netscout Arbor Sightline のログを収集する
このドキュメントでは、Bindplane エージェントを使用して Netscout Arbor Sightline ログを Google Security Operations に取り込む方法について説明します。
Netscout Arbor Sightline(旧称 Peakflow SP)は、DDoS 検出とネットワークの可視性プラットフォームです。ネットワーク全体の容量計画から、DDoS やネットワークに対するその他の脅威の緩和策の特定と管理まで、堅牢な機能を提供します。Sightline は、フローデータ、BGP ルーティング情報、SNMP データを収集して分析し、異常を検出し、アラートを生成して、緩和対応を調整します。
始める前に
次の前提条件を満たしていることを確認してください。
- Google SecOps インスタンス
- Windows Server 2016 以降、または
systemdを使用する Linux ホスト - Bindplane エージェントと Netscout Arbor Sightline アプライアンス間のネットワーク接続
- プロキシの背後で実行している場合は、Bindplane エージェントの要件に従ってファイアウォール ポートが開いていることを確認します
- Netscout Arbor Sightline ウェブ インターフェースへの管理者権限
- システム アラート構成用の Netscout Arbor Sightline コマンドライン インターフェース(CLI)への管理者アクセス権
Google SecOps の取り込み認証ファイルを取得する
- Google SecOps コンソールにログインします。
- [SIEM 設定] > [コレクション エージェント] に移動します。
Ingestion Authentication File をダウンロードします。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インストールが完了するまで待ちます。
次のコマンドを実行して、インストールの内容を確認します。
sc query observiq-otel-collectorサービスは RUNNING と表示されます。
Linux のインストール
- root 権限または sudo 権限でターミナルを開きます。
次のコマンドを実行します。
sudo sh -c "$(curl -fsSlL https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh)" install_unix.shインストールが完了するまで待ちます。
次のコマンドを実行して、インストールの内容を確認します。
sudo systemctl status observiq-otel-collectorサービスが [active (running)] と表示されます。
その他のインストール リソース
その他のインストール オプションとトラブルシューティングについては、Bindplane エージェントのインストール ガイドをご覧ください。
Syslog を取り込んで Google SecOps に送信するように Bindplane エージェントを構成する
構成ファイルを見つける
Linux:
sudo nano /etc/bindplane-agent/config.yamlWindows:
notepad "C:\Program Files\observIQ OpenTelemetry Collector\config.yaml"
構成ファイルを編集します。
config.yamlの内容全体を次の構成に置き換えます。receivers: udplog: listen_address: "0.0.0.0:514" exporters: chronicle/arbor_sightline: compression: gzip creds_file_path: '<CREDS_FILE_PATH>' customer_id: '<CUSTOMER_ID>' endpoint: malachiteingestion-pa.googleapis.com log_type: ARBOR_SIGHTLINE raw_log_field: body ingestion_labels: env: production service: pipelines: logs/arbor_to_chronicle: receivers: - udplog exporters: - chronicle/arbor_sightline各プレースホルダを次のように置き換えます。
レシーバーの構成:
- 受信側は、すべてのインターフェース(
0.0.0.0:514)で UDP ポート 514 をリッスンするように構成されています。 - 別のポート(非 root Linux インストールの場合の
1514など)を使用する必要がある場合は、listen_addressの値を変更します。 - TCP syslog を使用する場合は、受信セクションとパイプラインの両方で
udplogをtcplogに置き換えます。
- 受信側は、すべてのインターフェース(
エクスポータの構成:
<CREDS_FILE_PATH>: 取り込み認証ファイルのフルパス:- Linux:
/etc/bindplane-agent/ingestion-auth.json - Windows:
C:\Program Files\observIQ OpenTelemetry Collector\ingestion-auth.json
- Linux:
<CUSTOMER_ID>: 前の手順のお客様 IDendpoint: リージョン エンドポイント URL(デフォルトは米国リージョン):- 米国:
malachiteingestion-pa.googleapis.com - ヨーロッパ:
europe-malachiteingestion-pa.googleapis.com - アジア:
asia-southeast1-malachiteingestion-pa.googleapis.com - 完全なリストについては、リージョン エンドポイントをご覧ください。
- 米国:
log_type:ARBOR_SIGHTLINEに設定します(完全一致が必要です)。ingestion_labels: YAML 形式の省略可能なラベル(環境に合わせて必要に応じて変更)
構成の例
receivers: udplog: listen_address: "0.0.0.0:514" exporters: chronicle/arbor_sightline: compression: gzip creds_file_path: '/etc/bindplane-agent/ingestion-auth.json' customer_id: 'a1b2c3d4-e5f6-g7h8-i9j0-k1l2m3n4o5p6' endpoint: malachiteingestion-pa.googleapis.com log_type: ARBOR_SIGHTLINE raw_log_field: body ingestion_labels: env: production source: sightline service: pipelines: logs/arbor_to_chronicle: receivers: - udplog exporters: - chronicle/arbor_sightline
構成ファイルを保存する
編集が完了したら、ファイルを保存します。
- Linux:
Ctrl+O、Enter、Ctrl+Xの順に押します。 - Windows: [ファイル>保存] をクリックします。
Bindplane エージェントを再起動して変更を適用する
Linux で Bindplane エージェントを再起動するには:
次のコマンドを実行します。
sudo systemctl restart observiq-otel-collectorサービスが実行されていることを確認します。
sudo systemctl status observiq-otel-collectorログでエラーを確認します。
sudo journalctl -u observiq-otel-collector -f
Windows で Bindplane エージェントを再起動するには:
次のいずれかのオプションを選択します。
管理者としてコマンド プロンプトまたは PowerShell を開きます。
net stop observiq-otel-collector && net start observiq-otel-collectorサービス コンソール:
Win+Rキーを押して「services.msc」と入力し、Enter キーを押します。- observIQ OpenTelemetry Collector を見つけます。
- 右クリックして [再起動] を選択します。
サービスが実行されていることを確認します。
sc query observiq-otel-collectorログでエラーを確認します。
type "C:\Program Files\observIQ OpenTelemetry Collector\log\collector.log"
Netscout Arbor Sightline の syslog 転送を構成する
ログを Google SecOps に送信するには、syslog イベントを Bindplane エージェントに転送するように Netscout Arbor Sightline を構成する必要があります。これには、通知グループの作成、グローバル通知設定の構成、アラート通知ルールの設定が含まれます。
通知グループを作成する
- 管理者として Netscout Arbor Sightline ウェブ インターフェースにログインします。
- [Administration] > [Notification] > [Groups] に移動します。
- [通知グループを追加] をクリックします。
- 次の構成の詳細を入力します。
- 宛先: Bindplane エージェント ホストの IP アドレス(
192.168.1.100など)を入力します。 - ポート:
514(または Bindplane エージェントで構成されたポート(1514など))を入力します。 - ファシリティ: syslog ファシリティ(
local0やuserなど)を選択します。 - 重大度:
infoを選択します。情報重大度は、情報イベント レベル以上の重大度のすべてのイベント メッセージを収集します。
- 宛先: Bindplane エージェント ホストの IP アドレス(
- [保存] をクリックします。
[構成のコミット] をクリックして、構成の変更を適用します。
グローバル通知設定を構成する
Netscout Arbor Sightline のグローバル通知は、特定のアラートルールに関連付けられていないシステム通知を提供します。
- Netscout Arbor Sightline ウェブ インターフェースで、[Administration] > [Notification] > [Global Settings] に移動します。
- [Default Notification Group] フィールドで、Google SecOps 用に作成した通知グループを選択します。
- [保存] をクリックします。
- [構成のコミット] をクリックして、構成の変更を適用します。
システム アラート通知を有効にする
システム アラートには、コマンドライン インターフェース(CLI)による追加の構成が必要です。
- 管理者として Netscout Arbor Sightline コマンドライン インターフェースにログインします。
現在のシステム アラート構成を一覧表示します。
services sp alerts system_errors show構成可能なシステム アラート フィールド名の一覧を表示するには、次のコマンドを実行します。
services sp alerts system_errors ?システム アラートの通知を有効にします。有効にするアラートタイプごとに、次のコマンドを実行します。
services sp alerts system_errors <alert_name> notifications enable<alert_name>は、特定のシステム アラート フィールド名(disk_full、flow_collector_down、license_expiringなど)に置き換えます。構成の変更を commit します。
config write
アラート通知ルールを構成する
アラート通知ルールは、Google SecOps への syslog 通知をトリガーするアラートを決定します。
- Netscout Arbor Sightline ウェブ インターフェースで、[Administration] > [Notification] > [Rules] に移動します。
- 次のいずれかのオプションを選択します。
- 既存のルールをクリックして編集します。
- [ルールを追加] をクリックして、新しい通知ルールを作成します。
- 次の値を構成します。
- 名前: ルールのわかりやすい名前を入力します(例:
Chronicle-DDoS-Alerts)。 - リソース: CIDR アドレスを入力するか、Sightline リソースのリストからマネージド オブジェクトを選択します。すべてのリソースにルールを適用するには、このフィールドを空白のままにするか、[すべて] を選択します。
- 重要度: アラートの最小重要度レベル(
Low、Medium、High、Criticalなど)を選択します。このレベル以上のアラートは通知をトリガーします。 - 通知グループ: Google SecOps 用に作成した通知グループを選択します。
- 名前: ルールのわかりやすい名前を入力します(例:
- 必要に応じて、この手順を繰り返して、さまざまなリソースや重要度レベルに対して追加のルールを構成します。
- [保存] をクリックします。
[構成のコミット] をクリックして、構成の変更を適用します。
syslog の接続をテストする
通知グループとルールを構成したら、syslog メッセージが Bindplane エージェントに送信されていることを確認します。
Netscout Arbor Sightline CLI で、syslog 接続をテストします。
services sp notification test syslog group <notification_group_name><notification_group_name>は、作成した通知グループの名前に置き換えます。コマンドは次の結果を返します。
Server returned: SuccessBindplane エージェントのログを調べて、テスト メッセージが受信されていることを確認します。
Linux:
sudo journalctl -u observiq-otel-collector -fWindows:
type "C:\Program Files\observIQ OpenTelemetry Collector\log\collector.log"Google SecOps コンソールで [検索] に移動し、Netscout Arbor Sightline ログが取り込みラベル
ARBOR_SIGHTLINEで表示されていることを確認します。
Google SecOps に転送されるイベントタイプ
Netscout Arbor Sightline は、次のイベント カテゴリを syslog 経由で転送します。
- サービス拒否攻撃(DoS)イベント: ボリューム型攻撃、プロトコル攻撃、アプリケーション レイヤ攻撃などの DDoS 攻撃検出アラート
- 認証イベント: ユーザーのログインの成功と失敗、認証の試行
- Exploit events: 検出されたエクスプロイト試行と疑わしいトラフィック パターン
- 不審なアクティビティ イベント: 異常なトラフィック動作と潜在的なセキュリティ上の脅威
- システム イベント: アプライアンスの健全性、サービス ステータス、構成の変更、運用アラート
- 軽減イベント: DDoS 攻撃の軽減の開始、停止、ステータスの更新
UDM マッピング テーブル
| ログフィールド | UDM マッピング | ロジック |
|---|---|---|
| msg1 | additional.fields | 空でない場合は、各フィールドのラベルと統合されます。msg1 には「message_description」、config_version には「config_version」などの特定のキーが使用されます。 |
| config_version | additional.fields | |
| prin_user | additional.fields | |
| old_bgp_attributes | additional.fields | |
| new_bgp_attributes | additional.fields | |
| reason | additional.fields | |
| サンプルレート | additional.fields | |
| proto | additional.fields | |
| 作成可能 | additional.fields | |
| identifier | additional.fields | |
| expected_bps | additional.fields | |
| actual_bps | additional.fields | |
| サーバー | additional.fields | |
| ステータス | additional.fields | |
| パーセント | additional.fields | |
| レート | additional.fields | |
| rateunit | additional.fields | |
| flags | additional.fields | |
| ルーター | additional.fields | |
| インターフェース | additional.fields | |
| ip_ver | additional.fields | |
| protocol_id | additional.fields | |
| router_name | additional.fields | |
| interface_id | additional.fields | |
| interface_name | additional.fields | |
| priority | additional.fields | |
| log_level | additional.fields | |
| プール | additional.fields | |
| thread_id | additional.fields | |
| timeout | additional.fields | |
| 試行 | additional.fields | |
| vulns | extensions.vulns.vulnerabilities | 脆弱性が空でない場合は統合 |
| 降順 | metadata.description | desc と desc2 の両方が空でない場合は「%{desc}: %{desc2}」に設定し、それ以外の場合は desc に設定します。空でない場合は message_desc によって上書きされます。 |
| desc2 | metadata.description | |
| message_desc | metadata.description | |
| event_time | metadata.event_timestamp | MMM dd HH:mm:ss または MMM d HH:mm:ss 形式の日付フィルタを使用して変換され、タイムゾーンは Europe/London です。 |
| desc2 | metadata.event_type | desc2 が「(DNS Amplification |
| メッセージ | metadata.event_type | |
| src_ip | metadata.event_type | |
| has_target_ip | metadata.event_type | |
| has_network_protocol | metadata.event_type | |
| host_name | metadata.event_type | |
| メッセージ | metadata.product_event_type | メッセージが「Host Detection」と一致する場合は「Host Detection」、メッセージが「 started」と一致する場合は「TMS Mitigation started」、メッセージが「 stopped」と一致する場合は「TMS Mitigation stopped」に設定します。 |
| metadata.product_name | metadata.product_name | 「ARBOR_SIGHTLINE」に設定 |
| metadata.vendor_name | metadata.vendor_name | 「NETSCOUT」に設定 |
| direction | network.direction | 方向が「incoming」の場合は「INBOUND」に設定します |
| proto | network.ip_protocol | proto が「6」の場合は「TCP」に設定します。それ以外の場合は、「(?i)(TCP |
| network_protocol | network.ip_protocol | |
| バイト | network.sent_bytes | 値が直接コピーされ、uinteger に変換されます |
| packets | network.sent_packets | 値が直接コピーされ、整数に変換されます。 |
| duration | network.session_duration.seconds | 空でなく「0」でない場合、値は直接コピーされ、整数に変換されます。 |
| host_name | principal.hostname | 値を直接コピーしました |
| src_ip | principal.ip | src_ip と nameserver_ip から統合 |
| nameserver_ip | principal.ip | |
| namespace | principal.namespace | 値を直接コピーしました |
| filename | principal.process.file.full_path | 値を直接コピーしました |
| alert_id | principal.process.pid | 値を直接コピーしました |
| prin_url | principal.url | 値を直接コピーしました |
| prin_user | principal.user.userid | 値を直接コピーしました |
| 影響 | security_result.detection_fields | 影響の「Impact」、重要度の「Importance」、シグネチャの「Signature」、リーダーの「Leader」、parent_managed_object の「parent_managed_object」、alert_id の「Alert ID」のキーと統合されました |
| 重要度 | security_result.detection_fields | |
| signature | security_result.detection_fields | |
| リーダー | security_result.detection_fields | |
| parent_managed_object | security_result.detection_fields | |
| alert_id | security_result.detection_fields | |
| 重要度 | security_result.severity | 重大度が ["10","9"] の場合は「INFORMATIONAL」、["8","7"] の場合は「LOW」、"6" の場合は「MEDIUM」、["5","4"] の場合は「HIGH」、["3","2","1"] の場合は「CRITICAL」に設定します。 |
| desc2 | security_result.threat_status | 説明が「Host Detection alert」と一致し、メッセージが「start」で「stop」でない場合は「ACTIVE」、説明が「Host Detection alert」と一致し、メッセージが「stop」の場合は「CLEARED」に設定します。 |
| メッセージ | security_result.threat_status | |
| intem_host | target.group.product_object_id | 値を直接コピーしました |
| dst_ip | target.ip | 値を直接コピーしました |
| dst_port | target.port | 値が直接コピーされ、整数に変換されます。 |
| file_path | target.process.file.full_path | 値を直接コピーしました |
| stop_time | vulns.vulnerabilities.scan_end_time | 日付フィルタを使用して yyyy-MM-dd HH:mm:ss 形式で変換 |
| start_time | vulns.vulnerabilities.scan_start_time | 日付フィルタを使用して yyyy-MM-dd HH:mm:ss 形式または yyyy-MM-dd 形式で変換されます |
さらにサポートが必要な場合 コミュニティ メンバーや Google SecOps のプロフェッショナルから回答を得ることができます。