Symantec CloudSOC CASB のログを収集する

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

このドキュメントでは、Bindplane エージェントを使用して Symantec CloudSOC CASB ログを Google Security Operations に取り込む方法について説明します。

Symantec CloudSOC は、クラウド アプリケーション アクティビティ、DLP ポリシー違反、脅威検出、コンテンツ検査結果、ユーザー アクセス イベントの syslog メッセージを生成するクラウド アクセス セキュリティ ブローカー(CASB)です。パーサーは、JSON 形式と syslog 形式のログからフィールドを抽出し、統合データモデル(UDM)にマッピングします。

始める前に

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

  • Google SecOps インスタンス
  • Windows Server 2016 以降、または systemd を使用する Linux ホスト
  • Bindplane エージェントと Symantec CloudSOC ホスト間のネットワーク接続
  • プロキシの背後で実行している場合は、Bindplane エージェントの要件に従ってファイアウォール ポートが開いていることを確認します。
  • Symantec CloudSOC ホストへの管理者権限

Bindplane エージェントの Google SecOps 認証情報を取得する

Bindplane エージェントを Google SecOps に対して認証するには、次のいずれかの方法を選択します。

  • 新規デプロイ: Chronicle API を使用します(オプション 1)。
  • 以前のデプロイ: 2027 年 7 月 20 日に Ingestion API が廃止されるまで、取り込み認証ファイル(オプション 2)を引き続き使用します。
  1. Google Cloud コンソールにログインし、Google SecOps インスタンスにリンクされている Google Cloud プロジェクトを選択します。
  2. [IAM と管理] > [サービス アカウント] に移動します。
  3. [サービス アカウントを作成] をクリックします。
  4. 次の構成情報を指定します。
    • サービス アカウント名: アカウントの名前を入力します(例: bindplane-ingest)。
    • サービス アカウントの説明: 説明を入力します(例: Bindplane agent log ingestion)。
  5. [作成して続行] をクリックします。
  6. [このサービス アカウントにプロジェクトへのアクセスを許可する] セクションで、[ロールを選択] をクリックし、[Chronicle 編集者] を選択します。
  7. [続行] をクリックして [完了] をクリックします。
  8. 作成したサービス アカウントをクリックし、[キー] タブに移動します。
  9. [鍵を追加] > [新しい鍵を作成] の順にクリックします。
  10. [JSON] を選択し、[作成] をクリックします。鍵ファイルがパソコンにダウンロードされます。
  11. 鍵ファイルを ingestion-auth.json として Bindplane コレクタ ディレクトリ(Linux の場合は /opt/observiq-otel-collector/ingestion-auth.json、Windows の場合は C:\Program Files\observIQ OpenTelemetry Collector\ingestion-auth.json)に保存するか、config.yaml の creds_file_path を更新して、保存先のパスと一致させます。
  12. [IAM と管理] > [設定] に移動し、プロジェクト番号をコピーします。これはエクスポータの構成に必要です。

オプション 2: 取り込み認証ファイルをダウンロードする(レガシー)

  1. Google SecOps コンソールにログインします。
  2. [設定] > [データ管理] > [収集エージェント] に移動します。SIEM のみのプラットフォームを使用している場合は、[設定] > [収集エージェント] に移動します。
  3. 取り込み認証ファイルをダウンロードします。
  4. Bindplane エージェントがインストールされるシステムにファイルを安全に保存します。

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

  1. Google SecOps コンソールにログインします。
  2. [Settings] > [Administration] > [Profile] に移動します。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
    
  3. インストールが完了するまで待ちます。

  4. 次のコマンドを実行して、インストールの内容を確認します。

    sc query observiq-otel-collector
    

    サービスが RUNNING と表示されます。

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
    
  3. インストールが完了するまで待ちます。

  4. 次のコマンドを実行して、インストールの内容を確認します。

    sudo systemctl status observiq-otel-collector
    

    サービスが active (running) と表示されます。

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

その他のインストール オプションとトラブルシューティングについては、Bindplane エージェントのインストール ガイドをご覧ください。

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

構成ファイルを探す

  • Linux:

    sudo nano /opt/observiq-otel-collector/config.yaml
    
  • Windows:

    notepad "C:\Program Files\observIQ OpenTelemetry Collector\config.yaml"
    

