CyberArk EPM-Protokolle erfassen
Dieser Parsercode wandelt CyberArk EPM-Protokolldaten in ein einheitliches Datenmodell (Unified Data Model, UDM) um. Dabei wird jedes Ereignis im Protokoll durchgegangen, relevante Felder den entsprechenden UDM-Feldern zugeordnet, bestimmte Datenstrukturen wie „exposedUsers“ verarbeitet und die Ausgabe mit statischen Anbieter- und Produktinformationen angereichert.
Hinweise
- Sie benötigen eine Google Security Operations-Instanz.
- Sie müssen Windows 2016 oder höher oder einen Linux-Host mit systemd verwenden.
- Wenn die Ausführung hinter einem Proxy erfolgt, müssen die Firewallports geöffnet sein.
- Sie benötigen Berechtigungen für die EPM-Server-Verwaltungskonsole.
Authentifizierungsdatei für die Aufnahme in Google SecOps abrufen
- Melden Sie sich in der Google SecOps Console an.
- Gehen Sie zu SIEM-Einstellungen > Erfassungsagenten.
- Lade die Datei für die Datenaufnahmeauthentifizierung herunter.
Google SecOps-Kundennummer abrufen
- Melden Sie sich in der Google SecOps Console an.
- Gehen Sie zu SIEM-Einstellungen > Profil.
- Kopieren und speichern Sie die Kundennummer aus dem Bereich Organisationsdetails.
BindPlane-Agent installieren
- Führen Sie für die Windows-Installation das folgende Script aus:
msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quiet
- Führen Sie für die Linux-Installation das folgende Script aus:
sudo sh -c "$(curl -fsSlL https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh)" install_unix.sh
- Weitere Installationsoptionen finden Sie in diesem Installationsleitfaden.
Bindplane-Agent so konfigurieren, dass er Syslog-Dateien aufnimmt und an Google SecOps sendet
- Rufen Sie den Computer auf, auf dem der Bindplane-Agent installiert ist.
Bearbeiten Sie die Datei
config.yaml
so: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_EPM raw_log_field: body service: pipelines: logs/source0__chronicle_w_labels-0: receivers: - tcplog exporters: - chronicle/chronicle_w_labels
Starten Sie den Bindplane-Agent neu, um die Änderungen anzuwenden:
sudo systemctl restart bindplane
Weiterleitung von Ereignissen an Drittanbieter in EPM konfigurieren
- Melden Sie sich in der EPM-Server-Verwaltungskonsole an.
- Gehen Sie zu Erweitert > Serverkonfiguration.
- Suchen Sie im Bereich Event-Listener nach der Einstellung Drittanbieter-Listener.
- Legen Sie den Wert auf An fest, um Listener von Drittanbietern zu aktivieren.
- Konfigurieren Sie den Syslog-Listener mit den folgenden Details:
- Syslog-Server-IP: Geben Sie die IP-Adresse des syslog-Servers (Bindebene) ein.
- Syslog-Port: Geben Sie die Portnummer des syslog-Servers (Bindebene) an.
- Protokoll: Wählen Sie das auf dem syslog-Server konfigurierte Protokoll aus (TCP oder UDP).
- Format: Wählen Sie Syslog als Format für die Protokolle aus.
- Klicken Sie auf Speichern.
UDM-Zuordnungstabelle
Logfeld | UDM-Zuordnung | Logik |
---|---|---|
agentId | principal.asset.asset_id | „agentId:“ wird mit dem Wert des Felds „agentId“ zusammengeführt. |
computerName | principal.hostname | Das Feld „computerName“ wird direkt zugeordnet. |
displayName | metadata.description | Das Feld „displayName“ wird direkt zugeordnet. |
eventType | metadata.product_event_type | Das Feld „eventType“ wird direkt zugeordnet. |
exposedUsers.[].accountName | target.user.attribute.labels | Erstellt ein Label mit dem Schlüssel „accountName_[index]“ und dem Wert aus „exposedUsers.[index].accountName“. |
exposedUsers.[].domain | target.user.attribute.labels | Erstellt ein Label mit dem Schlüssel „domain_[index]“ und dem Wert aus „exposedUsers.[index].domain“. |
exposedUsers.[].username | target.user.attribute.labels | Erstellt ein Label mit dem Schlüssel „username_[index]“ und dem Wert aus „exposedUsers.[index].username“. |
filePath | target.file.full_path | Das Feld „filePath“ wird direkt zugeordnet. |
Hash | target.file.sha1 | Das Hash-Feld wird direkt zugeordnet. |
operatingSystemType | principal.platform | „Windows“ wird in „WINDOWS“ umgewandelt, wenn das Feld „operatingSystemType“ den Wert „Windows“ hat. |
policyName | security_result.rule_name | Das Feld „policyName“ wird direkt zugeordnet. |
processCommandLine | target.process.command_line | Das Feld „processCommandLine“ wird direkt zugeordnet. |
Publisher | additional.fields | Erstellt ein Feld mit dem Schlüssel „Publisher“ und dem Stringwert aus dem Feld „Publisher“. |
sourceProcessCommandLine | target.process.parent_process.command_line | Das Feld „sourceProcessCommandLine“ wird direkt zugeordnet. |
sourceProcessHash | target.process.parent_process.file.sha1 | Das Feld „sourceProcessHash“ wird direkt zugeordnet. |
sourceProcessSigner | additional.fields | Erstellt ein Feld mit dem Schlüssel „sourceProcessSigner“ und dem Stringwert aus dem Feld „sourceProcessSigner“. |
threatProtectionAction | security_result.action_details | Das Feld „threatProtectionAction“ wird direkt zugeordnet. |
metadata.event_timestamp | Der Ereigniszeitstempel wird auf „create_time“ des Logeintrags festgelegt. | |
metadata.event_type | Hartcodiert auf „STATUS_UPDATE“. | |
metadata.log_type | Hartcodiert auf „CYBERARK_EPM“. | |
metadata.product_name | Hartcodiert auf „EPM“. | |
metadata.vendor_name | „CYBERARK“ ist hartcodiert. | |
security_result.alert_state | „ALERTING“ ist hartcodiert. | |
userName | principal.user.userid | Das Feld „userName“ wird direkt zugeordnet. |
Änderungen
2023-08-22
- Neu erstellter Parser
Benötigen Sie weitere Hilfe? Antworten von Community-Mitgliedern und Google SecOps-Experten erhalten