Erweiterte Konfigurationen für Jupyter Notebooks und MSTICPy in Microsoft Sentinel

Dieser Artikel beschreibt, wie man Authentifizierungsparameter für Azure- und Microsoft Sentinel-APIs konfiguriert, Autoloading-Abfrageanbieter und MSTICPy-Komponenten definiert, Python-Kernel-Versionen verwaltet und Umweltvariablen für Ihre msticpyconfig.yaml-Konfigurationsdatei einsetzt, wenn man mit Jupyter-Notebooks und MSTICPy in arbeitet Microsoft Sentinel.

Weitere Informationen finden Sie unter Verwenden von Jupyter Notebooks zum Suchen nach Sicherheitsbedrohungen und Erste Schritte mit Jupyter Notebooks und MSTICPy in Microsoft Sentinel.

Voraussetzungen

Dieser Artikel behandelt fortgeschrittene MSTICPy-Konfigurationsaufgaben, darunter das Setzen von Authentifizierungsparametern, das Definieren des automatischen Ladens von Abfrageanbietern und -komponenten, das Wechseln von Python-Kerneln sowie die Konfiguration von Umweltvariablen für Ihre msticpyconfig.yaml-Datei. Bevor Sie beginnen, erledigen Sie die Schritte in Get Start with Jupyter notebooks und MSTICPy in Microsoft Sentinel.

Angeben von Authentifizierungsparametern für Azure- und Microsoft Sentinel-APIs

Konfigurieren Sie die Authentifizierungsparameter für Microsoft Sentinel und andere Azure-API-Ressourcen in Ihrer msticpyconfig.yaml-Datei mit den folgenden Schritten.

So fügen Sie Azure Authentifizierungs- und Microsoft Sentinel-API-Einstellungen im MSTICPy-Einstellungs-Editor hinzu:

  1. Fahren Sie mit der nächsten Zelle mit dem folgenden Code fort, und führen Sie sie aus:

    mpedit.set_tab("Data Providers")
    mpedit
    
  2. Wählen Sie auf der Registerkarte Datenanbieter die Option AzureCLI>Hinzufügen aus.

  3. Wählen Sie die zu verwendenden Authentifizierungsmethoden aus:

    • Sie können zwar einen anderen Satz von Methoden als die Standardwerte verwenden, diese Verwendung ist jedoch keine typische Konfiguration. Weitere Informationen finden Sie im Leitfaden zu den ersten Schritten für Azure Sentinel ML-Notebooks.
    • Wenn Sie die Umgebungsvariablenauthentifizierung (env) nicht verwenden möchten, lassen Sie die Felder "clientId", "tenantId" und "clientSecret " leer.
    • MSTICPy wird zwar nicht empfohlen, unterstützt aber auch die Verwendung von Client-App-IDs und Geheimnissen für Ihre Authentifizierung. Definieren Sie in solchen Fällen die Felder clientId, tenantId und clientSecret direkt auf der Registerkarte Datenanbieter .
  4. Wählen Sie Datei speichern aus, um Ihre Änderungen zu speichern.

Definieren von Abfrageanbietern für das automatische Laden

Du kannst MSTICPy so konfigurieren, dass bestimmte Abfrageanbieter automatisch geladen werden, wenn du die nbinit.init_notebook Funktion ausführst.

Wenn Sie häufig neue Notebooks erstellen, können Sie mit dem automatischen Laden von Abfrageanbietern Zeit sparen, indem Sie sicherstellen, dass die erforderlichen Anbieter vor anderen Komponenten wie Pivotfunktionen und Notebooks geladen werden.

So fügen Sie Abfrageanbieter für das automatische Laden hinzu:

  1. Fahren Sie mit der nächsten Zelle mit dem folgenden Code fort, und führen Sie sie aus:

    mpedit.set_tab("Autoload QueryProvs")
    mpedit
    
  2. Auf der Registerkarte Autoload QueryProv:

    • Geben Sie für Microsoft Sentinel Anbieter sowohl den Anbieternamen als auch den Arbeitsbereichsnamen an, mit dem Sie eine Verbindung herstellen möchten.
    • Geben Sie für andere Abfrageanbieter nur den Anbieternamen an.

    Jeder Anbieter verfügt außerdem über die folgenden optionalen Werte:

    • Automatische Verbindung: Diese Option ist standardmäßig als True definiert, und MSTICPy versucht, sich unmittelbar nach dem Laden beim Anbieter zu authentifizieren. MSTICPy geht davon aus, dass Sie anmeldeinformationen für den Anbieter in Ihren Einstellungen konfiguriert haben.

    • Alias: Wenn MSTICPy einen Anbieter lädt, weist es den Anbieter einem Python-Variablennamen zu. Standardmäßig wird der Variablenname für Microsoft Sentinel Anbieter qryworkspace_name und für andere Anbieter qryprovider_name.

      Wenn Sie beispielsweise einen Abfrageanbieter für den ContosoSOC-Arbeitsbereich laden, wird dieser Abfrageanbieter in Ihrer Notebookumgebung mit dem Namen qry_ContosoSOCerstellt. Fügen Sie einen Alias hinzu, wenn Sie etwas kürzeres oder einfacheres Eingeben und Merken verwenden möchten. Der Name der Anbietervariable ist qry_<alias>, wobei <alias> durch den von Ihnen angegebenen Aliasnamen ersetzt wird.

      Anbieter, die Sie mit diesem Mechanismus laden, werden auch dem MSTICPy-Attribut current_providers hinzugefügt, das z. B. im folgenden Code verwendet wird:

      import msticpy
      msticpy.current_providers
      
  3. Wählen Sie Einstellungen speichern aus, um Ihre Änderungen zu speichern.

