Úvod do služby Microsoft Defender for Endpoint Runtime Protection

Služba ochrany modulu runtime Microsoft Defender for Endpoint (MDE) poskytuje nástroje pro konfiguraci a správu ochrany za běhu clusteru Nexus.

Azure CLI umožňuje nakonfigurovat úroveň vynucení ochrany za běhu a možnost aktivovat kontrolu MDE na všech uzlech. Tento dokument obsahuje kroky ke spuštění těchto úloh.

Poznámka:

Služba ochrany modulu runtime MDE se integruje s programem Microsoft Defender for Endpoint, který poskytuje komplexní funkce detekce a odezvy koncových bodů (EDR). S integrací Microsoft Defenderu pro koncový bod můžete odhalit odchylky a detekovat ohrožení zabezpečení.

Než začnete

Nastavení proměnných

Pokud chcete pomoct s konfigurací a aktivací kontrol MDE, definujte tyto proměnné prostředí používané různými příkazy v této příručce.

Poznámka:

Tyto hodnoty proměnných prostředí neodráží skutečné nasazení a uživatelé je musí změnit tak, aby odpovídaly jejich prostředím.

# SUBSCRIPTION_ID: Subscription of your cluster
export SUBSCRIPTION_ID="xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
# RESOURCE_GROUP: Resource group of your cluster
export RESOURCE_GROUP="contoso-cluster-rg"
# MANAGED_RESOURCE_GROUP: Managed resource group managed by your cluster
export MANAGED_RESOURCE_GROUP="contoso-cluster-managed-rg"
# CLUSTER_NAME: Name of your cluster
export CLUSTER_NAME="contoso-cluster"

Výchozí hodnoty pro ochranu modulu runtime MDE

Ochrana za běhu se při nasazení clusteru nastaví na následující výchozí hodnoty.

  • Úroveň vynucení: Disabled Pokud není zadáno při vytváření clusteru
  • Služba MDE: Disabled

Poznámka:

--runtime-protection enforcement-level="<enforcement level>" Argument slouží dvěma účelům: povolení nebo zakázání služby MDE a aktualizace úrovně vynucení.

Pokud chcete zakázat službu MDE v rámci clusteru, použijte příkaz <enforcement level>Disabled.

Konfigurace úrovně vynucení

Příkaz az networkcloud cluster update umožňuje aktualizovat nastavení pro úroveň vynucení ochrany modulu runtime clusteru pomocí argumentu --runtime-protection enforcement-level="<enforcement level>".

Následující příkaz nakonfiguruje enforcement level cluster.

az networkcloud cluster update \
--subscription ${SUBSCRIPTION_ID} \
--resource-group ${RESOURCE_GROUP} \
--cluster-name ${CLUSTER_NAME} \
--runtime-protection enforcement-level="<enforcement level>"

Povolené hodnoty pro <enforcement level>: Disabled, RealTime, OnDemand, Passive.

  • Disabled: Ochrana v reálném čase je vypnutá a neprovádí se žádné kontroly.
  • RealTime: Ochrana v reálném čase (kontrola souborů při jejich úpravách) je povolená.
  • OnDemand: Soubory se naskenují jenom na vyžádání. V tomto:
    • Ochrana v reálném čase je vypnutá.
  • Passive: Spustí antivirový modul v pasivním režimu. V tomto:
    • Ochrana v reálném čase je vypnutá: Hrozby Antivirová ochrana v programu Microsoft Defender nenapravují.
    • Kontrola na vyžádání je zapnutá: Stále používejte možnosti kontroly na koncovém bodu.
    • Automatická náprava hrozeb je vypnutá: Nepřesouvají se žádné soubory a očekává se, že správce zabezpečení provede požadovanou akci.
    • Aktualizace analýzy zabezpečení jsou zapnuté: Výstrahy budou k dispozici v tenantovi správců zabezpečení.

Úroveň vynucení můžete ověřit kontrolou výstupu pro následující fragment kódu JSON:

  "runtimeProtectionConfiguration": {
    "enforcementLevel": "<enforcement level>"
  }

Aktivace kontroly MDE na všech uzlech

Pokud chcete aktivovat kontrolu MDE na všech uzlech clusteru, použijte následující příkaz:

az networkcloud cluster scan-runtime \
--subscription ${SUBSCRIPTION_ID} \
--resource-group ${RESOURCE_GROUP} \
--cluster-name ${CLUSTER_NAME} \
--scan-activity Scan

POZNÁMKA: Akce kontroly MDE vyžaduje, aby byla povolena služba MDE. Pouze v případě, že není povolen, příkaz selže. V tomto případě nastavte Enforcement Level hodnotu, která se liší od Disabled povolení služby MDE.

Načtení informací o kontrole MDE z každého uzlu

