Avancerade konfigurationer för Jupyter Notebooks och MSTICPy i Microsoft Sentinel

Den här artikeln beskriver hur man konfigurerar autentiseringsparametrar för Azure- och Microsoft Sentinel-API:er, definierar autoloading-leverantörer och MSTICPy-komponenter, hanterar Python-kärnversioner och ställer in miljövariabler för din msticpyconfig.yaml-konfigurationsfil när man arbetar med Jupyter-notebooks och MSTICPy i Microsoft Sentinel.

Mer information finns i Använda Jupyter Notebooks för att söka efter säkerhetshot och Komma igång med Jupyter Notebooks och MSTICPy i Microsoft Sentinel.

Förhandskrav

Den här artikeln täcker avancerade MSTICPy-konfigurationsuppgifter, inklusive att sätta autentiseringsparametrar, definiera autoloading av frågeleverantörer och komponenter, byta Python-kärnor och konfigurera miljövariabler för din msticpyconfig.yaml-fil. Innan du börjar, genomför stegen i Get Started with Jupyter notebooks och MSTICPy i Microsoft Sentinel.

Ange autentiseringsparametrar för api:er för Azure och Microsoft Sentinel

Konfigurera autentiseringsparametrar för Microsoft Sentinel och andra Azure API-resurser i din msticpyconfig.yaml-fil genom att använda följande steg.

Så här lägger du till Azure-autentisering och Microsoft Sentinel API-inställningar i MSTICPy-inställningsredigeraren:

  1. Fortsätt till nästa cell med följande kod och kör den:

    mpedit.set_tab("Data Providers")
    mpedit
    
  2. På fliken Dataprovidrar väljer du AzureCLI>Lägg till.

  3. Välj de autentiseringsmetoder som ska användas:

    • Även om du kan använda en annan uppsättning metoder än standardvärdena är den här användningen inte en typisk konfiguration. Mer information finns i anteckningsboken kom igång-guiden för Azure Sentinel ML Notebooks.
    • Om du inte vill använda miljövariabelautentisering (env) lämnar du fälten clientId, tenantId och clientSecret tomma.
    • Även om det inte rekommenderas stöder MSTICPy även användning av klientapp-ID:t och hemligheter för din autentisering. I sådana fall definierar du fälten clientId, tenantId och clientSecret direkt på fliken Dataprovidrar .
  4. Spara ändringarna genom att välja Spara fil .

Definiera frågeleverantörer för automatisk inläsning

Du kan konfigurera MSTICPy att automatiskt ladda specifika frågeleverantörer när du kör nbinit.init_notebook funktionen.

När du ofta skapar nya notebook-filer kan du spara tid genom att automatiskt läsa in frågeprovidrar genom att se till att nödvändiga providers läses in före andra komponenter, till exempel pivotfunktioner och notebooklets.

Lägga till frågeleverantörer med automatisk inläsning:

  1. Fortsätt till nästa cell med följande kod och kör den:

    mpedit.set_tab("Autoload QueryProvs")
    mpedit
    
  2. På fliken Hämta frågaprov automatiskt :

    • För Microsoft Sentinel providers anger du både providernamnet och arbetsytans namn som du vill ansluta till.
    • För andra frågeproviders anger du endast providernamnet.

    Varje provider har också följande valfria värden:

    • Anslut automatiskt: Det här alternativet definieras som Sant som standard och MSTICPy försöker autentisera till providern omedelbart efter inläsningen. MSTICPy förutsätter att du har konfigurerat autentiseringsuppgifter för providern i inställningarna.

    • Alias: När MSTICPy läser in en provider tilldelar den providern ett Python-variabelnamn. Som standard är variabelnamnet qryworkspace_name för Microsoft Sentinel providers och qryprovider_name för andra leverantörer.

      Om du till exempel läser in en frågeprovider för ContosoSOC-arbetsytan skapas den här frågeprovidern i notebook-miljön med namnet qry_ContosoSOC. Lägg till ett alias om du vill använda något kortare eller enklare att skriva och komma ihåg. Providervariabelnamnet är qry_<alias>, där <alias> ersätts med det aliasnamn som du angav.

      Leverantörer som du laddar in med den här mekanismen läggs också till i attributet MSTICPy current_providers, som till exempel används i följande kod:

      import msticpy
      msticpy.current_providers
      
  3. Spara ändringarna genom att välja Spara inställningar .

Definiera automatiskt inlästa MSTICPy-komponenter

Du kan definiera ytterligare komponenter som MSTICPy automatiskt laddar när du kör nbinit.init_notebook funktionen.

Komponenter som stöds omfattar i följande ordning:

  1. TILookup: Ti-providerbiblioteket som du vill använda
  2. Geoip: Den GeoIP-provider som du vill använda
  3. AzureData: Modulen som du använder för att fråga efter information om Azure resurser
  4. AzureSentinelAPI: Modulen som du använder för att fråga Microsoft Sentinel-API:et
  5. Notebooklets: Notebooklets från msticnb-paketet
  6. Pivot: Pivot-funktioner

Komponenterna laddas i den ordning som anges eftersom pivotkomponenten behöver en fråga och andra leverantörer laddade för att hitta de pivotfunktioner som den kopplar till entiteterna. Mer information finns i MSTICPy-dokumentationen. Mer information finns i anteckningsboken kom igång-guiden för Azure Sentinel ML Notebooks.

