Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Aperçu
Ce document décrit la fonctionnalité de mise à jour du renseignement de sécurité hors connexion de Microsoft Defender pour point de terminaison sur macOS.
Cette fonctionnalité permet à un organization d’utiliser un serveur d’hébergement local (appelé serveur miroir dans ce document) pour mettre à jour les informations de sécurité (appelées définitions ou signatures dans ce document) sur les points de terminaison macOS qui ont une exposition limitée ou nulle à Internet.
Un serveur miroir est tout serveur de l’environnement du client qui peut se connecter au cloud Microsoft pour télécharger les signatures. D’autres points de terminaison macOS extrayent les signatures du serveur miroir à un intervalle prédéfini.
Avant de commencer, assurez-vous que Defender pour point de terminaison version 101.25012.0003 ou ultérieure est installé sur les points de terminaison macOS, les points de terminaison peuvent atteindre le serveur miroir et le serveur miroir dispose d’un accès Internet pour télécharger des signatures. Pour consulter la liste complète, reportez-vous à la section conditions préalables aux mises à jour hors connexion du renseignement de sécurité plus loin dans cet article.
Avantages clés
Votre équipe de sécurité peut contrôler et gérer la fréquence des téléchargements de signatures sur le serveur local et la fréquence à laquelle les points de terminaison extrayent les signatures du serveur local.
Vous disposez d’une couche supplémentaire de protection et de contrôle, car les signatures téléchargées peuvent être testées sur un appareil de test avant d’être propagées à l’ensemble du parc.
Vous avez besoin de moins de bande passante réseau, car un seul serveur local interroge le cloud Microsoft pour obtenir les dernières signatures au nom de l’ensemble de votre flotte.
Votre serveur miroir peut exécuter Windows, Mac ou Linux, et vous n’avez pas besoin d’installer Defender pour point de terminaison sur ce serveur.
Vous bénéficiez de la protection antivirus la plus récente, car les signatures sont toujours téléchargées avec le dernier moteur antivirus compatible.
Les versions antérieures des signatures (n-1) sont déplacées vers un dossier de sauvegarde sur votre serveur miroir dans chaque itération. En cas de problème avec les dernières mises à jour, vous pouvez extraire la version de signature n-1 du dossier de sauvegarde vers vos appareils.
Dans les rares cas où la mise à jour hors connexion échoue, vous pouvez configurer une option de secours pour obtenir des mises à jour en ligne à partir du cloud Microsoft.
Fonctionnement de la mise à jour du renseignement de sécurité hors connexion
Les organisations doivent configurer un serveur miroir, qui est un serveur web/NFS local accessible par le cloud Microsoft.
Les signatures sont téléchargées à partir du cloud Microsoft vers ce serveur miroir en exécutant un script à l’aide du planificateur de tâches/travaux cron sur le serveur local.
Les points de terminaison macOS exécutant Defender pour point de terminaison extrayent les signatures téléchargées à partir de ce serveur miroir à un intervalle de temps défini par l’utilisateur.
Les signatures extraites du serveur local vers les points de terminaison macOS sont d’abord vérifiées avant d’être chargées dans le moteur antivirus.
Pour déclencher et configurer le processus de mise à jour, mettez à jour le fichier json de configuration managé sur les points de terminaison macOS.
L’état de la mise à jour du renseignement de sécurité hors connexion est visible sur l’interface CLI mdatp.
Le diagramme suivant montre comment les mises à jour d’intelligence de sécurité sont téléchargées à partir du cloud Microsoft vers le serveur miroir.
Le diagramme suivant montre comment les points de terminaison macOS extrayent et vérifient les mises à jour du renseignement de sécurité à partir du serveur miroir.
Le serveur miroir peut exécuter l’un des systèmes d’exploitation suivants :
- Linux (n’importe quelle saveur)
- Windows (n’importe quelle version)
- Mac (n’importe quelle version)
Prérequis
La version 101.25012.0003 ou ultérieure de Defender for Endpoint doit être installée sur les terminaux macOS.
Les points de terminaison macOS doivent être connectés au serveur miroir.
Le point de terminaison macOS doit exécuter l'une des distributions prises en charge par Microsoft Defender for Endpoint.
Le serveur miroir peut être un serveur HTTP/HTTPS ou un serveur de partage réseau, par exemple un serveur NFS.
Le serveur miroir doit avoir accès aux URL suivantes :
https://github.com/microsoft/mdatp-xplat.githttps://go.microsoft.com/fwlink/?linkid=2144709
Le serveur miroir doit prendre en charge bash ou PowerShell.
Les spécifications système minimales suivantes sont requises pour le serveur miroir :
Cœur du processeur RAM Disque libre Swap 2 cœurs (4 cœurs recommandés) 1 Go minimum (4 Go recommandés) 2 Go Dépendant du système Remarque
Cette configuration peut varier en fonction du nombre de demandes traitées et de la charge que chaque serveur doit traiter.
Configurer le serveur miroir
Remarque
La gestion et la propriété du serveur miroir appartiennent uniquement au client, car il réside dans l’environnement privé du client.
N’importe quel serveur HTTP peut être utilisé comme serveur miroir. Defender pour point de terminaison n’a pas besoin d’être installé sur le serveur miroir.
Bien que la gestion et la propriété du serveur miroir se trouvent uniquement avec le client, les deux exemples de scripts Bash suivants montrent comment utiliser Python 3 et Caddy pour configurer un serveur de fichiers HTTP de base sur macOS. Ces scripts sont donnés à titre d’illustration uniquement et doivent être adaptés à vos besoins et à votre environnement spécifiques.
-
Exemple Python script de serveur HTTP (
python_http_server.sh) : utilise le module de serveur HTTP intégré de Python 3 pour traiter des fichiers à partir d'un répertoire spécifié. -
Exemple de script de serveur HTTP Caddy (
caddy_http_server.sh) : installe et configure le serveur web Caddy pour servir des fichiers à partir d’un répertoire spécifié.
Pour vérifier que le serveur de fichiers HTTP est configuré correctement, accédez à «https://localhost:8080" ;.
Pour les cas d’usage de production ou avancés, reportez-vous à la documentation officielle Python serveur HTTP et Caddy :
Examinez et adaptez toujours les scripts à votre environnement et à vos exigences de sécurité.
Exemple de script : Configuration d’un serveur de fichiers HTTP de base sur macOS à l’aide de Python 3
Le script suivant démarre un serveur HTTP léger Python 3 qui peut héberger les fichiers de mise à jour hors connexion téléchargés à partir d’un répertoire spécifié.
#!/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"
Exemple de script : Configuration d’un serveur de fichiers HTTP de base sur macOS à l’aide de Caddy
Le script suivant installe et configure le serveur web Caddy sur macOS pour héberger les fichiers de mise à jour hors connexion téléchargés.
#!/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
Obtenir le script de téléchargement du renseignement de sécurité hors connexion
Microsoft héberge un script de téléchargement de security intelligence hors connexion dans le dépôt GitHub suivant : https://github.com/microsoft/mdatp-xplat.
Pour obtenir le script du téléchargeur, procédez comme suit :
Option 1 : Cloner le dépôt (recommandé)
Installez Git sur votre serveur miroir.
Accédez au répertoire dans lequel vous souhaitez cloner le dépôt.
Exécutez la commande : git clone https://github.com/microsoft/mdatp-xplat.git
Option 2 : Télécharger le fichier zip
Téléchargez le fichier zip du référentiel : https://github.com/microsoft/mdatp-xplat/archive/refs/heads/master.zip.
Copiez le fichier zip dans le dossier dans lequel vous souhaitez conserver le script.
Extrayez le dossier compressé.
Remarque
Planifiez un travail cron ou un travail lancé pour que le dépôt/le fichier zip téléchargé reste à jour vers la dernière version à intervalles réguliers.
Après avoir cloné le dépôt ou téléchargé le fichier compressé, la structure de répertoires locaux doit correspondre à l’exemple suivant, qui montre le script du téléchargeur et ses fichiers de configuration :
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
Remarque
Parcourez le fichier README.md pour comprendre en détail comment utiliser le script.
Le fichier settings.json se compose de quelques variables que l’utilisateur peut configurer pour déterminer la sortie de l’exécution du script.
| Nom du champ | Valeur | Description |
|---|---|---|
downloadFolder |
chaîne de caractères | Correspond à l’emplacement dans lequel le script télécharge les fichiers. |
downloadLinuxUpdates |
bool | Lorsque la valeur est définie sur true, le script télécharge les mises à jour spécifiques à Linux vers downloadFolder. |
logFilePath |
chaîne de caractères | Configure les journaux de diagnostic dans un dossier donné. Ce fichier peut être partagé avec Microsoft pour déboguer le script en cas de problème. |
downloadMacUpdates |
bool | Le script télécharge les mises à jour spécifiques au Mac vers le downloadFolder. |
downloadPreviewUpdates |
bool | Télécharge la préversion des mises à jour disponibles pour le système d’exploitation spécifique. |
backupPreviousUpdates |
bool | Permet au script de copier la mise à jour précédente dans le dossier _back, et les nouvelles mises à jour sont téléchargées vers downloadFolder. |
Exécuter le script de téléchargement hors connexion du renseignement de sécurité
Pour exécuter manuellement le script du téléchargeur, configurez les paramètres dans le fichier settings.json (par downloadFolderexemple, downloadMacUpdateset backupPreviousUpdates) à l’aide des descriptions de champs dans le script du téléchargeur settings.json descriptions de champs, puis utilisez l’une des commandes suivantes en fonction du système d’exploitation du serveur miroir :
Sur un serveur miroir Bash (Linux ou macOS), exécutez le script shell pour télécharger le dernier package de définition hors connexion :
./xplat_offline_updates_download.sh
Sur un serveur miroir Windows, utilisez la version PowerShell du script pour télécharger le package de définition hors connexion :
./xplat_offline_updates_download.ps1
Remarque
Planifiez un travail cron ou un travail lancé pour exécuter ce script afin de télécharger les dernières mises à jour security intelligence sur le serveur miroir à intervalles réguliers.
Héberger les mises à jour du renseignement de sécurité hors connexion sur le serveur miroir
Une fois le script exécuté, les dernières signatures sont téléchargées dans le dossier configuré dans le fichier settings.json (updates.zip).
Une fois le fichier zip de signatures téléchargé, le serveur miroir peut être utilisé pour l’héberger. Le serveur miroir peut être hébergé à l’aide de n’importe quel serveur de partage http/HTTPS/réseau.
Une fois hébergé, copiez le chemin d’accès absolu du serveur hébergé (jusqu’au répertoire arch_* sans l’inclure).
Par exemple, si le script est exécuté avec downloadFolder=/tmp/wdav-updateet que le serveur HTTP (www.example.server.com:8000) héberge le chemin /tmp/wdav-update, l’URI correspondant est : www.example.server.com:8000/mac/production/.
Nous pouvons également utiliser le chemin d’accès absolu du répertoire (point de montage local/distant) comme /tmp/wdav-update/mac/production.
Une fois le serveur miroir configuré, propagez cette URL aux points de terminaison Mac en le offlineDefinitionUpdateUrl définissant comme valeur dans le fichier de configuration managé (mdatp_managed.json) comme décrit dans Configurer les points de terminaison macOS pour les mises à jour hors connexion.
Configurer les points de terminaison
Important
Defender pour point de terminaison doit déjà être installé sur le point de terminaison macOS, et vous devez disposer des autorisations root ou sudo pour écrire dans /etc/opt/microsoft/mdatp/managed/.
Utilisez l’exemple de fichier mdatp_managed.json suivant et mettez à jour les paramètres en fonction de la configuration, puis copiez le fichier à l’emplacement /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"
}
}
| Nom du champ | Valeurs | Commentaires |
|---|---|---|
automaticDefinitionUpdateEnabled |
true/false |
Détermine si le comportement de Defender pour point de terminaison consistant à tenter d’effectuer automatiquement des mises à jour est activé ou désactivé. |
definitionUpdatesInterval |
numérique | Intervalle entre chaque mise à jour automatique des signatures (en secondes). |
offlineDefinitionUpdateUrl |
chaîne de caractères | Valeur d’URL générée dans le cadre de la configuration du serveur miroir. Il peut s’agir de l’URL du serveur distant ou d’un répertoire (point de montage local/distant). |
offlineDefinitionUpdate |
enabled/disabled |
enabledQuand la valeur est définie sur , la fonctionnalité « mise à jour du renseignement de sécurité hors connexion » est activée, et vice versa. |
offlineDefinitionUpdateFallbackToCloud |
true/false |
Déterminez la méthode de mise à jour du renseignement de sécurité de Defender pour point de terminaison lorsque le « serveur miroir hors connexion » ne parvient pas à répondre à la demande de mise à jour. Si la truevaleur est définie sur , la mise à jour est retentée via le cloud Microsoft en cas d’échec de la « mise à jour du renseignement de sécurité hors connexion » ; sinon, inversement. |
offlineDefinitionUpdateVerifySig |
enabled/disabled |
enabledQuand la valeur est définie sur , les définitions téléchargées sont vérifiées sur les points de terminaison ; sinon, inversement. |
Vérifier la configuration
Pour tester si les paramètres sont appliqués correctement sur les points de terminaison macOS, utilisez la commande suivante pour afficher les champs d’état de mise à jour de définition, y compris l’URL hors connexion configurée et la source de mise à jour :
mdatp health --details definitions
Un exemple de sortie ressemble à l’extrait de code suivant. Vérifiez que definitions_status affiche up_to_date et que definitions_update_fail_reason est vide, ce qui indique que la configuration de mise à jour hors connexion fonctionne correctement :
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]
Déclencher les mises à jour du renseignement de sécurité hors connexion
Mise à jour automatique
Si le champ
automaticDefinitionUpdateEnabled(qui contrôle si Microsoft Defender for Endpoint tente d’effectuer des mises à jour automatiques des définitions, tel qu’il est configuré dans le fichier JSON géré) et leoffline_definition_update(le nom d’état signalé pour le champ de configuration géréofflineDefinitionUpdate) dans le JSON géré sont définis surtrue, alors les « mises à jour hors connexion du renseignement de sécurité » sont déclenchées automatiquement à intervalles réguliers.Par défaut, cet intervalle périodique est de 8 heures. Il peut être configuré en définissant le
definitionUpdatesIntervalparamètre dans le json managé.Mise à jour manuelle
Pour déclencher manuellement la « mise à jour de security intelligence hors connexion » afin de télécharger les signatures à partir du serveur miroir sur les points de terminaison Mac, exécutez la commande suivante :
mdatp definitions update
Vérifier les status de mise à jour
Après avoir déclenché la « mise à jour du renseignement de sécurité hors connexion » par la méthode automatique ou manuelle, vérifiez que la mise à jour a réussi en exécutant la commande : mdatp health --details --definitions.
L’exemple de sortie suivant montre les champs relatifs à l’état de la définition de clé. Vérifiez que definitions_status est up_to_date et que definitions_update_fail_reason est vide :
user@vm:~$ mdatp health --details definitions
...
definitions_status : "up_to_date"
...
definitions_update_fail_reason : ""
...
Étapes de dépannage courantes
Si les mises à jour d’intelligence de sécurité hors connexion ne fonctionnent pas comme prévu, suivez les étapes suivantes pour diagnostiquer et résoudre le problème.
Vérifiez la status de la fonctionnalité « mise à jour du renseignement de sécurité hors connexion » à l’aide de la commande suivante :
mdatp health --details definitionsCette commande fournit un message convivial dans la section definitions_update_fail_reason .
Vérifiez si
offline_definition_updateetoffline_definition_update_verify_sigsont activés.Vérifiez si
definitions_update_source_uriest égal àoffline_definition_url_configured.-
definitions_update_source_uriest la source à partir de laquelle les signatures ont été téléchargées. -
offline_definition_url_configuredest la source à partir de laquelle les signatures doivent être téléchargées, celle mentionnée dans le fichier de configuration managé.
-
Exécutez un test de connectivité pour confirmer que le point de terminaison peut atteindre le serveur miroir configuré et d’autres services requis :
mdatp connectivity testSi la connectivité réussit, mais que les définitions sont toujours obsolètes, réessayez la mise à jour de définition manuellement :
mdatp definitions update
Voir aussi
Pour plus d’informations, consultez les articles suivants.