CyberArk PAM ログを収集する

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

このパーサー コードは、まず正規表現を使用して CyberArk Privileged Access Manager(PAM)の syslog メッセージからフィールドを抽出します。次に、抽出されたフィールドを統合データモデル(UDM)にマッピングし、追加のコンテキストでデータを拡充し、特定の条件に基づいてイベントタイプを標準化します。

始める前に

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

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

  1. Google SecOps コンソールにログインします。
  2. [SIEM 設定 > 収集エージェント] に移動します。
  3. 取り込み認証ファイルをダウンロードします。

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

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

BindPlane Agent をインストールする

  1. Windows へのインストールの場合は、次のスクリプトを実行します。
    msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quiet
  2. Linux へのインストールの場合は、次のスクリプトを実行します。
    sudo sh -c "$(curl -fsSlL https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh)" install_unix.sh
  3. その他のインストール オプションについては、こちらのインストール ガイドをご覧ください。

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

  1. BindPlane がインストールされているマシンにアクセスします。
  2. config.yaml ファイルを次のように編集します。

    receivers:
        tcplog:
            # Replace the below port <54525> and IP <0.0.0.0> with your specific values
            listen_address: "0.0.0.0:54525" 
    
    exporters:
        chronicle/chronicle_w_labels:
            compression: gzip
            # Adjust the creds location below according the placement of the credentials file you downloaded
            creds: '{ json file for creds }'
            # Replace <customer_id> below with your actual ID that you copied
            customer_id: <customer_id>
            endpoint: malachiteingestion-pa.googleapis.com
            # You can apply ingestion labels below as preferred
            ingestion_labels:
            log_type: SYSLOG
            namespace: Cyberark_PAM
            raw_log_field: body
    service:
        pipelines:
            logs/source0__chronicle_w_labels-0:
                receivers:
                    - tcplog
                exporters:
                    - chronicle/chronicle_w_labels
    
  3. BindPlane エージェントを再起動して変更を適用します。

    sudo systemctl restart bindplane
    

CyberArk Vault の Syslog エクスポートを構成する

  1. Vault サーバーにログインします。
  2. C:\Program Files (x86)\CyberArk\Vault\Server\dbparm.ini にある構成ファイル dbparm.ini を開きます。
  3. 次のパラメータを追加または変更します。

    SyslogServer=<syslog_server_ip>
    SyslogPort=<syslog_server_port>
    SyslogProtocol=<TCP or UDP>
    SyslogFormat=Syslog
    
  4. dbparm.ini ファイルを保存します。

  5. Vault サーバーを再起動します。

    net stop CyberArkVault
    net start CyberArkVault
    

PVWA で Syslog エクスポートを構成する

  1. PVWA サーバーにログインします。
  2. C:\inetpub\wwwroot\PasswordVault\ にある Web.config ファイルを開きます。
  3. 次のキーを追加または変更します。

    <add key="SyslogServer" value="<syslog_server_ip>" />
    <add key="SyslogPort" value="<syslog_server_port>" />
    <add key="SyslogProtocol" value="<TCP or UDP>" />
    <add key="SyslogFormat" value="Syslog" />
    
  4. 変更を Web.config ファイルに保存します。

  5. IIS サービスを再起動します。

    iisreset
    

PTA で Syslog エクスポートを構成する

  1. SSH を使用して PTA サーバーにアクセスします。
  2. /opt/cta/config/application.properties にある application.properties ファイルを開きます。
  3. 次の行を追加または変更します。

    syslog.server.ip=<syslog_server_ip>
    syslog.server.port=<syslog_server_port>
    syslog.protocol=<TCP or UDP>
    
  4. application.properties ファイルを保存します。

  5. PTA サービスを再起動して変更を適用します。

    sudo service pta restart
    

UDM マッピング テーブル

