Avancerede konfigurationer til Jupyter-notesbøger og MSTICPy i Microsoft Sentinel

I denne artikel beskrives avancerede konfigurationer til at arbejde med Jupyter-notesbøger og MSTICPy i Microsoft Sentinel.

Du kan finde flere oplysninger under Brug Jupyter-notesbøger til at jagte sikkerhedstrusler og Kom i gang med Jupyter-notesbøger og MSTICPy i Microsoft Sentinel.

Forudsætninger

Denne artikel er en fortsættelse fra Kom i gang med Jupyter-notesbøger og MSTICPy i Microsoft Sentinel. Vi anbefaler, at du udfører selvstudiet, før du fortsætter med de avancerede procedurer, der er beskrevet i denne artikel.

Angiv godkendelsesparametre for API'er for Azure og Microsoft Sentinel

I denne procedure beskrives det, hvordan du konfigurerer godkendelsesparametre for Microsoft Sentinel og andre AZURE API-ressourcer i filen msticpyconfig.yaml.

Sådan tilføjes Azure godkendelses- og Microsoft Sentinel API-indstillinger i MSTICPy-indstillingseditoren:

  1. Fortsæt til den næste celle med følgende kode, og kør den:

    mpedit.set_tab("Data Providers")
    mpedit
    
  2. På fanen Dataprovidere skal du vælge AzureCLI>Add.

  3. Vælg de godkendelsesmetoder, der skal bruges:

    • Selvom du kan bruge et andet sæt metoder end standardværdierne, er dette forbrug ikke en typisk konfiguration. Du kan få flere oplysninger i Introduktion Vejledning til Azure Sentinel notesbøger til ML.
    • Medmindre du vil bruge godkendelse af env (miljøvariabel), skal du lade felterne clientId, tenantId og clientSecret være tomme.
    • Selvom det ikke anbefales, understøtter MSTICPy også brug af klientapp-id'er og hemmeligheder til din godkendelse. I sådanne tilfælde skal du definere felterne clientId, tenantId og clientSecret direkte under fanen Dataprovidere .
  4. Vælg Gem fil for at gemme dine ændringer.

Definer forespørgselsprovidere til automatisk indlæsning

Definer alle forespørgselsprovidere, som du vil indlæse automatisk i MSTICPy, når du kører funktionen nbinit.init_notebook .

Når du ofte opretter nye notesbøger, kan automatisk indlæsning af forespørgselsprovidere spare dig tid ved at sikre, at påkrævede providere indlæses før andre komponenter, f.eks. pivotfunktioner og notesbøger.

Sådan tilføjer du forespørgselsprovidere til automatisk indlæsning:

  1. Fortsæt til den næste celle med følgende kode, og kør den:

    mpedit.set_tab("Autoload QueryProvs")
    mpedit
    
  2. På fanen Autoload QueryProv :

    • For Microsoft Sentinel udbydere skal du angive både navnet på udbyderen og det arbejdsområdenavn, du vil oprette forbindelse til.
    • For andre forespørgselsprovidere skal du kun angive providernavnet.

    Hver provider har også følgende valgfri værdier:

    • Opret automatisk forbindelse: Denne indstilling er som standard defineret som Sand , og MSTICPy forsøger at godkende til udbyderen umiddelbart efter indlæsning. MSTICPy forudsætter, at du har konfigureret legitimationsoplysninger for udbyderen i dine indstillinger.

    • Alias: Når MSTICPy indlæser en provider, tildeles provideren til et Python-variabelnavn. Variabelnavnet er som standard qryworkspace_name for Microsoft Sentinel providere og qryprovider_name for andre providere.

      Hvis du f.eks. indlæser en forespørgselsprovider for ContosoSOC-arbejdsområdet , oprettes denne forespørgselsudbyder i notesbogmiljøet med navnet qry_ContosoSOC. Tilføj et alias, hvis du vil bruge noget kortere eller nemmere at skrive og huske. Navnet på providervariablen er qry_<alias>, hvor <alias> erstattes af det aliasnavn, du har angivet.

      De providere, du indlæser af denne mekanisme, føjes også til attributten MSTICPy current_providers , som f.eks. bruges i følgende kode:

      import msticpy
      msticpy.current_providers
      
  3. Vælg Gem indstillinger for at gemme dine ændringer.

