Geavanceerde configuraties voor Jupyter-notebooks en MSTICPy in Microsoft Sentinel

In dit artikel worden geavanceerde configuraties beschreven voor het werken met Jupyter-notebooks en MSTICPy in Microsoft Sentinel.

Zie Jupyter-notebooks gebruiken voor het opsporen van beveiligingsrisico's en zelfstudie: Aan de slag met Jupyter-notebooks en MSTICPy in Microsoft Sentinel.

Vereisten

Dit artikel is een vervolg op de zelfstudie: Aan de slag met Jupyter-notebooks en MSTICPy in Microsoft Sentinel. U wordt aangeraden de zelfstudie uit te voeren voordat u verdergaat met de geavanceerde procedures die hieronder worden beschreven.

Verificatieparameters opgeven voor Azure- en Microsoft Sentinel-API's

In deze procedure wordt beschreven hoe u verificatieparameters configureert voor Microsoft Sentinel en andere Azure API-resources in uw msticpyconfig.yaml-bestand .

Ga als volgt te werk om Azure-verificatie en Microsoft Sentinel-API-instellingen toe te voegen in de MSTICPy-instellingeneditor:

  1. Ga door naar de volgende cel, met de volgende code en voer deze uit:

    mpedit.set_tab("Data Providers")
    mpedit
    
  2. Selecteer AzureCLI>Toevoegen op het tabblad Gegevensproviders.

  3. Selecteer de verificatiemethoden die u wilt gebruiken:

    • Hoewel u een andere set methoden kunt gebruiken dan de standaardinstellingen van Azure, is dit gebruik geen typische configuratie.
    • Tenzij u de env-verificatie (omgevingsvariabele) wilt gebruiken, laat u de velden clientId, tenantiId en clientSecret leeg.
    • Hoewel dit niet wordt aanbevolen, ondersteunt MSTICPy ook het gebruik van client-app-id's en geheimen voor uw verificatie. In dergelijke gevallen definieert u de velden clientId, tenantId en clientSecret rechtstreeks op het tabblad Gegevensproviders .
  4. Selecteer Bestand opslaan om uw wijzigingen op te slaan.

Queryproviders voor automatisch laden definiëren

Definieer queryproviders die u wilt dat MSTICPy automatisch wordt geladen wanneer u de nbinit.init_notebook functie uitvoert.

Wanneer u regelmatig nieuwe notebooks maakt, kan het automatisch laden van queryproviders u tijd besparen door ervoor te zorgen dat vereiste providers worden geladen vóór andere onderdelen, zoals draaifuncties en notebooklets.

Queryproviders voor automatisch laden toevoegen:

  1. Ga door naar de volgende cel, met de volgende code en voer deze uit:

    mpedit.set_tab("Autoload QueryProvs")
    mpedit
    
  2. Op het tabblad QueryProv autoloaden:

    • Geef voor Microsoft Sentinel-providers zowel de providernaam als de werkruimtenaam op waarmee u verbinding wilt maken.
    • Geef voor andere queryproviders alleen de providernaam op.

    Elke provider heeft ook de volgende optionele waarden:

    • Automatisch verbinding maken: deze optie is standaard gedefinieerd als Waar en MSTICPy probeert zich onmiddellijk na het laden bij de provider te verifiëren. MSTICPy gaat ervan uit dat u referenties hebt geconfigureerd voor de provider in uw instellingen.

    • Alias: Wanneer MSTICPy een provider laadt, wordt de provider toegewezen aan de naam van een Python-variabele. De naam van de variabele is standaard qryworkspace_name voor Microsoft Sentinel-providers en qryprovider_name voor andere providers.

      Als u bijvoorbeeld een queryprovider laadt voor de ContosoSOC-werkruimte , wordt deze queryprovider gemaakt in uw notebookomgeving met de naam qry_ContosoSOC. Voeg een alias toe als u iets korter of eenvoudiger wilt typen en onthouden. De naam van de providervariabele wordt qry_<alias><alias> vervangen door de aliasnaam die u hebt opgegeven.

      Providers die u met dit mechanisme laadt, worden ook toegevoegd aan het MSTICPy-kenmerk current_providers , dat bijvoorbeeld wordt gebruikt in de volgende code:

      import msticpy
      msticpy.current_providers
      
  3. Selecteer Opslaan Instellingen om uw wijzigingen op te slaan.