Definieren automatisch geladener MSTICPy-Komponenten

Du kannst zusätzliche Komponenten definieren, die MSTICPy automatisch lädt, wenn du die nbinit.init_notebook Funktion ausführst.

Zu den unterstützten Komponenten gehören in der folgenden Reihenfolge:

  1. TILookup: Die TI-Anbieterbibliothek, die Sie verwenden möchten
  2. Geoip: Der GeoIP-Anbieter, den Sie verwenden möchten
  3. AzureData: Das Modul, das Sie zum Abfragen von Details zu Azure Ressourcen verwenden
  4. AzureSentinelAPI: Das Modul, das Sie zum Abfragen der Microsoft Sentinel-API verwenden
  5. Notebooklets: Notebooklets aus dem Paket msticnb
  6. Pivot: Pivotfunktionen

Die Komponenten laden in der angegebenen Reihenfolge, da die Pivot-Komponente eine Abfrage und andere Provider geladen werden muss, um die Pivot-Funktionen zu finden, die sie an Entitäten angeordnet hat. Weitere Informationen finden Sie in der MSTICPy-Dokumentation. Weitere Informationen finden Sie im Leitfaden zu den ersten Schritten für Azure Sentinel ML-Notebooks.

So definieren Sie automatisch geladene MSTICPy-Komponenten:

  1. Fahren Sie mit der nächsten Zelle mit dem folgenden Code fort, und führen Sie sie aus:

    mpedit.set_tab("Autoload Components")
    mpedit
    
  2. Legen Sie auf der Registerkarte Autoload-Komponenten bei Bedarf Parameterwerte fest. Zum Beispiel:

    • GeoIpLookup. Geben Sie den Namen des GeoIP-Anbieters ein, den Sie verwenden möchten, entweder GeoLiteLookup oder IPStack.

    • AzureData- und AzureSentinelAPI-Komponenten. Definieren Sie die folgenden Werte:

      • auth_methods: Überschreiben Sie die Standardeinstellungen für AzureCLI, und stellen Sie eine Verbindung mithilfe der ausgewählten Methoden her.
      • Automatische Verbindung: Legen Sie auf false fest, um ohne Verbindung zu laden.

      Weitere Informationen finden Sie unter Angeben von Authentifizierungsparametern für Azure- und Microsoft Sentinel-APIs.

    • Notebooklets. Die Notebooklets-Komponente verfügt über einen einzelnen Parameterblock: AzureSentinel.

      Geben Sie Ihren Microsoft Sentinel Arbeitsbereich mit der folgenden Syntax an: workspace:\<workspace name>. Der Arbeitsbereichsname muss einer der Arbeitsbereiche sein, die auf der Registerkarte Microsoft Sentinel definiert sind.

      Wenn Sie weitere Parameter hinzufügen möchten, die an die notebooklets init Funktion gesendet werden sollen, geben Sie sie als Schlüssel-Wert-Paare an, getrennt durch Zeilenneulinien. Zum Beispiel:

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

      Weitere Informationen finden Sie in der Dokumentation zu MSTICNB (MSTIC Notebooklets).

    Für einige Komponenten wie TILookup und Pivot sind keine Parameter erforderlich.

  3. Wählen Sie Einstellungen speichern aus, um Ihre Änderungen zu speichern.

Wechseln zwischen Python 3.6- und 3.8-Kernels

Wenn Sie zwischen Python 3.65- und 3.8-Kernels wechseln, stellen Sie möglicherweise fest, dass MSTICPy und andere Pakete nicht wie erwartet installiert werden.

Dieses Installationsproblem kann auftreten, wenn der !pip install pkg Befehl in der ersten Umgebung korrekt installiert wird, dann aber in der zweiten nicht korrekt. Die fehlgeschlagene Installation in der zweiten Umgebung bedeutet, dass diese Umgebung das Paket nicht importieren oder verwenden kann.

Wir empfehlen, !pip install... nicht zum Installieren von Paketen in Azure Machine Learning-Notebooks zu verwenden. Verwenden Sie stattdessen eine der folgenden Optionen:

  • Verwenden Sie die %pip-Linienmagie in einem Notebook. Ausführen:

    
    %pip install --upgrade msticpy
    
  • Installation über ein Terminal:

    1. Öffnen Sie ein Terminal in Azure Machine Learning-Notebooks, und führen Sie die folgenden Befehle aus:

      conda activate azureml_py38
      pip install --upgrade msticpy
      
    2. Schließen Sie das Terminal, und starten Sie den Kernel neu.

