CyberArk のログを収集する

パーサーのバージョン: 8.0

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

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

CyberArk Privileged Access Manager(PAM)は、オンプレミス環境とクラウド環境全体で特権アカウントと認証情報を保護、管理、モニタリングする、エンタープライズ グレードの特権アクセス セキュリティ ソリューションです。認証情報のボールトへの保管、セッションの分離とモニタリング、Privileged Threat Analytics(PTA)による脅威検出、すべての特権アクティビティの包括的な監査ロギングを提供します。

始める前に

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

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

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

  1. Google SecOps コンソールにログインします。
  2. [SIEM 設定] > [コレクション エージェント] に移動します。
  3. 取り込み認証ファイル をダウンロードします。Bindplane エージェントがインストールされるシステムにファイルを安全に保存します。

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

  1. Google SecOps コンソールにログインします。
  2. [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(実行中)である必要があります。

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

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

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

構成ファイルを探します。

  • Linux:

    sudo nano /etc/bindplane-agent/config.yaml
    
  • Windows:

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

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

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

    receivers:
        udplog:
            listen_address: "0.0.0.0:514"
    
    exporters:
        chronicle/cyberark:
            compression: gzip
            creds_file_path: '/etc/bindplane-agent/ingestion-auth.json'
            customer_id: 'your-customer-id'
            endpoint: malachiteingestion-pa.googleapis.com
            log_type: CYBERARK
            raw_log_field: body
    
    service:
        pipelines:
            logs/cyberark_to_chronicle:
                receivers:
                    - udplog
                exporters:
                    - chronicle/cyberark
    
  2. 各プレースホルダを次のように置き換えます。

    • レシーバーの構成:

      • listen_address: リッスンする IP アドレスとポート:

        • ポート 514 のすべてのインターフェースでリッスンする 0.0.0.0:514(Linux で root が必要)
        • 0.0.0.0:1514: 非特権ポートでリッスンします(Linux の非 root ユーザーにおすすめ)
      • レシーバー タイプのオプション:

        • udplog: UDP syslog 用(CyberArk Vault のデフォルト)
        • tcplog(TCP syslog の場合)
        • CyberArk Vault が SyslogServerProtocol=TCP で構成されている場合は tcplog を使用する
    • エクスポータの構成:

      • creds_file_path: Google SecOps の取り込み認証ファイルのフルパス。

        • Linux: /etc/bindplane-agent/ingestion-auth.json
        • Windows: C:\Program Files\observIQ OpenTelemetry Collector\ingestion-auth.json
      • customer_id: Google SecOps お客様 ID

      • endpoint: リージョン エンドポイント URL:

        • 米国: malachiteingestion-pa.googleapis.com
        • ヨーロッパ: europe-malachiteingestion-pa.googleapis.com
        • アジア: asia-southeast1-malachiteingestion-pa.googleapis.com
        • 完全なリストについては、リージョン エンドポイントをご覧ください。

構成ファイルを保存する

編集が完了したら、ファイルを保存します。

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

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

  • Linux で Bindplane エージェントを再起動するには:

    1. 次のコマンドを実行します。

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

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

      sudo journalctl -u observiq-otel-collector -f
      
  • Windows で Bindplane エージェントを再起動するには:

    1. 次のいずれかのオプションを選択します。

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

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

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

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

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

CyberArk の syslog 転送を構成する

CyberArk Vault は、syslog 経由で CEF(Common Event Format)形式の監査イベントを送信します。Vault Server は、XSL 変換ファイルを使用して XML 監査レコードを CEF メッセージに変換し、Bindplane エージェントに転送します。

syslog を送信するように Vault Server を構成する

  1. 管理者権限で CyberArk Vault Server ホストマシンにログインします。
  2. CyberArk Vault Server のインストール フォルダ(例: `C:\Program Files (x86)\PrivateArk\Server\Conf`)に移動します。
  3. テキスト エディタで DBParm.ini ファイルを開きます。
  4. DBParm.sample.ini ファイル(同じフォルダにあります)から [SYSLOG] セクションをコピーし、DBParm.ini の下部に貼り付けます。
  5. [SYSLOG] セクションで、次の syslog パラメータを構成します。

    [SYSLOG]
    SyslogServerIP=<BINDPLANE_AGENT_IP>
    SyslogServerPort=514
    SyslogServerProtocol=UDP
    UseLegacySyslogFormat=No
    SyslogTranslatorFile=Syslog\Arcsight.sample.xsl
    SyslogMessageCodeFilter=0-999
    
  6. 次の値を置き換えます。

    • SyslogServerIP: Bindplane エージェント ホストの IP アドレスを入力します(例: 192.168.1.100)。
    • SyslogServerPort: Bindplane エージェントの listen_address に一致するポートを入力します(例: 514)。
    • SyslogServerProtocol: プロトコルを選択します。

      • UDP Syslog の UDP(デフォルト)
      • TCP Syslog の TCP
    • SyslogTranslatorFile: CEF 形式の XSL トランスレータ ファイルを入力します。

      • 標準 CEF 出力の Syslog\Arcsight.sample.xsl(推奨)
    • SyslogMessageCodeFilter: 転送するメッセージ コードを入力します。

      • 0-999: すべてのイベントを転送する
      • 特定のイベントをフィルタリングするには、個々のコードまたは範囲(1,2,3,5-10,30 など)を指定します。
    • UseLegacySyslogFormat: RFC 5424 形式の場合は No に設定します。

  7. DBParm.ini ファイルを保存します。

  8. PrivateArk Server サービスを再起動します。

    1. Windows サービス(services.msc)を開きます。
    2. CyberArk Vault Disaster Recovery サービスを見つけて、実行中の場合は停止します。
    3. [PrivateArk Server] サービスを見つけます。
    4. 右クリックして [再起動] を選択します。
    5. CyberArk Vault 障害復旧 サービスを再度開始します(該当する場合)。

syslog を複数の宛先に転送する

  • Vault syslog イベントを Bindplane エージェントと他の宛先(PTA など)の両方に転送するには、複数の IP アドレスと変換ファイル(カンマで区切る)を指定します。

    SyslogServerIP=<BINDPLANE_AGENT_IP>,<PTA_SERVER_IP>
    SyslogTranslatorFile=Syslog\Arcsight.sample.xsl,Syslog\PTA.xsl
    

Privileged Threat Analytics(PTA)の syslog 転送を構成する(省略可)

PTA セキュリティ通知を Google SecOps に転送する場合は、PTA SIEM 統合を構成します。

  1. PVWA(Password Vault Web Access)コンソールにログインします。
  2. [Administration] > [Configuration Options] > [Privileged Threat Analytics] に移動します。
  3. [SIEM] セクションで、次の構成を行います。
    • Syslog サーバー IP: Bindplane エージェント ホストの IP アドレスを入力します。
    • Syslog サーバーポート: Bindplane エージェント構成に一致するポートを入力します(例: 514)。
    • プロトコル: Bindplane エージェント レシーバーに合わせて [UDP] または [TCP] を選択します。
    • 形式: [CEF] を選択します。
  4. [保存] をクリックします。

使用可能な XSL 変換ファイル

  • CyberArk Server のインストール フォルダの Syslog サブフォルダには、サンプルの XSL 変換ファイルが含まれています。

    翻訳者ファイル 形式 説明
    Arcsight.sample.xsl CEF 標準 CEF 形式(Google SecOps に推奨)
    SplunkCIM.xsl CIM Splunk Common Information Model 形式
    PTA.xsl カスタム CyberArk PTA に転送するための形式
    XSIAM.xsl CEF Palo Alto Cortex XSIAM 形式

syslog 転送を確認する

  1. PrivateArk Server サービスを再起動したら、Vault でテスト アクション(パスワードの取得や PVWA へのログインなど)を実行します。
  2. Bindplane エージェント ログで、受信した syslog メッセージを確認します。
    • Linux: sudo journalctl -u observiq-otel-collector -f
    • Windows: type "C:\Program Files\observIQ OpenTelemetry Collector\log\collector.log"
  3. CEF 形式のメッセージがログに表示されていることを確認します。次に例を示します。

    CEF:0|Cyber-Ark|Vault|10.0|22|CPM password retrieved|5|suser=Administrator src=10.0.0.1 fname=Root\operating system-server1-admin
    

UDM マッピング テーブル

ログフィールド UDM マッピング ロジック
RequestId_label additional.fields Key-Value ペアとしてマッピング
Category_label additional.fields Key-Value ペアとしてマッピング
ExtraDetails_label additional.fields Key-Value ペアとしてマッピング
CAPolicy_label additional.fields Key-Value ペアとしてマッピング
line_number_label additional.fields Key-Value ペアとしてマッピング
pasvc_action_label additional.fields Key-Value ペアとしてマッピング
control_socket_label additional.fields Key-Value ペアとしてマッピング
data_socket_label additional.fields Key-Value ペアとしてマッピング
timeout_label additional.fields Key-Value ペアとしてマッピング
vault_name_label additional.fields Key-Value ペアとしてマッピング
class_name_label additional.fields Key-Value ペアとしてマッピング
status_label additional.fields Key-Value ペアとしてマッピング
Publisher_Event additional.fields Key-Value ペアとしてマッピング
Last_Event additional.fields Key-Value ペアとしてマッピング
Total_Events additional.fields Key-Value ペアとしてマッピング
cs1_var additional.fields Key-Value ペアとしてマッピング
cs3_var additional.fields Key-Value ペアとしてマッピング
app_var additional.fields Key-Value ペアとしてマッピング
reason_var additional.fields Key-Value ペアとしてマッピング
cs5_var additional.fields Key-Value ペアとしてマッピング
cs4_var additional.fields Key-Value ペアとしてマッピング
_auth_mechanism extensions.auth.mechanism 直接マージ
dvc intermediary.ip 値が IP アドレス パターンと一致する場合
EventName metadata.description プロセスが exe パターンと一致しない場合
act metadata.description fname が空の場合
EventMessage metadata.description act が空の場合
LastEventDate metadata.event_timestamp ISO8601 または yyyy-MM-ddTHH:mm:ss 形式を使用して変換
_temp_datetime metadata.event_timestamp dd/MM/yyyy HH:mm:ss 形式で変換
datetime metadata.event_timestamp ISO8601 または MMM d HH:mm:ss 形式を使用して変換
_event_type metadata.event_type 直接名前を変更
name metadata.event_type 条件に基づいて設定されます。「Store File」の場合は FILE_CREATION、「Logon」の場合は USER_LOGIN、has_principal と has_target の場合は NETWORK_CONNECTION、has_target_file_details の場合は FILE_UNCATEGORIZED、has_target_process_details の場合は PROCESS_UNCATEGORIZED、has_principal のみの場合は STATUS_UPDATE、app_error と has_principal と has_target の場合は NETWORK_UNCATEGORIZED、それ以外の場合は GENERIC_EVENT
EventType metadata.product_event_type 直接マッピングされます。
signature_id, name metadata.product_event_type signature_id と name を連結したもの
LastEventID metadata.product_log_id 文字列に変換しました
tid metadata.product_log_id 直接マッピングされます。
product metadata.product_name 直接名前を変更する
version metadata.product_version 直接名前を変更する
vendor metadata.vendor_name 直接名前を変更する
ホスト observer.hostname 直接マッピングされます。
LastEventUserName principal.administrative_domain grok パターン domain\user を使用して抽出されます
ApplicationType principal.application 直接マッピングされます。
shost principal.asset.hostname 値が IP アドレス パターンと一致しない場合
shost principal.asset.hostname dhost が空の場合のフォールバック
shost principal.asset.ip 値が IP アドレス パターンと一致する場合
src principal.asset.ip 直接マッピングされます。
ip_address principal.asset.ip 直接マッピングされます。
shost principal.asset.ip dhost が空の場合のフォールバック
shost principal.ip 値が IP アドレスのパターンと一致する場合は、統合されます。
src principal.ip 直接マージ
ip_address principal.ip 直接マージ
ロケーション principal.location.name 直接マッピングされます。
LastEventSourceName principal.platform 値が Windows パターンと一致する場合は WINDOWS に設定
EventName principal.process.command_line プロセスが exe パターンと一致する場合
LastEventPackageName principal.resource.name 値が EventName ではない場合
ApplicationType principal.user.attribute.roles 値が AdminTask の場合は ADMINISTRATOR に設定
LastEventUserName principal.user.user_display_name grok パターン domain\user を使用して抽出されたドメイン ユーザー部分
user_name principal.user.user_display_name 直接マッピングされます。
SourceUser principal.user.userid 直接マッピングされます。
suser principal.user.userid イベントが USER_ タイプでない場合
usrName principal.user.userid 直接マッピングされます。
_action security_result.action 直接統合
name security_result.action 値が「Failure」または「Failed」で始まる場合は BLOCK に設定し、それ以外の場合は ALLOW に設定します。
msg security_result.description 直接マッピングされます。
msg、reason security_result.description 失敗条件の場合、msg と reason から連結されます
_sec_result_description security_result.description 直接マッピングされます。
PolicyName security_result.rule_name 直接マッピングされます。
cs2 security_result.rule_name 直接マッピングされます。
重要度 security_result.severity 値が 5 以下の場合は LOW、8 以下の場合は MEDIUM、それ以外の場合は HIGH に設定します。
sev security_result.severity 直接マッピングされます。
sev security_result.severity_details 直接マッピングされます。
理由 security_result.summary 直接マッピングされます。
name security_result.summary 直接マッピングされます。
dhost target.asset.hostname 値が IP アドレス パターンと一致しない場合
shost target.asset.hostname dhost が空の場合のフォールバック
dhost target.asset.ip 値が IP アドレスのパターンと一致する場合
GatewayStation target.asset.ip 直接マッピングされます。
shost target.asset.ip dhost が空の場合のフォールバック
FileQualifier target.asset_id 「アセット ID:」の接頭辞が付き、文字列に変換されます。
ファイル target.file.full_path 直接マッピングされます。
file_path target.file.full_path 直接マッピングされます。
LastEventSourceName target.file.full_path 値が「C:」で始まる場合
fname target.file.full_path 直接マッピングされます。
ハッシュ target.file.sha1 SHA1 タイプの場合、「SHA1##」接頭辞が削除され、値が小文字に変換されます。
GatewayStation target.ip 直接マージ
pid target.process.pid 文字列に変換しました
安全 target.resource.name 直接マッピングされます。
user_name target.user.user_display_name 直接マッピングされます。
TargetUser target.user.userid 直接マッピングされます。
duser target.user.userid 直接マッピングされます。
suser target.user.userid イベントが USER_ タイプの場合
event_msg.created event.idm.read_only_udm.metadata.collected_timestamp 変更履歴からマッピング
datetime event.idm.read_only_udm.metadata.event_timestamp 変更履歴からマッピング
Issuer event.idm.read_only_udm.principal.application 変更履歴からマッピング
Message event.idm.read_only_udm.security_result.description 変更履歴からマッピング
Station event.idm.read_only_udm.principal.ip、event.idm.read_only_udm.principal.asset.ip 変更履歴からマッピング
MessageID event.idm.read_only_udm.metadata.product_log_id 変更履歴からマッピング
Safe event.idm.read_only_udm.target.resource.name 変更履歴からマッピング
Version event.idm.read_only_udm.metadata.product_version 変更履歴からマッピング
usrName event.idm.read_only_udm.principal.user.userid 変更履歴からマッピング
src event.idm.read_only_udm.principal.ip と event.idm.read_only_udm.principal.asset.ip 変更履歴からマッピング
GatewayStation event.idm.read_only_udm.target.ip と event.idm.read_only_udm.target.asset.ip 変更履歴からマッピング
Reason event.idm.read_only_udm.security_result.summary 変更履歴からマッピング
Location event.idm.read_only_udm.principal.location.name 変更履歴からマッピング
File event.idm.read_only_udm.target.file.full_path 変更履歴からマッピング
RequestId security_result.detection_fields 変更履歴からマッピング
sev event.idm.read_only_udm.security_result 変更履歴からマッピング
Category event.idm.read_only_udm.additional.fields 変更履歴からマッピング
ExtraDetails event.idm.read_only_udm.additional.fields 変更履歴からマッピング
CAPolicy event.idm.read_only_udm.additional.fields 変更履歴からマッピング
status event.idm.read_only_udm.additional.fields 変更履歴からマッピング
class_name event.idm.read_only_udm.additional.fields 変更履歴からマッピング
vault_name event.idm.read_only_udm.additional.fields 変更履歴からマッピング
timeout event.idm.read_only_udm.additional.fields 変更履歴からマッピング
data_socket event.idm.read_only_udm.additional.fields 変更履歴からマッピング
control_socket event.idm.read_only_udm.additional.fields 変更履歴からマッピング
pasvc_action event.idm.read_only_udm.additional.fields 変更履歴からマッピング
line_number event.idm.read_only_udm.additional.fields 変更履歴からマッピング
ip_address event.idm.read_only_udm.principal.ip と event.idm.read_only_udm.principal.asset.ip 変更履歴からマッピング
file_path event.idm.read_only_udm.target.file.full_path 変更履歴からマッピング
tid event.idm.read_only_udm.metadata.product_log_id 変更履歴からマッピング
pid event.idm.read_only_udm.target.process.pid 変更履歴からマッピング
EventMessage event.idm.read_only_udm.metadata.description 変更履歴からマッピング
SourceUser event.idm.read_only_udm.principal.user.userid 変更履歴からマッピング
TargetUser event.idm.read_only_udm.target.user.userid 変更履歴からマッピング
user_name event.idm.read_only_udm.target.user.user_display_name 変更履歴からマッピング
host event.idm.read_only_udm.observer.hostname 変更履歴からマッピング

変更ログ

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

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