Aruba IPS のログを収集する
このドキュメントでは、Bindplane を使用して Aruba IPS ログを Google Security Operations に取り込む方法について説明します。パーサーは、JSON 形式のログからイベント、通知、不正な AP、WIDS AP 情報を抽出します。フィールドをマッピングし、さまざまなイベントタイプ(ユーザーのログイン/ログアウト、ネットワーク イベント、セキュリティ イベント)を処理し、チャネル、SSID、BSSID、重大度などのコンテキスト情報でデータを拡充することで、未加工のログデータを UDM に変換します。パーサーは、タイムスタンプの正規化と、形式が正しくない JSON のエラー処理も行います。
始める前に
次の前提条件を満たしていることを確認してください。
- Google SecOps インスタンス
- Windows 2016 以降、または
systemdを使用する Linux ホスト - プロキシの背後で実行している場合は、Bindplane エージェントの要件に従ってファイアウォール ポートが開いていることを確認します。
- Aruba デバイス管理コンソールまたは 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
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: YOUR_CUSTOMER_ID_HERE endpoint: malachiteingestion-pa.googleapis.com # Add optional ingestion labels for better organization log_type: 'ARUBA_IPS' raw_log_field: body ingestion_labels: service: pipelines: logs/source0__chronicle_w_labels-0: receivers: - udplog exporters: - chronicle/chronicle_w_labels- 自社のインフラストラクチャでの必要性に応じて、ポートと IP アドレスを置き換えます。
<YOUR_CUSTOMER_ID_HERE>は、実際の顧客 ID に置き換えます。/path/to/ingestion-authentication-file.jsonの値を、Google SecOps の取り込み認証ファイルを取得するで認証ファイルを保存したパスに更新します。endpoint値をテナントのリージョンと一致するように更新します。
Bindplane エージェントを再起動して変更を適用する
Linux で Bindplane エージェントを再起動するには、次のコマンドを実行します。
sudo systemctl restart bindplane-agentWindows で Bindplane エージェントを再起動するには、Services コンソールを使用するか、次のコマンドを入力します。
net stop BindPlaneAgent && net start BindPlaneAgent
Aruba デバイスで Syslog 転送を構成する
Aruba デバイスのタイプに基づいて構成方法を選択します。
オプション A: Aruba コントローラ(AOS-8)
このオプションでは、AOS-8 を実行している Aruba コントローラで Syslog 転送を構成する手順について詳しく説明します。
WebUI を使用する(CEF 形式に推奨)
- Aruba Controller のウェブ インターフェースにログインします。
- [Managed Network] ノード階層で、[Configuration] > [System] > [Logging] > [Syslog Servers] に移動します。
- ロギング サーバーを追加するには、[Syslog Servers] セクションで [+] をクリックします。
- 次の構成の詳細を入力します。
- サーバーの IP アドレス: Bindplane エージェントの IP アドレスを入力します。
- ポート:
514(または Bindplane で構成されたポート)を入力します。 - プロトコル: Bindplane エージェントの構成に応じて、[UDP] または [TCP] を選択します。
- [適用] をクリックします。
- ログに記録するメッセージの種類を選択するには、[ロギング レベル] を選択します。
- ログに記録するカテゴリまたはサブカテゴリを選択します。
- カテゴリまたはサブカテゴリの重大度レベルを選択するには、[ロギング レベル] プルダウン リストからレベルを選択します。
- [形式] プルダウン リストから、ロギング形式 [CEF] または [BSD-standard] を選択します。
- 構造化ロギングには、ArcSight CEF(Common Event Format)が推奨されます。
- [送信] をクリックします。
- [保留中の変更] をクリックします。
- [保留中の変更] ウィンドウで、チェックボックスをオンにして [変更をデプロイ] をクリックします。
オプション B: Aruba Instant AP
このセクションでは、Aruba Instant アクセス ポイント(AP)の WebUI またはコマンドライン インターフェース(CLI)を使用して Syslog サーバーを設定する手順について説明します。
WebUI の使用
- Aruba Instant ウェブ インターフェースにログインします。
- Instant のメイン ウィンドウで、[システム] リンクをクリックします。
- [詳細設定を表示] をクリックして、詳細設定を表示します。
- [モニタリング] タブをクリックします。
- [モニタリング] タブの詳細が表示されます。
- [サーバー] セクションの [Syslog サーバー] フィールドに、Bindplane エージェントの IP アドレスを入力します。
- [Syslog ファシリティ レベル] セクションで、必要な値を選択して syslog ファシリティ レベルを構成します。
- Syslog Level: Syslog レベルに関する詳細なログ。
- AP-Debug: Instant AP デバイスに関する詳細なログ。
- ネットワーク: ネットワークの変更に関するログ(新しい Instant AP がネットワークに追加された場合など)。
- Security: ネットワーク セキュリティに関するログ(クライアントが間違ったパスワードを使用して接続した場合など)。
- システム: 構成とシステム ステータスに関するログ。
- User: クライアントに関する重要なログ。
- User-Debug: クライアントに関する詳細なログ。
- ワイヤレス: ラジオに関するログ。
- [OK] をクリックして構成を保存します。
CLI の使用
- Aruba Instant AP CLI にログインします。
構成モードに入ります。
configure terminalsyslog サーバーとレベルを構成します。
syslog-server <BINDPLANE_IP_ADDRESS> syslog-level warnings
<BINDPLANE_IP_ADDRESS>は、Bindplane エージェント ホストの IP アドレスに置き換えます。- 必要に応じて重大度レベルを調整します。
オプション C: Aruba AOS-S(スイッチ)
- Aruba AOS-S スイッチ CLI にログインします。
構成モードに入ります。
configuresyslog サーバーを構成します。
logging <BINDPLANE_IP_ADDRESS> logging severity warnings<BINDPLANE_IP_ADDRESS>は、Bindplane エージェント ホストの IP アドレスに置き換えます。- 必要に応じて重大度レベルを調整します。
構成を保存します。
write memory
オプション D: Aruba Central(オンプレミス)
- Aruba Central ウェブ インターフェースにログインします。
- [System] > [System Administration] > [Notifications] > [Syslog Server] に移動します。
- [追加] または [有効にする] をクリックします。
- 次の構成の詳細を入力します。
- ホスト: Bindplane エージェントの IP アドレスを入力します。
- ポート:
514(または Bindplane で構成されたポート)を入力します。 - プロトコル: Bindplane エージェントの構成に応じて、[UDP] または [TCP] を選択します。
- ファシリティ: 必要に応じて Local7 を選択します。
- 重大度: 最小ログレベル(警告や情報など)を選択します。
- [保存] をクリックします。
UDM マッピング テーブル
| ログフィールド | UDM マッピング | ロジック |
|---|---|---|
notifications.created_timestamp |
metadata.event_timestamp.seconds |
未加工ログのフィールド notifications.created_timestamp は秒に変換され、マッピングされます。変換時にナノ秒が失われます。 |
notifications.customer_id |
metadata.product_log_id |
直接マッピング。 |
notifications.device_id |
principal.resource.product_object_id |
直接マッピング。 |
notifications.group_name |
principal.group.group_display_name |
直接マッピング。 |
notifications.id |
metadata.product_log_id |
直接マッピング。 |
notifications.timestamp |
metadata.event_timestamp.seconds |
未加工ログのフィールド notifications.timestamp は秒に変換され、マッピングされます。 |
rogue_aps.acknowledged |
security_result.detection_fields.value(security_result.detection_fields.key は「acknowledged」) |
文字列に変換されてマッピングされます。 |
rogue_aps.containment_status |
metadata.description |
直接マッピング。 |
rogue_aps.cust_id |
metadata.product_log_id |
直接マッピング。 |
rogue_aps.encryption |
security_result.detection_fields.value(security_result.detection_fields.key は「encryption」) |
直接マッピング。 |
rogue_aps.first_det_device |
principal.resource.product_object_id |
直接マッピング。 |
rogue_aps.first_det_device_name |
principal.hostname |
直接マッピング。 |
rogue_aps.first_seen |
principal.domain.first_seen_time.seconds |
日付として解析され、エポックからの秒数がマッピングされます。 |
rogue_aps.group_name |
principal.group.group_display_name |
直接マッピング。 |
rogue_aps.id |
principal.mac |
小文字に変換され、マッピングされます。 |
rogue_aps.labels |
security_result.detection_fields.value(security_result.detection_fields.key は「ラベル」) |
直接マッピング。 |
rogue_aps.last_det_device |
security_result.about.user.product_object_id |
直接マッピング。 |
rogue_aps.last_det_device_name |
target.hostname |
直接マッピング。 |
rogue_aps.last_seen |
principal.domain.last_seen_time.seconds |
日付として解析され、エポックからの秒数がマッピングされます。イベント タイムスタンプとしても使用されます(存在する場合)。 |
rogue_aps.mac_vendor |
target.administrative_domain |
直接マッピング。 |
rogue_aps.name |
target.user.userid |
直接マッピング。 |
rogue_aps.overridden |
security_result.detection_fields.value(security_result.detection_fields.key が「オーバーライド」されている場合) |
文字列に変換されてマッピングされます。 |
rogue_aps.signal |
security_result.detection_fields.value(security_result.detection_fields.key は「シグナル」) |
文字列に変換されてマッピングされます。 |
rogue_aps.ssid |
security_result.detection_fields.value(security_result.detection_fields.key は「ssid」) |
直接マッピング。 |
site |
principal.location.name |
直接マッピング。 |
wids_aps_info_list.attack_type |
metadata.description |
直接マッピング。 |
wids_aps_info_list.detected_ap |
principal.hostname |
直接マッピング。 |
wids_aps_info_list.description |
security_result.description |
直接マッピング。grok を使用して複数のフィールドを抽出する場合にも使用されます。 |
wids_aps_info_list.event_time |
metadata.event_timestamp.seconds |
文字列に変換され、存在する場合はイベント タイムスタンプとして使用されます。 |
wids_aps_info_list.event_type |
metadata.product_event_type |
直接マッピング。 |
wids_aps_info_list.macaddr |
principal.mac |
小文字に変換され、マッピングされます。 |
wids_aps_info_list.radio_band |
security_result.detection_fields.value(security_result.detection_fields.key は「radio_band」) |
直接マッピング。 |
wids_aps_info_list.virtual_controller |
target.hostname |
直接マッピング。notifications.severity が「Emergency」、「Alert」、「Critical」の場合は true に設定します。notifications.severity が「Emergency」、「Alert」、「Critical」の場合は true に設定します。events.event_type フィールドまたは notifications.type フィールドによって決定されるか、デフォルトとして GENERIC_EVENT に設定されます。このロジックから、STATUS_STARTUP、STATUS_SHUTDOWN、STATUS_UPDATE、USER_LOGIN、USER_LOGOUT のマッピングが導出されます。常に「ARUBA_IPS」に設定されます。常に「ARUBA_IPS」に設定されます。常に「ARUBA」に設定されます。events.event_type が「Client DHCP Acknowledged」または「Client DHCP Timeout」の場合は、「DHCP」に設定されます。events.event_type が「Client DHCP Acknowledged」または「Client DHCP Timeout」の場合は、「BOOTREPLY」に設定します。events.event_type が「Client DHCP Acknowledged」の場合、grok を使用して events.description から抽出されます。events.event_type が「Client DHCP Acknowledged」で、events.description に IP アドレスが含まれている場合は、「ACK」に設定されます。それ以外の場合は、「WIN_EXPIRED」に設定します。events.event_type が「Radio」、「WLAN」、「AP」で始まる場合、または「Security」の場合は、「ACCESS POINT」に設定します。events.event_type が「Radio」、「WLAN」、「AP」で始まる場合、または「Security」の場合は、「DEVICE」に設定します。ほとんどのクライアント イベントでは events.client_mac から、不正な AP イベントでは rogue_aps.last_det_device からマッピングされます。特定の events.event_type 値の場合、または notifications.description に「DoS Attack」または「disconnect attack」が含まれている場合は、「AUTH_VIOLATION」に設定します。特定の events.event_type 値に設定します。bssid、channel、previous_channel、ssid、previous bssid、acknowledged、overriden、encryption、signal、labels、radio_band などの抽出されたフィールドに基づいて、複数の Key-Value ペアが追加されます。wids イベントの wids_aps_info_list.description からマッピングされます。notifications.severity または wids_aps_info_list.level によって決定されます。wids イベントの場合は「level: %{wids_aps_info_list.level}」に設定されます。特定の events.event_type 値に設定します。不正な AP イベントの rogue_aps.mac_vendor からマッピングされます。不正な AP イベントの場合は rogue_aps.last_det_device_name から、wids イベントの場合は wids_aps_info_list.virtual_controller からマッピングされます。events.event_type が「Security」の場合、grok を使用して events.description から抽出されます。通知イベントの場合は notifications.client_mac、クライアント イベントの場合は events.client_mac、wids イベントの場合は wids_aps_info_list.description から抽出された target_mac、不正な AP イベントの場合は rogue_aps.id からマッピングされます。ほとんどのクライアント イベントでは「CLIENT」に設定します。ほとんどのクライアント イベントでは「DEVICE」に設定します。events.event_type が「Security」の場合は「ACTIVE」に設定します。不正な AP イベントの rogue_aps.name からマッピングされます。 |
events.bssid |
security_result.detection_fields.value(security_result.detection_fields.key は「bssid」) |
直接マッピング。 |
events.client_mac |
target.mac |
直接マッピング。クライアント イベントの security_result.about.user.product_object_id と「Security」イベントの target.ip を入力するためにも使用されます。 |
events.description |
metadata.description |
AP イベントとラジオ イベントの直接マッピング。他のイベントタイプで grok を使用して複数のフィールドを抽出するために使用されます。 |
events.device_mac |
principal.mac |
直接マッピング。 |
events.device_serial |
principal.resource.product_object_id |
直接マッピング。 |
events.events_details.2.channel |
security_result.detection_fields.value(security_result.detection_fields.key は「channel」) |
直接マッピング。 |
events.group_name |
principal.group.group_display_name |
直接マッピング。 |
events.hostname |
principal.hostname |
直接マッピング。 |
events.timestamp |
metadata.event_timestamp.seconds |
文字列に変換され、ミリ秒が削除されてからマッピングされます。イベント タイムスタンプとしても使用されます(存在する場合)。 |
timestamp |
metadata.event_timestamp |
他のタイムスタンプ フィールドが存在しない場合は、イベント タイムスタンプとして使用されます。ほとんどのクライアント イベントとセキュリティ イベントの場合は「ACTIVE」に設定します。events.event_type が「Client 802.1x Radius Reject」の場合は、「AUTHTYPE_UNSPECIFIED」に設定します。events.event_type が「Security」の場合、grok を使用して events.description から抽出されます。 |
さらにサポートが必要な場合 コミュニティ メンバーや Google SecOps のプロフェッショナルから回答を得ることができます。