Collecter les journaux CyberArk PAM

Version de l'analyseur : 11.0

Compatible avec :

Ce document explique comment ingérer des journaux CyberArk PAM (Privileged Access Manager) dans Google Security Operations à l'aide de Bindplane. CyberArk PAM sécurise, gère et surveille les identifiants privilégiés dans les environnements sur site et cloud. Il fournit un coffre-fort numérique pour stocker les identifiants des comptes privilégiés, l'isolation et la surveillance des sessions, la rotation automatisée des mots de passe et des journaux d'audit détaillés pour toutes les activités d'accès privilégié.

Avant de commencer

Assurez-vous de remplir les conditions suivantes :

  • Une instance Google SecOps.
  • Un hôte Windows 2016 ou version ultérieure, ou Linux avec systemd.
  • Si vous exécutez l'agent derrière un proxy, assurez-vous que les ports de pare-feu sont ouverts conformément aux exigences de l'agent Bindplane.
  • Accès privilégié au coffre-fort CyberArk PAM et à PVWA (Password Vault Web Access) avec des autorisations d'administrateur.

Obtenir le fichier d'authentification d'ingestion Google SecOps

  1. Connectez-vous à la console Google SecOps.
  2. Accédez à Paramètres du SIEM > Agent de collecte.
  3. Téléchargez le fichier d'authentification d'ingestion.
    • Enregistrez le fichier de manière sécurisée sur le système sur lequel Bindplane sera installé.

Obtenir l'ID client Google SecOps

  1. Connectez-vous à la console Google SecOps.
  2. Accédez à Paramètres SIEM > Profil.
  3. Copiez et enregistrez le numéro client de la section Informations sur l'organisation.

Installer l'agent Bindplane

Installez l'agent Bindplane sur votre système d'exploitation Windows ou Linux en suivant les instructions ci-dessous.

Installation de fenêtres

  1. Ouvrez l'invite de commandes ou PowerShell en tant qu'administrateur.
  2. Exécutez la commande suivante :

    msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quiet
    

Installation de Linux

  1. Ouvrez un terminal avec les droits root ou sudo.
  2. Exécutez la commande suivante :

    sudo sh -c "$(curl -fsSlL https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh)" install_unix.sh
    

Ressources d'installation supplémentaires

Pour plus d'options d'installation, consultez ce guide d'installation.

Configurer l'agent Bindplane pour ingérer Syslog et l'envoyer à Google SecOps

  1. Accédez au fichier de configuration :

    • Trouvez le fichier config.yaml. Il se trouve généralement dans le répertoire /opt/observiq-otel-collector/ sous Linux ou dans le répertoire d'installation sous Windows.
    • Ouvrez le fichier à l'aide d'un éditeur de texte (par exemple, nano, vi ou le Bloc-notes).
  2. Modifiez le fichier config.yaml comme suit :

    receivers:
        tcplog:
            # Replace the port and IP address as required
            listen_address: "0.0.0.0:514"
    
    exporters:
        chronicle/chronicle_w_labels:
            compression: gzip
            # Adjust the path to the credentials file you downloaded in Step 1
            creds_file_path: '/path/to/ingestion-authentication-file.json'
            # Replace with your actual customer ID from Step 2
            customer_id: <PLACEHOLDER_CUSTOMER_ID>
            endpoint: malachiteingestion-pa.googleapis.com
            # Add optional ingestion labels for better organization
            log_type: 'CYBERARK_PAM'
            raw_log_field: body
            ingestion_labels:
    
    service:
        pipelines:
            logs/source0__chronicle_w_labels-0:
                receivers:
                    - tcplog
                exporters:
                    - chronicle/chronicle_w_labels
    
  • Remplacez le port et l'adresse IP selon les besoins de votre infrastructure.
  • Remplacez <PLACEHOLDER_CUSTOMER_ID> par le numéro client réel.
  • Mettez à jour /path/to/ingestion-authentication-file.json avec le chemin d'accès au fichier où le fichier d'authentification a été enregistré dans la section Obtenir le fichier d'authentification pour l'ingestion Google SecOps.