構成ファイルを編集します。

  • config.yaml の内容全体を次の構成に置き換えます。

    receivers:
      udplog:
        listen_address: "0.0.0.0:514"
    
    exporters:
      chronicle/symantec_casb:
        protocol: https
        # Region of your instance, for example us, europe, asia-southeast1
        location: <LOCATION>
        # Project number of the Google Cloud project linked to the instance
        project: '<PROJECT_NUMBER>'
        compression: gzip
        creds_file_path: '/opt/observiq-otel-collector/ingestion-auth.json'
        customer_id: '<customer_id>'
        endpoint: chronicle.googleapis.com
        log_type: SYMANTEC_CASB
        raw_log_field: body
    
    service:
      pipelines:
        logs/symantec_casb_to_chronicle:
          receivers:
            - udplog
          exporters:
            - chronicle/symantec_casb
    

構成パラメータ

各プレースホルダを次のように置き換えます。

  • レシーバーの構成:

    • listen_address: リッスンする IP アドレスとポート。
      • 0.0.0.0: すべてのインターフェースでリッスンします(推奨)。
      • ポート 514 は標準の syslog ポートです(Linux では root が必要です。root 以外の場合は 1514 を使用します)。
  • エクスポータの構成:

    • creds_file_path: サービス アカウントの JSON キーファイルのフルパス(オプション 1):
      • Linux: /opt/observiq-otel-collector/ingestion-auth.json
      • Windows: C:\Program Files\observIQ OpenTelemetry Collector\ingestion-auth.json
    • customer_id: Google SecOps コンソールからコピーしたお客様 ID
    • location: <LOCATION> は、Google SecOps インスタンスのリージョン(us、europe、asia-southeast1 など)に置き換えます。エクスポーターは、chronicle.googleapis.com の前にこの値を付加します。完全なリストについては、リージョン エンドポイントをご覧ください。
    • project: <PROJECT_NUMBER> を、[IAM と管理] > [設定] のプロジェクト番号に置き換えます。
    • endpoint: chronicle.googleapis.com に設定したままにします。

以前の Ingestion API エクスポータ

  • オプション 2 の取り込み認証ファイルを使用する場合は、exporters ブロックを次のように置き換えます。creds_file_path を取り込み認証ファイルのパスに設定します。インスタンスが米国以外にある場合は、malachiteingestion-pa.googleapis.com をリージョン エンドポイント(例: europe-malachiteingestion-pa.googleapis.com)に置き換えます。

    exporters:
      chronicle/symantec_casb:
        compression: gzip
        creds_file_path: '/opt/observiq-otel-collector/ingestion-auth.json'
        customer_id: '<customer_id>'
        endpoint: malachiteingestion-pa.googleapis.com
        log_type: SYMANTEC_CASB
        raw_log_field: body
    

構成ファイルを保存する

  • 編集が完了したら、ファイルを保存します。
    • Linux: Ctrl+O、Enter、Ctrl+X の順に押します。
    • Windows の場合: [ファイル] > [保存] をクリックします。

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

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

    sudo systemctl restart observiq-otel-collector
    
    1. サービスが実行されていることを確認します。

      sudo systemctl status observiq-otel-collector
      
    2. ログでエラーを確認します。

      sudo journalctl -u observiq-otel-collector -f
      
  • Windows で Bindplane エージェントを再起動するには、次のいずれかのオプションを選択します。

    • 管理者としてコマンド プロンプトまたは PowerShell を実行します。

      net stop observiq-otel-collector && net start observiq-otel-collector
      
    • サービス コンソール:

      1. Win+R を押し、「services.msc」と入力して Enter キーを押します。
      2. observIQ OpenTelemetry Collector を見つけます。
      3. 右クリックして [再起動] を選択します。
      4. サービスが実行されていることを確認します。

        sc query observiq-otel-collector
        
      5. ログでエラーを確認します。

        type "C:\Program Files\observIQ OpenTelemetry Collector\log\collector.log"
        