Automatisch geladen MSTICPy-onderdelen definiëren

In deze procedure wordt beschreven hoe u andere onderdelen definieert die automatisch door MSTICPy worden geladen wanneer u de nbinit.init_notebook functie uitvoert.

Ondersteunde onderdelen zijn onder andere in de volgende volgorde:

  1. TILookup: De TI-providerbibliotheek
  2. GeoIP: de GeoIP-provider die u wilt gebruiken
  3. AzureData: de module die u gebruikt om query's uit te voeren op details over Azure-resources
  4. AzureSentinelAPI: de module die u gebruikt om een query uit te voeren op de Microsoft Sentinel-API
  5. Notebooklets: Notebooklets uit het msticnb-pakket
  6. Pivot: Pivot-functies

Notitie

De onderdelen worden in deze volgorde geladen omdat het draaitabelonderdeel query's nodig heeft en andere providers die zijn geladen om de draaitabelfuncties te vinden die aan entiteiten worden gekoppeld. Zie de MSTICPy-documentatie voor meer informatie.

Ga als volgende te werk om automatisch geladen MSTICPy-onderdelen te definiëren:

  1. Ga door naar de volgende cel, met de volgende code en voer deze uit:

    mpedit.set_tab("Autoload Components")
    mpedit
    
  2. Definieer op het tabblad Onderdelen automatisch laden de parameterwaarden indien nodig. Voorbeeld:

    • GeoIpLookup. Voer de naam in van de GeoIP-provider die u wilt gebruiken: GeoLiteLookup of IPStack. Zie GeoIP-providerinstellingen toevoegen voor meer informatie.

    • AzureData- en AzureSentinelAPI-onderdelen. Definieer de volgende waarden:

      • auth_methods: overschrijf de standaardinstellingen voor AzureCLI en maak verbinding met behulp van de geselecteerde methoden.
      • Automatisch verbinding maken: ingesteld op false om te laden zonder verbinding te maken.

      Zie Verificatieparameters opgeven voor Azure- en Microsoft Sentinel-API's voor meer informatie.

    • Notebooklets. Het notebooklets-onderdeel heeft één parameterblok: AzureSentinel.

      Geef uw Microsoft Sentinel-werkruimte op met behulp van de volgende syntaxis: workspace:\<workspace name> De naam van de werkruimte moet een van de werkruimten zijn die zijn gedefinieerd op het tabblad Microsoft Sentinel .

      Als u meer parameters wilt toevoegen om naar de notebooklets init functie te verzenden, geeft u deze op als sleutel-waardeparen, gescheiden door nieuwe lijnen. Voorbeeld:

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

      Zie de documentatie voor MSTICNB (MSTIC Notebooklets) voor meer informatie.

    Voor sommige onderdelen, zoals TILookup en Pivot, zijn geen parameters vereist.

  3. Selecteer Opslaan Instellingen om uw wijzigingen op te slaan.

Schakelen tussen Python 3.6- en 3.8-kernels

Als u schakelt tussen Python 3.65- en 3.8-kernels, is het mogelijk dat MSTICPy en andere pakketten niet worden geïnstalleerd zoals verwacht.

Dit kan gebeuren wanneer de !pip install pkg opdracht correct wordt geïnstalleerd in de eerste omgeving, maar vervolgens niet correct wordt geïnstalleerd in de tweede. Hierdoor ontstaat een situatie waarin de tweede omgeving het pakket niet kan importeren of gebruiken.

U wordt aangeraden geen !pip install... pakketten te installeren in Azure ML-notebooks. Gebruik in plaats daarvan een van de volgende opties:

  • Gebruik de magic van %pip-lijnen in een notebook. Run:

    
    %pip install --upgrade msticpy
    
  • Installeren vanuit een terminal:

    1. Open een terminal in Azure ML-notebooks en voer de volgende opdrachten uit:

      conda activate azureml_py38
      pip install --upgrade msticpy
      
    2. Sluit de terminal en start de kernel opnieuw op.