Redémarrez l'agent Bindplane pour appliquer les modifications.

  1. Pour redémarrer l'agent Bindplane sous Linux, exécutez la commande suivante :

    sudo systemctl restart observiq-otel-collector
    
  2. Pour redémarrer l'agent Bindplane sous Windows, vous pouvez utiliser la console Services ou saisir la commande suivante :

    net stop observiq-otel-collector && net start observiq-otel-collector
    

Configurer le transfert syslog CyberArk PAM

CyberArk PAM envoie des données d'audit à un SIEM via l'intégration syslog du coffre-fort configurée dans le fichier dbparm.ini.

Configurer le serveur Vault

  1. Connectez-vous au serveur CyberArk Vault avec des droits d'administrateur.
  2. Accédez au répertoire d'installation de Vault et ouvrez le fichier dbparm.ini :

    • Chemin d'accès par défaut (Windows) : C:\Program Files (x86)\PrivateArk\Server\Conf\dbparm.ini
    • Chemin par défaut (Linux) : /opt/CARKaim/vault/Conf/dbparm.ini
  3. Ajoutez ou modifiez les paramètres de configuration syslog suivants dans dbparm.ini :

    SyslogTranslatorFile=Syslog\CASP.xsl
    SyslogServerIP=<BINDPLANE_AGENT_IP>
    SyslogServerPort=514
    SyslogServerProtocol=TCP
    SyslogMessageCodeFilter=0-999
    UseSyslogFormat=Yes
    SyslogSendAuditAsJSON=Yes
    
  4. Remplacez <BINDPLANE_AGENT_IP> par l'adresse IP de l'hôte de l'agent Bindplane (par exemple, 192.168.1.100).

Guide de référence des paramètres de configuration

Paramètre Valeur Description
SyslogTranslatorFile Syslog\CASP.xsl Fichier de traduction XSL pour le format syslog
SyslogServerIP Adresse IP de l'agent Bindplane Adresse IP du récepteur Syslog
SyslogServerPort 514 Numéro de port pour Syslog (correspond à la configuration Bindplane)
SyslogServerProtocol TCP Protocole de transport (TCP recommandé pour une diffusion fiable)
SyslogMessageCodeFilter 0-999 Plage de codes de message à transférer (0-999 = tous)
UseSyslogFormat Yes Envoyer des journaux au format syslog standard
SyslogSendAuditAsJSON Yes Envoyer les journaux d'audit au format JSON pour une meilleure analyse

Redémarrer le service Vault

  1. Après avoir modifié dbparm.ini, redémarrez le service CyberArk Vault :

    • Windows : ouvrez la console Services, recherchez CyberArk Vault, effectuez un clic droit, puis sélectionnez Redémarrer.
    • Linux : exécutez la commande suivante :
    sudo systemctl restart vault
    
  2. Vérifiez que les journaux sont reçus en consultant les journaux de l'agent Bindplane :

    sudo journalctl -u observiq-otel-collector -f
    

Configurer la journalisation d'audit PVWA (facultatif)

Pour transférer les journaux d'activité PVWA (Password Vault Web Access) :

  1. Connectez-vous à l'interface Web PVWA en tant qu'administrateur.
  2. Accédez à Administration > Options > Audit.
  3. Vérifiez que l'option Envoyer des messages syslog est activée.
  4. Le PVWA utilise la configuration syslog du coffre-fort à partir de dbparm.ini.

Pour en savoir plus sur l'intégration de Syslog CyberArk PAM, consultez la documentation CyberArk PAM.

Table de mappage UDM