Tato část obsahuje kroky pro načtení informací o kontrole MDE. Nejprve je potřeba načíst seznam názvů uzlů vašeho clusteru. Následující příkaz přiřadí seznam názvů uzlů proměnné prostředí.

nodes=$(az networkcloud baremetalmachine list \
--subscription ${SUBSCRIPTION_ID} \
--resource-group ${MANAGED_RESOURCE_GROUP} \
| jq -r '.[].machineName')

Pomocí seznamu názvů uzlů můžeme spustit proces extrahování informací o agentech MDE pro každý uzel vašeho clusteru. Následující příkaz připraví informace o agentu MDE z každého uzlu.

for node in $nodes
do
    echo "Extracting MDE agent information for node ${node}"
    az networkcloud baremetalmachine run-data-extract \
    --subscription ${SUBSCRIPTION_ID} \
    --resource-group ${MANAGED_RESOURCE_GROUP} \
    --name ${node} \
    --commands '[{"command":"mde-agent-information"}]' \
    --limit-time-seconds 600
done

Výsledek příkazu bude obsahovat adresu URL, kde si můžete stáhnout podrobnou sestavu kontrol MDE. Výsledek informací o agentu MDE najdete v následujícím příkladu.

Extracting MDE agent information for node rack1control01
====Action Command Output====
Executing mde-agent-information command
MDE agent is running, proceeding with data extract
Getting MDE agent information for rack1control01
Writing to /hostfs/tmp/runcommand

================================
Script execution result can be found in storage account: 
 <url to download mde scan results>
 ...

Extrahování výsledků kontroly MDE

Extrakce kontroly MDE vyžaduje několik ručních kroků: Pokud chcete stáhnout sestavu kontroly MDE a extrahovat informace o spuštění kontroly a prohledat podrobnou sestavu výsledků. Tato část vás provede jednotlivými kroky.

Stažení sestavy kontroly

Jak bylo uvedeno dříve, odpověď agenta MDE poskytuje adresu URL pro ukládání podrobných dat sestavy.

Stáhněte sestavu z vrácené adresy URL <url to download mde scan results>a otevřete soubor mde-agent-information.json.

Soubor mde-agent-information.json obsahuje velké množství informací o kontrole a může být ohromující analyzovat tak dlouho podrobnou sestavu. Tato příručka obsahuje několik příkladů extrahování některých důležitých informací, které vám můžou pomoct při rozhodování, jestli potřebujete sestavu důkladně analyzovat.

Extrahování seznamu kontrol MDE

Soubor mde-agent-information.json obsahuje podrobnou sestavu prohledávání, ale možná se budete chtít zaměřit nejprve na několik podrobností. Tato část podrobně popisuje kroky pro extrahování seznamu spuštění kontrol s informacemi, jako je počáteční a koncový čas pro každou kontrolu, nalezené hrozby, stav (úspěch nebo selhání) atd.

Následující příkaz extrahuje tuto zjednodušenou sestavu.

cat <path to>/mde-agent-information.json| jq .scanList

Následující příklad ukazuje extrahovaný skenovací sestava z mde-agent-information.json.

[
  {
    "endTime": "1697204632487",
    "filesScanned": "1750",
    "startTime": "1697204573732",
    "state": "succeeded",
    "threats": [],
    "type": "quick"
  },
  {
    "endTime": "1697217162904",
    "filesScanned": "1750",
    "startTime": "1697217113457",
    "state": "succeeded",
    "threats": [],
    "type": "quick"
  }
]

Pomocí příkazu Unix date můžete převést čas v čitelnějším formátu. Pro usnadnění si projděte příklad převodu časového razítka unixu (v milisekundách) na den v roce a hodinu:min:secs.

Příklad:

date -d @$(echo "1697204573732/1000" | bc) "+%Y-%m-%dT%H:%M:%S"

2023-10-13T13:42:53

Extrahování výsledků kontroly MDE

Tato část podrobně popisuje kroky pro extrahování sestavy o seznamu hrozeb zjištěných během kontrol MDE. Pokud chcete extrahovat sestavu výsledků kontroly ze mde-agent-information.json souboru, spusťte následující příkaz.

cat <path to>/mde-agent-information.json| jq .threatInformation

Následující příklad ukazuje sestavu hrozeb identifikovaných kontrolou extrahovaným ze mde-agent-information.json souboru.

{
  "list": {
    "threats": {
      "scans": [
        {
          "type": "quick",
          "start_time": 1697204573732,
          "end_time": 1697204632487,
          "files_scanned": 1750,
          "threats": [],
          "state": "succeeded"
        },
        {
          "type": "quick",
          "start_time": 1697217113457,
          "end_time": 1697217162904,
          "files_scanned": 1750,
          "threats": [],
          "state": "succeeded"
        }
      ]
    }
  },
  "quarantineList": {
    "type": "quarantined",
    "threats": []
  }
}