HP ProCurve ログを収集する

以下でサポートされています。

このドキュメントでは、Bindplane を使用して HP ProCurve スイッチログを Google Security Operations に取り込む方法について説明します。パーサー コードは、まず未加工のログ メッセージを JSON として解析しようとします。失敗した場合は、正規表現(grok パターン)を使用して、一般的な HP ProCurve ログ形式に基づいてメッセージからフィールドを抽出します。

始める前に

次の前提条件を満たしていることを確認します。

  • Google SecOps インスタンス
  • Windows 2016 以降、または systemd を使用する Linux ホスト
  • プロキシの背後で実行されている場合、ファイアウォール ポートが開いている
  • HP ProCurve スイッチへの特権アクセス

Google SecOps の取り込み認証ファイルを取得する

  1. Google SecOps コンソールにログインします。
  2. [SIEM 設定] > [コレクション エージェント] に移動します。
  3. Ingestion Authentication File をダウンロードします。Bindplane をインストールするシステムにファイルを安全に保存します。

Google SecOps のお客様 ID を取得する

  1. Google SecOps コンソールにログインします。
  2. [SIEM 設定] > [プロファイル] に移動します。
  3. [組織の詳細情報] セクションから [お客様 ID] をコピーして保存します。

Bindplane エージェントをインストールする

Windows のインストール

  1. 管理者として コマンド プロンプトまたは PowerShell を開きます。
  2. 次のコマンドを実行します。

    msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quiet
    

Linux のインストール

  1. root 権限または sudo 権限でターミナルを開きます。
  2. 次のコマンドを実行します。

    sudo sh -c "$(curl -fsSlL https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh)" install_unix.sh
    

その他のインストール リソース

その他のインストール オプションについては、インストール ガイドをご覧ください。

Syslog を取り込んで Google SecOps に送信するように Bindplane エージェントを構成する

  1. 構成ファイルにアクセスします。

    • config.yaml ファイルを見つけます。通常、Linux では /etc/bindplane-agent/ ディレクトリに、Windows ではインストール ディレクトリにあります。
    • テキスト エディタ(nanovi、メモ帳など)を使用してファイルを開きます。
  2. 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: '/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
                ingestion_labels:
                    log_type: HP_PROCURVE
                    raw_log_field: body
    
        service:
            pipelines:
                logs/source0__chronicle_w_labels-0:
                    receivers:
                        - udplog
                    exporters:
                        - chronicle/chronicle_w_labels
    
  3. 自社のインフラストラクチャでの必要性に応じて、ポートと IP アドレスを置き換えます。

  4. <customer_id> は、実際の顧客 ID に置き換えます。

  5. /path/to/ingestion-authentication-file.json の値を、Google SecOps の取り込み認証ファイルを取得するで認証ファイルを保存したパスに更新します。

Bindplane エージェントを再起動して変更を適用する

  • Linux で Bindplane エージェントを再起動するには、次のコマンドを実行します。

    sudo systemctl restart bindplane-agent
    
  • Windows で Bindplane エージェントを再起動するには、Services コンソールを使用するか、次のコマンドを入力します。

    net stop BindPlaneAgent && net start BindPlaneAgent
    

HP ProCurve スイッチで Syslog を構成する

  1. SSH を使用して HP Procurve スイッチにログインします。
  2. 次のコマンドを使用して、スイッチ インターフェースを確認します。

    show ip int br
    
  3. 次のコマンドを使用して、スイッチで構成モードを有効にします。

    console# conf t
    
  4. 次のコマンドを使用して、ログを送信するようにスイッチを構成します。

        logging host <bindplae-server-ip> transport <udp/tcp> port <port-number>
        logging facility syslog
        logging trap informational
        logging buffer 65536
        logging origin-id hostname
        logging source-interface <interface>
    
  5. <bindplae-server-ip><port-number>Bindplane IP アドレスポート番号に置き換えます。

  6. 通信プロトコルとして [UDP] または [TCP] のみを選択して、<udp/tcp> を置き換えます(Bindplane エージェントの構成によって異なります)。

  7. <interface> は、スイッチから以前に受け取ったインターフェース ID(Ethernet1/1 など)に置き換えます。

  8. 次のコマンドを使用して、構成モードを終了して保存します。

    console# exit
    console# wr
    

