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

In diesem Artikel werden erweiterte Konfigurationen für die Arbeit mit Jupyter Notebooks und MSTICPy in Microsoft Sentinel beschrieben.

Weitere Informationen finden Sie unter Aufspüren von Sicherheitsrisiken mit Jupyter Notebooks und Tutorial: Erste Schritte mit Jupyter Notebooks und MSTICPy in Microsoft Sentinel.

Voraussetzungen

Dieser Artikel ist eine Fortsetzung von Tutorial: Erste Schritte mit Jupyter Notebooks und MSTICPy in Microsoft Sentinel. Es wird empfohlen, das Tutorial durchzuarbeiten, bevor Sie mit den weiter unten beschriebenen erweiterten Verfahren fortfahren.

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

In diesem Verfahren wird beschrieben, wie Authentifizierungsparameter für Microsoft Sentinel und andere Azure-API-Ressourcen in der Datei msticpyconfig.yaml konfiguriert werden.

So fügen Sie Einstellungen für die Azure-Authentifizierung und die Microsoft Sentinel-API im MSTICPy-Einstellungs-Editor hinzu

  1. Wechseln Sie mit dem folgenden Code zur nächsten Zelle 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 verwendende Authentifizierungsmethode aus:

    • Sie können zwar einen anderen Satz von Methoden als die Azure-Standardeinstellungen verwenden, aber diese Verwendung ist keine typische Konfiguration.
    • Wenn Sie nicht die env-Authentifizierung (Umgebungsvariable) verwenden möchten, lassen Sie die Felder clientId, tenantiId und clientSecret leer.
    • Obwohl nicht empfohlen, unterstützt MSTICPy auch die Verwendung von Client-App-IDs und -Geheimnissen für Ihre Authentifizierung. In solchen Fällen definieren Sie die Felder clientId, tenantId und clientSecret direkt auf der Registerkarte Datenanbieter.
  4. Wählen Sie Datei speichern aus, um Ihre Änderungen zu speichern.

Definieren des automatischen Ladens von Abfrageanbietern

Definieren Sie alle Abfrageanbieter, die MSTICPy automatisch laden soll, wenn Sie die nbinit.init_notebook-Funktion ausführen.

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 automatisch ladende Abfrageanbieter hinzu

  1. Wechseln Sie mit dem folgenden Code zur nächsten Zelle und führen Sie sie aus:

    mpedit.set_tab("Autoload QueryProvs")
    mpedit
    
  2. Gehen Sie auf der Registerkarte Autoload QueryProv (QueryProv automatisch laden) wie folgt vor:

    • Bei Microsoft Sentinel-Anbietern geben Sie sowohl den Anbieternamen als auch den Namen des Arbeitsbereichs an, mit dem Sie eine Verbindung herstellen möchten.
    • Geben Sie für andere Abfrageanbieter nur den Anbieternamen an.

    Jeder Anbieter verfügt auch über die folgenden optionalen Werte:

    • Automatische Verbindung: Diese Option ist standardmäßig als True definiert, und MSTICPy versucht, sich sofort 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, wird der Anbieter einem Python-Variablennamen zugewiesen. Standardmäßig lautet der Variablenname qryworkspace_name für Microsoft Sentinel-Anbieter und qryprovider_name für andere Anbieter.

      Wenn Sie z. B. einen Abfrageanbieter für den ContosoSOC-Arbeitsbereich laden, wird dieser Abfrageanbieter in Ihrer Notebook-Umgebung mit dem Namen qry_ContosoSOC erstellt. Fügen Sie einen Alias hinzu, wenn Sie einen kürzeren oder leichter einzugebenden und zu merkenden Namen verwenden möchten. Der Name der Anbietervariable lautet qry_<alias>, wobei <alias> der Name durch den von Ihnen angegebenen Aliasnamen ersetzt wird.

      Anbieter, die Sie über diesen 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 die Änderungen zu speichern.

Definieren automatisch geladener MSTICPy-Komponenten

In diesem Verfahren wird beschrieben, wie Sie andere Komponenten definieren, die automatisch von MSTICPy geladen werden, wenn Sie die nbinit.init_notebook-Funktion ausführen.

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

  1. TILookup: Die TI-Anbieterbibliothek
  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 msticnb-Paket
  6. Pivot: Pivotfunktionen

Hinweis

Die Komponenten werden in dieser Reihenfolge geladen, da die Pivotkomponente Abfragen und andere Anbieter benötigt, um die Pivotfunktionen zu finden, die sie an Entitäten anfügt. Weitere Informationen finden Sie in der MSTICPy-Dokumentation.

