CyberArk PAM ログを収集する

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

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

始める前に

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

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

  1. Google SecOps コンソールにログインします。
  2. [SIEM 設定] > [収集エージェント] に移動します。
  3. Ingestion Authentication File をダウンロードします。

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

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

Bindplane エージェントをインストールする

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

  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 Server を再起動します。

    net stop CyberArkVault
    net start CyberArkVault
    

PVWA で Syslog Export を構成する

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

  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 マッピング 論理
act 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 nameshostdhost フィールドの組み合わせに基づいて 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 からマッピングされます。
商品 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」に設定します。

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