Festlegen einer Umgebungsvariable für die Datei "msticpyconfig.yaml"

Wenn Sie in Azure Machine Learning ausführen und ihre Datei msticpyconfig.yaml im Stammverzeichnis Ihres Benutzerordners haben, findet MSTICPy diese Einstellungen automatisch. Wenn Sie die Notizbücher jedoch in einer anderen Umgebung ausführen, setzen Sie eine Umgebungsvariable, die auf den Speicherort Ihrer Konfigurationsdatei verweist, indem Sie die folgenden Schritte verwenden.

Wenn Sie den Pfad zur Datei msticpyconfig.yaml in einer Umgebungsvariablen definieren, können Sie Die Datei an einem bekannten Speicherort speichern und sicherstellen, dass Sie immer die gleichen Einstellungen laden.

Verwenden Sie mehrere Konfigurationsdateien mit mehreren Umgebungsvariablen, wenn Sie unterschiedliche Einstellungen für verschiedene Notebooks verwenden möchten.

  1. Entscheiden Sie sich für einen Speicherort für Die Datei msticpyconfig.yaml , z. B. in ~/.msticpyconfig.yaml oder %userprofile%/msticpyconfig.yaml.

    Azure ML-Benutzer: Wenn Sie Ihre Konfigurationsdatei in Ihrem Azure Machine Learning-Benutzerordner speichern, sucht und verwendet die MSTICPy-Funktion init_notebook (in der Initialisierungszelle ausgeführt) automatisch die Datei, und Sie müssen keine MSTICPYCONFIG-Umgebungsvariable festlegen.

    Wenn Sie jedoch auch Geheimnisse in der Datei gespeichert haben, empfiehlt es sich, die Konfigurationsdatei auf dem lokalen Computelaufwerk zu speichern. Auf den internen Computespeicher kann nur die Person zugreifen, die die Compute-Instanz erstellt hat, während auf den freigegebenen Speicher jeder zugreifen kann, der Zugriff auf Ihren Azure Machine Learning-Arbeitsbereich hat.

    Weitere Informationen finden Sie unter Was ist ein Azure Machine Learning-Compute-instance?.

  2. Kopieren Sie bei Bedarf die Datei msticpyconfig.yaml an den ausgewählten Speicherort.

  3. Legen Sie die Umgebungsvariable MSTICPYCONFIG so fest, dass sie auf diesen Speicherort verweist.

Wählen Sie einen der folgenden Tabs, um die MSTICPYCONFIG-Umgebungsvariable unter Windows, Linux oder Azure Machine Learning zu definieren.

So legen Sie beispielsweise die Umgebungsvariable MSTICPYCONFIG auf Windows-Systemen fest:

  1. Verschieben Sie die Datei msticpyconfig.yaml nach Bedarf in die Compute-instance.

  2. Öffnen Sie das Dialogfeld Systemeigenschaften auf der Registerkarte Erweitert .

  3. Wählen Sie Umgebungsvariablen... aus, um das Dialogfeld Umgebungsvariablen zu öffnen.

  4. Wählen Sie im Bereich Systemvariablendie Option Neu... aus, und definieren Sie die Werte wie folgt:

    • Variablenname: Definieren als MSTICPYCONFIG
    • Variablenwert: Geben Sie den Pfad zur Datei msticpyconfig.yaml ein.

Hinweis

Für die Linux- und Windows-Optionen musst du deinen Jupyter-Server neu starten, damit der Server die von dir definierte Umgebungsvariable erkennt.

Nächste Schritte

Weitere Informationen finden Sie unter:

Betreff Weitere Referenzen
MSTICPy - MSTICPy-Paketkonfiguration
- MSTICPy-Einstellungs-Editor
- Konfigurieren Ihrer Notebook-Umgebung.
- MPSettingsEditor-Notizbuch.

Hinweis: Das GitHub-Repository Azure-Sentinel-Notebooks enthält auch eine Vorlagendatei msticpyconfig.yaml mit auskommentierte Abschnitte, die Ihnen helfen können, die Einstellungen zu verstehen.
Microsoft Sentinel- und Jupyter-Notebooks - Erstellen Sie Ihr erstes Microsoft Sentinel Notebook (Blogreihe)
- Jupyter Notebooks: Eine Einführung
- MSTICPy-Dokumentation
- Dokumentation zu Microsoft Sentinel Notebooks
- Das Infosec Jupyterbook
- Einführung in das Linux Host Explorer Notebook
- Gründe für die Verwendung von Jupyter für Sicherheitsuntersuchungen
- Sicherheitsuntersuchungen mit Microsoft Sentinel & Notebooks
- Pandas-Dokumentation
- Bokeh-Dokumentation