Delinea Secret Server のログを収集する

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

このドキュメントでは、Delinea(以前の Thycotic)Secret Server ログを収集する方法について説明します。パーサーは、未加工ログを Google Security Operations UDM に準拠した構造化形式に変換します。まず、タイムスタンプ、イベントタイプ、ユーザー情報などのキーフィールドを抽出し、特定のイベントタイプに基づいて条件付きロジックを使用して、データを適切な UDM フィールドにマッピングします。最終的に、Google SecOps での分析用にデータを拡充します。

始める前に

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

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:
      udplog:
        # Replace with your specific IP and port
        listen_address: "0.0.0.0:514"
    
    exporters:
      chronicle/chronicle_w_labels:
        compression: gzip
        # Path to the ingestion authentication file
        creds: '/path/to/your/ingestion-auth.json'
        # Your Chronicle customer ID
        customer_id: 'your_customer_id'
        endpoint: malachiteingestion-pa.googleapis.com
        ingestion_labels:
          log_type: SYSLOG
          namespace: thycotic
          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 Agent を再起動して変更を適用する

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

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

    net stop BindPlaneAgent && net start BindPlaneAgent
    

Syslog を使用してログを送信するように Delinea Secret Server を構成する

  1. 管理者認証情報を使用して Delinea Secret Server にログインします。
  2. [管理者] > [構成] に移動します。
  3. [編集] をクリックします。
  4. [Syslog/CEF ロギングを有効にする] チェックボックスをオンにして、次の詳細を指定します。
    • Syslog/CEF サーバー: Bindplane の IP アドレスを入力します。
    • Syslog/CEF プロトコル: [UDP] または [TCP] を選択します(Bindplane の構成によって異なります)。
    • Syslog/CEF ポート: Bindplane がリッスンするように構成されているポート番号を入力します。
  5. [保存] をクリックします。

UDM マッピング

