Versa Networks Secure Access Service Edge(SASE)ログを収集する

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

このドキュメントでは、Versa Networks Secure Access Service Edge(SASE)ログを収集する方法について説明します。パーサーは、最初の grok フィルタの後に Key-Value ペアを抽出します。次に、これらの値を統合データモデル(UDM)にマッピングします。ファイアウォール イベント、アプリケーション ログ、アラームログなどのさまざまなログ形式を処理し、IP プロトコルやリスクスコアなどの特定のフィールドの変換と拡充を行います。

始める前に

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

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 Agent を構成する

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

    • config.yaml ファイルを見つけます。通常、Linux では /etc/bindplane-agent/ ディレクトリに、Windows ではインストール ディレクトリにあります。
    • テキスト エディタ(nanovi、メモ帳など)を使用してファイルを開きます。
  2. config.yaml ファイルを次のように編集します。

    receivers:
        tcplog:
            # Replace the port and IP address as required
            listen_address: "0.0.0.0:54525"
    
    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: SYSLOG
                namespace: versa_networks_sase
                raw_log_field: body
    
    service:
        pipelines:
            logs/source0__chronicle_w_labels-0:
                receivers:
                    - tcplog
                exporters:
                    - chronicle/chronicle_w_labels
    
    
  3. 自社のインフラストラクチャでの必要性に応じて、ポートと IP アドレスを置き換えます。

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

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

Bindplane Agent を再起動して変更を適用する

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

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

    net stop BindPlaneAgent && net start BindPlaneAgent
    

Versa Networks SASE を構成する

管理者は、各 Versa Analytics ノードでリモート コレクタを構成して、ログをサードパーティ システムに転送する必要があります。

Versa 分析ノードを構成するには、次の操作を行います。

  • ログ転送を有効にする
  • セッション ID のロギングを有効にする

ログ転送を有効にする

  1. Versa アナリティクス サーバーにログインします。
  2. cli コマンドを実行して CLI に移動します。
  3. configure コマンドを実行して構成モードに切り替え、load merge terminal を入力します。
  4. 次のコマンドをコピーして貼り付け、ログ転送を設定します。

    • <collector_ip><collector_port> は、Syslog コレクタ(Bindplane)の IP アドレスとポートに置き換えます。
    set system analytics log-collector-exporter destination-address <collector_ip>
    set system analytics log-collector-exporter destination-port <collector_port>
    set system analytics log-collector-exporter transport tcp
    set system analytics log-collector-exporter log-types firewall-log
    set system analytics log-collector-exporter log-types threat-log
    commit
    
  5. 構成を保存します。

    save
    

セッション ID のロギングを有効にする

IP 関連の情報をログに記録するには、セッション ID のロギングを有効にします。

  1. Versa Director にログインします。
  2. [ディレクター ビュー] に切り替えます。
  3. [Configuration] > [Devices] > [Tenant] > [Device] に移動して、アプライアンス ビューにアクセスします。
  4. [Configuration> Others> System> Configuration> Configuration] を選択します。
  5. [パラメータ] ペインで、[編集] をクリックします。
  6. [パラメータを編集] ウィンドウで、[LEF] を選択します。
  7. [ファイアウォール] セクションで、[セッション ID のロギングを含める] チェックボックスをオンにします。

  8. [OK] をクリックします。

UDM マッピング テーブル

