Sdílet prostřednictvím


Konfigurace offline aktualizací bezpečnostních funkcí pro Microsoft Defender for Endpoint v macOS

Tento dokument popisuje funkci offline aktualizace bezpečnostních informací Microsoft Defender for Endpoint v systému macOS.

Tato funkce umožňuje organizaci používat místní hostitelský server (v tomto dokumentu označovaný jako zrcadlový server ) k aktualizaci inteligentních informací zabezpečení (označovaných v tomto dokumentu jako definice nebo podpisy) na koncových bodech macOS, které jsou omezené nebo nemají přístup k internetu.

Zrcadlový server je jakýkoli server v prostředí zákazníka, který se může připojit ke cloudu Microsoftu a stáhnout podpisy. Ostatní koncové body macOS přetahují podpisy ze zrcadlového serveru v předdefinovaném intervalu.

Klíčové výhody

  • Váš bezpečnostní tým může řídit a spravovat frekvenci stahování podpisů na místní server a frekvenci, s jakou koncové body budou z místního serveru natahovat podpisy.

  • Máte další vrstvu ochrany a kontroly, protože stažené podpisy je možné otestovat na testovacím zařízení předtím, než se rozšíří do celého vozového parku.

  • Potřebujete menší šířku pásma sítě, protože pouze jeden místní server se dotazuje cloudu Microsoftu, aby získal nejnovější podpisy jménem celé vaší flotily.

  • Na vašem zrcadleném serveru může běžet Windows, Mac nebo Linux a na tento server nemusíte instalovat Defender for Endpoint.

  • Získáte nejaktuálnější antivirovou ochranu, protože podpisy se vždy stahují spolu s nejnovějším kompatibilním antivirovým modulem.

  • Starší verze podpisů (n-1) se při každé iteraci přesunou do záložní složky na zrcadlovém serveru. Pokud dojde k problému s nejnovějšími aktualizacemi, můžete do zařízení stáhnout verzi podpisu n-1 ze záložní složky.

  • Ve výjimečných případě, že offline aktualizace selže, můžete nakonfigurovat záložní možnost pro získání online aktualizací z cloudu Microsoftu.

Jak offline aktualizace bezpečnostních informací funguje

Organizace musí nastavit zrcadlový server, což je místní web nebo server NFS, který je dostupný v cloudu Microsoftu.

Podpisy se stáhnou z cloudu Microsoftu na tento zrcadlový server spuštěním skriptu pomocí cron job/task scheduler na místním serveru.

Koncové body macOS, na kterých běží Defender for Endpoint, přetahují stažené podpisy z tohoto zrcadlového serveru v uživatelem definovaném časovém intervalu.

Podpisy načtené do koncových bodů macOS z místního serveru se před načtením do antivirového modulu nejprve ověří.

Pokud chcete aktivovat a nakonfigurovat proces aktualizace, aktualizujte soubor JSON spravované konfigurace v koncových bodech macOS.

Stav aktualizace najdete v rozhraní příkazového řádku mdatp.

Tok procesu pro stahování aktualizací bezpečnostních informací na zrcadlový server je znázorněn na následujícím diagramu.

Diagram toku procesu na zrcadlovém serveru pro stažení aktualizací bezpečnostních informací

Tok procesu pro aktualizace bezpečnostních funkcí v koncovém bodu macOS je znázorněn v následujícím diagramu.

Diagram toku procesu v koncovém bodu macOS pro aktualizace bezpečnostních informací

Na zrcadleném serveru může běžet kterýkoli z následujících operačních systémů:

  • Linux (jakýkoliv příchuť)
  • Windows (libovolná verze)
  • Mac (libovolná verze)

Požadavky

  • Na koncových bodech macOS musí být nainstalovaný Defender for Endpoint verze 101.25012.0003 nebo novější.

  • Koncové body macOS musí mít připojení k serveru zrcadlení.

  • Koncový bod macOS musí mít spuštěnou některou z distribucí podporovaných defenderem for Endpoint.

  • Zrcadleným serverem může být buď server HTTP/HTTPS, nebo server sdílené síťové složky, například server NFS.

  • Zrcadlový server musí mít přístup k následujícím adresám URL:

    • https://github.com/microsoft/mdatp-xplat.git
    • https://go.microsoft.com/fwlink/?linkid=2144709
  • Zrcadlový server by měl podporovat Bash nebo PowerShell.

  • Zrcadlový server vyžaduje následující minimální systémové specifikace:

    CPU Core RAM Volný disk Swap
    2 jádra (preferované 4 jádra) 1 GB min (upřednostňované 4 GB) 2 GB Závislé na systému

    Poznámka

    Tato konfigurace se může lišit v závislosti na počtu požadavků, které jsou obsluhovány, a zatížení, které musí každý server zpracovat.

Konfigurace zrcadlového serveru