ログフィールド UDM マッピング ロジック
Account_Domain event1.idm.read_only_udm.principal.domain この値は、未加工ログの「msg」フィールドの「Account_Domain」フィールドから取得されます。
ユーザー別 event1.idm.read_only_udm.principal.user.userid この値は、未加工ログの「msg」フィールドの「By User」フィールドから取得されます。
コンテナ ID event1.idm.read_only_udm.principal.asset.asset_id この値は、未加工ログの「msg」フィールドの「Container Id」フィールドから取得され、「container_id:」という接頭辞が付きます。
コンテナ名 event1.idm.read_only_udm.principal.resource.name この値は、未加工ログの「msg」フィールドの「Container name」フィールドから取得されます。
cs2 event1.idm.read_only_udm.additional.fields[].value.string_value この値は、未加工ログの「msg」フィールドの「cs2」フィールドから取得されます。
cs3 event1.idm.read_only_udm.target.file.full_path この値は、未加工ログの「msg」フィールドの「cs3」フィールドから取得されます。
cs4 event1.idm.read_only_udm.principal.user.user_display_name この値は、未加工ログの「msg」フィールドの「cs4」フィールドから取得されます。
詳細 event1.idm.read_only_udm.additional.fields[].value.string_value この値は、未加工ログの「msg」フィールドの「Details」フィールドから取得されます。
fname event1.idm.read_only_udm.target.file.full_path この値は、未加工ログの「msg」フィールドの「fname」フィールドから取得されます。
ホスト event1.idm.read_only_udm.principal.hostname、event1.idm.read_only_udm.principal.asset.hostname この値は、未加工ログの「msg」フィールドの「Host」フィールドから取得されます。
項目名 event1.idm.read_only_udm.target.user.userid この値は、未加工ログの「msg」フィールドの「Item Name」フィールドから取得されます。
event1.idm.read_only_udm.additional.fields[].key 値は「fname」にハードコードされています。
event1.idm.read_only_udm.additional.fields[].key 値は「Group or User」にハードコードされています。
event1.idm.read_only_udm.additional.fields[].key 値は「Details」にハードコードされています。
event1.idm.read_only_udm.additional.fields[].key 値は「type_id」にハードコードされています。
event1.idm.read_only_udm.extensions.auth.type 値は「MACHINE」にハードコードされています。
event1.idm.read_only_udm.metadata.description 値は、「thycotic_event」フィールドから取得されます。このフィールドは、Grok パターンを使用して未加工ログから抽出されます。
event1.idm.read_only_udm.metadata.event_timestamp.seconds 値は、存在する場合は「rt」フィールドから、存在しない場合は「ts」フィールドから取得されます。どちらのフィールドも、grok パターンを使用して未加工のログから抽出されます。
event1.idm.read_only_udm.metadata.event_type 値は、「thycotic_event」フィールドと他の条件に基づいて決定されます。たとえば、「thycotic_event」が「USER - LOGIN」の場合、イベントタイプは「USER_LOGIN」に設定されます。
event1.idm.read_only_udm.metadata.log_type 値は「THYCOTIC」にハードコードされています。
event1.idm.read_only_udm.metadata.product_event_type 値は、「thycotic_event」フィールドから取得されます。このフィールドは、Grok パターンを使用して未加工ログから抽出されます。
event1.idm.read_only_udm.metadata.product_log_id 値は、「action_id」フィールドから取得されます。このフィールドは、Grok パターンを使用して未加工ログから抽出されます。
event1.idm.read_only_udm.metadata.product_name 値は、「device_product」フィールドから取得されます。このフィールドは、grok パターンを使用して未加工ログから抽出されます。フィールドが空の場合、値は「Secret Server」にハードコードされます。
event1.idm.read_only_udm.metadata.product_version 値は、「device_version」フィールドから取得されます。このフィールドは、grok パターンを使用して未加工ログから抽出されます。
event1.idm.read_only_udm.metadata.vendor_name 値は「Thycotic」にハードコードされています。
event1.idm.read_only_udm.network.ip_protocol 「input.type」フィールドが「tcp」の場合、値は「TCP」に設定されます。
event1.idm.read_only_udm.observer.application 値は、存在する場合は「agent.type」フィールドから取得されます。存在しない場合は、「Secret Server」にハードコードされます。
event1.idm.read_only_udm.observer.asset_id 値は、「Agent ID:」と「agent.id」フィールドを連結した値に設定されます。
event1.idm.read_only_udm.observer.hostname 値は、存在する場合は「agent.hostname」フィールドから取得され、存在しない場合は「server」フィールドから取得されます。
event1.idm.read_only_udm.observer.platform_version この値は、「agent.version」フィールドから取得されます。
event1.idm.read_only_udm.observer.user.userid この値は、「agent.name」フィールドから取得されます。
event1.idm.read_only_udm.principal.asset.asset_id 値は、「ID:」と「host.id」フィールドを連結した値に設定されます。
event1.idm.read_only_udm.principal.asset.hardware.cpu_platform この値は、「host.architecture」フィールドから取得されます。
event1.idm.read_only_udm.principal.asset.hostname 値は、存在する場合は「server」フィールドから取得され、存在しない場合は「host.hostname」フィールドから取得されます。
event1.idm.read_only_udm.principal.asset.ip 値は、「src」フィールドが存在する場合はそこから取得され、存在しない場合は「src_ip」フィールドから取得されます。
event1.idm.read_only_udm.principal.hostname 値は、存在する場合は「host.hostname」フィールドから取得され、存在しない場合は「server」フィールドから取得されます。
event1.idm.read_only_udm.principal.ip 値は、存在する場合は「src」フィールドから取得され、存在しない場合は「src_ip」フィールドまたは「host.ip」フィールドから取得されます。
event1.idm.read_only_udm.principal.mac この値は、「host.mac」フィールドから取得されます。
event1.idm.read_only_udm.principal.platform 「host_os_platform」フィールドが「centos」の場合、値は「LINUX」に設定されます。それ以外の場合は、「host_os_platform」フィールドの大文字の値に設定されます。
event1.idm.read_only_udm.principal.platform_patch_level この値は、「host.os.kernel」フィールドから取得されます。
event1.idm.read_only_udm.principal.platform_version この値は、「host.os.version」フィールドから取得されます。
event1.idm.read_only_udm.principal.port 値は、「log.source.address」フィールドから Grok パターンを使用して抽出された「src_port」フィールドから取得されます。
event1.idm.read_only_udm.principal.user.user_display_name この値は、未加工ログの「msg」フィールドの「cs4」フィールドから取得されます。
event1.idm.read_only_udm.principal.user.userid この値は、未加工ログの「msg」フィールドの「suser」フィールドから取得されます。または、「thycotic_event」が「USER - LOGIN」、「USER - LOGOUT」、「USER - LOGINFAILURE」、「USER - EDIT」の場合、「By User」フィールドから取得されます。
event1.idm.read_only_udm.security_result.action この値は、未加工ログの「msg」フィールドの「Action」フィールドから取得されます。「thycotic_event」の値に基づいて「ALLOW」または「BLOCK」に設定することもできます。
event1.idm.read_only_udm.security_result.description この値は、「temp_message」フィールドから取得されます。このフィールドには、他のフィールドを抽出した後の「msg」フィールドの残りの部分が含まれています。
event1.idm.read_only_udm.security_result.severity 値は「syslog_severity」フィールドに基づいて決定されます。たとえば、「syslog_severity」に「error」または「warning」が含まれている場合、重大度は「HIGH」に設定されます。「thycotic_event」が「System Log」の場合、重大度は「INFORMATIONAL」に設定されます。
event1.idm.read_only_udm.security_result.severity_details この値は、「syslog_severity」フィールドから取得されます。
event1.idm.read_only_udm.target.file.full_path 値は、「cs3」フィールドと「fname」フィールドの両方が存在する場合に、それらを「/」セパレータで連結して作成されます。フィールドが 1 つしかない場合は、そのフィールドから値が取得されます。
event1.idm.read_only_udm.target.resource.product_object_id 値は「type_id」フィールドから取得されます。
event1.idm.read_only_udm.target.user.userid この値は、未加工ログの「msg」フィールドの「item_name」フィールドから取得されます。または、「thycotic_event」が「USER - LOGIN」、「USER - LOGOUT」、「USER - LOGINFAILURE」、「USER - EDIT」の場合、「Item Name」フィールドから取得されます。
events.timestamp.seconds 値は、存在する場合は「rt」フィールドから、存在しない場合は「ts」フィールドから取得されます。どちらのフィールドも、grok パターンを使用して未加工のログから抽出されます。
rt event1.idm.read_only_udm.metadata.event_timestamp.seconds この値は、未加工ログの「msg」フィールドの「rt」フィールドから取得され、イベント タイムスタンプの設定に使用されます。
src event1.idm.read_only_udm.principal.asset.ip、event1.idm.read_only_udm.principal.ip この値は、未加工ログの「msg」フィールドの「src」フィールドから取得されます。
src_ip event1.idm.read_only_udm.principal.asset.ip、event1.idm.read_only_udm.principal.ip 値は、「src_ip」フィールドから取得されます。このフィールドは、Grok パターンを使用して「log.source.address」フィールドから抽出されます。

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