Skyhigh Security-Logs erfassen
In diesem Dokument wird beschrieben, wie Sie Skyhigh Security-Logs (früher McAfee Skyhigh CASB) mit Bindplane in Google Security Operations aufnehmen.
Der Parser wandelt Logs aus einem SYSLOG- und KV-Format in ein einheitliches Datenmodell (Unified Data Model, UDM) um. Dabei wird die Log-Nachricht zuerst in Schlüssel-Wert-Paare normalisiert und dann werden die extrahierten Felder den entsprechenden UDM-Attributen im event.idm.read_only_udm
-Objekt zugeordnet. Der Ereignistyp wird anhand des Vorhandenseins und der Werte bestimmter Felder kategorisiert.
Hinweise
Prüfen Sie, ob folgende Voraussetzungen erfüllt sind:
- Google SecOps-Instanz
- Ein Windows-Host mit Windows 2016 oder höher oder ein Linux-Host mit
systemd
- Wenn die Ausführung hinter einem Proxy erfolgt, sind die Firewallports geöffnet.
- Skyhigh Cloud Connector installiert und konfiguriert
- Privilegierter Zugriff auf den Skyhigh Security Cloud Connector
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
Installieren Sie den Bindplane-Agent auf Ihrem Windows- oder Linux-Betriebssystem gemäß der folgenden Anleitung.
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 sie 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 log_type: 'MCAFEE_SKYHIGH_CASB' raw_log_field: body ingestion_labels: 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 Authentifizierungsdatei für die Google SecOps-Aufnahme 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 Dienste verwenden oder den folgenden Befehl eingeben:
net stop BindPlaneAgent && net start BindPlaneAgent
Voraussetzungen für das Herunterladen des Logging-Clients
Sie benötigen die folgenden Informationen:
- Nutzerberechtigung für Usage Analytics: Ihrem Konto muss die Rolle „Usage Analytics-Nutzer“ zugewiesen sein.
- Kundennummer: Führen Sie die folgenden Schritte aus, um Ihre Kundennummer in Skyhigh CASB zu finden:
- Melden Sie sich in Skyhigh CASB an.
- Gehen Sie zu Einstellungen> Infrastruktur > Client-Proxy-Verwaltung.
- Klicken Sie auf Globale Konfiguration > Mandantenauthentifizierung.
- Suchen Sie unter Globale Einstellungen nach Ihrer Kundennummer.
- E-Mail-Adresse und Passwort: Ihre Anmeldedaten (oder die eines dedizierten Dienstkontos). Wenn Sie sich mit SAML ohne Passwort anmelden, können Sie den Logging Client nicht installieren.
Skyhigh Logging Client herunterladen und installieren
- Laden Sie den Logging Client auf eine dedizierte Instanz herunter.
- Installieren Sie den Logging-Client (entpacken Sie bei Bedarf die heruntergeladene EXE-Datei).
- Öffnen Sie nach Abschluss der Installation den Logging Client.
- Geben Sie auf der Seite Konfiguration die folgenden Konfigurationsdetails an:
- Kundennummer: Geben Sie Ihre Skyhigh CASB-Kundennummer ein, die Sie im vorherigen Schritt erhalten haben.
- Dienst: Wählen Sie SSE aus, wenn Sie Skyhigh SSE verwenden, oder WGCS, wenn Sie dieses Produkt zusammen mit Trellix ePO verwenden.
- Region: Wählen Sie einen Regional- oder Ländercode aus, je nachdem, wo Ihre Daten gespeichert sind:
- EU – Europäische Union
- IN – Indien
- SG – Singapur
- UE – Vereinigte Arabische Emirate
- UK – Vereinigtes Königreich
- US – USA
- Name: Geben Sie den Nutzernamen ein. Das ist in der Regel die E-Mail-Adresse, mit der Sie sich in Secure Web Gateway oder einer dedizierten Instanz anmelden.
- Passwort: Geben Sie das Passwort ein, mit dem Sie sich bei Secure Web Gateway anmelden. Wenn Sie sich mit SAML anmelden, können Sie den Logging Client nicht verwenden.
- API-Version: Geben Sie
version 13
ein. - Logtyp: Sie können verschiedene Arten von Logs herunterladen, darunter Logs mit Daten aus dem Web, Remote Browser Isolation (RBI), Private Access und Cloud Firewall.
- Wählen Sie Als Syslog senden aus und geben Sie die folgenden Konfigurationsdetails an:
- Syslog-Client-Host: Geben Sie die IP-Adresse des Bindplane-Agents ein.
- Syslog-Clientport: Geben Sie die Portnummer des Bindplane-Agents ein.
- Transport: Wählen Sie je nach Bindplane-Agent-Konfiguration UDP oder TCP aus.
UDM-Zuordnungstabelle
Logfeld | UDM-Zuordnung | Logik |
---|---|---|
EventReceivedTime | metadata.event_timestamp | In Zeitstempel aus dem Format yyyy-MM-dd HH:mm:ss konvertiert |
FileSize | target.file.size | Direkt zugeordnet, in „uinteger“ konvertiert |
Hostname | principal.hostname | Direkt zugeordnet |
MessageSourceAddress | principal.ip | Direkt zugeordnet, zusammengeführt, wenn mehrere Instanzen vorhanden sind |
Schweregrad | additional.fields.value.string_value (Schlüssel: SEVERITY) | Direkt zugeordnet |
SeverityValue | additional.fields.value.string_value (Schlüssel: SEVERITY_VALUE) | Direkt zugeordnet |
SourceModuleName | additional.fields.value.string_value (Schlüssel: SOURCE_MODULE_NAME) | Direkt zugeordnet |
SourceModuleType | principal.resource.resource_subtype | Direkt zugeordnet |
SyslogFacility | security_result.about.resource.attribute.labels.value (key: SYSLOG_FACILITY) | Direkt zugeordnet |
SyslogFacilityValue | security_result.about.resource.attribute.labels.value (key: SYSLOG_FACILITY_VALUE) | Direkt zugeordnet |
SyslogSeverity | security_result.about.resource.attribute.labels.value (key: SYSLOG_SEVERITY) | Direkt zugeordnet |
SyslogSeverityValue | security_result.about.resource.attribute.labels.value (key: SYSLOG_SEVERITY_VALUE) | Direkt zugeordnet |
activityName | metadata.product_event_type | Direkt zugeordnet, Klammern entfernt |
actorId | principal.user.userid | Direkt zugeordnet, wird auch zu „email_addresses“ hinzugefügt, wenn es sich um eine E-Mail-Adresse handelt |
actorIdType | principal.user.attribute.roles.name | Direkt zugeordnet |
collaborationSharedLink | security_result.about.resource.attribute.labels.value (key: COLLABORATION_SHARED_LINK) | Direkt zugeordnet |
contentItemId | target.file.full_path (wenn contentItemType FILE ist) | Direkt zugeordnet, Anführungszeichen entfernt |
contentItemId | target.url (wenn contentItemType SAAS_RESOURCE ist) | Direkt zugeordnet, Anführungszeichen entfernt |
contentItemHierarchy | additional.fields.value.string_value (Schlüssel: CONTENT_ITEM_HIERARCHY) | Direkt zugeordnet, Anführungszeichen entfernt |
contentItemName | target.resource.name | Direkt zugeordnet, Anführungszeichen entfernt |
contentItemType | additional.fields.value.string_value (Schlüssel: CONTENT_ITEM_TYPE) | Direkt zugeordnet |
incidentGroup | security_result.detection_fields.value (Schlüssel: INCIDENT_GROUP) | Direkt zugeordnet |
incidentId | metadata.product_log_id | Direkt zugeordnet |
incidentRiskScore | security_result.detection_fields.value (Schlüssel: INCIDENT_RISK_SCORE) | Direkt zugeordnet |
incidentRiskSeverityId | Wird in Kombination mit „riskSeverity“ verwendet, um „security_result.severity“ zu bestimmen. | |
informationAccountId | target.resource.product_object_id | Direkt zugeordnet |
informationAnomalyCategory | security_result.category_details | Direkt zugeordnet, Anführungszeichen entfernt |
informationAnomalyCause | security_result.detection_fields.value (Schlüssel: INFO_ANOMALY_CAUSE) | Direkt zugeordnet, Anführungszeichen entfernt |
informationCategory | security_result.category_details | Direkt zugeordnet |
informationConfigType | additional.fields.value.string_value (key: INFORMATION_CONFIG_TYPE) | Direkt zugeordnet, Anführungszeichen entfernt |
informationContentItemParent | target.resource.parent | Direkt zugeordnet, Anführungszeichen entfernt |
informationEventId | additional.fields.value.string_value (Schlüssel: INFORMATION_EVENT_ID) | Direkt zugeordnet |
informationExternalCollaboratorsCount | additional.fields.value.string_value (Schlüssel: INFORMATION_COLLAB_COUNT) | Direkt zugeordnet |
informationFileTypes | additional.fields.value.list_value.values.string_value (key: FILE_TYPE) | Aus einem JSON-ähnlichen String extrahiert, Klammern und Anführungszeichen entfernt |
informationLastExecutedResponseLabel | additional.fields.value.string_value (Schlüssel: INFORMATION_LAST_RESPONSE) | Direkt zugeordnet |
informationScanName | metadata.description | Direkt zugeordnet, Anführungszeichen entfernt |
informationScanRunDate | Nicht UDM zugeordnet | |
informationSource | additional.fields.value.string_value (Schlüssel: INFORMATION_SOURCE) | Direkt zugeordnet |
informationUniqueMatchCount | additional.fields.value.string_value (key: INFORMATION_UNQ_MATCH_COUNT) | Direkt zugeordnet |
informationUserAttributesSAMAccountName | principal.user.user_display_name | Direkt zugeordnet, Klammern entfernt |
instanceId | principal.resource.product_object_id | Direkt zugeordnet |
instanceName | principal.resource.name | Direkt zugeordnet, Anführungszeichen entfernt |
policyId | security_result.rule_id | Direkt zugeordnet |
policyName | security_result.summary | Direkt zugeordnet, Anführungszeichen entfernt |
Antwort | Wird verwendet, um security_result.action (ALLOW oder BLOCK) zu bestimmen. | |
riskSeverity | Wird in Kombination mit „incidentRiskSeverityId“ verwendet, um „security_result.severity“ zu bestimmen, in Großbuchstaben konvertiert. | |
serviceNames | target.application | Direkt zugeordnet, Klammern, Anführungszeichen und zusätzliche Leerzeichen entfernt |
sourceIps | principal.ip | Aus JSON-ähnlichem String extrahiert, zusammengeführt, wenn mehrere Instanzen vorhanden sind |
Status | additional.fields.value.string_value (Schlüssel: STATUS) | Direkt zugeordnet |
threatCategory | security_result.threat_name | Direkt zugeordnet, Anführungszeichen entfernt |
totalMatchCount | security_result.detection_fields.value (key: TOTAL_MATCH_COUNT) | Direkt zugeordnet |
– | metadata.vendor_name | MCAFEE – Statischer Wert |
– | metadata.product_name | MCAFEE_SKYHIGH_CASB – Statischer Wert |
– | metadata.log_type | MCAFEE_SKYHIGH_CASB – Statischer Wert |
– | principal.resource.type | VIRTUAL_MACHINE – Wird festgelegt, wenn „instanceName“ oder „instanceId“ vorhanden sind. |
– | metadata.event_type | Wird anhand einer Reihe von Bedingungen bestimmt: – USER_RESOURCE_UPDATE_CONTENT , wenn actorId, contentItemId oder contentItemName vorhanden sind – USER_UNCATEGORIZED , wenn actorId und target vorhanden sind – STATUS_UPDATE , wenn Hostname oder MessageSourceAddress vorhanden sind – GENERIC_EVENT , andernfalls |
– | security_result.severity | Wird anhand der Kombination aus „riskSeverity“ und „incidentRiskSeverityId“ bestimmt: – LOW , wenn „riskSeverity“ LOW und „incidentRiskSeverityId“ 0 ist – MEDIUM , wenn „riskSeverity“ MEDIUM und „incidentRiskSeverityId“ 1 ist – HIGH , wenn „riskSeverity“ HIGH und „incidentRiskSeverityId“ 2 ist – INFORMATIONAL , wenn „riskSeverity“ INFO und „incidentRiskSeverityId“ 3 ist |
– | security_result.action | Wird anhand des Werts der Antwort bestimmt: – ALLOW , wenn die Antwort allow enthält (Groß-/Kleinschreibung wird nicht beachtet) – BLOCK , wenn die Antwort Violation enthält (Groß-/Kleinschreibung wird nicht beachtet) |
Benötigen Sie weitere Hilfe? Antworten von Community-Mitgliedern und Google SecOps-Experten erhalten