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.
Overview
Questo documento descrive la funzionalità di aggiornamento offline dell'intelligence per la sicurezza di Microsoft Defender per endpoint su 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 scaricano le firme dal server mirror a intervalli predefiniti.
Prima di iniziare, assicurarsi che Defender per endpoint versione 101.25012.0003 o successiva sia installato negli endpoint macOS, gli endpoint possono raggiungere il server mirror e il server mirror ha accesso a Internet per scaricare le firme. Per l'elenco completo, vedere la sezione prerequisiti per gli aggiornamenti delle funzionalità di intelligence per la sicurezza offline più avanti in questo articolo.
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 recuperare la versione n-1 delle firme dalla cartella di backup sui 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.
Come funziona l'aggiornamento dell'intelligence di 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 offline delle informazioni di sicurezza può essere visualizzato nella CLI di mdatp.
Il diagramma seguente illustra come scaricare gli aggiornamenti di Intelligence per la sicurezza dal cloud Microsoft al server mirror.
Il diagramma seguente illustra come gli endpoint macOS eseguono il pull e la verifica degli aggiornamenti di Intelligence per la sicurezza dal server mirror.
Il server mirror può eseguire uno dei sistemi operativi seguenti:
- Linux (qualsiasi sapore)
- Windows (qualsiasi versione)
- Mac (qualsiasi versione)
Prerequisiti
La versione 101.25012.0003 o successiva di Defender for Endpoint deve essere installata sugli 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 (preferibilmente 4 core) 1 GB min (4 GB preferiti) 2GB 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 si trova esclusivamente con il cliente, i due script Bash di esempio seguenti 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.
-
Esempio Python script del server HTTP (
python_http_server.sh): usa il modulo server HTTP 3 predefinito di Python 3 per gestire i file da una directory specificata. -
Script del server HTTP Caddy di esempio (
caddy_http_server.sh): installa e configura il server Web Caddy per la gestione dei file da una directory specificata.
Per verificare che il file server HTTP sia configurato correttamente, passare a "https://localhost:8080".
Per i casi d'uso avanzati o di produzione, vedere la documentazione ufficiale del server HTTP Python e caddy:
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
Lo script seguente avvia un server HTTP leggero Python 3 in grado di ospitare i file di aggiornamento offline scaricati da una directory specificata.
#!/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
Lo script seguente installa e configura il server Web Caddy in macOS per ospitare i file di aggiornamento offline scaricati.
#!/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
Ottieni lo script per il download offline dell'intelligence per la sicurezza
Microsoft mette a disposizione uno script per il download offline delle informazioni di sicurezza nel seguente repository GitHub: 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.
Passa alla directory in cui vuoi clonare il repo.
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 aver clonato il repository o scaricato il file compresso, la struttura di directory locale deve corrispondere all'esempio seguente, che mostra lo script downloader e i relativi file di configurazione:
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 | Corrisponde al percorso in cui lo script scarica i file. |
downloadLinuxUpdates |
bool | Se impostato su true, lo script scarica gli aggiornamenti specifici di Linux nel 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 per Mac su 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 cartella _back e i nuovi aggiornamenti vengono scaricati in downloadFolder. |
Esegui lo script di download offline dell'intelligence per la sicurezza
Per eseguire manualmente lo script downloader, configurare i parametri nel file settings.json (ad esempio downloadFolder, downloadMacUpdatese backupPreviousUpdates) usando le descrizioni dei campi nello script downloader settings.json descrizioni dei campi e usare uno dei comandi seguenti in base al sistema operativo del server mirror:
In un server mirror basato su Bash (Linux o macOS), eseguire lo script della shell per scaricare il pacchetto di definizione offline più recente:
./xplat_offline_updates_download.sh
In un server mirror basato su Windows usare la versione di PowerShell dello script per scaricare il pacchetto di definizione offline:
./xplat_offline_updates_download.ps1
Nota
Pianifica un job cron o un job launchd in modo che esegua questo script e scarichi sul server mirror gli aggiornamenti più recenti dell’intelligence di sicurezza 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 che il server è ospitato, copiare il percorso assoluto del server ospitato (fino a, ma senza includere, la directory arch_*).
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, propagare questo URL agli endpoint Mac impostandolo come offlineDefinitionUpdateUrl valore nel file di configurazione gestito (mdatp_managed.json) come descritto in Configurare gli endpoint macOS per gli aggiornamenti offline.
Configurare gli endpoint
Importante
Defender per Endpoint deve già essere installato sull'endpoint macOS ed è necessario disporre di autorizzazioni di root o sudo per scrivere in /etc/opt/microsoft/mdatp/managed/.
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 offline dell'intelligence di sicurezza" è 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, usare il comando seguente per visualizzare i campi di stato dell'aggiornamento delle definizioni, inclusi l'URL offline configurato e l'origine dell'aggiornamento:
mdatp health --details definitions
Un output di esempio sarà simile al frammento di codice seguente. Verificare che mostra definitions_status e up_to_date sia vuoto, che indica che definitions_update_fail_reason la configurazione dell'aggiornamento offline funziona correttamente:
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 il
automaticDefinitionUpdateEnabledcampo (che controlla se Defender per Endpoint tenta gli aggiornamenti automatici delle definizioni, come configurato nel file JSON gestito) e iloffline_definition_update(nome di stato segnalato per ilofflineDefinitionUpdatecampo di configurazione gestita) nel file JSON gestito vengono impostati sutrue, gli "aggiornamenti di intelligence per la 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.
L'output di esempio seguente mostra i campi di integrità della definizione chiave. Verificare che definitions_status sia up_to_date e definitions_update_fail_reason sia vuoto:
user@vm:~$ mdatp health --details definitions
...
definitions_status : "up_to_date"
...
definitions_update_fail_reason : ""
...
Procedura per la risoluzione dei problemi comuni
Se gli aggiornamenti di Intelligence per la sicurezza offline non funzionano come previsto, seguire questa procedura per diagnosticare e risolvere il problema.
Controlla lo stato della funzionalità "aggiornamento dell'intelligence di sicurezza offline" utilizzando il comando seguente:
mdatp health --details definitionsQuesto comando fornisce un messaggio di facile comprensione 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.
-
Eseguire un test di connettività per verificare che l'endpoint possa raggiungere il server mirror configurato e altri servizi necessari:
mdatp connectivity testSe la connettività ha esito positivo, ma le definizioni sono ancora obsolete, riprovare a aggiornare manualmente la definizione:
mdatp definitions update
Vedere anche
Per altri dettagli, vedere gli articoli seguenti.