Champ de journal Mappage UDM Logique
Vendor metadata.vendor_name Défini sur "CyberArk".
Product metadata.product_name Définissez la valeur sur "PAM" ou "Vault".
Version metadata.product_version Version de CyberArk PAM.
MessageID metadata.product_event_type Code de l'action d'audit.
Message metadata.description Message d'audit lisible par l'utilisateur.
Severity security_result.severity Mappé à partir du niveau de gravité CyberArk.
Issuer principal.user.userid Utilisateur ayant effectué l'action.
Station principal.ip Adresse IP source de la session.
SourceUser principal.user.userid Utilisateur source à l'origine de l'action.
TargetUser target.user.userid Compte privilégié cible.
SafeName target.resource.name Le coffre-fort CyberArk contenant les identifiants.
AccountName target.resource.attribute.labels Nom du compte privilégié.
Address target.hostname Nom d'hôte ou adresse du système cible.
PolicyID security_result.rule_name ID de la règle de la plate-forme.
Reason security_result.description Motif fourni pour l'action.
RequestID network.session_id ID de la demande de double contrôle.
GatewayStation intermediary.ip Adresse IP de la passerelle PSM.
Timestamp metadata.event_timestamp Code temporel de l'événement.
Command event.idm.read_only_udm.target.process.command_line Mappé à partir du journal des modifications
User event.idm.read_only_udm.target.user.userid Mappé à partir du journal des modifications
syslog.audit_record.TargetUser event.idm.read_only_udm.target.user.userid Mappé à partir du journal des modifications
syslog.audit_record.TargetUser event.idm.read_only_udm.target.user.attribute.labels Mappé à partir du journal des modifications
SrcHost event.idm.read_only_udm.principal.ip et event.idm.read_only_udm.principal.asset.ip Mappé à partir du journal des modifications
DstHost event.idm.read_only_udm.target.ip et event.idm.read_only_udm.target.asset.ip Mappé à partir du journal des modifications
ProcessName event.idm.read_only_udm.target.process.file.names Mappé à partir du journal des modifications
SessionID event.idm.read_only_udm.network.session_id Mappé à partir du journal des modifications
Protocol event.idm.read_only_udm.network.application_protocol Mappé à partir du journal des modifications
syslog.audit_record.Issuer event.idm.read_only_udm.principal.user.userid Mappé à partir du journal des modifications
syslog.audit_record.SourceUser event.idm.read_only_udm.principal.user.attribute.labels Mappé à partir du journal des modifications
syslog.audit_record.SourceUser event.idm.read_only_udm.principal.user.userid Mappé à partir du journal des modifications
syslog.audit_record.Action event.idm.read_only_udm.metadata.product_event_type Mappé à partir du journal des modifications
syslog.audit_record.Version event.idm.read_only_udm.metadata.product_version Mappé à partir du journal des modifications
syslog.audit_record.Severity event.idm.read_only_udm.security_result.severity Mappé à partir du journal des modifications
syslog.audit_record.Severity event.idm.read_only_udm.security_result.severity_details Mappé à partir du journal des modifications
syslog.audit_record.Location event.idm.read_only_udm.principal.location.country_or_region Mappé à partir du journal des modifications
syslog.audit_record.Message event.idm.read_only_udm.security_result.description Mappé à partir du journal des modifications
syslog.audit_record.CAProperties.CAProperty event.idm.read_only_udm.additional.fields Mappé à partir du journal des modifications
format event.idm.read_only_udm.additional.fields Mappé à partir du journal des modifications
syslog.audit_record.Rfc5424 event.idm.read_only_udm.additional.fields Mappé à partir du journal des modifications
syslog.audit_record.Timestamp event.idm.read_only_udm.additional.fields Mappé à partir du journal des modifications
syslog.audit_record.IsoTimestamp event.idm.read_only_udm.additional.fields Mappé à partir du journal des modifications
syslog.audit_record.Hostname event.idm.read_only_udm.additional.fields Mappé à partir du journal des modifications
syslog.audit_record.Vendor event.idm.read_only_udm.additional.fields Mappé à partir du journal des modifications
syslog.audit_record.Product event.idm.read_only_udm.additional.fields Mappé à partir du journal des modifications
syslog.audit_record.RequestId event.idm.read_only_udm.additional.fields Mappé à partir du journal des modifications
version event.idm.read_only_udm.additional.fields Mappé à partir du journal des modifications
PSMID event.idm.read_only_udm.additional.fields Mappé à partir du journal des modifications
cs2 event.idm.read_only_udm.target.resource.name Mappé à partir du journal des modifications
event_data.created event.idm.read_only_udm.metadata.collected_timestamp Mappé à partir du journal des modifications
host event.idm.read_only_udm.intermediary.hostname et event.idm.read_only_udm.intermediary.asset.hostname Mappé à partir du journal des modifications
dvc event.idm.read_only_udm.intermediary.asset.ip Mappé à partir du journal des modifications
dvc event.idm.read_only_udm.intermediary.hostname et event.idm.read_only_udm.intermediary.asset.hostname Mappé à partir du journal des modifications
PSMID event.idm.read_only_udm.principal.hostname Mappé à partir du journal des modifications
PSMID event.idm.read_only_udm.principal.asset.hostname Mappé à partir du journal des modifications
GatewayStation event.idm.read_only_udm.target.ip Mappé à partir du journal des modifications
GatewayStation event.idm.read_only_udm.target.asset.ip Mappé à partir du journal des modifications
reason event.idm.read_only_udm.target.process.file.full_path Mappé à partir du journal des modifications
ApplicationType event.idm.read_only_udm.additional.fields Mappé à partir du journal des modifications
RDPOffset event.idm.read_only_udm.additional.fields Mappé à partir du journal des modifications
VIDOffset event.idm.read_only_udm.additional.fields Mappé à partir du journal des modifications
ConnectionComponentId event.idm.read_only_udm.additional.fields Mappé à partir du journal des modifications
ProcessId event.idm.read_only_udm.target.process.pid Mappé à partir du journal des modifications
leef_version event.idm.read_only_udm.additional.fields Mappé à partir du journal des modifications
leef_event_id event.idm.read_only_udm.additional.fields Mappé à partir du journal des modifications
inter_host event.idm.read_only_udm.intermediary.hostname Mappé à partir du journal des modifications
EventMessage event.idm.read_only_udm.metadata.description Mappé à partir du journal des modifications
src event.idm.read_only_udm.principal.ip et event.idm.read_only_udm.principal.asset.ip Mappé à partir du journal des modifications
usrName event.idm.read_only_udm.principal.user.userid Mappé à partir du journal des modifications
Reason event.idm.read_only_udm.security_result.action_details Mappé à partir du journal des modifications
Category event.idm.read_only_udm.security_result.category_details Mappé à partir du journal des modifications
sev event.idm.read_only_udm.security_result.severity et event.idm.read_only_udm.security_result.severity_details Mappé à partir du journal des modifications
address event.idm.read_only_udm.target.hostname et event.idm.read_only_udm.target.asset.hostname Mappé à partir du journal des modifications
Safe event.idm.read_only_udm.target.resource.name Mappé à partir du journal des modifications
username event.idm.read_only_udm.target.user.user_display_name Mappé à partir du journal des modifications
logondomain event.idm.read_only_udm.principal.administrative_domain Mappé à partir du journal des modifications
devicetype event.idm.read_only_udm.principal.resource.resource_subtype Mappé à partir du journal des modifications
header_host event.idm.read_only_udm.src.hostname Mappé à partir du journal des modifications
Ticket_ID event.idm.read_only_udm.additional.fields Mappé à partir du journal des modifications
Ticketing_System event.idm.read_only_udm.additional.fields Mappé à partir du journal des modifications
Ticketing_Audit_Safe event.idm.read_only_udm.additional.fields Mappé à partir du journal des modifications
Action event.idm.read_only_udm.additional.fields Mappé à partir du journal des modifications
msg event.idm.read_only_udm.security_result.description Mappé à partir du journal des modifications
name event.idm.read_only_udm.principal.resource.name Mappé à partir du journal des modifications
policyid event.idm.read_only_udm.security_result.detection_fields Mappé à partir du journal des modifications
msg event.idm.read_only_udm.metadata.description Mappé à partir du journal des modifications
actionType event.idm.read_only_udm.additional.fields Mappé à partir du journal des modifications
action event.idm.read_only_udm.additional.fields Mappé à partir du journal des modifications
auditType event.idm.read_only_udm.additional.fields Mappé à partir du journal des modifications
customData.app_id event.idm.read_only_udm.additional.fields Mappé à partir du journal des modifications
customData.end_time event.idm.read_only_udm.additional.fields Mappé à partir du journal des modifications
customData.is_internal_application event.idm.read_only_udm.additional.fields Mappé à partir du journal des modifications
customData.scopes event.idm.read_only_udm.additional.fields Mappé à partir du journal des modifications
customData.start_time event.idm.read_only_udm.additional.fields Mappé à partir du journal des modifications
customData.token_type event.idm.read_only_udm.additional.fields Mappé à partir du journal des modifications
customData.user_guid event.idm.read_only_udm.additional.fields Mappé à partir du journal des modifications
identityType event.idm.read_only_udm.additional.fields Mappé à partir du journal des modifications
tenantId event.idm.read_only_udm.additional.fields Mappé à partir du journal des modifications
component event.idm.read_only_udm.additional.fields Mappé à partir du journal des modifications
serviceName event.idm.read_only_udm.additional.fields Mappé à partir du journal des modifications
customData.DPA.ephemeral_user event.idm.read_only_udm.additional.fields Mappé à partir du journal des modifications
customData.DPA.access_method event.idm.read_only_udm.additional.fields Mappé à partir du journal des modifications
customData.DPA.assigned_domain_groups event.idm.read_only_udm.additional.fields Mappé à partir du journal des modifications
customData.DPA.assigned_groups event.idm.read_only_udm.additional.fields Mappé à partir du journal des modifications
customData.DPA.authentication_methods event.idm.read_only_udm.additional.fields Mappé à partir du journal des modifications
customData.DPA.connection_string event.idm.read_only_udm.additional.fields Mappé à partir du journal des modifications
customData.DPA.maximum_session_duration event.idm.read_only_udm.additional.fields Mappé à partir du journal des modifications
customData.deny_by_user event.idm.read_only_udm.additional.fields Mappé à partir du journal des modifications
customData.mfa_reason event.idm.read_only_udm.additional.fields Mappé à partir du journal des modifications
customData.factors event.idm.read_only_udm.additional.fields Mappé à partir du journal des modifications
customData.auth_method event.idm.read_only_udm.additional.fields Mappé à partir du journal des modifications
customData.entity_type event.idm.read_only_udm.additional.fields Mappé à partir du journal des modifications
customData.mfa_initiator event.idm.read_only_udm.additional.fields Mappé à partir du journal des modifications
safe event.idm.read_only_udm.additional.fields Mappé à partir du journal des modifications
cloudAssets event.idm.read_only_udm.additional.fields Mappé à partir du journal des modifications
cloudIdentities event.idm.read_only_udm.additional.fields Mappé à partir du journal des modifications
cloudResources event.idm.read_only_udm.additional.fields Mappé à partir du journal des modifications
applicationCode event.idm.read_only_udm.target.application Mappé à partir du journal des modifications
auditCode event.idm.read_only_udm.security_result.detection_fields Mappé à partir du journal des modifications
userId event.idm.read_only_udm.principal.user.userid Mappé à partir du journal des modifications
username event.idm.read_only_udm.principal.user.user_display_name Mappé à partir du journal des modifications
cloudProvider event.idm.read_only_udm.principal.cloud.environment Mappé à partir du journal des modifications
customData.client event.idm.read_only_udm.principal.user.attribute.labels Mappé à partir du journal des modifications
uuid event.idm.read_only_udm.metadata.product_log_id Mappé à partir du journal des modifications
timestamp event.idm.read_only_udm.metadata.event_timestamp Mappé à partir du journal des modifications
source event.idm.read_only_udm.principal.ip Mappé à partir du journal des modifications
source event.idm.read_only_udm.principal.asset.ip Mappé à partir du journal des modifications
accessMethod event.idm.read_only_udm.extensions.auth.auth_details Mappé à partir du journal des modifications
accountId event.idm.read_only_udm.principal.user.product_object_id Mappé à partir du journal des modifications
sessionId event.idm.read_only_udm.network.session_id Mappé à partir du journal des modifications
target event.idm.read_only_udm.target.hostname Mappé à partir du journal des modifications
target event.idm.read_only_udm.target.asset.hostname Mappé à partir du journal des modifications
targetPlatform event.idm.read_only_udm.target.labels Mappé à partir du journal des modifications
customData.DPA.source_hostname event.idm.read_only_udm.principal.hostname Mappé à partir du journal des modifications
customData.DPA.source_hostname event.idm.read_only_udm.principal.asset.hostname Mappé à partir du journal des modifications
customData.DPA.source_user event.idm.read_only_udm.principal.user.attributes.labels Mappé à partir du journal des modifications
customData.DPA.target_machine event.idm.read_only_udm.target.labels Mappé à partir du journal des modifications
customData.entity_name event.idm.read_only_udm.principal.hostname Mappé à partir du journal des modifications
customData.entity_name event.idm.read_only_udm.principal.asset.hostname Mappé à partir du journal des modifications
customData.geoip_latitude event.idm.read_only_udm.principal.location.region_latitude Mappé à partir du journal des modifications
customData.geoip_longitude event.idm.read_only_udm.principal.location.region_longitude Mappé à partir du journal des modifications
customData.geoip_city_name event.idm.read_only_udm.principal.location.city Mappé à partir du journal des modifications
customData.mfa_result event.idm.read_only_udm.security_result.action Mappé à partir du journal des modifications
customData.geoip_country_name event.idm.read_only_udm.principal.location.country_or_region Mappé à partir du journal des modifications
customData.request_device_os event.idm.read_only_udm.principal.asset.platform_software.platform Mappé à partir du journal des modifications
customData.request_broswer_name event.idm.read_only_udm.principal.resource.attribute.labels Mappé à partir du journal des modifications
customData.geoip_country_code event.idm.read_only_udm.principal.resource.attribute.labels Mappé à partir du journal des modifications
accountName event.idm.read_only_udm.principal.user.attribute.labels Mappé à partir du journal des modifications
targetAccount event.idm.read_only_udm.target.user.userid Mappé à partir du journal des modifications
customData.PAM.new_target event.idm.read_only_udm.target.user.attribute.labels Mappé à partir du journal des modifications
customData.PAM.target event.idm.read_only_udm.target.file.full_path Mappé à partir du journal des modifications
customData.directory_service_id event.idm.read_only_udm.principal.user.attribute.labels Mappé à partir du journal des modifications
customData.user_id event.idm.read_only_udm.principal.user.attribute.labels Mappé à partir du journal des modifications
customData.user_name event.idm.read_only_udm.principal.user.attribute.labels Mappé à partir du journal des modifications
customData.mfa_initiator event.idm.read_only_udm.extensions.auth.type Mappé à partir du journal des modifications
signature_id metadata.product_event_type Mappé à partir du journal des modifications
app target.application Mappé à partir du journal des modifications

Journal des modifications

Afficher le journal des modifications pour ce parseur

Vous avez encore besoin d'aide ? Obtenez des réponses de membres de la communauté et de professionnels Google SecOps.