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. [Director View] に切り替えます。
  3. [構成] > [デバイス] > [テナント] > [デバイス] に移動して、アプライアンス ビューにアクセスします。
  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」の場合は BLOCKidpActionUNKNOWN_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
「不明」でない場合、deviceKey フィールドから直接取得される値。
deviceName about.resource.attribute.labels[].key: "deviceName"
about.resource.attribute.labels[].value: deviceName
「不明」でない場合、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」の場合(大文字と小文字を区別しない)、LOW です。signaturePriority が「medium」の場合(大文字と小文字を区別しない)、MEDIUM です。signaturePriority が「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 フィールドから直接取得された値。ハードコードされた値。ハードコードされた値。

変更点

2024-06-03

  • 「idpAction」を「security_result.action」にマッピングしました。
  • 「threatType」を「security_result.detection_fields」にマッピングしました。
  • 「ipsDirection」を「security_result.detection_fields」にマッピングしました。
  • 「ipsProfile」を「security_result.detection_fields」にマッピングしました。
  • 「signaturePriority」を「security_result.severity」にマッピングしました。
  • 「signatureMsg」を「security_result.detection_fields」にマッピングしました。
  • 「signatureId」を「security_result.detection_fields」にマッピングしました。
  • 「ipsApplication」を「security_result.detection_fields」にマッピングしました。
  • 「classMsg」を「security_result.description」にマッピングしました。
  • 「ipsProfileRule」を「security_result.rule_name」にマッピングしました。
  • 「ipsProtocol」を「network.ip_protocol」にマッピングしました。

2023-07-03

  • 「entitlementlog」、「monstatslog」、「tcpappmonlog」のサポートを追加しました。

2022-11-04

  • 新しく作成されたパーサー。

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