CyberArk のログを収集する

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

このドキュメントでは、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. Ingestion Authentication File をダウンロードします。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 (running)] になります。

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

その他のインストール オプションとトラブルシューティングについては、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 アドレスとポート:

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

        • UDP syslog の udplog(CyberArk Vault のデフォルト)
        • TCP Syslog の tcplog
        • 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+OEnterCtrl+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 サーバーを構成する

  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 Disaster Recovery サービスを再度開始します(該当する場合)。

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 「ASSET 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_ タイプの場合

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