Microsoft System Center Endpoint Protection-Logs (SCEP) erfassen
In diesem Dokument wird beschrieben, wie Sie Microsoft System Center Endpoint Protection-Logs (SCEP) erfassen, indem Sie einen Google Security Operations-Feed mit Microsoft Azure Blob Storage V2 einrichten.
Microsoft System Center Endpoint Protection (SCEP) ist eine Antimalware- und Antiviren-Lösung für Unternehmen, die in System Center Configuration Manager (SCCM) integriert ist. SCEP bietet Echtzeitschutz vor Malware, Viren, Spyware und anderer schädlicher Software für Windows-basierte Endpunkte. SCEP schreibt Sicherheitsereignisse in den Microsoft-Windows-Windows Defender/Operational-Windows-Ereignislog-Channel, der mit dem Azure Monitor-Agent erfasst und in Azure Blob Storage exportiert werden kann.
Hinweis
Prüfen Sie, ob die folgenden Voraussetzungen erfüllt sind:
- Eine Google SecOps-Instanz
- Privilegierter Zugriff auf das Microsoft Azure-Portal mit Berechtigungen für:
- Speicherkonten erstellen
- Log Analytics-Arbeitsbereiche erstellen und verwalten
- Regeln für die Datenerhebung erstellen und verwalten
- Regeln für den Datenexport konfigurieren
- Zugriffsschlüssel verwalten
- Windows Server 2012 R2 oder höher mit installiertem SCEP oder Windows Server 2016 oder höher mit Windows Defender Antivirus
- Azure Monitor Agent auf dem Windows-Server installiert (erfordert Azure Arc für lokale Server oder native Unterstützung für Azure-VMs)
Administratorzugriff auf den Windows-Server, auf dem SCEP bereitgestellt wird
Azure Storage-Konto konfigurieren
Speicherkonto erstellen
- Suchen Sie im Azure-Portal nach Speicherkonten.
- Klicken Sie auf + Erstellen.
Geben Sie die folgenden Konfigurationsdetails an:
Einstellung Wert Abo Azure-Abo auswählen Ressourcengruppe Vorhandenen auswählen oder neuen erstellen Name des Speicherkontos Geben Sie einen eindeutigen Namen ein, z. B. sceplogssa.Region Wählen Sie die Region aus (z. B. East US).Leistung Standard (empfohlen) Redundanz GRS (georedundanter Speicher) oder LRS (lokal redundanter Speicher) Klicken Sie auf Überprüfen + Erstellen.
Sehen Sie sich die Übersicht des Kontos an und klicken Sie auf Erstellen.
Warten Sie, bis die Bereitstellung abgeschlossen ist.
Anmeldedaten für das Speicherkonto abrufen
- Rufen Sie das soeben erstellte Storage-Konto auf.
- Wählen Sie im linken Navigationsbereich unter Sicherheit + Netzwerk die Option Zugriffsschlüssel aus.
- Klicken Sie auf Schlüssel anzeigen.
- Kopieren und speichern Sie die folgenden Informationen für die spätere Verwendung:
- Storage-Kontoname: Der Name, den Sie erstellt haben (z. B.
sceplogssa) - Schlüssel 1 oder Schlüssel 2: Der gemeinsame Zugriffsschlüssel (ein 512-Bit-Zufallsstring in Base64-Codierung)
- Storage-Kontoname: Der Name, den Sie erstellt haben (z. B.
Blob Service-Endpunkt abrufen
- Wählen Sie im selben Speicherkonto in der linken Navigationsleiste Endpunkte aus.
- Kopieren und speichern Sie die Endpunkt-URL des Blob-Dienstes.
- Beispiel:
https://sceplogssa.blob.core.windows.net/
- Beispiel:
Log Analytics-Arbeitsbereich erstellen
- Suchen Sie im Azure-Portal nach Log Analytics-Arbeitsbereichen.
- Klicken Sie auf + Erstellen.
Geben Sie die folgenden Konfigurationsdetails an:
Einstellung Wert Abo Azure-Abo auswählen Ressourcengruppe Wählen Sie dieselbe Ressourcengruppe wie für das Speicherkonto aus. Name Geben Sie einen eindeutigen Namen ein, z. B. scep-logs-workspace.Region Wählen Sie dieselbe Region wie für das Speicherkonto aus. Klicken Sie auf Überprüfen + Erstellen.
Klicken Sie auf Erstellen.
Warten Sie, bis die Bereitstellung abgeschlossen ist.
Azure Monitor-Agent auf dem Windows-Server installieren
Bei lokalen Servern, auf denen SCEP ausgeführt wird, müssen Sie den Server zuerst in Azure Arc einbinden und dann den Azure Monitor-Agent installieren.
Onboarding für Azure Arc (nur lokale Server)
- Suchen Sie im Azure-Portal nach Azure Arc.
- Wählen Sie unter Infrastruktur die Option Server aus.
- Klicken Sie auf + Hinzufügen.
- Wählen Sie Einzelnen Server hinzufügen aus und klicken Sie auf Skript generieren.
- Geben Sie die folgenden Konfigurationsdetails an:
- Abo: Wählen Sie Ihr Azure-Abo aus.
- Ressourcengruppe: Wählen Sie Ihre Ressourcengruppe aus.
- Region: Wählen Sie dieselbe Region wie für das Speicherkonto aus.
- Betriebssystem: Wählen Sie Windows aus.
- Klicken Sie auf Skript herunterladen und ausführen.
- Öffnen Sie auf dem Windows-Server, auf dem SCEP ausgeführt wird, PowerShell als Administrator.
Führen Sie das heruntergeladene Skript aus, um das Azure Arc-Onboarding abzuschließen.
Azure Monitor-Agent installieren
- Wechseln Sie im Azure-Portal zu Azure Arc > Server (oder Virtual Machines für Azure-VMs).
- Wählen Sie den Server aus, auf dem SCEP ausgeführt wird.
- Wählen Sie in der linken Navigationsleiste unter Einstellungen die Option Erweiterungen aus.
- Klicken Sie auf + Hinzufügen.
- Suchen Sie nach Azure Monitor Agent und wählen Sie es aus.
- Klicken Sie auf Weiter und dann auf Überprüfen + Erstellen.
- Klicken Sie auf Erstellen.
- Warten Sie, bis die Installation der Erweiterung abgeschlossen ist.
Regel zur Datenerfassung für SCEP-Ereignisse erstellen
- Suchen Sie im Azure-Portal nach Monitor.
- Wählen Sie unter Einstellungen die Option Regeln für die Datenerhebung aus.
- Klicken Sie auf + Erstellen.
- Geben Sie auf dem Tab Grundlagen die folgenden Konfigurationsdetails an:
- Regelname: Geben Sie einen aussagekräftigen Namen ein, z. B.
dcr-scep-events. - Abo: Wählen Sie Ihr Azure-Abo aus.
- Ressourcengruppe: Wählen Sie Ihre Ressourcengruppe aus.
- Region: Wählen Sie dieselbe Region wie für den Log Analytics-Arbeitsbereich aus.
- Plattformtyp: Wählen Sie Windows aus.
- Regelname: Geben Sie einen aussagekräftigen Namen ein, z. B.
- Klicken Sie auf Weiter: Ressourcen.
- Auf dem Tab Ressourcen:
- Klicken Sie auf + Ressourcen hinzufügen.
- Maximieren Sie die Ressourcengruppe und wählen Sie den Server aus, auf dem SCEP ausgeführt wird (Azure Arc-Server oder Azure-VM).
- Klicken Sie auf Übernehmen.
- Klicken Sie auf Weiter: Abholen und liefern.
Auf dem Tab Abholen und zustellen:
- Klicken Sie auf + Datenquelle hinzufügen.
- Wählen Sie im Drop-down-Menü Datenquellentyp die Option Windows-Ereignisprotokolle aus.
- Wählen Sie Benutzerdefiniert aus, um XPath-Abfragen einzugeben.
Klicken Sie auf + XPath-Abfrage hinzufügen und geben Sie die folgende XPath-Abfrage ein, um alle SCEP- und Windows Defender-Ereignisse zu erfassen:
Microsoft-Windows-Windows Defender/Operational!*[System[(Level=1 or Level=2 or Level=3 or Level=4 or Level=5)]]Mit dieser XPath-Abfrage werden alle Ereignisse (Kritisch, Fehler, Warnung, Information und Ausführlich) aus dem Windows Defender-Betriebskanal erfasst. Wenn Sie nur bestimmte Ereignis-IDs erfassen möchten, z. B. Malware-Erkennungen, verwenden Sie eine gezieltere Abfrage wie:
Microsoft-Windows-Windows Defender/Operational!*[System[(EventID=1006 or EventID=1007 or EventID=1116 or EventID=1117 or EventID=2000 or EventID=2001 or EventID=5007)]]Klicken Sie auf dem Tab Ziel auf + Ziel hinzufügen.
Wählen Sie Azure Monitor-Logs als Zieltyp aus.
Wählen Sie den Log Analytics-Arbeitsbereich aus, den Sie zuvor erstellt haben (z. B.
scep-logs-workspace).
Klicken Sie auf Datenquelle hinzufügen.
Klicken Sie auf Überprüfen + Erstellen.
Klicken Sie auf Erstellen.
Erfasste Schlüsselereignis-IDs
Mit der Datenerfassungsregel werden Ereignisse aus dem Microsoft-Windows-Windows Defender/Operational-Channel erfasst, der die folgenden wichtigen SCEP-Ereignis-IDs enthält:
| Ereignis-ID | Beschreibung |
|---|---|
| 1006 | Von Antimalware-Engine erkannte Malware |
| 1007 | Antimalware-Maßnahmen gegen erkannte Malware |
| 1116 | Echtzeitschutz hat Malware oder potenziell unerwünschte Software erkannt |
| 1117 | Echtzeitschutz hat Maßnahmen gegen Malware ergriffen |
| 2000 | Aktualisierung der Antimalware-Signatur gestartet |
| 2001 | Update der Antimalware-Signatur abgeschlossen |
| 5007 | Konfiguration der Antimalware-Plattform geändert |
Datenexport aus Log Analytics-Arbeitsbereich in Azure Blob Storage konfigurieren
Registrieren des Ressourcenanbieters „Microsoft.Insights“
- Rufen Sie im Azure-Portal Abonnements auf.
- Wählen Sie Ihr Abo aus.
- Wählen Sie im linken Navigationsbereich unter Einstellungen die Option Ressourcenanbieter aus.
- Suchen Sie nach Microsoft.Insights.
- Wenn der Status nicht Registriert ist, wählen Sie ihn aus und klicken Sie auf Registrieren.
Regel für den Datenexport erstellen
- Rufen Sie im Azure-Portal Ihren Log Analytics-Arbeitsbereich auf (z. B.
scep-logs-workspace). - Wählen Sie in der linken Navigationsleiste unter Einstellungen die Option Datenexport aus.
- Klicken Sie auf + Neue Exportregel.
- Auf dem Tab Grundlagen:
- Name der Datenexportregel: Geben Sie einen aussagekräftigen Namen ein, z. B.
export-scep-to-blob.
- Name der Datenexportregel: Geben Sie einen aussagekräftigen Namen ein, z. B.
- Klicken Sie auf Weiter: Quelle.
Wählen Sie auf dem Tab Quelle die Tabelle Event aus.
Klicken Sie auf Weiter: Ziel.
Gehen Sie auf dem Tab Ziel so vor:
- Zieltyp: Wählen Sie Speicherkonto aus.
- Abo: Wählen Sie das Abo aus, das das Speicherkonto enthält.
- Storage Account (Speicherkonto): Wählen Sie das zuvor erstellte Speicherkonto aus (z. B.
sceplogssa).
Klicken Sie auf Weiter: Überprüfen + Erstellen.
Klicken Sie auf Erstellen.
Nach der Konfiguration werden Ereignisse automatisch in das Speicherkonto exportiert. Im Speicherkonto wird ein Container mit dem Namen
am-Eventerstellt. Blobs werden in 5‑Minuten-Ordnern mit der folgenden Pfadstruktur gespeichert:am-Event/ └── WorkspaceResourceId=/subscriptions/{subscription-id}/resourcegroups/{resource-group}/providers/microsoft.operationalinsights/workspaces/{workspace}/ └── y={year}/m={month}/d={day}/h={hour}/m={minute}/ └── PT05M.json
Datenexport prüfen
- Rufen Sie im Azure-Portal das Storage-Konto auf (z. B.
sceplogssa). - Wählen Sie in der linken Navigationsleiste unter Datenspeicher die Option Container aus.
- Prüfen Sie, ob der Container
am-Eventvorhanden ist. - Rufen Sie den Container auf und prüfen Sie, ob in der Ordnerstruktur JSON-Dateien mit Ereignisdaten erstellt werden.
Feed in Google SecOps konfigurieren, um Microsoft System Center Endpoint Protection-Protokolle (SCEP) aufzunehmen
- Rufen Sie die SIEM-Einstellungen > Feeds auf.
- Klicken Sie auf Neuen Feed hinzufügen.
- Klicken Sie auf der nächsten Seite auf Einen einzelnen Feed konfigurieren.
- Geben Sie im Feld Feedname einen Namen für den Feed ein, z. B.
Microsoft SCEP Logs. - Wählen Sie Microsoft Azure Blob Storage V2 als Quelltyp aus.
- Wählen Sie Microsoft System Center Endpoint Protection (SCEP) als Log type (Logtyp) aus.
- Klicken Sie auf Weiter.
Geben Sie Werte für die folgenden Eingabeparameter an:
- Azure-URI: Geben Sie die Blob Service-Endpunkt-URL mit dem Containerpfad ein:
https://sceplogssa.blob.core.windows.net/am-Event/Ersetzen Sie Folgendes:
sceplogssa: Name Ihres Azure-Speicherkontos.am-Event: Der Name des Blob-Containers, in dem exportierte Ereignisse gespeichert werden.
- Option zum Löschen der Quelle: Wählen Sie die gewünschte Option zum Löschen aus:
- Nie: Es werden nach Übertragungen nie Dateien gelöscht.
- Übertragene Dateien löschen: Löscht Dateien nach der erfolgreichen Übertragung.
- Übertragene Dateien und leere Verzeichnisse löschen: Dateien und leere Verzeichnisse werden nach der erfolgreichen Übertragung gelöscht.
- Höchstalter für Dateien: Dateien einschließen, die in den letzten Tagen geändert wurden (Standard: 180 Tage)
- Freigegebener Schlüssel: Geben Sie den Wert des freigegebenen Schlüssels (Zugriffsschlüssel) ein, den Sie aus dem Speicherkonto abgerufen haben.
- Asset-Namespace: Der Asset-Namespace
- Labels für Datenaufnahme: Das Label, das auf die Ereignisse aus diesem Feed angewendet werden soll
Klicken Sie auf Weiter.
Prüfen Sie die neue Feedkonfiguration auf dem Bildschirm Abschließen und klicken Sie dann auf Senden.
Azure Storage-Firewall konfigurieren (falls aktiviert)
Wenn für Ihr Azure-Speicherkonto eine Firewall verwendet wird, müssen Sie die IP-Bereiche von Google SecOps hinzufügen.
- Rufen Sie im Azure-Portal Ihr Storage-Konto auf.
- Wählen Sie unter Sicherheit + Netzwerk die Option Netzwerk aus.
- Wählen Sie unter Firewalls und virtuelle Netzwerke die Option Aktiviert für ausgewählte virtuelle Netzwerke und IP-Adressen aus.
- Klicken Sie im Bereich Firewall unter Adressbereich auf + IP-Bereich hinzufügen.
Fügen Sie jeden Google SecOps-IP-Bereich in CIDR-Notation hinzu.
So rufen Sie die aktuellen IP-Bereiche ab:
- Dokumentation zur IP-Zulassungsliste
- Oder Sie rufen sie programmatisch über die Feed Management API ab.
Aktivieren Sie außerdem das Kästchen Allow Azure services on the trusted services list to access this storage account (Azure-Diensten auf der Liste der vertrauenswürdigen Dienste erlauben, auf dieses Speicherkonto zuzugreifen), damit der Datenexport des Log Analytics-Arbeitsbereichs in das Speicherkonto schreiben kann.
Klicken Sie auf Speichern.
UDM-Zuordnungstabelle
| Logfeld | UDM-Zuordnung | Logik |
|---|---|---|
| about.hostname | about.hostname | Auf „%{_DB_HOST}“ festlegen |
| _DB_PORT | about.port | Wert direkt kopiert, in Ganzzahl konvertiert |
| _DB_DRIVER | about.resource.name | Auf „%{_DB_DRIVER}“ festlegen |
| _DB_URL | about.url | Auf „%{_DB_URL}“ festlegen |
| signature_labels | event.idm.read_only_udm.additional.fields | Zusammengeführt aus „signature_labels“, wenn die Signatur nicht leer ist, „pending_action“, wenn „PendingAction“ nicht leer ist, „execution_status“, wenn „ExecutionStatus“ nicht leer ist, „record_id“, wenn „RecordID“ nicht leer ist, „error_code“, wenn „ErrorCode“ nicht leer ist, und „action_success“, wenn „ActionSuccess“ nicht leer ist. |
| pending_action | event.idm.read_only_udm.additional.fields | |
| execution_status | event.idm.read_only_udm.additional.fields | |
| record_id | event.idm.read_only_udm.additional.fields | |
| error_code | event.idm.read_only_udm.additional.fields | |
| action_success | event.idm.read_only_udm.additional.fields | |
| source_url | event.idm.read_only_udm.src.url | Wert aus „source_url“, falls nicht leer, andernfalls aus „my_string1“, falls nicht leer |
| my_string1 | event.idm.read_only_udm.src.url | |
| has_principal | metadata.event_type | Auf „NETWORK_CONNECTION“ setzen, wenn „has_principal“ und „has_target“ auf „true“ gesetzt sind. Andernfalls auf „STATUS_UPDATE“, wenn „has_principal“ auf „true“ gesetzt ist. Andernfalls auf „SCAN_FILE“, wenn „no_target_host“ nicht auf „true“ gesetzt ist und „path_available“ auf „true“ gesetzt ist. Andernfalls auf „STATUS_UNCATEGORIZED“, wenn „no_target_host“ nicht auf „true“ gesetzt ist. Andernfalls auf „USER_UNCATEGORIZED“, wenn „has_user“ auf „true“ gesetzt ist. Andernfalls auf „GENERIC_EVENT“. |
| has_user | metadata.event_type | |
| has_target | metadata.event_type | |
| no_target_host | metadata.event_type | |
| path_available | metadata.event_type | |
| Name | metadata.product_event_type | Wert direkt kopiert |
| DetectionID | metadata.product_log_id | Wert direkt kopiert |
| metadata.product_name | metadata.product_name | Auf „MICROSOFT SYSTEM CENTER ENDPOINT PROTECTION“ festlegen |
| metadata.vendor_name | metadata.vendor_name | Auf „MICROSOFT“ festgelegt |
| NTdomain | principal.administrative_domain | Wert direkt kopiert |
| Hostname | principal.asset.hostname | Wert aus dem Hostnamen, falls nicht leer, andernfalls aus TargetHost |
| TargetHost | principal.asset.hostname | |
| action_type | principal.group.attribute.labels | Wird aus „action_type_label“ zusammengeführt, wenn „action_type“ nicht leer ist. |
| Hostname | principal.hostname | Wert aus dem Hostnamen, falls nicht leer, andernfalls aus TargetHost |
| TargetHost | principal.hostname | |
| Prozess | principal.process.file.full_path | Wert wird direkt kopiert, wenn „Process“ nicht leer ist |
| NUTZERNAME | principal.user.user_display_name | Wert direkt kopiert |
| Nutzername | principal.user.userid | Wert aus UserName, falls nicht leer, andernfalls aus user, falls nicht leer |
| Nutzer | principal.user.userid | |
| Aktion | security_result.action | Wird basierend auf Aktionswerten festgelegt (ALLOW für success/created/started/delivered/allowed, BLOCK für failure/blocked/teardown/deferred/deleted/rejected/dropped/error/locked, ALLOW_WITH_MODIFICATION für acl_modified/modified, QUARANTINE für quarantined) oder CleanAction (FAIL für Failed, QUARANTINE für Quarantined, ALLOW für Allowed, BLOCK für Blocked) |
| CleanAction | security_result.action | |
| CleanAction | security_result.action_details | Wert wird direkt kopiert, wenn „CleanAction“ nicht leer ist |
| Kategorie | security_result.category_details | Zusammengeführt aus „category“, falls nicht leer, andernfalls aus „Category“ |
| Kategorie | security_result.category_details | |
| DetectionID | security_result.detection_fields | Zusammengeführt aus DetectionID_field, wenn DetectionID nicht leer ist, detectionid_field, wenn detectionid nicht leer ist, detection_source_labels, wenn detection_source nicht leer ist, pending_action_labels, wenn pending_action nicht leer ist, detection_Path, wenn source_url, file_path und Path nicht leer sind |
| detectionid | security_result.detection_fields | |
| detection_source | security_result.detection_fields | |
| pending_action | security_result.detection_fields | |
| Pfad | security_result.detection_fields | |
| die Ausprägung | security_result.severity | Wird basierend auf dem Schweregrad festgelegt (LOW für 0/1/2/3/LOW, MEDIUM für 4/5/6/MEDIUM/SUBSTANTIAL/INFO, HIGH für 7/8/HIGH/SEVERE, CRITICAL für 9/10/VERY-HIGH/CRITICAL) oder auf der SeverityID (LOW für 1, MEDIUM für 2, HIGH für 4, CRITICAL für 5, UNKNOWN_SEVERITY für alle anderen Werte). |
| SeverityID | security_result.severity | |
| SeverityID | security_result.severity_details | Wert direkt kopiert |
| ThreatID | security_result.threat_id | Wert direkt kopiert |
| ThreatName | security_result.threat_name | Wert direkt kopiert |
| MaliciousFileCt | security_result.verdict_info | Wert direkt kopiert, in Ganzzahl konvertiert, als „malicious_file_ct“ zusammengeführt |
| dest_nt_domain | target.administrative_domain | Wert direkt kopiert |
| dest_name | target.asset.hostname | Wert wird direkt kopiert, wenn „dest_name“ nicht leer ist |
| file_path | target.file.full_path | Wert aus „file_path“, falls nicht leer, andernfalls aus „Path“, falls „file_path“ leer ist, andernfalls aus „my_string“, falls nicht leer |
| Pfad | target.file.full_path | |
| my_string | target.file.full_path | |
| dest_name | target.hostname | Wert wird direkt kopiert, wenn „dest_name“ nicht leer ist |
| ResourceID | target.resource.name | Wert aus „ResourceID“, falls nicht leer, andernfalls aus „resourceid“, falls nicht leer |
| resourceid | target.resource.name | |
| Nutzer | target.user.userid | Wert wird direkt kopiert, wenn der Nutzer nicht leer ist |
| Zeit | metadata.event_timestamp | Konvertiert aus der Zeit im Format „MMM dd HH:mm:ss“, falls die Zeit nicht leer ist, andernfalls aus „DetectionTime“ oder „detectiontime“ mit UNIX_MS |
| DetectionTime | metadata.event_timestamp | |
| detectiontime | metadata.event_timestamp |
Benötigen Sie weitere Hilfe? Antworten von Community-Mitgliedern und Google SecOps-Experten erhalten