Så här definierar du automatiskt inlästa MSTICPy-komponenter:

  1. Fortsätt till nästa cell med följande kod och kör den:

    mpedit.set_tab("Autoload Components")
    mpedit
    
  2. På fliken Automatisk inläsning av komponenter definierar du eventuella parametervärden efter behov. Till exempel:

    • GeoIpLookup. Ange namnet på geoIP-providern som du vill använda, antingen GeoLiteLookup eller IPStack.

    • AzureData- och AzureSentinelAPI-komponenter. Definiera följande värden:

      • auth_methods: Åsidosätt standardinställningarna för AzureCLI och anslut med de valda metoderna.
      • Anslut automatiskt: Ställ in på false för att läsa in utan att ansluta.

      Mer information finns i Ange autentiseringsparametrar för Azure- och Microsoft Sentinel-API:er.

    • Notebooklets. Notebooklets-komponenten har ett enda parameterblock: AzureSentinel.

      Ange din Microsoft Sentinel arbetsyta med följande syntax: workspace:\<workspace name>. Namnet på arbetsytan måste vara en av de arbetsytor som definierats på fliken Microsoft Sentinel.

      Om du vill lägga till fler parametrar som ska skickas till notebooklets init funktionen anger du dem som nyckel:värde-par, avgränsade med nya ledningar. Till exempel:

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

      Mer information finns i dokumentationen för MSTICNB (MSTIC Notebooklets).

    Vissa komponenter, till exempel TILookup och Pivot, kräver inga parametrar.

  3. Spara ändringarna genom att välja Spara inställningar .

Växla mellan Python 3.6- och 3.8-kernels

Om du växlar mellan Python 3.65- och 3.8-kernels kan det hända att MSTICPy och andra paket inte installeras som förväntat.

Detta installationsproblem kan uppstå när kommandot !pip install pkg installeras korrekt i den första miljön, men sedan inte installeras korrekt i den andra. Den misslyckade installationen i den andra miljön innebär att den miljön inte kan importera eller använda paketet.

Vi rekommenderar att du inte använder !pip install... för att installera paket i Azure Machine Learning-notebook-filer. Använd i stället något av följande alternativ:

  • Använd radmagin %pip i en notebook. Kör:

    
    %pip install --upgrade msticpy
    
  • Installera från en terminal:

    1. Öppna en terminal i Azure Machine Learning-notebook-filer och kör följande kommandon:

      conda activate azureml_py38
      pip install --upgrade msticpy
      
    2. Stäng terminalen och starta om kerneln.

Ange en miljövariabel för filen msticpyconfig.yaml

Om du kör i Azure Machine Learning och har filen msticpyconfig.yaml i roten av användarmappen hittar MSTICPy automatiskt de här inställningarna. Men om du kör anteckningsböckerna i en annan miljö, ställ in en miljövariabel som pekar på platsen för din konfigurationsfil genom att använda följande steg.

Genom att definiera sökvägen till filen msticpyconfig.yaml i en miljövariabel kan du lagra filen på en känd plats och se till att du alltid läser in samma inställningar.

Använd flera konfigurationsfiler, med flera miljövariabler, om du vill använda olika inställningar för olika notebook-filer.

  1. Bestäm en plats för filen msticpyconfig.yaml , till exempel i ~/.msticpyconfig.yaml eller %userprofile%/msticpyconfig.yaml.

    Azure ML-användare: Om du lagrar konfigurationsfilen i användarmappen Azure Machine Learning söker MSTICPy-funktionen init_notebook (körs i initieringscellen) automatiskt upp och använder filen och du behöver inte ange en MSTICPYCONFIG-miljövariabel.

    Men om du också har hemligheter lagrade i filen rekommenderar vi att du lagrar konfigurationsfilen på den lokala beräkningsenheten. Den interna beräkningslagringen är endast tillgänglig för den person som skapade beräkningen, medan den delade lagringen är tillgänglig för alla som har åtkomst till din Azure Machine Learning-arbetsyta.

    Mer information finns i Vad är en Azure Machine Learning-beräkningsinstans?.

  2. Om det behövs kopierar du filen msticpyconfig.yaml till den valda platsen.

  3. Ange miljövariabeln MSTICPYCONFIG så att den pekar på den platsen.

Välj en av följande flikar för att definiera MSTICPYCONFIG-miljövariabelnWindows, Linux eller Azure Machine Learning.

Om du till exempel vill ange miljövariabeln MSTICPYCONFIG i Windows-system:

  1. Flytta filen msticpyconfig.yaml till beräkningsinstansen efter behov.

  2. Öppna dialogrutan Systemegenskaper på fliken Avancerat .

  3. Välj Miljövariabler... för att öppna dialogrutan Miljövariabler .

  4. I området Systemvariabler väljer du Nytt... och definierar värdena enligt följande:

    • Variabelnamn: Definiera som MSTICPYCONFIG
    • Variabelvärde: Ange sökvägen till filen msticpyconfig.yaml

Obs!

För Linux- och Windows-alternativen behöver du starta om din Jupyter-server så att servern plockar upp miljövariabeln som du definierade.

Nästa steg

Mer information finns i:

Ämne Fler referenser
MSTICPy - MSTICPy-paketkonfiguration
- MSTICPy-inställningsredigeraren
- Konfigurera notebook-miljön.
- MPSettingsEditor-anteckningsbok.

Obs! GitHub-lagringsplatsen Azure-Sentinel-Notebooks innehåller också en mallfil msticpyconfig.yaml med kommenterade avsnitt, vilket kan hjälpa dig att förstå inställningarna.
Microsoft Sentinel- och Jupyter-anteckningsböcker - Skapa din första Microsoft Sentinel-anteckningsbok (bloggserie)
- Jupyter Notebooks: En introduktion
- MSTICPy-dokumentation
- dokumentation om Microsoft Sentinel Notebooks
- The Infosec Jupyterbook
- Genomgång av Linux Host Explorer Notebook
- Därför ska du använda Jupyter för säkerhetsundersökningar
- Säkerhetsundersökningar med Microsoft Sentinel & Notebooks
- Dokumentation om Pandas
- Dokumentation om Bokeh