Definer automatisk indlæste MSTICPy-komponenter

I denne procedure beskrives det, hvordan du definerer andre komponenter, der automatisk indlæses af MSTICPy, når du kører funktionen nbinit.init_notebook .

Understøttede komponenter omfatter i følgende rækkefølge:

  1. TILookup: Det bibliotek med TI-udbydere, du vil bruge
  2. Geoip: Den GeoIP-udbyder, du vil bruge
  3. AzureData: Det modul, du bruger til at forespørge om oplysninger om Azure ressourcer
  4. AzureSentinelAPI: Det modul, du bruger til at forespørge Microsoft Sentinel API
  5. Notesbøger: Notebooklets fra msticnb-pakken
  6. Pivot: Pivotfunktioner

Komponenterne indlæses i denne rækkefølge, fordi pivotkomponenten skal bruge forespørgsel og andre providere indlæst for at finde de pivotfunktioner, den vedhæfter til objekter. Du kan få flere oplysninger i MSTICPy-dokumentationen. Du kan få flere oplysninger i Introduktion Vejledning til Azure Sentinel notesbøger til ML.

Sådan definerer du automatisk indlæste MSTICPy-komponenter:

  1. Fortsæt til den næste celle med følgende kode, og kør den:

    mpedit.set_tab("Autoload Components")
    mpedit
    
  2. Definer eventuelle parameterværdier efter behov under fanen Autoload-komponenter . Det kan f.eks. være:

    • GeoIpLookup. Angiv navnet på den GeoIP-udbyder, du vil bruge, enten GeoLiteLookup eller IPStack.

    • AzureData- og AzureSentinelAPI-komponenter. Definer følgende værdier:

      • auth_methods: Tilsidesæt standardindstillingerne for AzureCLI, og opret forbindelse ved hjælp af de valgte metoder.
      • Opret automatisk forbindelse: Indstillet til falsk for at indlæse uden at oprette forbindelse.

      Du kan få flere oplysninger under Angiv godkendelsesparametre for Azure og Microsoft Sentinel API'er.

    • Notesbøger. Notebooklets-komponenten har en enkelt parameterblok: AzureSentinel.

      Angiv dit Microsoft Sentinel arbejdsområde ved hjælp af følgende syntaks: workspace:\<workspace name>. Navnet på arbejdsområdet skal være et af de arbejdsområder, der er defineret under fanen Microsoft Sentinel.

      Hvis du vil tilføje flere parametre, der skal sendes til notebooklets init funktionen, skal du angive dem som key:value-par adskilt af newlines. Det kan f.eks. være:

      workspace:<workspace name>
      providers=["LocalData","geolitelookup"]
      

      Du kan få flere oplysninger i dokumentationen til MSTICNB (MSTIC Notebooklets).

    Nogle komponenter, f.eks . TILookup og Pivot, kræver ingen parametre.

  3. Vælg Gem indstillinger for at gemme dine ændringer.

Skift mellem Python 3.6- og 3.8-kerner

Hvis du skifter mellem Python 3.65- og 3.8-kerner, vil du måske opleve, at MSTICPy og andre pakker ikke installeres som forventet.

Dette kan ske, når kommandoen !pip install pkg installeres korrekt i det første miljø, men derefter ikke installeres korrekt i det andet miljø. Dette skaber en situation, hvor det andet miljø ikke kan importere eller bruge pakken.

Vi anbefaler, at du ikke bruger !pip install... til at installere pakker i Azure Machine Learning-notesbøger. Brug i stedet en af følgende indstillinger:

  • Brug den magiske %pip-linje i en notesbog. Køre:

    
    %pip install --upgrade msticpy
    
  • Installér fra en terminal:

    1. Åbn en terminal i Azure Machine Learning-notesbøger, og kør følgende kommandoer:

      conda activate azureml_py38
      pip install --upgrade msticpy
      
    2. Luk terminalen, og genstart kernen.

