Dela via


Introduktion till Microsoft Defender för Endpoint-körningsskyddstjänsten

Tjänsten Microsoft Defender för Endpoint (MDE) runtime protection tillhandahåller verktygen för att konfigurera och hantera körningsskydd för ett Nexus-kluster.

Med Azure CLI kan du konfigurera tvingande nivå för körningsskydd och möjligheten att utlösa MDE-genomsökning på alla noder. Det här dokumentet innehåller stegen för att utföra dessa uppgifter.

Kommentar

MDE-körningsskyddstjänsten integreras med Microsoft Defender för Endpoint, som tillhandahåller omfattande funktioner för slutpunktsidentifiering och svar (EDR). Med Microsoft Defender för Endpoint integrering kan du upptäcka avvikelser och upptäcka sårbarheter.

Innan du börjar

Ange variabler

För att hjälpa till med att konfigurera och utlösa MDE-genomsökningar definierar du de miljövariabler som används av de olika kommandona i den här guiden.

Kommentar

Dessa miljövariabelvärden återspeglar inte en verklig distribution och användarna MÅSTE ändra dem för att matcha sina miljöer.

# 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"

Standardvärden för MDE Runtime Protection

Körningsskydd anges till följande standardvärden när du distribuerar ett kluster

  • Tvingande nivå: Disabled om den inte anges när klustret skapas
  • MDE-tjänst: Disabled

Kommentar

Argumentet --runtime-protection enforcement-level="<enforcement level>" har två syften: att aktivera/inaktivera MDE-tjänsten och uppdatera tvingande nivå.

Om du vill inaktivera MDE-tjänsten i klustret använder du en <enforcement level> av Disabled.

Konfigurera tvingande nivå

Med az networkcloud cluster update kommandot kan du uppdatera inställningarna för tvingande nivå för klusterkörningsskydd med hjälp av argumentet --runtime-protection enforcement-level="<enforcement level>".

Följande kommando konfigurerar enforcement level för klustret.

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

Tillåtna värden för <enforcement level>: Disabled, RealTime, OnDemand, Passive.

  • Disabled: Realtidsskydd är inaktiverat och inga genomsökningar utförs.
  • RealTime: Realtidsskydd (genomsökningsfiler när de ändras) är aktiverat.
  • OnDemand: Filer genomsöks endast på begäran. I detta:
    • Realtidsskydd är inaktiverat.
  • Passive: Kör antivirusmotorn i passivt läge. I detta:
    • Realtidsskydd är inaktiverat: Hot åtgärdas inte av Microsoft Defender Antivirus.
    • Genomsökning på begäran är aktiverat: Använd fortfarande genomsökningsfunktionerna på slutpunkten.
    • Automatisk hotreparation är inaktiverad: Inga filer flyttas och säkerhetsadministratören förväntas vidta nödvändiga åtgärder.
    • Uppdateringar av säkerhetsinformation är aktiverade: Aviseringar är tillgängliga för klientorganisationen för säkerhetsadministratörer.

Du kan bekräfta att tillämpningsnivån har uppdaterats genom att granska utdata för följande json-kodfragment:

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

Utlöser MDE-genomsökning på alla noder

Om du vill utlösa en MDE-genomsökning på alla noder i ett kluster använder du följande kommando:

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

Obs! MDE-genomsökningsåtgärden kräver att MDE-tjänsten är aktiverad. Om den inte är aktiverad misslyckas kommandot. I det här fallet anger du Enforcement Level till ett annat värde än Disabled för att aktivera MDE-tjänsten.

Hämta MDE-genomsökningsinformation från varje nod

Det här avsnittet innehåller stegen för att hämta MDE-genomsökningsinformation. Först måste du hämta listan med nodnamn för klustret. Följande kommando tilldelar listan med nodnamn till en miljövariabel.

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

Med listan över nodnamn kan vi starta processen för att extrahera MDE-agentinformation för varje nod i klustret. Följande kommando förbereder MDE-agentinformation från varje nod.

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

Resultatet för kommandot innehåller en URL där du kan ladda ned den detaljerade rapporten för MDE-genomsökningar. Se följande exempel för resultatet för MDE-agentinformationen.

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>
 ...

Extrahera MDE-genomsökningsresultat

Extrahering av MDE-genomsökningen kräver några manuella steg: Ladda ned MDE-genomsökningsrapporten och extrahera genomsökningskörningsinformationen och skanna detaljerad resultatrapport. I det här avsnittet får du hjälp med vart och ett av de här stegen.

Ladda ned genomsökningsrapporten

Som tidigare nämnts tillhandahåller MDE-agentinformationssvaret URL:en som lagrar detaljerade rapportdata.

Ladda ned rapporten från den returnerade URL:en <url to download mde scan results>och öppna filen mde-agent-information.json.

Filen mde-agent-information.json innehåller mycket information om genomsökningen och det kan vara överväldigande att analysera en sådan lång detaljerad rapport. Den här guiden innehåller några exempel på hur du extraherar viktig information som kan hjälpa dig att avgöra om du behöver analysera rapporten noggrant.

Extrahera listan över MDE-genomsökningar

Filen mde-agent-information.json innehåller en detaljerad genomsökningsrapport, men du kanske först vill fokusera på några detaljer. Det här avsnittet beskriver stegen för att extrahera listan över genomsökningar som innehåller information, till exempel start- och sluttid för varje genomsökning, hot som hittas, tillstånd (lyckades eller misslyckades) osv.

Följande kommando extraherar den här förenklade rapporten.

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

I följande exempel visas den extraherade genomsökningsrapporten från 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"
  }
]

Du kan använda Unix-kommandot date för att konvertera tiden i ett mer läsbart format. För din bekvämlighet, se ett exempel för att konvertera Unix-tidsstämpel (i millisekunder) till årsmånadsdag och timme:min:sek.

Till exempel:

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

2023-10-13T13:42:53

Extrahera MDE-genomsökningsresultat

Det här avsnittet beskriver stegen för att extrahera rapporten om listan över hot som identifierades under MDE-genomsökningarna. Om du vill extrahera rapporten för genomsökningsresultatet från mde-agent-information.json filen kör du följande kommando.

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

I följande exempel visas rapporten över hot som identifierats av genomsökningen som extraherats från mde-agent-information.json filen.

{
  "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": []
  }
}