Symantec CloudSOC CASB で syslog を構成する

  1. Symantec CloudSOC ホストにログインします。
  2. 次のコマンドを実行して、システムが使用しているロガーを特定します。

    ls -d /etc/*syslog*
    
  3. 回答に応じて、該当するセクションに移動します。

    • syslog.conf: 以前の Syslog。
    • syslog-ng.conf: Syslog-ng。

以前の syslog 構成

  1. syslogd ファイルを開きます。通常は /etc/default ディレクトリにあります。

    vi /etc/default/syslogd
    
  2. SYSLOGD 値に -r フラグが含まれていることを確認します。

    SYSLOGD="-r"
    
  3. ファイルを保存し、エディタを終了します。

  4. services ファイルを開きます。通常は /etc ディレクトリにあります。

    vi /etc/services
    
  5. syslog サービスのポート値を編集します。

    syslog          514/udp
    
  6. ファイルを保存し、エディタを終了します。

  7. syslog.conf ファイルを開きます。通常は /etc ディレクトリにあります。

    vi /etc/syslog.conf
    
  8. すべてのログを Bindplane エージェントに転送するように構成を更新します。

    *.* @<BINDPLANE_IP>
    
    • <BINDPLANE_IP> は、Bindplane エージェントの IP アドレスに置き換えます。
  9. hosts ファイルを開きます。通常は /etc ディレクトリにあります。

    vi /etc/hosts
    
  10. Bindplane エージェントのローカル DNS エントリを作成します。

    <BINDPLANE_IP>    bindplane_agent_host
    
  11. ファイルを保存し、エディタを終了します。

  12. syslog デーモン サービスを再起動します。

syslog-ng の構成

  1. syslog-ng.conf ファイルを開きます。通常は /etc ディレクトリにあります。

    vi /etc/syslog-ng.conf
    
  2. ファイルの末尾に次のコードを追加します。

    destination d_bindplane { udp("<BINDPLANE_IP>" port(514)); };
    log { source(s_src); destination(d_bindplane); };
    
    • <BINDPLANE_IP> は、Bindplane エージェントの IP アドレスに置き換えます。
  3. hosts ファイルを開きます。通常は /etc ディレクトリにあります。

    vi /etc/hosts
    
  4. Bindplane エージェントのローカル DNS エントリを作成します。

    <BINDPLANE_IP>    bindplane_agent_host
    
  5. ファイルを保存し、エディタを終了します。

  6. syslog-ng デーモン サービスを再起動します。

UDM マッピング テーブル

ログフィールド UDM マッピング ロジック
_domain target.hostname _domain フィールドの値。
_domain target.asset.hostname _domain フィールドの値。
_id metadata.product_log_id _id フィールドの値。
actions_taken security_result.detection_fields[].value actions_taken フィールドの値。キーは Action_ + インデックスとして動的に生成されます。
activity_type metadata.product_event_type product_data.activity_type が空の場合は activity_type フィールドの値。空でない場合は product_data.activity_type の値。
collector_device_ip principal.ip collector_device_ip フィールドの値(Unknown IP 以外の場合)。
collector_device_ip principal.asset.ip collector_device_ip フィールドの値(Unknown IP 以外の場合)。
collector_device_name principal.hostname collector_device_name フィールドの値。
collector_device_name principal.asset.hostname collector_device_name フィールドの値。
content_checks.dlp.raw_response.contentdetails[].contentBlockId security_result.detection_fields[].value content_checks.dlp.raw_response.contentdetails[].contentBlockId の値。キーは contentBlockId_ + インデックスとして動的に生成されます。
content_checks.dlp.raw_response.contentdetails[].topLevelFileType security_result.detection_fields[].value content_checks.dlp.raw_response.contentdetails[].topLevelFileType の値。キーは topLevelFileType_ + インデックスとして動的に生成されます。
content_checks.dlp.raw_response.requestid security_result.detection_fields[].value content_checks.dlp.raw_response.requestid の値。キーは Request ID です。
content_checks.dlp.raw_response.responseaction security_result.detection_fields[].value content_checks.dlp.raw_response.responseaction の値。キーは Response Action です。
content_checks.dlp.raw_response.violation[].name security_result.detection_fields[].value content_checks.dlp.raw_response.violation[].name の値。キーは Violation_Policy_Name_ + インデックスとして動的に生成されます。
content_checks.dlp.raw_response.violation[].policyId security_result.detection_fields[].value content_checks.dlp.raw_response.violation[].policyId の値。キーは Violation_Policy_ID_ + インデックスとして動的に生成されます。
content_checks.dlp.updated_timestamp additional.fields[].value.string_value content_checks.dlp.updated_timestamp の値。キーは Updated TimeStamp です。
content_checks.filename target.file.full_path content_checks.filename の値。
content_checks.mimetype target.file.mime_type content_checks.mimetype の値。
content_checks.risktype_list[] security_result.detection_fields[].value content_checks.risktype_list[] の値。キーは RiskType_ + インデックスとして動的に生成されます。
content_checks.vba_macros.expressions[].values[].key security_result.detection_fields[].key content_checks.vba_macros.expressions[].values[].key の値にインデックスを連結したもの。
content_checks.vba_macros.expressions[].values[].value security_result.detection_fields[].value content_checks.vba_macros.expressions[].values[].value の値。
content_checks.vk_content_iq_violations[] security_result.detection_fields[].value content_checks.vk_content_iq_violations[] の値。キーは content_violation_ + インデックスとして動的に生成されます。
content_checks.vk_dlp_policy_violations[] security_result.detection_fields[].value content_checks.vk_dlp_policy_violations[] の値。キーは dlp_policy_violation_ + インデックスとして動的に生成されます。
content_checks.vk_encryption security_result.detection_fields[].value content_checks.vk_encryption の値。キーは vk_encryption です。
content_checks.vk_glba security_result.detection_fields[].value content_checks.vk_glba の値。キーは vk_glba です。
content_checks.vk_hipaa security_result.detection_fields[].value content_checks.vk_hipaa の値。キーは vk_hipaa です。
content_checks.vk_pci security_result.detection_fields[].value content_checks.vk_pci の値。キーは vk_pci です。
content_checks.vk_pii security_result.detection_fields[].value content_checks.vk_pii の値。キーは vk_pii です。
content_checks.vk_source_code security_result.detection_fields[].value content_checks.vk_source_code の値。キーは vk_source_code です。
content_checks.vk_vba_macros security_result.detection_fields[].value content_checks.vk_vba_macros の値。キーは vk_vba_macros です。
content_checks.vk_virus security_result.detection_fields[].value content_checks.vk_virus の値。キーは vk_virus です。
content_checks.violations security_result.detection_fields[].value content_checks.violations の値。キーは violations です。
created_timestamp additional.fields[].value.string_value created_timestamp の値。キーは Created TimeStamp です。
date metadata.event_timestamp.seconds date フィールドから抽出されたエポック秒。
device_ip target.ip device_ip フィールドの値(Unknown IP 以外の場合)。
device_ip target.asset.ip device_ip フィールドの値(Unknown IP 以外の場合)。
file_size target.file.size file_size の値。 が空の場合は product_data.file_size の値。符号なし整数に変換されます。
file_url target.file.full_path product_data.file_url の値。
group_name target.group.group_display_name group_name フィールドから抽出された表示名。
hosts[] principal.ip hosts フィールドの値(カンマ区切り)。
inserted_timestamp additional.fields[].value.string_value inserted_timestamp の値。キーは Inserted TimeStamp です。
instance principal.hostname instance フィールドが配列の場合はその最初の値、文字列の場合はそのinstance値。
instance principal.asset.hostname instance フィールドが配列の場合はその最初の値、文字列の場合はそのinstance値。
ioi_code security_result.summary ioi_code フィールドの値。
_latency security_result.detection_fields[].value _latency フィールドの値。キーは Latency です。
locations security_result.detection_fields[].value locations フィールドの値。キーは Locations です。
log_name intermediary.asset.asset_id log_name フィールドから抽出されたログ ID。接頭辞 logid: が付いています。
mailbox_owner target.user.userid product_data.mailbox owner の値。
metadata.log_type metadata.log_type SYMANTEC_CASB にハードコードされています。
metadata.product_name metadata.product_name SYMANTEC_CASB にハードコードされています。
metadata.vendor_name metadata.vendor_name SYMANTEC にハードコードされています。
msg metadata.description msg フィールドの値。msg が存在しない場合は message フィールドの値。
name security_result.detection_fields[].value name フィールドの値。キーは Name です。
object_name security_result.detection_fields[].value object_name フィールドの値。キーは Object Name です。
object_type target.resource.name object_type フィールドの値。
org_unit security_result.detection_fields[].value org_unit フィールドの値。キーは org_unit ID です。
policy_action security_result.action_details policy_action フィールドの値。
policy_type security_result.detection_fields[].value policy_type フィールドの値。キーは policy_type です。
policy_violated security_result.detection_fields[].value policy_violated フィールドの値。キーは policy_violated です。
product_data._domain target.hostname product_data._domain の値。
product_data._domain target.asset.hostname product_data._domain の値。
product_data.activity_type metadata.product_event_type product_data.activity_type の値。
product_data.file url target.file.full_path product_data.file url の値。
product_data.file_size target.file.size product_data.file_size の値。
product_data.group target.group.group_display_name product_data.group の値。
product_data.location principal.location.country_or_region product_data.location の値。
product_data.logon error security_result.summary product_data.logon error の値。
product_data.mailbox owner target.user.userid product_data.mailbox owner の値。
product_data.name target.file.full_path product_data.name の値。
product_data.object_name target.file.full_path product_data.object_name の値。
product_data.originatingserver product_data.service target.application product_data.service の値。
product_data.site url target.url product_data.site url の値。
product_data.target target.user.userid product_data.target の値。
product_data.useragent network.http.user_agent product_data.useragent の値。
product_name intermediary.application product_name フィールドの値。
product_uid metadata.product_name product_uid フィールドの値。
responsible_logs additional.fields[].value.string_value responsible_logs フィールドの値。キーは responsible_logs です。
resource_id target.resource.product_object_id resource_id フィールドの値。
risks security_result.detection_fields[].value risks フィールドの値。キーは Risks です。
security_result.action security_result.action product_data.logon error から取得されます。product_data.logon error が BlockedByConditionalAccess の場合、BLOCK に設定します。
security_result.severity security_result.severity severity フィールドの大文字の値(サポートされている重大度レベルのいずれかの場合)。
security_result.severity_details security_result.severity_details severity フィールドの値(サポートされている重大度レベルのいずれでもない場合)。
security_result.summary security_result.summary ioi_code フィールドの値。ioi_code が存在しない場合は product_data.logon error。
service target.application product_data.service が空の場合の service フィールドの値。
site_url target.url product_data.site url の値。
source principal.resource.attribute.labels[].value source フィールドの値。キーは Source です。
sub_feature additional.fields[].value.string_value sub_feature フィールドの値。キーは Sub Feature です。
target.application target.application product_data.activity_type と、プリンシパルとターゲットの存在に基づいて導出されます。
target.resource.name target.resource.name product_data.activity_type と、プリンシパルとターゲットの存在に基づいて導出されます。
threat_score security_result.detection_fields[].value threat_score フィールドの値。キーは Threat Score です。
transaction_id security_result.detection_fields[].value transaction_id フィールドの値。キーは Transaction ID です。
updated_timestamp additional.fields[].value.string_value updated_timestamp の値。 が空の場合は content_checks.dlp.updated_timestamp の値。キーは Updated TimeStamp です。
user principal.user.userid user フィールドの値。
user_email target.user.userid user_email フィールドの値。
user_mail target.user.userid msg フィールドから抽出された user_mail フィールドの値。
user_name principal.user.user_display_name user_name フィールドの値。
user_uid principal.user.userid または target.user.userid user_uid フィールドの値。product_data.activity_type が InvalidLogin または Login でない場合は principal.user.userid にマッピングされ、それ以外の場合は target.user.userid にマッピングされます。
uuid intermediary.asset.product_object_id uuid フィールドの値。
version metadata.product_version version フィールドの値。
user", "user_mail", and "user_uid principal.user.email_addresses 変更履歴からマッピング
user_email", "mailbox_owner", "product_data.target", and "user_uid target.user.email_addresses 変更履歴からマッピング
__event_timestamp metadata.event_timestamp 変更履歴からマッピング
_elastic_timestamp", "created_timestamp", "inserted_timestamp", "updated_timestamp", "responsible_logs" and "sub_feature additional.fields 変更履歴からマッピング
threat_score", "locations", "transaction_id", "content_checks.dlp.raw_response.requestid", "content_checks.dlp.raw_response.responseaction", "org_unit", "policy_type", "content_checks.vk_pci", "content_checks.vk_vba_macros", "content_checks.vk_glba", "content_checks.vk_source_code", "content_checks.vk_pii", "content_checks.vk_virus", "content_checks.vk_hipaa", "content_checks.violations", "object_name", "multi_user", "risks", "name", "_latency", "content_checks.dlp.raw_response.warning", "content_checks.dlp.raw_response.violation", "content_checks.dlp.raw_response.contentdetails", "content_checks.vk_dlp_policy_violations", "content_checks.risktype_list", "content_checks.vk_content_iq_violations", "actions_taken", "__detect_source", "multi_facility", "content_checks.vba_macros.expressions" and "policy_violated security_result.detection_fields 変更履歴からマッピング
resource_id target.resource.id 変更履歴からマッピング

変更ログ

このパーサーの変更ログを表示する

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