CyberArk PAM ログを収集する
以下でサポートされています。
Google SecOpsSIEM
このパーサー コードは、まず正規表現を使用して CyberArk Privileged Access Manager(PAM)の syslog メッセージからフィールドを抽出します。次に、抽出されたフィールドを統合データモデル(UDM)にマッピングし、追加のコンテキストでデータを拡充し、特定の条件に基づいてイベントタイプを標準化します。
始める前に
- Google Security Operations インスタンスがあることを確認します。
- Windows 2016 以降、または systemd を搭載した Linux ホストを使用していることを確認します。
- プロキシの背後で実行している場合は、ファイアウォールのポートが開いていることを確認します。
Google SecOps 取り込み認証ファイルを取得する
- Google SecOps コンソールにログインします。
- [SIEM 設定 > 収集エージェント] に移動します。
- 取り込み認証ファイルをダウンロードします。
Google SecOps のお客様 ID を取得する
- Google SecOps コンソールにログインします。
- [SIEM 設定] > [プロファイル] に移動します。
- [組織の詳細] セクションから [お客様 ID] をコピーして保存します。
BindPlane Agent をインストールする
- Windows へのインストールの場合は、次のスクリプトを実行します。
msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quiet
- Linux へのインストールの場合は、次のスクリプトを実行します。
sudo sh -c "$(curl -fsSlL https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh)" install_unix.sh
- その他のインストール オプションについては、こちらのインストール ガイドをご覧ください。
Syslog を取り込んで Google SecOps に送信するように BindPlane エージェントを構成する
- BindPlane がインストールされているマシンにアクセスします。
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
BindPlane エージェントを再起動して変更を適用します。
sudo systemctl restart bindplane
CyberArk Vault の Syslog エクスポートを構成する
- Vault サーバーにログインします。
C:\Program Files (x86)\CyberArk\Vault\Server\dbparm.ini
にある構成ファイルdbparm.ini
を開きます。次のパラメータを追加または変更します。
SyslogServer=<syslog_server_ip> SyslogPort=<syslog_server_port> SyslogProtocol=<TCP or UDP> SyslogFormat=Syslog
dbparm.ini
ファイルを保存します。Vault サーバーを再起動します。
net stop CyberArkVault net start CyberArkVault
PVWA で Syslog エクスポートを構成する
- PVWA サーバーにログインします。
C:\inetpub\wwwroot\PasswordVault\
にあるWeb.config
ファイルを開きます。次のキーを追加または変更します。
<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" />
変更を
Web.config
ファイルに保存します。IIS サービスを再起動します。
iisreset
PTA で Syslog エクスポートを構成する
- SSH を使用して PTA サーバーにアクセスします。
/opt/cta/config/application.properties
にあるapplication.properties
ファイルを開きます。次の行を追加または変更します。
syslog.server.ip=<syslog_server_ip> syslog.server.port=<syslog_server_port> syslog.protocol=<TCP or UDP>
application.properties
ファイルを保存します。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
- 新しく作成されたパーサー。