Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Questo documento descrive la funzionalità di aggiornamento di Intelligence per la sicurezza offline di Microsoft Defender per endpoint in macOS.
Questa funzionalità consente a un'organizzazione di usare un server di hosting locale (definito server mirror in questo documento) per aggiornare l'intelligence di sicurezza (definita in questo documento definizioni o firme) negli endpoint macOS che hanno un'esposizione limitata o nessuna a Internet.
Un server mirror è qualsiasi server nell'ambiente del cliente che può connettersi al cloud Microsoft per scaricare le firme. Altri endpoint macOS eseguono il pull delle firme dal server mirror a un intervallo predefinito.
Vantaggi principali
Il team di sicurezza può controllare e gestire la frequenza dei download delle firme nel server locale e la frequenza con cui gli endpoint estraggono le firme dal server locale.
Si dispone di un ulteriore livello di protezione e controllo, poiché le firme scaricate possono essere testate in un dispositivo di test prima che vengano propagate all'intera flotta.
È necessaria una larghezza di banda di rete inferiore, poiché solo un server locale esegue il polling del cloud Microsoft per ottenere le firme più recenti per conto dell'intera flotta.
Il server mirror può eseguire Windows, Mac o Linux e non è necessario installare Defender per endpoint in tale server.
Si ottiene la protezione antivirus più aggiornata, perché le firme vengono sempre scaricate insieme al motore antivirus compatibile più recente.
Le versioni precedenti delle firme (n-1) vengono spostate in una cartella di backup nel server mirror in ogni iterazione. Se si verifica un problema con gli aggiornamenti più recenti, è possibile eseguire il pull della versione della firma n-1 dalla cartella di backup ai dispositivi.
Nel raro caso in cui l'aggiornamento offline non riesca, è possibile configurare un'opzione di fallback per ottenere gli aggiornamenti online dal cloud Microsoft.
Funzionamento dell'aggiornamento dell'intelligence per la sicurezza offline
Le organizzazioni devono configurare un server mirror, ovvero un server Web/NFS locale raggiungibile dal cloud Microsoft.
Le firme vengono scaricate dal cloud Microsoft in questo server mirror eseguendo uno script usando cron job/task scheduler nel server locale.
Gli endpoint macOS che eseguono Defender per endpoint eseguono il pull delle firme scaricate da questo server mirror a un intervallo di tempo definito dall'utente.
Le firme estratte negli endpoint macOS dal server locale vengono prima verificate prima di essere caricate nel motore antivirus.
Per attivare e configurare il processo di aggiornamento, aggiornare il file json di configurazione gestito negli endpoint macOS.
Lo stato dell'aggiornamento può essere visualizzato nell'interfaccia della riga di comando di mdatp.
Il flusso di processo per il download degli aggiornamenti dell'intelligence di sicurezza nel server mirror è illustrato nel diagramma seguente.
Il flusso di processo per gli aggiornamenti dell'intelligence di sicurezza nell'endpoint macOS è illustrato nel diagramma seguente.
Il server mirror può eseguire uno dei sistemi operativi seguenti:
- Linux (qualsiasi sapore)
- Windows (qualsiasi versione)
- Mac (qualsiasi versione)
Prerequisiti
Defender per endpoint versione 101.25012.0003 o successiva deve essere installato negli endpoint macOS.
Gli endpoint macOS devono avere connettività al server mirror.
L'endpoint macOS deve eseguire una delle distribuzioni supportate da Defender per endpoint.
Il server mirror può essere un server HTTP/HTTPS o un server di condivisione di rete, ad esempio un server NFS.
Il server mirror deve avere accesso agli URL seguenti:
https://github.com/microsoft/mdatp-xplat.githttps://go.microsoft.com/fwlink/?linkid=2144709
Il server mirror deve supportare bash o PowerShell.
Per il server mirror sono necessarie le specifiche di sistema minime seguenti:
CPU Core RAM Disco libero Swap 2 core (4 core preferiti) 1 GB min (4 GB preferiti) 2 GB Dipendente dal sistema Nota
Questa configurazione può variare a seconda del numero di richieste gestite e del carico che ogni server deve elaborare.
Configurare il server mirror
Nota
La gestione e la proprietà del server mirror spettano esclusivamente al cliente, in quanto risiede nell'ambiente privato del cliente.
Qualsiasi server HTTP può essere usato come server mirror. Per il server mirror non è necessario che Defender per endpoint sia installato.
Mentre la gestione e la proprietà del server mirror spettano esclusivamente al cliente, questa sezione presenta due script Bash di esempio che illustrano come usare Python 3 e Caddy per configurare un file server HTTP di base in macOS. Questi script vengono forniti solo a scopo illustrativo e devono essere adattati alle esigenze e all'ambiente specifici.
-
python_http_server.sh: usa il modulo server HTTP predefinito di Python 3 per gestire i file da una directory specificata. -
caddy_http_server.sh: installa e configura il server Web Caddy per gestire i file da una directory specificata.
Per verificare che il servizio sia configurato correttamente dopo aver configurato il server, passare a "https://localhost:8080".
Per i casi d'uso di produzione o avanzati, vedere la documentazione ufficiale per ogni server:
Esaminare e adattare sempre gli script all'ambiente e ai requisiti di sicurezza.
Script di esempio: configurazione di un file server HTTP di base in macOS con Python 3
#!/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"
Script di esempio: configurazione di un file server HTTP di base in macOS usando Caddy
#!/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
Ottenere lo script del downloader di intelligence per la sicurezza offline
Microsoft ospita uno script di downloader di intelligence per la sicurezza offline nel repository GitHub seguente: https://github.com/microsoft/mdatp-xplat.
Per ottenere lo script del downloader, seguire questa procedura:
Opzione 1: Clonare il repository (preferito)
Installare git nel server mirror.
Passare alla directory in cui si vuole clonare il repository.
Eseguire il comando : git clone https://github.com/microsoft/mdatp-xplat.git
Opzione 2: Scaricare il file ZIP
Scaricare il file ZIP del repository: https://github.com/microsoft/mdatp-xplat/archive/refs/heads/master.zip.
Copiare il file ZIP nella cartella in cui si vuole mantenere lo script.
Estrarre la cartella compressa.
Nota
Pianificare un processo cron o un processo avviato per mantenere il file ZIP repo/scaricato aggiornato alla versione più recente a intervalli regolari.
Dopo la clonazione del repository o il download del file compresso, la struttura di directory locale deve essere la seguente:
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
Nota
Esaminare il file README.md per comprendere in dettaglio come usare lo script.
Il file settings.json è costituito da alcune variabili che l'utente può configurare per determinare l'output dell'esecuzione dello script.
| Nome campo | Valore | Descrizione |
|---|---|---|
downloadFolder |
stringa | Esegue il mapping al percorso in cui lo script scarica i file. |
downloadLinuxUpdates |
bool | Se impostato su true, lo script scarica gli aggiornamenti specifici di Linux in downloadFolder. |
logFilePath |
stringa | Configura i log di diagnostica in una determinata cartella. Questo file può essere condiviso con Microsoft per il debug dello script in caso di problemi. |
downloadMacUpdates |
bool | Lo script scarica gli aggiornamenti specifici di Mac in downloadFolder. |
downloadPreviewUpdates |
bool | Scarica la versione di anteprima degli aggiornamenti disponibili per il sistema operativo specifico. |
backupPreviousUpdates |
bool | Consente allo script di copiare l'aggiornamento precedente nella _back cartella e i nuovi aggiornamenti vengono scaricati downloadFolderin . |
Eseguire lo script del downloader di intelligence per la sicurezza offline
Per eseguire manualmente lo script del downloader, configurare i parametri nel file settings.json in base alla descrizione nella sezione precedente e usare uno dei comandi seguenti in base al sistema operativo del server mirror:
Bash:
./xplat_offline_updates_download.sh
Powershell:
./xplat_offline_updates_download.ps1
Nota
Pianificare un processo cron o un processo avviato per eseguire questo script per scaricare gli aggiornamenti di Security Intelligence più recenti nel server mirror a intervalli regolari.
Ospitare gli aggiornamenti dell'intelligence di sicurezza offline nel server mirror
Dopo l'esecuzione dello script, le firme più recenti vengono scaricate nella cartella configurata nel file settings.json (updates.zip).
Dopo aver scaricato il file ZIP delle firme, è possibile usare il server mirror per ospitarlo. Il server mirror può essere ospitato usando uno qualsiasi dei server di condivisione HTTP/HTTPS/di rete.
Una volta ospitato, copiare il percorso assoluto del server ospitato (fino alla directory arch_*, ma non inclusa).
Ad esempio, se lo script viene eseguito con downloadFolder=/tmp/wdav-updatee il server HTTP (www.example.server.com:8000) ospita il percorso /tmp/wdav-update, l'URI corrispondente è: www.example.server.com:8000/mac/production/.
È anche possibile usare il percorso assoluto della directory (punto di montaggio locale/remoto) come /tmp/wdav-update/mac/production.
Dopo aver configurato il server mirror, è necessario propagare questo URL agli endpoint Mac come offlineDefinitionUpdateUrl in Configurazione gestita, come descritto nella sezione successiva.
Configurare gli endpoint
Usare il file di mdatp_managed.json di esempio seguente e aggiornare i parametri in base alla configurazione, quindi copiare il file nel percorso /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"
}
}
| Nome campo | Valori | Commenti |
|---|---|---|
automaticDefinitionUpdateEnabled |
true/false |
Determina il comportamento di Defender per endpoint che tenta di eseguire gli aggiornamenti automaticamente, è attivato o disattivato rispettivamente. |
definitionUpdatesInterval |
Numerico | Tempo di intervallo tra ogni aggiornamento automatico delle firme (in secondi). |
offlineDefinitionUpdateUrl |
stringa | Valore URL generato come parte dell'installazione del server mirror. Può trattarsi dell'URL del server remoto o di una directory (punto di montaggio locale/remoto). |
offlineDefinitionUpdate |
enabled/disabled |
Se impostato su enabled, la funzionalità "aggiornamento dell'intelligence per la sicurezza offline" è abilitata e viceversa. |
offlineDefinitionUpdateFallbackToCloud |
true/false |
Determinare l'approccio di aggiornamento di Defender per endpoint security intelligence quando "server mirror offline" non riesce a gestire la richiesta di aggiornamento. Se impostato su true, l'aggiornamento viene ritentato tramite il cloud Microsoft quando l'aggiornamento dell'intelligence di sicurezza offline non è riuscito. In caso contrario, viceversa. |
offlineDefinitionUpdateVerifySig |
enabled/disabled |
Se impostato su enabled, le definizioni scaricate vengono verificate negli endpoint; in caso contrario, viceversa. |
Verificare la configurazione
Per verificare se le impostazioni vengono applicate correttamente negli endpoint macOS, eseguire il comando seguente:
mdatp health --details definitions
Un output di esempio sarà simile al frammento di codice seguente:
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]
Attivare gli aggiornamenti delle funzionalità di intelligence per la sicurezza offline
Aggiornamento automatico
Se i campi
automaticDefinitionUpdateEnabledeoffline_definition_updatenel json gestito sono impostati sutrue, gli "aggiornamenti dell'intelligence di sicurezza offline" vengono attivati automaticamente a intervalli periodici.Per impostazione predefinita, questo intervallo periodico è di 8 ore. Può essere configurato impostando il
definitionUpdatesIntervalparametro nel file json gestito.Aggiornamento manuale
Per attivare manualmente l'aggiornamento dell'intelligence di sicurezza offline per scaricare le firme dal server mirror negli endpoint Mac, eseguire il comando seguente:
mdatp definitions update
Controllare lo stato dell'aggiornamento
Dopo aver attivato l'"aggiornamento dell'intelligence per la sicurezza offline" tramite il metodo automatico o manuale, verificare che l'aggiornamento sia riuscito eseguendo il comando : mdatp health --details --definitions.
Verificare i campi seguenti:
user@vm:~$ mdatp health --details definitions
...
definitions_status : "up_to_date"
...
definitions_update_fail_reason : ""
...
Procedura per la risoluzione dei problemi comuni
Controllare lo stato della funzionalità "aggiornamento dell'intelligence per la sicurezza offline" usando il comando seguente:
mdatp health --details definitionsQuesto comando fornisce un messaggio descrittivo nella sezione definitions_update_fail_reason .
Verificare se
offline_definition_updateeoffline_definition_update_verify_sigsono abilitati.Controllare se
definitions_update_source_uriè uguale aoffline_definition_url_configured.-
definitions_update_source_uriè l'origine da cui sono state scaricate le firme. -
offline_definition_url_configuredè l'origine da cui scaricare le firme, quella indicata nel file di configurazione gestito.
-
Provare a eseguire il test di connettività per verificare se il server mirror è raggiungibile dall'host:
mdatp connectivity testProvare a attivare un aggiornamento manuale usando il comando seguente:
mdatp definitions update