VMware vRealize ログを収集する

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

このドキュメントでは、Bindplane を使用して VMware Aria Suite(以前の VMware vRealize)のログを Google Security Operations に取り込む方法について説明します。パーサーは、msg_type フィールドに基づいて grok パターンを使用して syslog メッセージからフィールドを抽出します。次に、抽出されたフィールドを UDM にマッピングし、さまざまなログ形式を処理して、ネットワーク情報、ユーザーの詳細、リソース属性などの追加コンテキストでデータを拡充します。

始める前に

次の前提条件を満たしていることを確認してください。

  • Google SecOps インスタンス
  • Windows 2016 以降、または systemd を使用する Linux ホスト
  • プロキシの背後で実行している場合は、ファイアウォール ポートが開いていることを確認する
  • VMware Aria Suite ソフトウェアへの特権アクセス

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

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

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

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

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

次の手順に沿って、Windows または Linux オペレーティング システムに 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_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: 'VMWARE_VREALIZE'
            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 エージェントを再起動するには、Services コンソールを使用するか、次のコマンドを入力します。

    net stop BindPlaneAgent && net start BindPlaneAgent
    

VMware Aria Suite の Syslog を構成する

  1. VMware Aria Suite ウェブ UI にログインします。
  2. [Management] > [Event Forwarding] に移動します。
  3. [新しい目的地] をクリックします。
  4. 次の構成の詳細を入力します。
    • 名前: サーバーを識別するための一意の名前を入力します。
    • ホスト: Bindplane エージェントの IP アドレスを入力します。
    • プロトコル: [Syslog] を選択します。
    • トランスポート: 実際の Bindplane エージェントの構成に応じて、[UDP] または [TCP] を選択します。
    • ポート: Bindplane エージェントのポート番号を入力します。
  5. [テスト] をクリックします。
  6. [保存] をクリックします。

UDM マッピング テーブル

