Configurazioni avanzate per notebook Jupyter e MSTICPy in Microsoft Sentinel

Questo articolo descrive le configurazioni avanzate per l'uso di notebook Jupyter e MSTICPy in Microsoft Sentinel.

Per altre informazioni, vedere Usare i notebook di Jupyter per individuare le minacce alla sicurezza e Introduzione ai notebook di Jupyter e MSTICPy in Microsoft Sentinel.

Prerequisiti

Questo articolo è una continuazione di Introduzione ai notebook di Jupyter e MSTICPy in Microsoft Sentinel. È consigliabile eseguire l'esercitazione prima di continuare con le procedure avanzate descritte in questo articolo.

Specificare i parametri di autenticazione per le API Azure e Microsoft Sentinel

Questa procedura descrive come configurare i parametri di autenticazione per Microsoft Sentinel e altre risorse API Azure nel file msticpyconfig.yaml.

Per aggiungere Azure l'autenticazione e Microsoft Sentinel impostazioni API nell'editor delle impostazioni di MSTICPy:

  1. Passare alla cella successiva, con il codice seguente, ed eseguirla:

    mpedit.set_tab("Data Providers")
    mpedit
    
  2. Nella scheda Provider di dati selezionare Aggiungi AzureCLI>.

  3. Selezionare i metodi di autenticazione da usare:

    • Sebbene sia possibile usare un set diverso di metodi rispetto alle impostazioni predefinite, questo utilizzo non è una configurazione tipica. Per altre informazioni, vedere la Guida Introduzione per Azure Sentinel notebook di ML Notebooks.
    • A meno che non si voglia usare l'autenticazione env (variabile di ambiente), lasciare vuoti i campi clientId, tenantId e clientSecret .
    • Anche se non è consigliabile, MSTICPy supporta anche l'uso di ID app client e segreti per l'autenticazione. In questi casi, definire i campi clientId, tenantId e clientSecret direttamente nella scheda Provider di dati .
  4. Selezionare Salva file per salvare le modifiche.

Definire i provider di query di caricamento automatico

Definire tutti i provider di query che si desidera caricare automaticamente da MSTICPy quando si esegue la nbinit.init_notebook funzione.

Quando si creano spesso nuovi notebook, il caricamento automatico dei provider di query consente di risparmiare tempo assicurando che i provider necessari vengano caricati prima di altri componenti, ad esempio funzioni pivot e notebooklet.

Per aggiungere i provider di query di caricamento automatico:

  1. Passare alla cella successiva, con il codice seguente, ed eseguirla:

    mpedit.set_tab("Autoload QueryProvs")
    mpedit
    
  2. Nella scheda Autoload QueryProv :In the Autoload QueryProv tab:

    • Per Microsoft Sentinel provider, specificare sia il nome del provider che il nome dell'area di lavoro a cui si vuole connettersi.
    • Per altri provider di query, specificare solo il nome del provider.

    Ogni provider ha anche i valori facoltativi seguenti:

    • Connessione automatica: Questa opzione è definita come True per impostazione predefinita e MSTICPy tenta di eseguire l'autenticazione nel provider immediatamente dopo il caricamento. MSTICPy presuppone che le credenziali per il provider siano state configurate nelle impostazioni.

    • Alias: Quando MSTICPy carica un provider, assegna il provider a un nome di variabile Python. Per impostazione predefinita, il nome della variabile viene qryworkspace_name per i provider di Microsoft Sentinel e qryprovider_name per altri provider.

      Ad esempio, se si carica un provider di query per l'area di lavoro ContosoSOC , questo provider di query viene creato nell'ambiente notebook con il nome qry_ContosoSOC. Aggiungere un alias se si vuole usare qualcosa di più breve o più semplice da digitare e ricordare. Il nome della variabile del provider è qry_<alias>, dove <alias> viene sostituito dal nome alias specificato.

      I provider caricati da questo meccanismo vengono aggiunti anche all'attributo MSTICPy current_providers , usato, ad esempio, nel codice seguente:

      import msticpy
      msticpy.current_providers
      
  3. Selezionare Salva impostazioni per salvare le modifiche.

Definire i componenti MSTICPy caricati automaticamente

Questa procedura descrive come definire altri componenti caricati automaticamente da MSTICPy quando si esegue la nbinit.init_notebook funzione.

I componenti supportati includono, nell'ordine seguente:

  1. TILookup: Libreria del provider TI che si vuole usare
  2. Geoip: Provider GeoIP che si vuole usare
  3. AzureData: Modulo usato per eseguire query sui dettagli sulle risorse Azure
  4. AzureSentinelAPI: Modulo usato per eseguire query sull'API Microsoft Sentinel
  5. Notebooklet: Notebooklet dal pacchetto msticnb
  6. Perno: Funzioni pivot

I componenti vengono caricati in questo ordine perché il componente Pivot richiede la query e altri provider caricati per trovare le funzioni pivot che collega alle entità. Per altre informazioni, vedere la documentazione di MSTICPy. Per altre informazioni, vedere la Guida Introduzione per Azure Sentinel notebook di ML Notebooks.

