Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Übersicht
In diesem Dokument wird das Feature "Offline Security Intelligence Update" von Microsoft Defender for Endpoint unter macOS beschrieben.
Dieses Feature ermöglicht es einem organization, einen lokalen Hostingserver (in diesem Dokument als Spiegel Server bezeichnet) zu verwenden, um die Sicherheitsintelligenz (in diesem Dokument als Definitionen oder Signaturen bezeichnet) auf macOS-Endpunkten zu aktualisieren, die nur eingeschränkt oder gar nicht im Internet verfügbar sind.
Ein Spiegel Server ist ein beliebiger Server in der Umgebung des Kunden, der eine Verbindung mit der Microsoft-Cloud herstellen kann, um die Signaturen herunterzuladen. Andere macOS-Endpunkte beziehen die Signaturen in einem vorgegebenen Intervall vom Spiegelserver.
Bevor Sie beginnen, stellen Sie sicher, dass Defender für Endpunkt, Version 101.25012.0003 oder höher, auf den macOS-Endpunkten installiert ist, die Endpunkte können den Spiegelserver erreichen, und der Spiegelserver verfügt über Internetzugriff zum Herunterladen von Signaturen. Die vollständige Liste finden Sie weiter unten in diesem Artikel unter den Voraussetzungen für Updates für Offlinesicherheitsinformationen .
Hauptvorteile
Ihr Sicherheitsteam kann die Häufigkeit von Signaturdownloads auf den lokalen Server und die Häufigkeit, mit der Endpunkte Signaturen vom lokalen Server abrufen, steuern und verwalten.
Sie verfügen über eine zusätzliche Schutz- und Steuerungsebene, da die heruntergeladenen Signaturen auf einem Testgerät getestet werden können, bevor sie an die gesamte Flotte weitergegeben werden.
Sie benötigen weniger Netzwerkbandbreite, da nur ein lokaler Server die Microsoft-Cloud abruft, um die neuesten Signaturen im Namen Ihrer gesamten Flotte abzurufen.
Ihr Spiegel Server kann Windows, Mac oder Linux ausführen, und Sie müssen Defender für Endpunkt nicht auf diesem Server installieren.
Sie erhalten den aktuellsten Antivirenschutz, da Signaturen immer zusammen mit der neuesten kompatiblen Antiviren-Engine heruntergeladen werden.
Ältere Versionen von Signaturen (n-1) werden in jeder Iteration in einen Sicherungsordner auf Ihrem Spiegel Server verschoben. Wenn ein Problem mit den neuesten Updates vorliegt, können Sie die n-1-Signaturversion aus dem Sicherungsordner auf Ihre Geräte pullen.
Im seltenen Fall, dass das Offlineupdate fehlschlägt, können Sie eine Fallbackoption konfigurieren, um Onlineupdates aus der Microsoft-Cloud zu erhalten.
So funktioniert das Offline-Security Intelligence-Update
Organisationen müssen einen Spiegel-Server einrichten, bei dem es sich um einen lokalen Web-/NFS-Server handelt, der über die Microsoft-Cloud erreichbar ist.
Signaturen werden aus der Microsoft-Cloud auf diesen Spiegelserver heruntergeladen, indem auf dem lokalen Server ein Skript per Cron-Job bzw. Aufgabenplanung ausgeführt wird.
macOS-Endpunkte, auf denen Defender für Endpunkt ausgeführt wird, rufen die heruntergeladenen Signaturen in einem benutzerdefinierten Zeitintervall von diesem Spiegel Server ab.
Signaturen, die vom lokalen Server an die macOS-Endpunkte gepullt werden, werden zuerst überprüft, bevor sie in die Antiviren-Engine geladen werden.
Um den Updatevorgang auszulösen und zu konfigurieren, aktualisieren Sie die JSON-Datei der verwalteten Konfiguration auf den macOS-Endpunkten.
Der Status des Offlineupdates der Sicherheitsintelligenz kann in der mdatp-CLI eingesehen werden.
Das folgende Diagramm zeigt, wie Sicherheitsupdates aus der Microsoft Cloud auf den Spiegelserver heruntergeladen werden.
Das folgende Diagramm zeigt, wie macOS-Endpunkte Sicherheitsupdates vom Spiegelserver abrufen und überprüfen.
Auf dem Spiegel-Server kann eines der folgenden Betriebssysteme ausgeführt werden:
- Linux (beliebige Variante)
- Windows (beliebige Version)
- Mac (beliebige Version)
Voraussetzungen
Defender für Endpunkt Version 101.25012.0003 oder höher muss auf den macOS-Endpunkten installiert sein.
Die macOS-Endpunkte müssen mit dem Spiegel Server verbunden sein.
Auf dem macOS-Endpunkt muss eine der von Defender für Endpunkt unterstützten Distributionen ausgeführt werden.
Der Spiegelserver kann entweder ein HTTP/HTTPS-Server oder ein Netzwerkfreigabeserver sein, z. B. ein NFS-Server.
Der Spiegel-Server muss Zugriff auf die folgenden URLs haben:
https://github.com/microsoft/mdatp-xplat.githttps://go.microsoft.com/fwlink/?linkid=2144709
Der Spiegel Server sollte Bash oder PowerShell unterstützen.
Die folgenden Mindestsystemspezifikationen sind für den Spiegel Server erforderlich:
CPU-Kern RAM Freier Datenträger Swap 2 Kerne (bevorzugte 4 Kerne) 1 GB Min ( bevorzugt 4 GB) 2 GB Systemabhängig Hinweis
Diese Konfiguration kann abhängig von der Anzahl der bereitgestellten Anforderungen und der Last variieren, die jeder Server verarbeiten muss.
Konfigurieren des Spiegel-Servers
Hinweis
Die Verwaltung und der Besitz des Spiegel Servers liegt allein beim Kunden, da er sich in der privaten Umgebung des Kunden befindet.
Jeder HTTP-Server kann als Spiegel-Server verwendet werden. Der Spiegelserver muss nicht mit Defender for Endpoint installiert sein.
Während die Verwaltung und der Besitz des Spiegelservers ausschließlich beim Kunden liegen, veranschaulichen die folgenden beiden Bash-Beispielskripts, wie sie Python 3 und Caddy zum Einrichten eines einfachen HTTP-Dateiservers unter macOS verwenden. Diese Skripts dienen nur zur Veranschaulichung und sollten an Ihre eigenen spezifischen Bedürfnisse und Umgebungen angepasst werden.
-
Beispiel Python HTTP-Serverskript (
python_http_server.sh): Verwendet das integrierte HTTP-Servermodul von 3 Python, um Dateien aus einem angegebenen Verzeichnis zu bedienen. -
Beispiel-Caddy-HTTP-Serverskript (
caddy_http_server.sh): Installiert und konfiguriert den Caddy-Webserver, um Dateien aus einem angegebenen Verzeichnis zu bedienen.
Um zu überprüfen, ob der HTTP-Dateiserver ordnungsgemäß eingerichtet ist, navigieren Sie zu "https://localhost:8080".
Informationen zu Produktions- oder erweiterten Anwendungsfällen finden Sie in der offiziellen Python HTTP-Server- und Caddy-Dokumentation:
Überprüfen und passen Sie Skripts immer an Ihre Umgebungs- und Sicherheitsanforderungen an.
Beispielskript: Einrichten eines einfachen HTTP-Dateiservers unter macOS mit Python 3
Das folgende Skript startet einen einfachen Python 3 HTTP-Server, der die heruntergeladenen Offlineupdatedateien aus einem angegebenen Verzeichnis hosten kann.
#!/bin/bash
# python_http_server.sh
# Starts a simple HTTP server using Python 3
# Check for Python 3
if ! command -v python3 &> /dev/null; then
echo "Python 3 is not installed. Please install it first."
exit 1
fi
PORT=8080
FOLDER="."
if [ ! -z "$1" ]; then
PORT=$1
fi
if [ ! -z "$2" ]; then
FOLDER=$2
fi
echo "Starting Python HTTP server on port $PORT (localhost only), serving folder: $FOLDER..."
python3 -m http.server "$PORT" --bind 127.0.0.1 --directory "$FOLDER"
Beispielskript: Einrichten eines einfachen HTTP-Dateiservers unter macOS mithilfe von Caddy
Das folgende Skript installiert und konfiguriert den Caddy-Webserver unter macOS, um die heruntergeladenen Offlineupdatedateien zu hosten.
#!/bin/bash
# caddy_http_server.sh
# Installs and configures Caddy HTTP server on macOS
PORT=8080
FOLDER="."
if [ ! -z "$1" ]; then
PORT=$1
fi
if [ ! -z "$2" ]; then
FOLDER=$2
fi
check_homebrew() {
if ! command -v brew &> /dev/null; then
echo "Homebrew is required to install Caddy."
read -p "Would you like to install Homebrew? (y/n): " install_brew
if [[ "$install_brew" =~ ^[Yy]$ ]]; then
echo "Installing Homebrew..."
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
export PATH="/opt/homebrew/bin:$PATH"
else
echo "Please install Caddy manually and restart this script."
exit 1
fi
fi
}
install_caddy() {
if ! brew list caddy &> /dev/null; then
echo "Installing Caddy via Homebrew..."
brew install caddy
else
echo "Caddy is already installed."
fi
}
# Check for Caddy
if ! command -v caddy &> /dev/null; then
echo "Caddy is not installed."
check_homebrew
install_caddy
else
echo "Caddy is already installed."
fi
# Create a simple Caddyfile
cat <<EOL > Caddyfile
localhost:${PORT} {
root * ${FOLDER}
file_server browse
}
EOL
echo "Caddyfile created. Starting Caddy server on port $PORT..."
caddy run --config ./Caddyfile
Rufen Sie das Offlineskript zum Herunterladen von Sicherheitsintelligenz ab.
Microsoft hostet ein Offline-Skript zum Herunterladen von Sicherheitsintelligenz im folgenden GitHub-Repository: https://github.com/microsoft/mdatp-xplat.
Führen Sie die folgenden Schritte aus, um das Downloaderskript abzurufen:
Option 1: Klonen des Repositorys (bevorzugt)
Installieren Sie Git auf Ihrem Spiegelserver.
Navigieren Sie zu dem Verzeichnis, in dem Sie das Repository klonen möchten.
Führen Sie den Befehl aus: git clone https://github.com/microsoft/mdatp-xplat.git
Option 2: Herunterladen der ZIP-Datei
Laden Sie die ZIP-Datei des Repositorys herunter: https://github.com/microsoft/mdatp-xplat/archive/refs/heads/master.zip.
Kopieren Sie die ZIP-Datei in den Ordner, in dem Sie das Skript speichern möchten.
Extrahieren Sie den gezippten Ordner.
Hinweis
Richten Sie einen Cron-Job oder einen launchd-Job ein, um das Repository bzw. die heruntergeladene ZIP-Datei in regelmäßigen Abständen auf die neueste Version zu aktualisieren.
Nach dem Klonen des Repositorys oder herunterladen der zippten Datei sollte die lokale Verzeichnisstruktur mit dem folgenden Beispiel übereinstimmen, das das Downloaderskript und die zugehörigen Konfigurationsdateien zeigt:
user@vm:~/mdatp-xplat$ tree linux/definition_downloader/
linux/definition_downloader/
├── README.md
├── settings.json
├── settings.ps1
├── xplat_offline_updates_download.ps1
└── xplat_offline_updates_download.sh
0 directories, 5 files
Hinweis
Gehen Sie die README.md-Datei durch, um die Verwendung des Skripts im Detail zu verstehen.
Die settings.json-Datei besteht aus einigen Variablen, die der Benutzer konfigurieren kann, um die Ausgabe der Skriptausführung zu bestimmen.
| Feldname | Wert | Description |
|---|---|---|
downloadFolder |
String | Wird dem Speicherort zugeordnet, an den das Skript die Dateien herunterlädt. |
downloadLinuxUpdates |
bool | Wenn true festgelegt ist, lädt das Skript die Linux-spezifischen Updates in das downloadFolder herunter. |
logFilePath |
String | Richtet die Diagnoseprotokolle in einem bestimmten Ordner ein. Diese Datei kann für Microsoft zum Debuggen des Skripts freigegeben werden, wenn Probleme auftreten. |
downloadMacUpdates |
bool | Das Skript lädt die Mac-spezifischen Updates auf das downloadFolder herunter. |
downloadPreviewUpdates |
bool | Lädt die Vorschauversion der für das jeweilige Betriebssystem verfügbaren Updates herunter. |
backupPreviousUpdates |
bool | Ermöglicht dem Skript, das vorherige Update in den _back Ordner zu kopieren, und neue Updates werden in downloadFolderheruntergeladen. |
Ausführen des Offline-Sicherheitsintelligenz-Downloadskripts
Um das Downloader-Skript manuell auszuführen, konfigurieren Sie die Parameter in der Datei settings.json (z. B. downloadFolder, downloadMacUpdates und backupPreviousUpdates) anhand der Feldbeschreibungen in den Feldbeschreibungen für die settings.json des Downloader-Skripts und verwenden Sie je nach Betriebssystem des Spiegelservers einen der folgenden Befehle:
Führen Sie auf einem Bash-basierten Spiegelserver (Linux oder macOS) das Shellskript aus, um das neueste Offlinedefinitionspaket herunterzuladen:
./xplat_offline_updates_download.sh
Verwenden Sie auf einem Windows-basierten Spiegelserver die PowerShell-Version des Skripts, um das Offlinedefinitionspaket herunterzuladen:
./xplat_offline_updates_download.ps1
Hinweis
Richten Sie einen Cron-Auftrag oder einen launchd-Auftrag ein, um dieses Skript in regelmäßigen Abständen auszuführen und die neuesten Security-Intelligence-Updates auf den Spiegelserver herunterzuladen.
Offline-Sicherheitsintelligenzupdates auf dem Spiegelserver bereitstellen
Sobald das Skript ausgeführt wurde, werden die neuesten Signaturen in den Ordner heruntergeladen, der in der settings.json-Datei (updates.zip) konfiguriert ist.
Nachdem die Signatur-ZIP-Datei heruntergeladen wurde, kann der Mirror-Server zum Hosten verwendet werden. Der Spiegelserver kann auf einem beliebigen HTTP-, HTTPS- oder Netzwerkfreigabeserver gehostet werden.
Kopieren Sie nach dem Hosten den absoluten Pfad des gehosteten Servers (bis zum Verzeichnis arch_*, dieses jedoch nicht eingeschlossen).
Wenn das Skript z. B. mit downloadFolder=/tmp/wdav-updateausgeführt wird und der HTTP-Server (www.example.server.com:8000) den Pfad /tmp/wdav-update hostt, lautet der entsprechende URI: www.example.server.com:8000/mac/production/.
Wir können auch den absoluten Pfad des Verzeichnisses (local/remote mount point) wie /tmp/wdav-update/mac/production verwenden.
Nachdem der Spiegelserver eingerichtet wurde, verteilen Sie diese URL an die Mac-Endpunkte, indem Sie sie als offlineDefinitionUpdateUrl Wert in der verwalteten Konfigurationsdatei (mdatp_managed.json) festlegen, wie unter Konfigurieren der macOS-Endpunkte für Offlineupdates beschrieben.
Konfigurieren der Endpunkte
Von Bedeutung
Defender für Endpunkt muss bereits auf dem macOS-Endpunkt installiert sein, und Sie benötigen Stamm- oder sudo-Berechtigungen zum Schreiben in /etc/opt/microsoft/mdatp/managed/.
Verwenden Sie das folgende Beispiel mdatp_managed.json Datei, aktualisieren Sie die Parameter gemäß der Konfiguration, und kopieren Sie die Datei dann an den Speicherort /etc/opt/microsoft/mdatp/managed/mdatp_managed.json.
{
"cloudService": {
"automaticDefinitionUpdateEnabled": true,
"definitionUpdatesInterval": 1202
},
"antivirusEngine": {
"offlineDefinitionUpdateUrl": "http://172.22.199.67:8000/mac/production/",
"offlineDefintionUpdateFallbackToCloud":false,
"offlineDefinitionUpdate": "enabled"
},
"features": {
"offlineDefinitionUpdateVerifySig": "enabled"
}
}
| Feldname | Werte | Kommentare |
|---|---|---|
automaticDefinitionUpdateEnabled |
true/false |
Bestimmt das Verhalten von Defender für Endpunkt beim Versuch, Updates automatisch durchzuführen, und wird entsprechend ein- oder ausgeschaltet. |
definitionUpdatesInterval |
Numerisch | Zeit des Intervalls zwischen den einzelnen automatischen Aktualisierungen von Signaturen (in Sekunden). |
offlineDefinitionUpdateUrl |
String | URL-Wert, der im Rahmen des Spiegel-Serversetups generiert wird. Dies kann entweder die URL des Remote-Servers oder ein Verzeichnis (lokaler/entfernter Einhängepunkt) betreffen. |
offlineDefinitionUpdate |
enabled/disabled |
Wenn enabled festgelegt ist, ist die Funktion „Offline-Sicherheitsintelligenzupdate“ aktiviert und umgekehrt. |
offlineDefinitionUpdateFallbackToCloud |
true/false |
Bestimmen Sie den Ansatz für das Security Intelligence-Update von Defender für Endpunkt, wenn der „Offline-Spiegelserver“ die Updateanforderung nicht bedienen kann. Wenn auf truefestgelegt ist, wird das Update über die Microsoft-Cloud wiederholt, wenn "Offline-Security Intelligence-Update" fehlgeschlagen ist, andernfalls umgekehrt. |
offlineDefinitionUpdateVerifySig |
enabled/disabled |
Bei Festlegung auf enabledwerden heruntergeladene Definitionen auf den Endpunkten überprüft, andernfalls umgekehrt. |
Überprüfen der Konfiguration
Um zu testen, ob die Einstellungen auf den macOS-Endpunkten ordnungsgemäß angewendet werden, verwenden Sie den folgenden Befehl, um die Statusfelder für Definitionsupdates anzuzeigen, einschließlich der konfigurierten Offline-URL und der Updatequelle:
mdatp health --details definitions
Eine Beispielausgabe würde wie der folgende Codeausschnitt aussehen. Stellen Sie sicher, dass definitions_statusup_to_date anzeigt und definitions_update_fail_reason leer ist, was darauf hinweist, dass die Offline-Update-Konfiguration ordnungsgemäß funktioniert:
user@vm:~$ mdatp health --details definitions
automatic_definition_update_enabled : true [managed]
definitions_updated : Mar 14, 2024 at 12:13:17 PM
definitions_updated_minutes_ago : 2
definitions_version : "1.407.417.0"
definitions_status : "up_to_date"
definitions_update_source_uri : "https://go.microsoft.com/fwlink/?linkid=2144709"
definitions_update_fail_reason : ""
offline_definition_url_configured : "http://172.XX.XXX.XX:8000/mac/production/" [managed]
offline_definition_update : "enabled" [managed]
offline_definition_update_verify_sig : "enabled"
offline_definition_update_fallback_to_cloud : false[managed]
Auslösen der Offline-Security Intelligence-Updates
Automatische Aktualisierung
Wenn das Feld
automaticDefinitionUpdateEnabled(das steuert, ob Defender for Endpoint automatische Definitionsupdates versucht, wie in der managed JSON-Datei konfiguriert) undoffline_definition_update(die gemeldete Statusbezeichnung für das Managed-Config-FeldofflineDefinitionUpdate) in der managed JSON-Datei auftruefestgelegt sind, werden die „Offline-Sicherheitsintelligenzupdates“ automatisch in regelmäßigen Abständen ausgelöst.Standardmäßig beträgt dieses periodische Intervall 8 Stunden. Sie kann konfiguriert werden, indem Sie den
definitionUpdatesIntervalParameter in der verwalteten JSON-Datei festlegen.Manuelle Aktualisierung
Führen Sie den folgenden Befehl aus, um das „Offline-Sicherheitsintelligenzupdate“ manuell auszulösen, damit die Signaturen vom Spiegelserver auf Mac-Endpunkten heruntergeladen werden:
mdatp definitions update
Überprüfen von Update-status
Nachdem Sie das "Offline-Security Intelligence-Update" entweder mit der automatischen oder manuellen Methode ausgelöst haben, überprüfen Sie, ob das Update erfolgreich war, indem Sie den folgenden Befehl ausführen: mdatp health --details --definitions.
Die folgende Beispielausgabe zeigt die wichtigsten Integritätsfelder der Definition. Vergewissern Sie sich, dass definitions_statusup_to_date ist und definitions_update_fail_reason leer ist:
user@vm:~$ mdatp health --details definitions
...
definitions_status : "up_to_date"
...
definitions_update_fail_reason : ""
...
Allgemeine Schritte zur Problembehandlung
Wenn Offline-Sicherheitsupdates nicht wie erwartet funktionieren, führen Sie die folgenden Schritte aus, um das Problem zu diagnostizieren und zu beheben.
Überprüfen Sie den Status der Funktion "Offline-Security-Intelligence-Update" mit dem folgenden Befehl:
mdatp health --details definitionsDieser Befehl stellt eine benutzerfreundliche Nachricht im Abschnitt definitions_update_fail_reason bereit.
Überprüfen Sie, ob
offline_definition_updateundoffline_definition_update_verify_sigaktiviert sind.Überprüfen Sie, ob
definitions_update_source_urigleichoffline_definition_url_configuredist.-
definitions_update_source_uriist die Quelle, aus der die Signaturen heruntergeladen wurden. -
offline_definition_url_configuredist die Quelle, aus der Signaturen heruntergeladen werden sollen, die in der verwalteten Konfigurationsdatei erwähnt wird.
-
Führen Sie einen Verbindungstest aus, um zu bestätigen, dass der Endpunkt den konfigurierten Spiegelserver und andere erforderliche Dienste erreichen kann:
mdatp connectivity testWenn die Konnektivität erfolgreich ist, Definitionen aber immer noch veraltet sind, wiederholen Sie das Definitionsupdate manuell:
mdatp definitions update
Siehe auch
Weitere Informationen finden Sie in den folgenden Artikeln.