UDM マッピング テーブル

ログフィールド UDM マッピング ロジック
AAAScheme read_only_udm.security_result.detection_fields.value キーが AAAScheme の場合、descrip フィールドから抽出された値
AAAType read_only_udm.security_result.detection_fields.value キーが AAAType の場合、descrip フィールドから抽出された値
シャーシ ID read_only_udm.security_result.detection_fields.value キーが Chassis ID の場合、description フィールドから抽出された値
コマンドは read_only_udm.security_result.detection_fields.value commandInfo フィールドの Command is の後のテキスト
CommandSource read_only_udm.security_result.detection_fields.value キーが CommandSource の場合、descrip フィールドから抽出された値
Config-Method read_only_udm.additional.fields.value.string_value フィールドがログに存在する場合は、追加フィールドに config_method として配置されます。
ConfigDestination read_only_udm.security_result.detection_fields.value キーが ConfigDestination の場合、descrip フィールドから抽出された値
ConfigSource read_only_udm.security_result.detection_fields.value キーが ConfigSource の場合、descrip フィールドから抽出された値
Device-Name read_only_udm.principal.hostname フィールドがログに存在する場合は、プリンシパル ホスト名とアセット ホスト名にマッピングされます。
Event-ID read_only_udm.additional.fields.value.string_value フィールドがログに存在する場合は、追加フィールドに event_id として配置されます。
EventIndex read_only_udm.security_result.detection_fields.value キーが EventIndex の場合、descrip フィールドから抽出された値
IfIndex read_only_udm.security_result.detection_fields.value キーが IfIndex の場合、description フィールドから抽出された値
IP: %{IP:IPAddr} read_only_udm.target.ip、read_only_udm.target.asset.ip desc フィールドから抽出され、ターゲット IP とターゲット アセット IP にマッピングされた IP アドレス
IPAddr read_only_udm.target.ip、read_only_udm.target.asset.ip フィールドがログに存在する場合、ターゲット IP とターゲット アセット IP にマッピングされます。
Notice-Type read_only_udm.additional.fields.value.string_value フィールドがログに存在する場合は、追加フィールドに notice_type として配置されます。
ポート ID read_only_udm.security_result.detection_fields.value キーが Port ID の場合、description フィールドから抽出された値
Remote-IP-Address read_only_udm.additional.fields.value.string_value フィールドがログに存在する場合は、追加フィールドに remote_ip_address として配置されます。
サービス read_only_udm.security_result.detection_fields.value キーが Service の場合、descrip フィールドから抽出された値
タスク read_only_udm.security_result.detection_fields.value キーが Task の場合、descrip フィールドから抽出された値
ユーザー read_only_udm.principal.user.userid フィールドがログに存在する場合、プリンシパル ユーザー ID にマッピングされます。
User-Name read_only_udm.principal.user.userid フィールドがログに存在する場合、プリンシパル ユーザー ID にマッピングされます。
ユーザー名 read_only_udm.principal.user.userid フィールドがログに存在する場合、プリンシパル ユーザー ID にマッピングされます。
UserService read_only_udm.security_result.detection_fields.value キーが UserService の場合、desc フィールドから抽出された値
collection_time.seconds read_only_udm.metadata.event_timestamp.seconds イベント タイムスタンプの秒の部分
データ このフィールドには未加工のログメッセージが含まれ、解析されて他のフィールドが抽出されます。UDM にマッピングされていません。
降順 read_only_udm.security_result.description ログメッセージから抽出された説明
descrip desc フィールドから抽出された説明。Key-Value ペアとしてさらに解析されます。UDM にマッピングされていません。
説明 read_only_udm.security_result.description フィールドがログに存在する場合、セキュリティ結果の説明にマッピングされます。
descript read_only_udm.metadata.description フィールドがログに存在する場合は、メタデータの説明にマッピングされます。
event_id read_only_udm.additional.fields.value.string_value フィールドがログに存在する場合は、追加フィールドに event_id として配置されます。
eventId read_only_udm.metadata.product_event_type ログ メッセージから抽出されたイベント ID
hostname read_only_udm.principal.hostname、read_only_udm.principal.asset.hostname ログメッセージから抽出されたホスト名が、プリンシパル ホスト名とアセット ホスト名にマッピングされる
inter_ip read_only_udm.additional.fields.value.string_value、read_only_udm.intermediary.ip フィールドがログに存在し、有効な IP アドレスである場合は、仲介 IP にマッピングされます。それ以外の場合は、追加フィールドに inter_ip として配置されます。
notice_type read_only_udm.additional.fields.value.string_value フィールドがログに存在する場合は、追加フィールドに notice_type として配置されます。
pid read_only_udm.principal.process.pid フィールドがログに存在する場合、プリンシパル プロセスの PID にマッピングされます
プログラム ログメッセージから抽出されたプログラム情報。さらに解析して、モジュール、重大度、アクションを抽出します。UDM にマッピングされていません。
proto read_only_udm.network.application_protocol、read_only_udm.additional.fields.value.string_value ログメッセージから抽出されたプロトコル。既知のプロトコルと一致する場合は、アプリケーション プロトコルにマッピングされます。それ以外の場合は、追加フィールドに Application Protocol として配置されます。
remote_ip_address read_only_udm.principal.ip、read_only_udm.principal.asset.ip、read_only_udm.additional.fields.value.string_value フィールドがログに存在し、有効な IP アドレスである場合、プリンシパル IP とプリンシパル アセット IP にマッピングされます。それ以外の場合は、追加フィールドに remote_ip_address として配置されます。
重要度 read_only_udm.security_result.severity、read_only_udm.security_result.severity_details / で分割した後、program フィールドから抽出された重大度。UDM の重大度レベルにマッピングされ、未加工の重大度の詳細としても保存されます。
src_ip read_only_udm.principal.ip、read_only_udm.principal.asset.ip ログメッセージから抽出され、プリンシパル IP とプリンシパル アセット IP にマッピングされた送信元 IP
ステータス read_only_udm.additional.fields.value.string_value フィールドがログに存在する場合は、追加フィールドに status として配置されます。
targetHostname read_only_udm.target.hostname、read_only_udm.target.asset.ip フィールドがログに存在する場合は、ターゲット ホスト名とターゲット アセット IP にマッピングされます。
target_ip read_only_udm.target.ip、read_only_udm.target.asset.ip ログメッセージから抽出されたターゲット IP が、ターゲット IP とターゲット アセット IP にマッピングされます
timestamp read_only_udm.metadata.event_timestamp.seconds ログ メッセージから抽出され、イベント タイムスタンプに変換されたタイムスタンプ
timestamp.seconds read_only_udm.metadata.event_timestamp.seconds イベント タイムスタンプの秒の部分
ユーザー名 read_only_udm.principal.user.userid フィールドがログに存在する場合、プリンシパル ユーザー ID にマッピングされます。
read_only_udm.metadata.event_type フィールドとロジックの組み合わせに基づいて決定されます。
- NETWORK_CONNECTION: has_principalhas_target が true の場合。
- USER_LOGOUT: actionWEBOPT_LOGOUTLOGOUTSHELL_LOGOUT の場合。
- USER_LOGIN: actionLOGIN または WEBOPT_LOGIN_SUC の場合。
- STATUS_UPDATE: action が空でない場合、または src_ip/hostname が空でない場合。
- USER_UNCATEGORIZED: has_user が true の場合。
- GENERIC_EVENT: これらの条件のいずれも満たされていない場合。
read_only_udm.metadata.product_name Procurve にハードコード
read_only_udm.metadata.vendor_name HP にハードコード
read_only_udm.extensions.auth.type event_typeUSER_LOGOUT または USER_LOGIN の場合、MACHINE に設定します

さらにサポートが必要な場合 コミュニティ メンバーや Google SecOps のプロフェッショナルから回答を得ることができます。