Per definire i componenti MSTICPy caricati automaticamente:

  1. Passare alla cella successiva, con il codice seguente, ed eseguirla:

    mpedit.set_tab("Autoload Components")
    mpedit
    
  2. Nella scheda Autoload Components (Autoload Components ) definire tutti i valori dei parametri in base alle esigenze. Ad esempio:

    • GeoIpLookup. Immettere il nome del provider GeoIP che si vuole usare, GeoLiteLookup o IPStack.

    • Componenti AzureData e AzureSentinelAPI. Definire i valori seguenti:

      • auth_methods: Eseguire l'override delle impostazioni predefinite per AzureCLI e connettersi usando i metodi selezionati.
      • Connessione automatica: Impostare su false per il caricamento senza connettersi.

      Per altre informazioni, vedere Specificare i parametri di autenticazione per le API Azure e Microsoft Sentinel.

    • Notebooklet. Il componente Notebooklets ha un singolo blocco di parametri: AzureSentinel.

      Specificare l'area di lavoro Microsoft Sentinel usando la sintassi seguente: workspace:\<workspace name>. Il nome dell'area di lavoro deve essere una delle aree di lavoro definite nella scheda Microsoft Sentinel.

      Se si desidera aggiungere altri parametri da inviare alla notebooklets init funzione, specificarli come coppie chiave:valore, separate da nuove righe. Ad esempio:

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

      Per altre informazioni, vedere la documentazione di MSTICNB (MSTIC Notebooklets).

    Alcuni componenti, ad esempio TILookup e Pivot, non richiedono parametri.

  3. Selezionare Salva impostazioni per salvare le modifiche.

Passare da kernel Python 3.6 a 3.8

Se si passa da kernel Python 3.65 a kernel 3.8, è possibile che MSTICPy e altri pacchetti non vengano installati come previsto.

Questo problema può verificarsi quando il !pip install pkg comando viene installato correttamente nel primo ambiente, ma non viene installato correttamente nel secondo. In questo modo si crea una situazione in cui il secondo ambiente non può importare o usare il pacchetto.

È consigliabile non usare !pip install... per installare pacchetti in Azure notebook di Machine Learning. Usare invece una delle opzioni seguenti:

  • Usare la magia della linea %pip all'interno di un notebook. Correre:

    
    %pip install --upgrade msticpy
    
  • Installare da un terminale:

    1. Aprire un terminale in Azure notebook di Machine Learning ed eseguire i comandi seguenti:

      conda activate azureml_py38
      pip install --upgrade msticpy
      
    2. Chiudere il terminale e riavviare il kernel.

Impostare una variabile di ambiente per il file msticpyconfig.yaml

Se si esegue in Azure Machine Learning e il file msticpyconfig.yaml è nella radice della cartella utente, MSTICPy trova automaticamente queste impostazioni. Tuttavia, se si eseguono i notebook in un altro ambiente, seguire le istruzioni in questa sezione per impostare una variabile di ambiente che punta al percorso del file di configurazione.

La definizione del percorso del file msticpyconfig.yaml in una variabile di ambiente consente di archiviare il file in un percorso noto e assicurarsi di caricare sempre le stesse impostazioni.

Usare più file di configurazione, con più variabili di ambiente, se si vogliono usare impostazioni diverse per notebook diversi.

  1. Decidere un percorso per il file msticpyconfig.yaml , ad esempio in ~/.msticpyconfig.yaml o %userprofile%/msticpyconfig.yaml.

    Azure utenti di Machine Learning: se si archivia il file di configurazione nella cartella utente Azure Machine Learning, la funzione MSTICPy init_notebook (eseguita nella cella di inizializzazione) trova e usa automaticamente il file e non è necessario impostare una variabile di ambiente MSTICPYCONFIG.

    Tuttavia, se nel file sono archiviati anche segreti, è consigliabile archiviare il file di configurazione nell'unità locale di calcolo. L'archiviazione interna di calcolo è accessibile solo alla persona che ha creato il calcolo, mentre l'archiviazione condivisa è accessibile a chiunque abbia accesso all'area di lavoro Azure Machine Learning.

    Per altre informazioni, vedere Informazioni su un'istanza di calcolo di Machine Learning Azure.

  2. Se necessario, copiare il file msticpyconfig.yaml nel percorso selezionato.

  3. Impostare la variabile di ambiente MSTICPYCONFIG in modo che punti a tale posizione.

Usare una delle procedure seguenti per definire la variabile di ambiente MSTICPYCONFIG .

Ad esempio, per impostare la variabile di ambiente MSTICPYCONFIG nei sistemi Windows:

  1. Spostare il file msticpyconfig.yaml nell'istanza di Calcolo in base alle esigenze.

  2. Aprire la finestra di dialogo Proprietà di sistema nella scheda Avanzate .

  3. Selezionare Variabili di ambiente per aprire la finestra di dialogo Variabili di ambiente .

  4. Nell'area Variabili di sistema selezionare Nuovo... e definire i valori come indicato di seguito:

    • Nome variabile: Definisci come MSTICPYCONFIG
    • Valore variabile: immettere il percorso del file msticpyconfig.yaml

Nota

Per le opzioni Linux e Windows, è necessario riavviare il server Jupyter per prelevare la variabile di ambiente definita.

Passaggi successivi

Per ulteriori informazioni, vedere:

Oggetto Altri riferimenti
MSTICPy - Configurazione del pacchetto MSTICPy
- Editor impostazioni MSTICPy
- Configurazione dell'ambiente notebook.
- Notebook MPSettingsEditor.

Nota: il repository GitHub Azure-Sentinel-Notebooks contiene anche un file msticpyconfig.yaml modello con sezioni commentate, che potrebbero aiutare a comprendere le impostazioni.
notebook Microsoft Sentinel e Jupyter - Creare il primo notebook Microsoft Sentinel (serie blog)
- Jupyter Notebooks: An Introduction
- Documentazione di MSTICPy
- documentazione di Microsoft Sentinel Notebooks
- Il Jupyterbook infosec
- Procedura dettagliata per Linux Notebook di Esplora host
- Perché usare Jupyter per le indagini sulla sicurezza
- Indagini sulla sicurezza con notebook Microsoft Sentinel &
- Documentazione di Pandas
- Documentazione di Bokeh