Cylance PROTECT-Logs erfassen
In diesem Dokument wird beschrieben, wie Sie Cylance PROTECT-Logs mit Bindplane in Google Security Operations aufnehmen. Der Logstash-Parsercode transformiert Cylance PROTECT-Syslog-Nachrichten in ein einheitliches Datenmodell (Unified Data Model, UDM). Er extrahiert Felder aus der Syslog-Nachricht, normalisiert sie, ordnet sie UDM-Feldern zu und reichert die Daten mit Informationen zum Schweregrad und zur Kategorie der Bedrohung an.
Hinweise
Prüfen Sie, ob folgende Voraussetzungen erfüllt sind:
- Google SecOps-Instanz
- Windows 2016 oder höher oder ein Linux-Host mit
systemd
- Wenn die Ausführung hinter einem Proxy erfolgt, sind die Firewallports geöffnet.
- Privilegierter Zugriff auf Cylance PROTECT
Authentifizierungsdatei für die Aufnahme in Google SecOps abrufen
- Melden Sie sich in der Google SecOps-Konsole an.
- Rufen Sie SIEM-Einstellungen > Collection Agents auf.
- Laden Sie die Authentifizierungsdatei für die Aufnahme herunter. Speichern Sie die Datei sicher auf dem System, auf dem BindPlane installiert wird.
Google SecOps-Kundennummer abrufen
- Melden Sie sich in der Google SecOps-Konsole an.
- Rufen Sie die SIEM-Einstellungen > „Profil“ auf.
- Kopieren und speichern Sie die Kunden-ID aus dem Bereich Organisationsdetails.
BindPlane-Agent installieren
Fenstereinbau
- Öffnen Sie die Eingabeaufforderung oder PowerShell als Administrator.
Führen Sie dazu diesen Befehl aus:
msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quiet
Linux-Installation
- Öffnen Sie ein Terminal mit Root- oder Sudo-Berechtigungen.
Führen Sie dazu diesen Befehl aus:
sudo sh -c "$(curl -fsSlL https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh)" install_unix.sh
Zusätzliche Installationsressourcen
Weitere Installationsoptionen finden Sie im Installationsleitfaden.
BindPlane-Agent zum Erfassen von Syslog-Daten und Senden an Google SecOps konfigurieren
- Rufen Sie die Konfigurationsdatei auf:
- Suchen Sie die Datei
config.yaml
. Normalerweise befindet es sich unter Linux im Verzeichnis/etc/bindplane-agent/
oder unter Windows im Installationsverzeichnis. - Öffnen Sie die Datei mit einem Texteditor (z. B.
nano
,vi
oder Notepad).
- Suchen Sie die Datei
Bearbeiten Sie die Datei
config.yaml
so:receivers: udplog: # 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: <customer_id> endpoint: malachiteingestion-pa.googleapis.com # Add optional ingestion labels for better organization ingestion_labels: log_type: 'CYLANCE_PROTECT' raw_log_field: body service: pipelines: logs/source0__chronicle_w_labels-0: receivers: - udplog exporters: - chronicle/chronicle_w_labels
Ersetzen Sie den Port und die IP-Adresse nach Bedarf in Ihrer Infrastruktur.
Ersetzen Sie
<customer_id>
durch die tatsächliche Kunden-ID.Aktualisieren Sie
/path/to/ingestion-authentication-file.json
auf den Pfad, in dem die Authentifizierungsdatei im Abschnitt Google SecOps-Aufnahmeauthentifizierungsdatei abrufen gespeichert wurde.
Bindplane-Agent neu starten, um die Änderungen zu übernehmen
Führen Sie den folgenden Befehl aus, um den Bindplane-Agent unter Linux neu zu starten:
sudo systemctl restart bindplane-agent
Wenn Sie den Bindplane-Agent unter Windows neu starten möchten, können Sie entweder die Konsole Services verwenden oder den folgenden Befehl eingeben:
net stop BindPlaneAgent && net start BindPlaneAgent
Syslog in Cylance Protect konfigurieren
- Melden Sie sich in der Cylance-Verwaltungskonsole an.
- Öffnen Sie die Einstellungen > Anwendung.
- Aktivieren Sie das Kästchen Syslog/SIEM.
- Wählen Sie alle Ereignisse aus.
- Geben Sie die folgenden Konfigurationsdetails an:
- SIEM: Wählen Sie Syslog aus.
- Protokoll: Wählen Sie UDP aus.
- Klicken Sie das Kästchen Nachrichten mit mehr als 2 KB zulassen an.
- IP/Domain: Geben Sie die IP-Adresse des BindPlane-Agents ein.
- Port: Geben Sie die Portnummer des Bindplane-Agents ein (z. B.
514
für UDP). - Einrichtung: Wählen Sie den Typ der Anwendungslogs aus.
- Klicken Sie auf Test Connection.
- Klicken Sie auf Speichern.
UDM-Zuordnungstabelle
Logfeld | UDM-Zuordnung | Logik |
---|---|---|
Agent-Version | metadata.product_version | Aus Agent Version: <value> extrahierter Wert |
Cylance-Wert | security_result.severity_details | Aus Cylance Score: <value> extrahierter Wert |
security_result.severity | Zuordnung basierend auf der folgenden Logik: – HOCH: wenn Cylance-Score > 67 – MITTEL: wenn Cylance-Score > 33 – NIEDRIG: wenn Cylance-Score <= 33 |
|
Erkannt von | security_result.detection_fields.value | Aus Detected By: <value> extrahierter Wert |
Geräte-ID | principal.asset_id | Aus Device Id: <value> extrahierter Wert, dem Cylance: vorangestellt wird |
Geräte-IDs | principal.asset_id | Der Wert wird aus Device Ids: <value> extrahiert und mit Cylance: vorangestellt. Er wird verwendet, wenn Device Id nicht vorhanden ist. |
Gerätename | principal.hostname | Aus Device Name: <value> extrahierter Wert |
Gerätename | target.hostname | Aus Device Name: <value> extrahierter Wert, der für bestimmte Ereignistypen wie ScriptControl verwendet wird |
Gerätenamen | principal.hostname | Aus Device Names: <value> extrahierter Wert, der verwendet wird, wenn Device Name nicht vorhanden ist |
Beschreibung | security_result.summary | Aus Description: <value> extrahierter Wert, der für bestimmte Ereignistypen wie OpticsCaeNetworkEvent verwendet wird |
Ziel-IP-Adresse | target.ip | Aus Destination IP: <value> extrahierter Wert |
Zielport | target.port | Aus Destination Port: <value> extrahierter Wert |
Termin-ID | metadata.product_log_id | Aus Event Id: <value> extrahierter Wert |
Ereignisname | Wird verwendet, um bestimmte Ereignissubtypen zu ermitteln und die entsprechende Logik anzuwenden. | |
Ereignistyp | metadata.product_event_type | Aus Event Type: <value> extrahierter Wert |
metadata.event_type | Wird anhand der Felder Event Type und Event Name zugeordnet. Der Standardwert ist GENERIC_EVENT . |
|
Dateiname | principal.process.file.full_path | Wert, der aus File Name: <value> extrahiert und mit Path: <value> kombiniert wurde, um den vollständigen Pfad zu bilden |
Dateipfad | target.file.full_path | Aus File Path: <value> extrahierter Wert |
Instigating Process ImageFileSha256 | principal.process.file.sha256 | Aus Instigating Process ImageFileSha256: <value> extrahierter Wert |
Name des auslösenden Prozesses | principal.process.file.full_path | Aus Instigating Process Name: <value> extrahierter Wert |
Initiierender Prozessinhaber | principal.user.userid | Wert, der aus Instigating Process Owner: <value> extrahiert wurde. Der Nutzername wird nach dem Aufteilen nach // extrahiert, falls vorhanden. |
Initiierender Prozessinhaber | principal.administrative_domain | Domainname, der aus Instigating Process Owner: <value> extrahiert wird, indem bei Bedarf nach // getrennt wird |
IP-Adresse | principal.ip | Aus IP Address: (<value>) extrahierte IP-Adressen |
Interpreter | security_result.rule_labels.value | Aus Interpreter: <value> extrahierter Wert |
Interpreter-Version | security_result.rule_labels.value | Aus Interpreter Version: <value> extrahierter Wert |
Angemeldete Nutzer | about.user.userid | Aus Logged On Users: (<value>) extrahierte Nutzernamen |
MAC-Adresse | principal.mac | MAC-Adresse, die aus MAC Address: (<value>) extrahiert und mit Doppelpunkten formatiert wurde |
MD5 | principal.process.file.md5 | Aus MD5: <value> extrahierter Wert |
Nachricht | Wird zum Extrahieren von Daten für bestimmte Ereignistypen wie AuditLog verwendet. |
|
Betriebssystem | principal.platform | Wird WINDOWS zugeordnet, wenn das Feld OS Windows enthält. |
Pfad | principal.process.file.full_path | Wert, der aus Path: <value> extrahiert und mit File Name: <value> kombiniert wurde, um den vollständigen Pfad zu bilden |
Richtlinienname | security_result.rule_name | Aus Policy Name: <value> extrahierter Wert |
Prozess-ID | principal.process.pid | Aus Process ID: <value> extrahierter Wert |
Prozessname | principal.process.file.full_path | Aus Process Name: <value> extrahierter Wert |
Aufgelöste Adresse | network.dns.answers.name | Aus Resolved Address: <value> extrahierter Wert |
SHA256 | principal.process.file.sha256 | Aus SHA256: <value> extrahierter Wert |
Quell-IP-Adresse | principal.ip | Wert, der aus Source IP: <value> extrahiert wird und für bestimmte Ereignistypen verwendet wird |
Status | security_result.action | Entspricht bestimmten UDM-Aktionen basierend auf dem Wert: – Quarantined : QUARANTINE – Cleared : ALLOW_WITH_MODIFICATION |
Zieldomainname | network.dns.questions.name | Aus Target Domain Name: <value> extrahierter Wert |
Target Process ImageFileSha256 | target.process.file.sha256 | Aus Target Process ImageFileSha256: <value> extrahierter Wert |
Name des Zielprozesses | target.process.file.full_path | Aus Target Process Name: <value> extrahierter Wert |
Zielprozessinhaber | target.user.userid | Wert, der aus Target Process Owner: <value> extrahiert wurde. Der Nutzername wird nach dem Aufteilen nach // extrahiert, falls vorhanden. |
Zielprozessinhaber | target.administrative_domain | Domainname, der aus Target Process Owner: <value> extrahiert wird, indem bei Bedarf nach // getrennt wird |
Ziel-Registry-Schlüsselpfad | target.registry.registry_key | Aus Target Registry KeyPath: <value> extrahierter Wert |
Bedrohungsklassifizierung | security_result.threat_name | Aus Threat Classification: <value> extrahierter Wert |
Nutzer | principal.user.userid | Nutzername, der aus User: <value> extrahiert wird, falls vorhanden. Wird verwendet, wenn User Name nicht vorhanden ist. |
Nutzer | principal.user.email_addresses | E-Mail-Adresse, die aus User: <value> extrahiert wird, falls vorhanden. Wird verwendet, wenn User Name nicht vorhanden ist. |
Nutzername | principal.user.userid | Aus User Name: <value> extrahierter Wert |
Art des Verstoßes | security_result.summary | Aus Violation Type: <value> extrahierter Wert, dem ExploitAttempt: vorangestellt wird |
Art des Verstoßes | security_result.threat_name | Aus Violation Type: <value> extrahierter Wert |
Zonennamen | security_result.description | Aus Zone Names: (<value>) extrahierter Wert, dem Zone_Names: vorangestellt wird |
metadata.vendor_name | Fest codiert auf Cylance |
|
metadata.product_name | Aus der Log-Nachricht extrahierter Wert, entweder PROTECT oder OPTICS |
|
metadata.log_type | Fest codiert auf CYLANCE_PROTECT |
|
network.ip_protocol | Für OpticsCaeNetworkEvent -Ereignisse fest auf TCP codiert |
|
network.application_protocol | Für OpticsCaeDnsEvent -Ereignisse fest auf DNS codiert |
|
security_result.rule_labels.key | Legen Sie je nach verfügbarem Feld Interpreter oder Interpreter Version fest. |
|
security_result.detection_fields.key | Fest codiert auf Detected By |
|
security_result.category | Die Werte werden basierend auf dem Ereignistyp zugeordnet. Mögliche Werte sind: – SOFTWARE_SUSPICIOUS – AUTH_VIOLOATION – POLICY_VIOLATION – NETWORK_SUSPICIOUS – EXPLOIT – SOFTWARE_MALICIOUS |
|
security_result.action | Entsprechend dem Ereignistyp und bestimmten Bedingungen zugeordnet. Mögliche Werte sind: – ALLOW – BLOCK – QUARANTINE – ALLOW_WITH_MODIFICATION |
Benötigen Sie weitere Hilfe? Antworten von Community-Mitgliedern und Google SecOps-Experten erhalten