Configurazioni avanzate per notebook Jupyter e MSTICPy in Microsoft Sentinel

Questo articolo descrive come configurare i parametri di autenticazione per le API di Azure e Microsoft Sentinel, definire provider di query autoloading e componenti MSTICPy, gestire le versioni del kernel Python e impostare le variabili di ambiente per il file di configurazione msticpyconfig.yaml quando si lavora con 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 tratta compiti avanzati di configurazione MSTICPy, tra cui l'impostazione dei parametri di autenticazione, la definizione di provider e componenti di query autoload, la modifica dei kernel Python e la configurazione delle variabili ambientali per il file msticpyconfig.yaml. Prima di iniziare, completa i passaggi in Come inizia con i notebook Jupyter e MSTICPy in Microsoft Sentinel.

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

Configura i parametri di autenticazione per Microsoft Sentinel e altre risorse API Azure nel tuo file msticpyconfig.yaml utilizzando i seguenti passaggi.

Per aggiungere l'autenticazione di Azure e le impostazioni dell'API di Microsoft Sentinel 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 della variabile di ambiente (env), 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 per il caricamento automatico

Puoi configurare MSTICPy per caricare automaticamente specifici provider di query quando esegui 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 a caricamento automatico:

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

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

    • 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

Puoi definire componenti aggiuntivi che MSTICPy carica automaticamente quando esegui la nbinit.init_notebook funzione.

I componenti supportati includono, nell'ordine seguente:

  1. TILookup: Libreria del provider TI da utilizzare
  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. Pivot: Funzioni pivot

I componenti si caricano nell'ordine indicato perché il componente pivot necessita di 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, definire eventuali valori dei parametri secondo necessità. 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.

    • Notebooklets. 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 di installazione può verificarsi quando il !pip install pkg comando si installa correttamente nel primo ambiente, ma poi non si installa correttamente nel secondo. L'installazione fallita nel secondo ambiente significa che quell'ambiente non può importare o utilizzare il pacchetto.

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

  • Usare il comando magico di riga %pip all'interno di un notebook. Eseguire:

    
    %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 stai eseguendo i notebook in un altro ambiente, imposta una variabile di ambiente che indichi la posizione del tuo file di configurazione usando i seguenti passaggi.

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. Scegliere una posizione per il file msticpyconfig.yaml, ad esempio in ~/.msticpyconfig.yaml o %userprofile%/msticpyconfig.yaml.

    Utenti di Azure ML: se si salva il file di configurazione nella cartella utente di Azure Machine Learning, la funzione MSTICPy init_notebook (eseguita nella cella di inizializzazione) individua 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.

Seleziona una delle seguenti schede per definire la variabile dell'ambiente MSTICPYCONFIG su Windows, Linux o Azure Machine Learning.

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, devi riavviare il tuo server Jupyter in modo che il server prenda la variabile di ambiente che hai definito.

Passaggi successivi

Per ulteriori informazioni, vedere:

Oggetto Altri riferimenti
MSTICPy - Configurazione del pacchetto MSTICPy
- Editor delle impostazioni di 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.
Microsoft Sentinel e i notebook di Jupyter - Creare il primo notebook Microsoft Sentinel (serie blog)
- Jupyter Notebook: un'introduzione
- Documentazione di MSTICPy
- documentazione di Microsoft Sentinel Notebooks
- Il Jupyterbook di sicurezza informatica
- Guida dettagliata al notebook di Esplora host per Linux
- Perché usare Jupyter per le indagini sulla sicurezza
- Indagini sulla sicurezza con Microsoft Sentinel & Notebooks
- Documentazione di Pandas
- Documentazione di Bokeh