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 Verwenden von Jupyter Notebooks zum Suchen nach Sicherheitsbedrohungen und Erste Schritte mit Jupyter Notebooks und MSTICPy in Microsoft Sentinel.

Voraussetzungen

Dieser Artikel ist eine Fortsetzung von Erste Schritte mit Jupyter Notebooks und MSTICPy in Microsoft Sentinel. Es wird empfohlen, dass Sie das Tutorial ausführen, bevor Sie mit den in diesem Artikel beschriebenen erweiterten Verfahren fortfahren.

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

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

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:

  4. Wählen Sie Datei speichern aus, um Ihre Änderungen zu speichern.

Definieren von Abfrageanbietern für das automatische Laden

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 durch das automatische Laden von Abfrageanbietern Zeit sparen, indem sichergestellt wird, dass erforderliche Anbieter vor anderen Komponenten wie Pivotfunktionen und Notebooklets 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 QueryProv automatisch laden :

    • 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

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, 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 msticnb-Paket
  6. Pivot: Pivotfunktionen

Die Komponenten werden in dieser Reihenfolge geladen, da die Pivot-Komponente abfragen und andere Anbieter geladen werden müssen, um die Pivotfunktionen zu finden, die sie an Entitäten anfügt. Weitere Informationen finden Sie in der MSTICPy-Dokumentation. Weitere Informationen finden Sie im Erste Schritte-Leitfaden für Azure Sentinel ML-Notebooks.For more information, see the Erste Schritte Guide For Azure Sentinel ML Notebooks notebook.

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. Definieren Sie auf der Registerkarte Komponenten automatisch laden alle Parameterwerte nach Bedarf. 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.

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

Es wird empfohlen!pip install..., keine Pakete in Azure Machine Learning-Notebooks zu installieren. 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 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 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 jeder Benutzer mit Zugriff auf Ihren Azure Machine Learning-Arbeitsbereich auf den freigegebenen Speicher zugreifen kann.

    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.

Verwenden Sie eines der folgenden Verfahren, um die Umgebungsvariable MSTICPYCONFIG 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 Optionen Linux und Windows müssen Sie Ihren Jupyter-Server neu starten, damit er die von Ihnen definierte Umgebungsvariable übernimmt.

Nächste Schritte

Weitere Informationen finden Sie unter:

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

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 Ihres ersten Microsoft Sentinel Notebooks (Blogreihe)
- Jupyter Notebooks: Eine Einführung
- MSTICPy-Dokumentation
- Dokumentation zu Microsoft Sentinel Notebooks
- The Infosec Jupyterbook
- Exemplarische Vorgehensweise für Linux Host Explorer Notebook
- Gründe für die Verwendung von Jupyter für Sicherheitsuntersuchungen
- Sicherheitsuntersuchungen mit Microsoft Sentinel & Notebooks
- Pandas-Dokumentation
- Bokeh-Dokumentation