Poznámka

Správa a vlastnictví zrcadlového serveru je výhradně na zákazníkovi, protože se nachází v jeho privátním prostředí.

Libovolný server HTTP lze použít jako zrcadlový server. Zrcadlový server nemusí mít nainstalovaný Defender for Endpoint.

Zatímco správa a vlastnictví zrcadlového serveru je výhradně na zákazníkovi, tato část představuje dva ukázkové skripty Bash, které ukazují, jak pomocí Pythonu 3 a Caddy nastavit základní souborový server HTTP v systému macOS. Tyto skripty jsou uvedeny pouze pro ilustraci a měly by být přizpůsobeny vašim konkrétním potřebám a prostředí.

  • python_http_server.sh: Používá integrovaný modul serveru HTTP v Pythonu 3 k poskytování souborů ze zadaného adresáře.
  • caddy_http_server.sh: Nainstaluje a nakonfiguruje webový server Caddy tak, aby obsluhoval soubory ze zadaného adresáře.

Pokud chcete zkontrolovat, jestli je služba po nastavení serveru správně nastavená, přejděte na "https://localhost:8080".

Informace o produkčních nebo pokročilých případech použití najdete v oficiální dokumentaci ke každému serveru:

Vždy zkontrolujte skripty a přizpůsobte je vašim požadavkům na prostředí a zabezpečení.

Ukázkový skript: Nastavení základního souborového serveru HTTP v macOS pomocí Pythonu 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"

Ukázkový skript: Nastavení základního souborového serveru HTTP v macOS pomocí 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

Získání offline skriptu stahovacího modulu pro analýzu zabezpečení

Microsoft hostuje offline skript nástroje pro stahování informací o zabezpečení v následujícím úložišti GitHub: https://github.com/microsoft/mdatp-xplat.

Skript downloaderu získáte provedením následujících kroků:

Možnost 1: Klonování úložiště (upřednostňované)

Nainstalujte git na zrcadlový server.

Přejděte do adresáře, do kterého chcete naklonovat úložiště.

Spusťte příkaz: git clone https://github.com/microsoft/mdatp-xplat.git

Možnost 2: Stažení souboru ZIP

Stáhněte soubor ZIP úložiště: https://github.com/microsoft/mdatp-xplat/archive/refs/heads/master.zip.

Zkopírujte soubor ZIP do složky, ve které chcete zachovat skript.

Extrahujte komprimovanou složku.

Poznámka

Naplánujte úlohu cron nebo spuštěnou úlohu , aby se soubor ZIP úložiště nebo stažený soubor pravidelně aktualizoval na nejnovější verzi.

Po naklonování úložiště nebo stažení komprimovaného souboru by místní adresářová struktura měla vypadat takto:

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

Poznámka

Projděte si soubor README.md a podrobně se seznamte s tím, jak skript používat.

Soubor settings.json se skládá z několika proměnných, které může uživatel nakonfigurovat k určení výstupu spuštění skriptu.

Název pole Hodnota Popis
downloadFolder řetězec Namapuje se do umístění, kam skript soubory stáhne.
downloadLinuxUpdates Bool Při nastavení na , trueskript stáhne aktualizace specifické pro Linux do .downloadFolder
logFilePath řetězec Nastaví diagnostické protokoly v dané složce. Pokud dojde k problémům, můžete tento soubor sdílet s Microsoftem pro ladění skriptu.
downloadMacUpdates Bool Skript stáhne aktualizace specifické pro Mac do .downloadFolder
downloadPreviewUpdates Bool Stáhne verzi Preview aktualizací dostupných pro konkrétní operační systém.
backupPreviousUpdates Bool Umožňuje skriptu zkopírovat předchozí aktualizaci do _back složky a nové aktualizace se stáhnou do downloadFolder.

Spuštění offline skriptu stahovacího modulu pro analýzu zabezpečení

Pokud chcete skript downloaderu spustit ručně, nakonfigurujte parametry v souboru settings.json podle popisu v předchozí části a použijte jeden z následujících příkazů založených na operačním systému zrcadlového serveru:

Bash:

./xplat_offline_updates_download.sh

Powershell:

./xplat_offline_updates_download.ps1

Poznámka

Naplánujte úlohu cron nebo spuštěnou úlohu , která bude spouštět tento skript, aby se v pravidelných intervalech stahovaly nejnovější aktualizace bezpečnostních funkcí na zrcadlový server.

Hostování offline aktualizací bezpečnostních funkcí na zrcadleném serveru

Po spuštění skriptu se nejnovější podpisy stáhnou do složky nakonfigurované v souboru settings.json (updates.zip).

Po stažení souboru ZIP podpisů lze k jeho hostování použít zrcadlový server. Zrcadlový server je možné hostovat pomocí libovolného serveru HTTP/HTTPS/síťové sdílené složky.