Angiv en miljøvariabel til filen msticpyconfig.yaml

Hvis du kører i Azure Machine Learning og har filen msticpyconfig.yaml i roden af brugermappen, finder MSTICPy automatisk disse indstillinger. Men hvis du kører notesbøgerne i et andet miljø, skal du følge vejledningen i dette afsnit for at angive en miljøvariabel, der peger på placeringen af konfigurationsfilen.

Hvis du definerer stien til filen msticpyconfig.yaml i en miljøvariabel, kan du gemme filen på en kendt placering og sørge for, at du altid indlæser de samme indstillinger.

Brug flere konfigurationsfiler med flere miljøvariabler, hvis du vil bruge forskellige indstillinger til forskellige notesbøger.

  1. Beslut en placering til filen msticpyconfig.yaml , f.eks. i ~/.msticpyconfig.yaml eller %userprofile%/msticpyconfig.yaml.

    Azure ml-brugere: Hvis du gemmer konfigurationsfilen i din Azure Machine Learning-brugermappe, finder og bruger funktionen MSTICPy init_notebook (kør i initialiseringscellen) automatisk filen, og du behøver ikke at angive en MSTICPYCONFIG-miljøvariabel.

    Men hvis du også har gemt hemmeligheder i filen, anbefaler vi, at du gemmer konfigurationsfilen på det lokale beregningsdrev. Det interne beregningslager er kun tilgængeligt for den person, der har oprettet beregningen, hvorimod det delte lager er tilgængeligt for alle, der har adgang til dit Azure Machine Learning-arbejdsområde.

    Du kan få flere oplysninger under Hvad er en Azure Machine Learning-beregningsforekomst?.

  2. Kopiér eventuelt filen msticpyconfig.yaml til den valgte placering.

  3. Angiv miljøvariablen MSTICPYCONFIG til at pege på denne placering.

Brug en af følgende procedurer til at definere miljøvariablen MSTICPYCONFIG .

Hvis du f.eks. vil angive miljøvariablen MSTICPYCONFIG på Windows-systemer:

  1. Flyt filen msticpyconfig.yaml til beregningsforekomsten efter behov.

  2. Åbn dialogboksen Systemegenskaber til fanen Avanceret .

  3. Vælg Miljøvariabler... for at åbne dialogboksen Miljøvariabler .

  4. I området Systemvariabler skal du vælge Ny... og definere værdierne på følgende måde:

    • Variabelnavn: Definer som MSTICPYCONFIG
    • Variabel værdi: Angiv stien til filen msticpyconfig.yaml

Bemærk!

Hvis du vil have Linux- og Windows-indstillingerne, skal du genstarte Jupyter-serveren, for at den kan hente den miljøvariabel, du har defineret.

Næste trin

Du kan finde flere oplysninger under:

Emne Flere referencer
MSTICPy - Konfiguration af MSTICPy-pakke
- MSTICPy-indstillingseditor
- Konfiguration af notesbogmiljøet.
- MPSettingsEditor-notesbog.

Bemærk! GitHub-lageret Azure-Sentinel-notesbøger indeholder også en skabelonfil msticpyconfig.yaml med afsnit med kommentarer, som kan hjælpe dig med at forstå indstillingerne.
notesbøger af Microsoft Sentinel og Jupyter - Opret din første Microsoft Sentinel notesbog (blogserie)
- Jupyter Notesbøger: En introduktion
- MSTICPy-dokumentation
- dokumentation til Microsoft Sentinel notesbøger
- The Infosec Jupyterbook
- gennemgang af Linux Host Explorer-notesbog
- Hvorfor bruge Jupyter til sikkerhedsundersøgelser
- Sikkerhedsundersøgelser med Microsoft Sentinel & notesbøger
- Dokumentation til Pandas
- Bokeh-dokumentation