ログフィールド UDM マッピング ロジック
accCkt additional.fields[].key: "accCkt"
additional.fields[].value.string_value: accCkt
値は accCkt フィールドから直接取得されます。
accCktId additional.fields[].key: "accCktId"
additional.fields[].value.string_value: accCktId
値は accCktId フィールドから直接取得されます。
accCktName additional.fields[].key: "accCktName"
additional.fields[].value.string_value: accCktName
値は accCktName フィールドから直接取得されます。
accessType additional.fields[].key: "accessType"
additional.fields[].value.string_value: accessType
値は accessType フィールドから直接取得されます。
action security_result.action: action actiontypeidpActionavActionurlAction のいずれかが「許可」の場合、ALLOWactiontypeidpActionavActionurlAction が「reject」、「drop」、「block」、「deny」の場合、BLOCKidpAction がそれ以外の場合は UNKNOWN_ACTION
alarmCause security_result.detection_fields[].key: "alarmCause"
security_result.detection_fields[].value: alarmCause
値は alarmCause フィールドから直接取得されます。
alarmClass security_result.detection_fields[].key: "alarmClass"
security_result.detection_fields[].value: alarmClass
値は alarmClass フィールドから直接取得されます。
alarmClearable security_result.detection_fields[].key: "alarmClearable"
security_result.detection_fields[].value: alarmClearable
値は alarmClearable フィールドから直接取得されます。
alarmEventType metadata.product_event_type: alarmEventType 値は alarmEventType フィールドから直接取得されます。
alarmKey security_result.detection_fields[].key: "alarmKey"
security_result.detection_fields[].value: alarmKey
値は alarmKey フィールドから直接取得されます。
alarmKind security_result.detection_fields[].key: "alarmKind"
security_result.detection_fields[].value: alarmKind
値は alarmKind フィールドから直接取得されます。
alarmOwner security_result.detection_fields[].key: "alarmOwner"
security_result.detection_fields[].value: alarmOwner
値は alarmOwner フィールドから直接取得されます。
alarmSeqNo security_result.detection_fields[].key: "alarmSeqNo"
security_result.detection_fields[].value: alarmSeqNo
値は alarmSeqNo フィールドから直接取得されます。
alarmSeverity security_result.severity_details: alarmSeverity 値は alarmSeverity フィールドから直接取得されます。
alarmText security_result.summary: alarmText 値は alarmText フィールドから直接取得され、二重引用符が削除されます。
alarmType security_result.description: alarmType 値は alarmType フィールドから直接取得されます。
appFamily metadata.product_event_type: appFamily
security_result.detection_fields[].key: "appFamily"
security_result.detection_fields[].value: appFamily
値は appFamily フィールドから直接取得されます。
appId security_result.detection_fields[].key: "アプリケーション ID"
security_result.detection_fields[].value: appId
値は appId フィールドから直接取得されます。
appIdStr security_result.detection_fields[].key: "appIdStr"
security_result.detection_fields[].value: appIdStr
値は appIdStr フィールドから直接取得されます。
applianceName principal.hostname: applianceName 値は applianceNamesiteNamesite フィールドから直接取得されます。
appProductivity security_result.detection_fields[].key: "appProductivity"
security_result.detection_fields[].value: appProductivity
値は appProductivity フィールドから直接取得されます。
appRisk security_result.severity_details: appRisk 値は appRisk フィールドから直接取得されます。
appSubFamily security_result.detection_fields[].key: "appSubFamily"
security_result.detection_fields[].value: appSubFamily
値は appSubFamily フィールドから直接取得されます。
avAccuracy additional.fields[].key: "avAccuracy"
additional.fields[].value.string_value: avAccuracy
値は avAccuracy フィールドから直接取得されます。
avAction security_result.action: avAction ロジックについては、action をご覧ください。
avMalwareName security_result.threat_name: avMalwareName 値は avMalwareName フィールドから直接取得されます。
avMalwareType security_result.category_details: avMalwareType 値は avMalwareType フィールドから直接取得されます。
classMsg security_result.description: classMsg 値は classMsg フィールドから直接取得され、二重引用符が削除されます。
clientIPv4Address target.ip: clientIPv4Address 値は clientIPv4Address フィールドから直接取得されます。
destIp target.ip: destIp
destinationIPv4Address: destIp
値は destIp フィールドから直接取得されます。
destinationIPv4Address target.ip: destinationIPv4Address 値は destinationIPv4Address から直接取得されるか、networkPrefix フィールドから派生します。
destinationIPv6Address target.ip: destinationIPv6Address 値は destinationIPv6Address フィールドから直接取得されます。
destinationPort target.port: destinationPort 値は destinationPort フィールドから直接取得され、整数に変換されます。
destinationTransportPort target.port: destinationTransportPort 値は destinationTransportPort フィールドから直接取得され、整数に変換されます。
deviceKey about.resource.attribute.labels[].key: "deviceKey"
about.resource.attribute.labels[].value: deviceKey
「Unknown」でない場合、deviceKey フィールドから直接取得された値。
deviceName about.resource.attribute.labels[].key: "deviceName"
about.resource.attribute.labels[].value: deviceName
「Unknown」でない場合、deviceName フィールドから直接取得された値。
duration network.session_duration.seconds: duration 値は duration フィールドから直接取得され、整数に変換されます。
egressInterfaceName additional.fields[].key: "egressInterfaceName"
additional.fields[].value.string_value: egressInterfaceName
値は egressInterfaceName フィールドから直接取得されます。
event.type metadata.event_type: event.type applianceName(または sourceIPv4AddressusersourceIPv6Address)と destinationIPv4Address(または remoteSitedestinationIPv6AddressclientIPv4Addresshostname)の両方が存在する場合は、NETWORK_CONNECTION。それ以外の場合は STATUS_UPDATEapplianceName が空の場合、GENERIC_EVENT
eventType principal.resource.attribute.labels[].key: "eventType"
principal.resource.attribute.labels[].value: eventType
値は eventType フィールドから直接取得されます。
family security_result.detection_fields[].key: "family"
security_result.detection_fields[].value: family
値は family フィールドから直接取得されます。
fc security_result.detection_fields[].key: "ForwardingClass"
security_result.detection_fields[].value: fc
値は fc フィールドから直接取得されます。
fileTransDir additional.fields[].key: "fileTransDir"
additional.fields[].value.string_value: fileTransDir
値は fileTransDir フィールドから直接取得されます。
filename target.file.names: filename 値は filename フィールドから直接取得されます。
flowCookie metadata.collected_timestamp: flowCookie flowCookie フィールドから直接取得された値が、UNIX 形式を使用してタイムスタンプに変換されます。
flowId principal.resource.product_object_id: flowId 値は flowId フィールドから直接取得されます。
forwardForwardingClass security_result.detection_fields[].key: "forwardForwardingClass"
security_result.detection_fields[].value: forwardForwardingClass
値は forwardForwardingClass フィールドから直接取得されます。
fromCountry principal.location.country_or_region: fromCountry
target.location.country_or_region: fromCountry
値は fromCountry フィールドから直接取得されます。
fromUser principal.user.userid: fromUser 空でないか、「unknown」または「Unknown」でない場合、fromUser フィールドから直接取得されます。
fromZone additional.fields[].key: "fromZone"
additional.fields[].value.string_value: fromZone
値は fromZone フィールドから直接取得されます。
generateTime metadata.collected_timestamp: generateTime generateTime フィールドから直接取得された値が、UNIX 形式を使用してタイムスタンプに変換されます。
hostname target.hostname: hostname 値は hostname フィールドから直接取得されます。
httpUrl target.url: httpUrl 値は httpUrl フィールドから直接取得されます。
icmpTypeIPv4 additional.fields[].key: "icmpTypeIPv4"
additional.fields[].value.string_value: icmpTypeIPv4
値は icmpTypeIPv4 フィールドから直接取得されます。
idpAction security_result.action: idpAction ロジックについては、action をご覧ください。
ingressInterfaceName additional.fields[].key: "ingressInterfaceName"
additional.fields[].value.string_value: ingressInterfaceName
値は ingressInterfaceName フィールドから直接取得されます。
ipsApplication additional.fields[].key: "ipsApplication"
additional.fields[].value.string_value: ipsApplication
値は ipsApplication フィールドから直接取得されます。
ipsDirection security_result.detection_fields[].key: "ipsDirection"
security_result.detection_fields[].value: ipsDirection
値は ipsDirection フィールドから直接取得されます。
ipsProfile security_result.detection_fields[].key: "ipsProfile"
security_result.detection_fields[].value: ipsProfile
値は ipsProfile フィールドから直接取得されます。
ipsProfileRule security_result.rule_name: ipsProfileRule 値は ipsProfileRule フィールドから直接取得されます。
ipsProtocol network.ip_protocol: ipsProtocol 値は ipsProtocol フィールドから直接取得されます。
log_type metadata.description: log_type
metadata.log_type: log_type
値は log_type フィールドから直接取得されます。
mstatsTimeBlock metadata.collected_timestamp: mstatsTimeBlock mstatsTimeBlock フィールドから直接取得された値が、UNIX 形式を使用してタイムスタンプに変換されます。
mstatsTotRecvdOctets network.received_bytes: mstatsTotRecvdOctets mstatsTotRecvdOctets フィールドから直接取得され、符号なし整数に変換されます。
mstatsTotSentOctets network.sent_bytes: mstatsTotSentOctets mstatsTotSentOctets フィールドから直接取得され、符号なし整数に変換されます。
mstatsTotSessCount additional.fields[].key: "mstatsTotSessCount"
additional.fields[].value.string_value: mstatsTotSessCount
値は mstatsTotSessCount フィールドから直接取得されます。
mstatsTotSessDuration network.session_duration.seconds: mstatsTotSessDuration 値は mstatsTotSessDuration フィールドから直接取得され、整数に変換されます。
mstatsType security_result.category_details: mstatsType 値は mstatsType フィールドから直接取得されます。
networkPrefix target.ip: networkPrefix
target.port: networkPrefix
networkPrefix フィールドから抽出された IP アドレス。networkPrefix フィールドから抽出され、整数に変換されたポート。
protocolIdentifier network.ip_protocol: protocolIdentifier protocolIdentifier フィールドから直接取得された値が整数に変換され、ルックアップを使用して IP プロトコル名にマッピングされます。
recvdOctets network.received_bytes: recvdOctets recvdOctets フィールドから直接取得され、符号なし整数に変換されます。
recvdPackets network.received_packets: recvdPackets 値は recvdPackets フィールドから直接取得され、整数に変換されます。
remoteSite target.hostname: remoteSite 値は remoteSite フィールドから直接取得されます。
reverseForwardingClass security_result.detection_fields[].key: "reverseForwardingClass"
security_result.detection_fields[].value: reverseForwardingClass
値は reverseForwardingClass フィールドから直接取得されます。
risk security_result.risk_score: risk 値は risk フィールドから直接取得され、浮動小数点数に変換されます。
rule security_result.rule_name: rule 値は rule フィールドから直接取得されます。
sentOctets network.sent_bytes: sentOctets sentOctets フィールドから直接取得され、符号なし整数に変換されます。
sentPackets network.sent_packets: sentPackets 値は sentPackets フィールドから直接取得され、整数に変換されます。
serialNum security_result.detection_fields[].key: "serialNum"
security_result.detection_fields[].value: serialNum
値は serialNum フィールドから直接取得されます。
signatureId security_result.detection_fields[].key: "signatureID"
security_result.detection_fields[].value: signatureId
値は signatureId フィールドから直接取得されます。
signatureMsg security_result.detection_fields[].key: "signatureMsg"
security_result.detection_fields[].value: signatureMsg
値は signatureMsg フィールドから直接取得されます。
signaturePriority security_result.severity: signaturePriority signaturePriority が「low」の場合(大文字と小文字を区別しない)、LOWsignaturePriority が「medium」の場合(大文字と小文字を区別しない)、MEDIUMsignaturePriority が「high」の場合(大文字と小文字を区別しない)、HIGH
site principal.hostname: site
applianceName: site
値は site フィールドから直接取得されます。
siteId additional.fields[].key: "siteId"
additional.fields[].value.string_value: siteId
値は siteId フィールドから直接取得されます。
siteName principal.hostname: siteName
applianceName: siteName
値は siteName フィールドから直接取得されます。
sourceIPv4Address principal.ip: sourceIPv4Address 値は sourceIPv4Address フィールドから直接取得されます。
sourceIPv6Address principal.ip: sourceIPv6Address 値は sourceIPv6Address フィールドから直接取得されます。
sourcePort principal.port: sourcePort 値は sourcePort フィールドから直接取得され、整数に変換されます。
sourceTransportPort principal.port: sourceTransportPort 値は sourceTransportPort フィールドから直接取得され、整数に変換されます。
subFamily security_result.detection_fields[].key: "subFamily"
security_result.detection_fields[].value: subFamily
値は subFamily フィールドから直接取得されます。
tcpConnAborted additional.fields[].key: "tcpConnAborted"
additional.fields[].value.string_value: tcpConnAborted
空でないか「0」でない場合、値は tcpConnAborted フィールドから直接取得されます。
tcpConnRefused additional.fields[].key: "tcpConnRefused"
additional.fields[].value.string_value: tcpConnRefused
空でないか「0」でない場合、値は tcpConnRefused フィールドから直接取得されます。
tcpPktsFwd network.sent_packets: tcpPktsFwd 値は tcpPktsFwd フィールドから直接取得され、整数に変換されます。
tcpPktsRev network.received_packets: tcpPktsRev 値は tcpPktsRev フィールドから直接取得され、整数に変換されます。
tcpReXmitFwd additional.fields[].key: "tcpReXmitFwd"
additional.fields[].value.string_value: tcpReXmitFwd
空でないか「0」でない場合、値は tcpReXmitFwd フィールドから直接取得されます。
tcpReXmitRev additional.fields[].key: "tcpReXmitRev"
additional.fields[].value.string_value: tcpReXmitRev
空でないか「0」でない場合、値は tcpReXmitRev フィールドから直接取得されます。
tcpSAA additional.fields[].key: "tcpSAA"
additional.fields[].value.string_value: tcpSAA
空でないか「0」でない場合、値は tcpSAA フィールドから直接取得されます。
tcpSSA additional.fields[].key: "tcpSSA"
additional.fields[].value.string_value: tcpSSA
空でないか「0」でない場合、値は tcpSSA フィールドから直接取得されます。
tcpSessCnt additional.fields[].key: "tcpSessCnt"
additional.fields[].value.string_value: tcpSessCnt
値は tcpSessCnt フィールドから直接取得されます。
tcpSessDur network.session_duration.seconds: tcpSessDur 値は tcpSessDur フィールドから直接取得され、整数に変換されます。
tcpSynAckReXmit additional.fields[].key: "tcpSynAckReXmit"
additional.fields[].value.string_value: tcpSynAckReXmit
空でないか「0」でない場合、値は tcpSynAckReXmit フィールドから直接取得されます。
tcpSynReXmit additional.fields[].key: "tcpSynReXmit"
additional.fields[].value.string_value: tcpSynReXmit
空でないか「0」でない場合、値は tcpSynReXmit フィールドから直接取得されます。
tcpTWHS additional.fields[].key: "tcpTWHS"
additional.fields[].value.string_value: tcpTWHS
空でないか「0」でない場合、値は tcpTWHS フィールドから直接取得されます。
tenantId principal.resource.attribute.labels[].key: "tenantId"
principal.resource.attribute.labels[].value: tenantId
値は tenantId フィールドから直接取得されます。
tenantName observer.hostname: tenantName 値は tenantName フィールドから直接取得されます。
threatType security_result.detection_fields[].key: "threatType"
security_result.detection_fields[].value: threatType
値は threatType フィールドから直接取得されます。
toCountry target.location.country_or_region: toCountry 値は toCountry フィールドから直接取得されます。
toZone additional.fields[].key: "toZone"
additional.fields[].value.string_value: toZone
値は toZone フィールドから直接取得されます。
traffType additional.fields[].key: "traffType"
additional.fields[].value.string_value: traffType
値は traffType フィールドから直接取得されます。
ts metadata.event_timestamp: ts ts フィールドから直接取得され、タイムスタンプに変換されます。
type security_result.action: type ロジックについては、action をご覧ください。
urlAction security_result.action: urlAction ロジックについては、action をご覧ください。
urlActionMessage security_result.summary: urlActionMessage 値は urlActionMessage フィールドから直接取得されます。
urlCategory principal.resource.attribute.labels[].key: "urlCategory"
principal.resource.attribute.labels[].value: urlCategory
値は urlCategory フィールドから直接取得されます。
urlProfile additional.fields[].key: "urlProfile"
additional.fields[].value.string_value: urlProfile
値は urlProfile フィールドから直接取得されます。
urlReputation security_result.severity_details: urlReputation 値は urlReputation フィールドから直接取得されます。
user principal.ip: user 値は user フィールドから直接取得されます。
vsnId principal.resource.attribute.labels[].key: "vsnId"
principal.resource.attribute.labels[].value: vsnId
値は vsnId フィールドから直接取得されます。ハードコードされた値。ハードコードされた値。

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