So definieren Sie automatisch geladene MSTICPy-Komponenten

  1. Wechseln Sie mit dem folgenden Code zur nächsten Zelle und führen Sie sie aus:

    mpedit.set_tab("Autoload Components")
    mpedit
    
  2. Definieren Sie auf der Registerkarte Autoload Components (Komponenten automatisch laden) alle erforderlichen Parameterwerte. Beispiel:

    • GeoIpLookup. Geben Sie den Namen des GeoIP-Anbieters ein, den Sie verwenden möchten, entweder GeoLiteLookup oder IPStack. Weitere Informationen finden Sie unter Hinzufügen von GeoIP-Anbietereinstellungen.

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

      • auth_methods: Setzen Sie die Standardeinstellungen für AzureCLI außer Kraft, und stellen Sie die Verbindung mit den ausgewählten Methoden her.
      • Auto-connect: Legen Sie den Wert auf „false“ fest, um ohne das Herstellen einer 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 Funktion notebooklets init gesendet werden sollen, geben Sie sie als Schlüssel-Wert-Paare an, getrennt durch Zeilenvorschübe. Beispiel:

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

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

    Einige Komponenten wie TILookup und Pivot erfordern keine Parameter.

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

Wechseln zwischen Python 3.6- und 3.8-Kerneln

Wenn Sie zwischen den Python-Kerneln 3.65 und 3.8 wechseln, kann es sein, dass MSTICPy und andere Pakete nicht wie erwartet installiert werden.

Dies kann der Fall sein, wenn der !pip install pkg-Befehl in der ersten Umgebung ordnungsgemäß installiert wird, in der zweiten jedoch nicht. Dies führt zu einer Situation, in der die zweite Umgebung das Paket nicht importieren oder verwenden kann.

Es wird empfohlen, keine !pip install...-Pakete in Azure ML-Notebooks zu installieren. Verwenden Sie stattdessen eine der folgenden Optionen:

  • Verwenden Sie den %pip-Zeilen-Magic-Befehl innerhalb eines Notebooks. Führen Sie Folgendes aus:

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

    1. Öffnen Sie ein Terminal in Azure ML-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 Umgebungsvariablen für die Datei „msticpyconfig.yaml“

Wenn Sie in Azure ML arbeiten und Ihre msticpyconfig.yaml-Datei im Stammverzeichnis Ihres Benutzerordners speichern, wird MSTICPy diese Einstellungen automatisch finden. Wenn Sie die Notebooks jedoch in einer anderen Umgebung ausführen, befolgen Sie die Anweisungen in diesem Abschnitt, um eine Umgebungsvariable festzulegen, die auf den Speicherort Ihrer Konfigurationsdatei verweist.

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 Ihre msticpyconfig.yaml-Datei, wie in ~/.msticpyconfig.yaml oder %userprofile%/msticpyconfig.yaml.

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

    Wenn Sie jedoch auch Geheimnisse in der Datei gespeichert haben, wird empfohlen, 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 der freigegebene Speicher für alle Benutzer zugänglich ist, die Zugriff auf Ihren Azure ML-Arbeitsbereich haben.

    Weitere Informationen hierzu finden Sie unter Was ist eine Azure Machine Learning-Compute-Instanz?

  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.

Verwenden Sie eines der folgenden Verfahren, um die Umgebungsvariable MSTICPYCONFIG zu definieren.

So legen Sie z. B. die Umgebungsvariable MSTICPYCONFIG für Windows-Systeme fest:

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

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

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

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

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

Hinweis

Für die Linux- und Windows-Optionen müssen Sie Ihren Jupyter-Server neu starten, damit er die von Ihnen definierte Umgebungsvariablen aufnehmen kann.

Nächste Schritte

Weitere Informationen finden Sie unter

Subject Weitere Verweise
MSTICPy - MSTICPy-Paketkonfiguration
- MSTICPy-Einstellungs-Editor
- Konfigurieren Ihrer Notebook-Umgebung.
- MPSettingsEditor Notebook.

Hinweis: Das Azure Sentinel-Notebooks-GitHub-Repository enthält auch eine Msticpyconfig.yaml-Vorlagendatei mit auskommentierten Abschnitten, die Ihnen helfen könnten, die Einstellungen zu verstehen.
Microsoft Sentinel und Jupyter Notebooks - Erstellen Ihres ersten Microsoft Sentinel-Notebooks (Blogreihe)
- Jupyter Notebooks: Eine Einführung
- MSTICPy-Dokumentation
- Dokumentation zu Microsoft Sentinel-Notebooks
- Das Infosec-Jupyterbook
- Exemplarische Vorgehensweise zum Linux-Host-Explorer-Notebook
- Gründe für die Verwendung von Jupyter für die Sicherheitsuntersuchungen
- Sicherheitsuntersuchung mit Microsoft Sentinel und Notebooks
- Pandas-Dokumentation
- Bokeh-Dokumentation