ログフィールド UDM マッピング ロジック
actorDomain principal.hostname 未加工ログの actorDomain の値は、UDM フィールドにマッピングされます。
actorId principal.resource.attribute.labels.key 文字列「actorId」がキーに割り当てられます。
actorId principal.resource.attribute.labels.value 未加工ログの actorId の値が値に割り当てられます。
actorId additional.fields.key 文字列「actorId」がキーに割り当てられます。
actorId additional.fields.value.string_value 未加工ログの actorId の値が値に割り当てられます。
actorUserName principal.user.userid 未加工ログの actorUserName の値は、UDM フィールドにマッピングされます。
actorUuid principal.resource.attribute.labels.key 文字列「actorUuid」がキーに割り当てられます。
actorUuid principal.resource.attribute.labels.value 未加工ログの actorUuid の値が値に割り当てられます。
actorUuid additional.fields.key 文字列「actorUuid」がキーに割り当てられます。
actorUuid additional.fields.value.string_value 未加工ログの actorUuid の値が値に割り当てられます。
all_request_headers.sec-ch-ua-platform principal.platform 値は all_request_headers.sec-ch-ua-platform から取得されます。「win」または「windows」が含まれている場合(大文字と小文字を区別しない)、値は「WINDOWS」になります。「Mac」が含まれている場合(大文字と小文字を区別しない)、値は「MAC」になります。「lin」または「linux」が含まれている場合(大文字と小文字を区別しない)、値は「LINUX」になります。
all_request_headers.X-Requested-With network.application_protocol 値に「http」が含まれている場合(大文字と小文字を区別しない)、値は「HTTP」に設定されます。
automation_tag metadata.product_event_type 未加工ログの automation_tag の値は、UDM フィールドにマッピングされます。
client_ip principal.ip 未加工ログの client_ip の値は、UDM フィールドにマッピングされます。
client_src_port principal.port 未加工ログの client_src_port の値は、UDM フィールドにマッピングされます。
comp about.resource.attribute.labels.key キーには文字列「Component」が割り当てられます。
comp about.resource.attribute.labels.value 未加工ログの comp の値が値に割り当てられます。
compression additional.fields.key 文字列「compression」がキーに割り当てられます。
compression additional.fields.value.string_value 未加工ログの compression の値が値に割り当てられます。
data about.resource.attribute.labels.key ロジックは msg_type に依存します。msg_type が「Vpxa」、「Hostd」、「VSANMGMTSVC」の場合、data フィールドは Key-Value ペアを使用して解析され、特定のキー(opIDsub など)が about.resource.attribute.labels にマッピングされます。msg_type が「SWITCHING」、「FABRIC」、「MONITORING」、「SYSTEM」、「ROUTING」、「LOAD」、「nsx」、「nestdb」、「cfgAgent」、「NSX」、「NSXV」の場合、data フィールドは compsubcomps2comp などのキーで解析され、about.resource.attribute.labels にマッピングされます。
data about.resource.attribute.labels.value about.resource.attribute.labels.key のロジックをご覧ください。
data security_result.description msg_type が「Vpxa」、「Hostd」、「VSANMGMTSVC」の場合、キーと値のペアの data を解析した後、msg フィールドが存在する場合は、その値が security_result.description に割り当てられます。
description security_result.description 未加工ログに description フィールドが存在する場合、その値は UDM フィールドにマッピングされます。
deviceId principal.resource.attribute.labels.key 文字列「deviceType」がキーに割り当てられます。
deviceId principal.resource.attribute.labels.value 未加工ログの values.deviceType の値が値に割り当てられます。
deviceId additional.fields.key 文字列「deviceType」がキーに割り当てられます。
deviceId additional.fields.value.string_value 未加工ログの values.deviceType の値が値に割り当てられます。
direction network.direction 値が「OUT」の場合、「OUTBOUND」にマッピングされます。「IN」の場合は「INBOUND」にマッピングされます。
dst_ip target.ip 未加工ログの dst_ip の値は、UDM フィールドにマッピングされます。
dst_port target.port 未加工ログの dst_port の値は、UDM フィールドにマッピングされます。
event_source principal.url 未加工ログの event_source の値は、UDM フィールドにマッピングされます。
headers_received_from_server.Access-Control-Allow-Origin target.resource.attribute.labels.key 文字列「headers_received_from_server.Access-Control-Allow-Origin」がキーに割り当てられます。
headers_received_from_server.Access-Control-Allow-Origin target.resource.attribute.labels.value 未加工ログの headers_received_from_server.Access-Control-Allow-Origin の値が値に割り当てられます。
headers_received_from_server.Content-Security-Policy principal.resource.attribute.labels.key 文字列「headers_received_from_server.Content-Security-Policy」がキーに割り当てられます。
headers_received_from_server.Content-Security-Policy principal.resource.attribute.labels.value 未加工ログの headers_received_from_server.Content-Security-Policy の値が値に割り当てられます。
headers_received_from_server.Cookie target.resource.attribute.labels.key 文字列「headers_received_from_server.Cookie」がキーに割り当てられます。
headers_received_from_server.Cookie target.resource.attribute.labels.value 未加工ログの headers_sent_to_server.Cookie の値が値に割り当てられます。
headers_received_from_server.set-cookie target.resource.attribute.labels.key 文字列「headers_received_from_server.set-cookie」がキーに割り当てられます。
headers_received_from_server.set-cookie target.resource.attribute.labels.value 未加工ログの headers_received_from_server.set-cookie の値が値に割り当てられます。
headers_sent_to_server.sec-ch-ua principal.resource.attribute.labels.key 文字列「headers_sent_to_server.sec-ch-ua」がキーに割り当てられます。
headers_sent_to_server.sec-ch-ua principal.resource.attribute.labels.value 未加工ログの headers_sent_to_server.sec-ch-ua の値が値に割り当てられます。
headers_sent_to_server.X-CSRF-TOKEN principal.resource.attribute.labels.key 文字列「headers_sent_to_server.X-CSRF-TOKEN」がキーに割り当てられます。
headers_sent_to_server.X-CSRF-TOKEN principal.resource.attribute.labels.value 未加工ログの headers_sent_to_server.X-CSRF-TOKEN の値が値に割り当てられます。
hostname principal.hostname 未加工ログの hostname の値は、UDM フィールドにマッピングされます。
hostname intermediary.hostname 未加工ログの hostname の値は、UDM フィールドにマッピングされます。
host principal.hostname 未加工ログの host の値は、UDM フィールドにマッピングされます。
isLocal additional.fields.key 文字列「isLocal」がキーに割り当てられます。
isLocal additional.fields.value.string_value 未加工ログの isLocal の値が値に割り当てられます。
json_data principaltargetadditionalsecurity_result 内のさまざまなフィールド 未加工ログの json_data フィールドは JSON として解析され、抽出されたフィールドは、名前とパーサーのロジックに基づいてさまざまな UDM フィールドにマッピングされます。これには、uuidtenantIdactorIdactorUserNameactorDomainsourceIpobjectNameobjectTypeobjectIdvalues.resourceTypevalues.success などのフィールドが含まれます。
kv_data 各種フィールド kv_data フィールドは Key-Value ペアとして解析され、抽出されたフィールドは、名前とパーサーのロジックに基づいてさまざまな UDM フィールドにマッピングされます。
level security_result.severity 値が「info」の場合(大文字と小文字を区別しない)、「INFORMATIONAL」にマッピングされます。
log_id metadata.product_log_id 未加工ログの log_id の値は、UDM フィールドにマッピングされます。
message 各種フィールド message フィールドはデータの主なソースであり、grok パターンを使用して広範に解析され、tshostnamemsg_typesub_msg などのさまざまなフィールドが抽出されます。抽出されたフィールドは、パーサーのロジックに基づいてさまざまな UDM フィールドに入力されます。
method network.http.method 未加工ログの method の値は、UDM フィールドにマッピングされます。
msg security_result.description msg_type が「Vpxa」、「Hostd」、「VSANMGMTSVC」、「SWITCHING」、「FABRIC」、「ROUTING」、「LOAD-BALANCER」、「nsx」、「nestdb」、「cfgAgent」、「NSX」、「NSXV」、「Rhttpproxy」のいずれかであり、関連する grok の解析後に msg フィールドが存在する場合は、その値が security_result.description に割り当てられます。このロジック内には、「keepalive connection」などの特定のメッセージ コンテンツに関する特殊なケースがあります。
msg_type metadata.product_event_type msg_type が「FIREWALL_PKTLOG」または「FIREWALL-PKTLOG」の場合、その値は UDM フィールドにマッピングされます。
msg_type event_type event_type の値は msg_type に基づいて決定されます。msg_type が「FIREWALL_PKTLOG」または「FIREWALL-PKTLOG」の場合、event_type は「NETWORK_CONNECTION」です。msg_type が「Vpxa」、「Hostd」、「VSANMGMTSVC」、「nsx」、「LOAD」、「ROUTING」、「SWITCHING」、「FABRIC」、「MONITORING」、「SYSTEM」、「nestdb」、「cfgAgent」、「NSX」、「NSXV」、「Rhttpproxy」、「audispd」、「vsantraceUrgent」の場合、event_type は「GENERIC_EVENT」です。msg_type が「queries」または「responses」の場合、event_type は「NETWORK_DNS」です。msg_type が「sudo」の場合、event_type は「STATUS_UPDATE」です。description フィールドに「cmmdsTimeMachineDump」が含まれている場合、event_type は「GENERIC_EVENT」です。description フィールドに「prodjbossapp」が含まれている場合、event_type は「GENERIC_EVENT」です。description フィールドに「liagent@6876」が含まれている場合、event_type は「GENERIC_EVENT」です。上記の条件のいずれも満たされず、description フィールドが空でない場合、event_type は「GENERIC_EVENT」になります。src_ipdst_ip の両方が存在する場合、event_type は「NETWORK_CONNECTION」になります。src_ipdst_iphostname のいずれかが存在する場合、event_type は「STATUS_UPDATE」になります。has_principal_ip が true で has_target_ip が true の場合、event_type は「SCAN_UNCATEGORIZED」になります。has_principal_ip が true または has_principal_host が true の場合、event_type は「STATUS_UPDATE」になります。上記の条件のいずれも満たされていない場合、event_type は「GENERIC_EVENT」になります。
objectName target.resource.attribute.labels.key 文字列「objectName」がキーに割り当てられます。
objectName target.resource.attribute.labels.value 未加工ログの objectName の値が値に割り当てられます。
objectName additional.fields.key 文字列「objectName」がキーに割り当てられます。
objectName additional.fields.value.string_value 未加工ログの objectName の値が値に割り当てられます。
objectId target.resource.attribute.labels.key 文字列「objectId」がキーに割り当てられます。
objectId target.resource.attribute.labels.value 未加工ログの objectId の値が値に割り当てられます。
objectId additional.fields.key 文字列「objectId」がキーに割り当てられます。
objectId additional.fields.value.string_value 未加工ログの objectId の値が値に割り当てられます。
objectType target.resource.attribute.labels.key 文字列「objectType」がキーに割り当てられます。
objectType target.resource.attribute.labels.value 未加工ログの objectType の値が値に割り当てられます。
objectType additional.fields.key 文字列「objectType」がキーに割り当てられます。
objectType additional.fields.value.string_value 未加工ログの objectType の値が値に割り当てられます。
objectType security_result.description objectType が「LAUNCH」で success が「true」でない場合、説明は「application launch attempt was successful」になります。objectType が「LAUNCH_ERROR」で、success が「true」でない場合、説明は「ユーザーが無効なリクエストでアプリケーションを起動しました」になります。
opID about.resource.attribute.labels.key 文字列「opId」がキーに割り当てられます。
opID about.resource.attribute.labels.value 未加工ログの opID の値が値に割り当てられます。
pool additional.fields.key 文字列「pool」がキーに割り当てられます。
pool additional.fields.value.string_value 未加工ログの pool の値が値に割り当てられます。
pool_name additional.fields.key 文字列「pool_name」がキーに割り当てられます。
pool_name additional.fields.value.string_value 未加工ログの pool_name の値が値に割り当てられます。
protocol network.ip_protocol 未加工ログの protocol の値は大文字に変換され、UDM フィールドにマッピングされます。値が「PROTO」の場合、マッピングされません。
protocol additional.fields.key protocol の値が「PROTO」の場合、文字列「ip_protocol」がキーに割り当てられます。
protocol additional.fields.value.string_value protocol の値が「PROTO」の場合、未加工ログの protocol の値が値に割り当てられます。
query_data network.dns.questions.name query_data フィールドが解析され、question_name が抽出されて UDM フィールドにマッピングされます。
query_data network.dns.questions.type query_data フィールドが解析されて query_type が抽出され、「dns_record_type.include」から含まれるルックアップを使用して UDM フィールドにマッピングされます。
query_data network.dns.questions.class query_data フィールドが解析されて dns_class が抽出され、「dns_query_class_mapping.include」から含まれるルックアップを使用して UDM フィールドにマッピングされます。
referer principal.url 未加工ログの referer の値は、UDM フィールドにマッピングされます。
request_content_type additional.fields.key 文字列「request_content_type」がキーに割り当てられます。
request_content_type additional.fields.value.string_value 未加工ログの request_content_type の値が値に割り当てられます。
request_state additional.fields.key 文字列「request_state」がキーに割り当てられます。
request_state additional.fields.value.string_value 未加工ログの request_state の値が値に割り当てられます。
response_code network.http.response_code 未加工ログの response_code または server_response_code の値は、UDM フィールドにマッピングされます。
response_content_type additional.fields.key 文字列「response_content_type」がキーに割り当てられます。
response_content_type additional.fields.value.string_value 未加工ログの response_content_type の値が値に割り当てられます。
rule_id security_result.rule_id 未加工ログの rule_id の値は、UDM フィールドにマッピングされます。
s2comp about.resource.attribute.labels.key 文字列「S2-Component」がキーに割り当てられます。
s2comp about.resource.attribute.labels.value 未加工ログの s2comp の値が値に割り当てられます。
server_ip target.ip 未加工ログの server_ip の値は、UDM フィールドにマッピングされます。
server_name target.hostname 未加工ログの server_name の値は、UDM フィールドにマッピングされます。
server_response_code network.http.response_code response_code のロジックをご覧ください。
server_src_port target.port 未加工ログの server_src_port の値は、UDM フィールドにマッピングされます。
service_engine additional.fields.key 文字列「service_engine」がキーに割り当てられます。
service_engine additional.fields.value.string_value 未加工ログの service_engine の値が値に割り当てられます。
sourceIp principal.ip 未加工ログの sourceIp の値は、UDM フィールドにマッピングされます。
ssl_cipher network.tls.cipher 未加工ログの ssl_cipher の値は、UDM フィールドにマッピングされます。
ssl_session_id network.session_id 未加工ログの ssl_session_id の値は、UDM フィールドにマッピングされます。
ssl_version network.tls.version_protocol 未加工ログの ssl_version の値は、UDM フィールドにマッピングされます。
sub about.resource.attribute.labels.key キーには文字列「Sub Component」が割り当てられます。
sub about.resource.attribute.labels.value 未加工ログの sub の値が値に割り当てられます。
subClusterUuid additional.fields.key 文字列「subClusterUuid」がキーに割り当てられます。
subClusterUuid additional.fields.value.string_value 未加工ログの subClusterUuid の値が値に割り当てられます。
sub_msg principaltargetnetworksecurity_resultabout 内のさまざまなフィールド sub_msg フィールドは、msg_type に基づいて異なる方法で解析されます。grok パターンまたは Key-Value ペアを使用して、JSON として解析できます。抽出されたフィールドは、名前とパーサーのロジックに基づいて、さまざまな UDM フィールドにマッピングされます。これには、ip_typeactionrule_iddirectionprotocoltcp_flagsrc_ipsrc_portdst_ipdst_portdatamsg などのフィールドが含まれます。
subcomp about.resource.attribute.labels.key キーには文字列「Sub Component」が割り当てられます。
subcomp about.resource.attribute.labels.value 未加工ログの subcomp の値が値に割り当てられます。
tenantId principal.resource.attribute.labels.key 文字列「tenantId」がキーに割り当てられます。
tenantId principal.resource.attribute.labels.value 未加工ログの tenantId の値が値に割り当てられます。
tenantId additional.fields.key 文字列「tenantId」がキーに割り当てられます。
tenantId additional.fields.value.string_value 未加工ログの tenantId の値が値に割り当てられます。
ts metadata.event_timestamp 未加工ログの ts の値はタイムスタンプとして解析され、UDM フィールドにマッピングされます。
ts timestamp 未加工ログの ts の値はタイムスタンプとして解析され、UDM フィールドにマッピングされます。
updateType additional.fields.key 文字列「updateType」がキーに割り当てられます。
updateType additional.fields.value.string_value 未加工ログの updateType の値が値に割り当てられます。
uri_path network.http.referral_url 未加工ログの uri_path の値は、UDM フィールドにマッピングされます。
user_agent network.http.user_agent 未加工ログの user_agent の値は、UDM フィールドにマッピングされます。
user_agent network.http.parsed_user_agent 未加工ログの user_agent の値はユーザー エージェント文字列として解析され、UDM フィールドにマッピングされます。
USER principal.user.user_display_name 未加工ログの USER の値は、UDM フィールドにマッピングされます。
values.actorExternalId principal.resource.attribute.labels.key 文字列「actorExternalId」がキーに割り当てられます。
values.actorExternalId principal.resource.attribute.labels.value 未加工ログの values.actorExternalId の値が値に割り当てられます。
values.actorExternalId additional.fields.key 文字列「actorExternalId」がキーに割り当てられます。
values.actorExternalId additional.fields.value.string_value 未加工ログの values.actorExternalId の値が値に割り当てられます。
values.deviceType principal.resource.attribute.labels.key 文字列「deviceType」がキーに割り当てられます。
values.deviceType principal.resource.attribute.labels.value 未加工ログの values.deviceType の値が値に割り当てられます。
values.deviceType additional.fields.key 文字列「deviceType」がキーに割り当てられます。
values.deviceType additional.fields.value.string_value 未加工ログの values.deviceType の値が値に割り当てられます。
values.resourceType principal.resource.resource_subtype 未加工ログの values.resourceType の値は、UDM フィールドにマッピングされます。principal.resource.type は「VIRTUAL_MACHINE」に設定されます。
values.success security_result.action 値が「true」の場合(大文字と小文字を区別しない)、値は「ALLOW」にマッピングされます。「false」の場合(大文字と小文字を区別しない)、「BLOCK」にマッピングされます。
virtualservice additional.fields.key 文字列「virtualservice」がキーに割り当てられます。
virtualservice additional.fields.value.string_value 未加工ログの virtualservice の値が値に割り当てられます。
vmw_vr_ops_appname about.resource.attribute.labels.key キーに文字列「Ops AppName」が割り当てられます。
vmw_vr_ops_appname about.resource.attribute.labels.value 未加工ログの vmw_vr_ops_appname の値が値に割り当てられます。
vmw_vr_ops_clustername about.resource.attribute.labels.key 文字列「Ops ClusterName」がキーに割り当てられます。
vmw_vr_ops_clustername about.resource.attribute.labels.value 未加工ログの vmw_vr_ops_clustername の値が値に割り当てられます。
vmw_vr_ops_logtype about.resource.attribute.labels.key 文字列「Ops Logtype」がキーに割り当てられます。
vmw_vr_ops_logtype about.resource.attribute.labels.value 未加工ログの vmw_vr_ops_logtype の値が値に割り当てられます。
vmw_vr_ops_nodename about.resource.attribute.labels.key 文字列「Ops NodeName」がキーに割り当てられます。
vmw_vr_ops_nodename about.resource.attribute.labels.value 未加工ログの vmw_vr_ops_nodename の値が値に割り当てられます。
vs_name additional.fields.key 文字列「vs_name」がキーに割り当てられます。
vs_name additional.fields.value.string_value 未加工ログの vs_name の値が値に割り当てられます。文字列「VMWARE」が割り当てられます。文字列「VMWARE_VREALIZE」が割り当てられます。文字列「VMWARE_VREALIZE」が割り当てられます。

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