Een omgevingsvariabele instellen voor uw msticpyconfig.yaml-bestand

Als u in Azure ML werkt en uw msticpyconfig.yaml-bestand in de hoofdmap van uw gebruikersmap hebt, worden deze instellingen automatisch door MSTICPy gevonden. Als u echter de notebooks in een andere omgeving uitvoert, volgt u de instructies in deze sectie om een omgevingsvariabele in te stellen die verwijst naar de locatie van uw configuratiebestand.

Als u het pad naar uw msticpyconfig.yaml-bestand in een omgevingsvariabele definieert, kunt u het bestand opslaan op een bekende locatie en ervoor zorgen dat u altijd dezelfde instellingen laadt.

Gebruik meerdere configuratiebestanden, met meerdere omgevingsvariabelen, als u verschillende instellingen voor verschillende notitieblokken wilt gebruiken.

  1. Bepaal op een locatie voor uw msticpyconfig.yaml-bestand , zoals in ~/.msticpyconfig.yaml of %userprofile%/msticpyconfig.yaml.

    Azure ML-gebruikers: als u uw configuratiebestand opslaat in uw Azure ML-gebruikersmap, zal de MSTICPy-functie init_notebook (uitgevoerd in de initialisatiecel) het bestand automatisch vinden en gebruiken en hoeft u geen MSTICPYCONFIG-omgevingsvariabele in te stellen.

    Als u echter ook geheimen in het bestand hebt opgeslagen, raden we u aan het configuratiebestand op te slaan op het lokale rekenstation. De interne rekenopslag is alleen toegankelijk voor de persoon die de berekening heeft gemaakt, terwijl de gedeelde opslag toegankelijk is voor iedereen met toegang tot uw Azure ML-werkruimte.

    Zie Wat is een Azure Machine Learning-rekenproces? voor meer informatie.

  2. Kopieer indien nodig het bestand msticpyconfig.yaml naar de geselecteerde locatie.

  3. Stel de omgevingsvariabele MSTICPYCONFIG in op die locatie.

Gebruik een van de volgende procedures om de omgevingsvariabele MSTICPYCONFIG te definiëren.

Als u bijvoorbeeld de omgevingsvariabele MSTICPYCONFIG wilt instellen op Windows-systemen:

  1. Verplaats het bestand msticpyconfig.yaml naar het rekenproces indien nodig.

  2. Open het dialoogvenster Systeemeigenschappen op het tabblad Geavanceerd .

  3. Selecteer Omgevingsvariabelen... om het dialoogvenster Omgevingsvariabelen te openen.

  4. Selecteer In het gebied Systeemvariabelen de optie Nieuw...en definieert u de waarden als volgt:

    • Variabelenaam: Definiëren als MSTICPYCONFIG
    • Variabele waarde: voer het pad naar uw msticpyconfig.yaml-bestand in

Notitie

Voor de Linux- en Windows-opties moet u uw Jupyter-server opnieuw opstarten om de omgevingsvariabele op te halen die u hebt gedefinieerd.

Volgende stappen

Zie voor meer informatie:

Subject Meer verwijzingen
MSTICPy - CONFIGURATIE VAN MSTICPy-pakket
- MSTICPy Instellingen Editor
- Uw notebookomgeving configureren.
- MP Instellingen Editor notebook.

Opmerking: de GitHub-opslagplaats Azure-Sentinel-Notebooks bevat ook een sjabloon msticpyconfig.yaml-bestand met uitgecommentareerde secties, wat u kan helpen de instellingen te begrijpen.
Microsoft Sentinel- en Jupyter-notebooks - Uw eerste Microsoft Sentinel-notitieblok maken (blogreeks)
- Jupyter Notebooks: Een inleiding
- MSTICPy-documentatie
- Documentatie voor Microsoft Sentinel Notebooks
- Het Infosec Jupyterbook
- Overzicht van Linux Host Explorer Notebook
- Waarom Jupyter gebruiken voor beveiligingsonderzoeken
- Beveiligingsonderzoeken met Microsoft Sentinel & Notebooks
- Documentatie voor Pandas
- Documentatie voor Sdk