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 Windows-Ereignisprotokollkanal Microsoft-Windows-Windows Defender/Operational. Diese können mit dem Azure Monitor-Agent erfasst und in Azure Blob Storage exportiert werden.
Hinweis
Folgende Voraussetzungen müssen erfüllt sein:
- 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
- Datenexportregeln 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
- Der Azure Monitor-Agent ist 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 Storage-Konto auf, das Sie gerade erstellt haben.
- Wählen Sie in der linken Navigationsleiste unter Sicherheit + Netzwerk die Option Zugriffsschlüssel aus.
- Klicken Sie auf Schlüssel anzeigen.
- Kopieren und speichern Sie Folgendes für die spätere Verwendung:
- Name des Speicherkontos: 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)
- Name des Speicherkontos: 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
Für lokale Server, 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 PowerShell als Administrator auf dem Windows-Server, auf dem SCEP ausgeführt wird.
Führen Sie das heruntergeladene Skript aus, um das Azure Arc-Onboarding abzuschließen.
Azure Monitor-Agent installieren
- Rufen Sie im Azure-Portal Azure Arc > Server (oder Virtual Machines für Azure-VMs) auf.
- 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 die Option aus.
- Klicken Sie auf Weiter und dann auf Überprüfen und erstellen.
- Klicken Sie auf Erstellen.
- Warten Sie, bis die Installation der Erweiterung abgeschlossen ist.
Regel zur Datenerhebung 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.
- Platform Type (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.
- Erweitern 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 zuvor erstellten Log Analytics-Arbeitsbereich aus (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, einschließlich der folgenden wichtigen SCEP-Ereignis-IDs:
| Ereignis-ID | Beschreibung |
|---|---|
| 1006 | Von der Anti-Malware-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 in der linken Navigationsleiste 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 Ereignis 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.
- Speicherkonto: Wählen Sie das Speicherkonto aus, das Sie zuvor erstellt haben (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 Storage-Konto 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 überprü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: Der Name Ihres Azure Storage-Kontos.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: Löscht nach Übertragungen nie Dateien.
- Übertragene Dateien löschen: Dateien werden nach der erfolgreichen Übertragung gelöscht.
- Übertragene Dateien und leere Verzeichnisse löschen: Löscht Dateien und leere Verzeichnisse nach der erfolgreichen Übertragung.
- Höchstalter der Datei: Dateien einbeziehen, die in den letzten Tagen geändert wurden (Standardwert: 180 Tage)
- Geteilter Schlüssel: Geben Sie den Wert des geteilten 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 Storage-Konto 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 zum Zulassen von IP-Adressen
- Oder Sie rufen sie programmatisch mit der 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}“ festgelegt |
| _DB_PORT | about.port | Wert direkt kopiert, in Ganzzahl konvertiert |
| _DB_DRIVER | about.resource.name | Auf „%{_DB_DRIVER}“ festgelegt |
| _DB_URL | about.url | Auf „%{_DB_URL}“ festgelegt |
| signature_labels | event.idm.read_only_udm.additional.fields | Zusammengeführt aus „signature_labels“, wenn „signature“ 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, „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“ festgelegt, wenn „has_principal“ und „has_target“ „true“ sind, andernfalls „STATUS_UPDATE“, wenn „has_principal“ „true“ ist, andernfalls „SCAN_FILE“, wenn „no_target_host“ nicht „true“ und „path_available“ „true“ ist, andernfalls „STATUS_UNCATEGORIZED“, wenn „no_target_host“ nicht „true“ ist, andernfalls „USER_UNCATEGORIZED“, wenn „has_user“ „true“ ist, andernfalls „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“ festgelegt |
| 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 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 (NIEDRIG für 0/1/2/3/NIEDRIG, MITTEL für 4/5/6/MITTEL/ERHEBLICH/INFO, HOCH für 7/8/HOCH/SCHWERWIEGEND, KRITISCH für 9/10/SEHR HOCH/KRITISCH) oder auf der SeverityID (NIEDRIG für 1, MITTEL für 2, HOCH für 4, KRITISCH 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“, wenn die Zeit nicht leer ist, andernfalls aus „DetectionTime“ oder „detectiontime“ mit UNIX_MS. |
| DetectionTime | metadata.event_timestamp | |
| detectiontime | metadata.event_timestamp | |
time |
syslogtimestamp |
Aus dem Änderungsprotokoll zugeordnet |
DetectionID", "detection_source", and "pending_action |
security_result.detection_fields |
Aus dem Änderungsprotokoll zugeordnet |
action |
temp_action |
Aus dem Änderungsprotokoll zugeordnet |
Änderungsprotokoll
Änderungsprotokoll für diesen Parser ansehen
Benötigen Sie weitere Hilfe? Antworten von Community-Mitgliedern und Google SecOps-Experten erhalten