Po hostování zkopírujte absolutní cestu hostovaného serveru (až do adresáře arch_*, ale bez tohoto adresáře).

Pokud se například skript spustí pomocí a server HTTP (www.example.server.com:8000) je hostitelem downloadFolder=/tmp/wdav-updatecesty /tmp/wdav-update, odpovídající identifikátor URI: www.example.server.com:8000/mac/production/.

Můžeme také použít absolutní cestu k adresáři (místní/vzdálený přípojný bod), například /tmp/wdav-update/mac/production.

Po nastavení zrcadlového serveru musíme tuto adresu URL rozšířit do koncových bodů Mac jako offlineDefinitionUpdateUrl adresu ve spravované konfiguraci, jak je popsáno v další části.

Konfigurace koncových bodů

Použijte následující ukázkovou mdatp_managed.json soubor a aktualizujte parametry podle konfigurace a pak soubor zkopírujte do umístění /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"
  }
}
Název pole Hodnoty Komentáře
automaticDefinitionUpdateEnabled true/false Určuje chování programu Defender for Endpoint, který se pokouší provést aktualizace automaticky, je zapnutý nebo vypnutý.
definitionUpdatesInterval Číselné Doba intervalu mezi každou automatickou aktualizací podpisů (v sekundách)
offlineDefinitionUpdateUrl řetězec Hodnota adresy URL vygenerovaná jako součást nastavení zrcadlového serveru. To může být buď z hlediska adresy URL vzdáleného serveru, nebo adresáře (místního nebo vzdáleného přípojného bodu).
offlineDefinitionUpdate enabled/disabled Pokud je nastavená na enabled, je povolená funkce offline aktualizace bezpečnostních informací a naopak.
offlineDefinitionUpdateFallbackToCloud true/false Určete přístup k aktualizaci inteligentních informací zabezpečení Defenderu for Endpoint v případě, že se "offline zrcadlený server" nepodaří obslouží žádost o aktualizaci. Pokud je tato možnost nastavená na true, bude se aktualizace opakovat prostřednictvím cloudu Microsoftu v případě selhání offline aktualizace bezpečnostních informací; v opačném případě naopak.
offlineDefinitionUpdateVerifySig enabled/disabled Pokud je nastavená hodnota enabled, stažené definice se ověřují na koncových bodech, jinak naopak.

Ověření konfigurace

Pokud chcete otestovat, jestli jsou nastavení správně použitá na koncových bodech macOS, spusťte následující příkaz:

mdatp health --details definitions

Ukázkový výstup by vypadal jako následující fragment kódu:

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]

Aktivace offline aktualizací bezpečnostních informací

  • Automatická aktualizace

    Pokud jsou pole automaticDefinitionUpdateEnabled a offline_definition_update ve spravovaném souboru JSON nastavená na true, automaticky se v pravidelných intervalech aktivují offline aktualizace bezpečnostních informací.

    Ve výchozím nastavení je tento pravidelný interval 8 hodin. Můžete ho nakonfigurovat nastavením parametru definitionUpdatesInterval ve spravovaném kódu JSON.

  • Ruční aktualizace

    Pokud chcete ručně aktivovat "offline aktualizaci bezpečnostních informací", aby se podpisy stáhly ze zrcadlového serveru na koncových bodech Mac, spusťte následující příkaz:

    mdatp definitions update
    

Kontrola stavu aktualizace

Po aktivaci offline aktualizace bezpečnostních informací automatickou nebo ruční metodou ověřte, že aktualizace proběhla úspěšně, spuštěním příkazu : mdatp health --details --definitions.

Ověřte následující pole:

user@vm:~$ mdatp health --details definitions
...
definitions_status                          : "up_to_date"
...
definitions_update_fail_reason              : ""
...

Postup řešení běžných potíží

  • Pomocí následujícího příkazu zkontrolujte stav funkce offline aktualizace bezpečnostních informací:

    mdatp health --details definitions
    

    Tento příkaz poskytuje uživatelsky přívětivou zprávu v části definitions_update_fail_reason .

  • Zkontrolujte, jestli offline_definition_update jsou povolené a offline_definition_update_verify_sig jestli jsou povolené.

  • Zkontrolujte, jestli definitions_update_source_uri se rovná hodnotě offline_definition_url_configured.

    • definitions_update_source_uri je zdroj, ze kterého byly podpisy staženy.
    • offline_definition_url_configured je zdroj, ze kterého by se měly stahovat podpisy, ten, který je uvedený ve spravovaném konfiguračním souboru.
  • Zkuste provést test připojení a zkontrolovat, jestli je zrcadlový server dostupný z hostitele:

    mdatp connectivity test
    
  • Zkuste aktivovat ruční aktualizaci pomocí následujícího příkazu:

    mdatp definitions update
    

Viz také