ログフィールド UDM マッピング ロジック
対処 metadata.description act フィールドから直接マッピングされます。
cn1 additional.fields.value.string_value cn1Label が空でない場合、cn1 フィールドから直接マッピングされます。
cn1Label additional.fields.key cn1 が空でない場合、cn1Label フィールドから直接マッピングされます。
cn2 additional.fields.value.string_value cn2Label が空でない場合、cn2 フィールドから直接マッピングされます。
cn2Label additional.fields.key cn2 が空でない場合、cn2Label フィールドから直接マッピングされます。
cs1 additional.fields.value.string_value cs1Label が空でない場合、cs1 フィールドから直接マッピングされます。
cs1Label additional.fields.key cs1 が空でない場合、cs1Label フィールドから直接マッピングされます。
cs2 additional.fields.value.string_value cs2Label が空でない場合、cs2 フィールドから直接マッピングされます。
cs2Label additional.fields.key cs2 が空でない場合、cs2Label フィールドから直接マッピングされます。
cs3 additional.fields.value.string_value cs3Label が空でない場合、cs3 フィールドから直接マッピングされます。
cs3Label additional.fields.key cs3 が空でない場合、cs3Label フィールドから直接マッピングされます。
cs4 additional.fields.value.string_value cs4Label が空でない場合、cs4 フィールドから直接マッピングされます。
cs4Label additional.fields.key cs4 が空でない場合、cs4Label フィールドから直接マッピングされます。
cs5 additional.fields.value.string_value cs5Label が空でない場合、cs5 フィールドから直接マッピングされます。
cs5Label additional.fields.key cs5 が空でない場合、cs5Label フィールドから直接マッピングされます。
dhost target.hostname IP アドレスでない場合、dhost フィールドからマッピングされます。dhost が空の場合は、shost(IP またはホスト名)からマッピングされます。
dhost target.asset.hostname IP アドレスでない場合、dhost フィールドからマッピングされます。dhost が空の場合は、shost(IP またはホスト名)からマッピングされます。
dhost target.ip IP アドレスの場合は、dhost フィールドからマッピングされます。
dhost target.asset.ip IP アドレスの場合は、dhost フィールドからマッピングされます。
duser target.user.userid duser フィールドから直接マッピングされます。
dvc intermediary.ip IP アドレスの場合は、dvc フィールドからマッピングされます。
externalId metadata.product_log_id externalId フィールドから直接マッピングされます。
fname target.file.full_path fname フィールドから直接マッピングされます。
name metadata.event_type name フィールド、shost フィールド、dhost フィールドの組み合わせに基づいて event_type を決定するために使用されます。有効な値: USER_CHANGE_PASSWORD、FILE_READ、USER_LOGIN、FILE_OPEN、FILE_DELETION。一致するものが見つからず、has_principal が true で has_target が false の場合、event_type は STATUS_UPDATE に設定されます。それ以外の場合は、デフォルトで GENERIC_EVENT になります。
prin_hostname principal.hostname prin_hostname フィールドから直接マッピングされます。空の場合、shost が IP アドレスでない場合、shost からマッピングされます。
prin_hostname principal.asset.hostname prin_hostname フィールドから直接マッピングされます。空の場合、shost が IP アドレスでない場合、shost からマッピングされます。
prin_ip principal.ip prin_ip フィールドから直接マッピングされます。空白の場合、shost が IP アドレスであれば shost からマッピングされます。
prin_ip principal.asset.ip prin_ip フィールドから直接マッピングされます。空白の場合、shost が IP アドレスであれば shost からマッピングされます。
product metadata.product_name product フィールドから直接マッピングされます。ログにない場合、デフォルトは「PAM」です。
reason security_result.description reason フィールドから直接マッピングされます。
重要度 security_result.severity 次のロジックに基づいて severity フィールドからマッピングされます。1 ~ 3: INFORMATIONAL、4: ERROR、5: CRITICAL。
shost principal.hostname prin_hostname が空で、shost が IP アドレスでない場合、prin_hostname にマッピングされます。
shost principal.asset.hostname prin_hostname が空で、shost が IP アドレスでない場合、prin_hostname にマッピングされます。
shost principal.ip prin_ip が空で、shost が IP アドレスの場合、prin_ip にマッピングされます。
shost principal.asset.ip prin_ip が空で、shost が IP アドレスの場合、prin_ip にマッピングされます。
shost target.hostname dhost が空で、shost が IP アドレスでない場合、target.hostname にマッピングされます。
shost target.asset.hostname dhost が空で、shost が IP アドレスでない場合、target.hostname にマッピングされます。
shost target.ip dhost が空で、shost が IP アドレスの場合、target.ip にマッピングされます。
shost target.asset.ip dhost が空で、shost が IP アドレスの場合、target.ip にマッピングされます。
ステータス additional.fields.value.string_value status フィールドから直接マッピングされます。
suser principal.user.userid suser フィールドからマッピングされます。duser が空の場合は、ターゲット ユーザー ID と見なされます。
時間 metadata.event_timestamp.seconds タイムスタンプ形式に変換した後、time フィールドから直接マッピングされます。
時間 metadata.event_timestamp.nanos タイムスタンプ形式に変換した後、time フィールドから直接マッピングされます。
vendor metadata.vendor_name vendor フィールドから直接マッピングされます。ログにない場合、デフォルトは「CYBERARK」です。
version metadata.product_version version フィールドから直接マッピングされます。
metadata.log_type 「CYBERARK_PAM」にハードコードされています。
extensions.auth.mechanism event_type が「USER_LOGIN」の場合は「USERNAME_PASSWORD」に設定します。

変更点

2024-05-05

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