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 notebook di Jupyter per cercare minacce per la sicurezza ed Esercitazione: Introduzione ai notebook di Jupyter e MSTICPy in Microsoft Sentinel.
Prerequisiti
Questo articolo è una continuazione da Esercitazione: Introduzione ai notebook di Jupyter e MSTICPy in Microsoft Sentinel. È consigliabile eseguire l'esercitazione prima di continuare con le procedure avanzate descritte di seguito.
Specificare i parametri di autenticazione per le API di Azure e Microsoft Sentinel
Questa procedura descrive come configurare i parametri di autenticazione per Microsoft Sentinel e altre risorse API di Azure nel file msticpyconfig.yaml .
Per aggiungere l'autenticazione di Azure e le impostazioni api di Microsoft Sentinel nell'editor delle impostazioni MSTICPy:
Passare alla cella successiva, con il codice seguente ed eseguirlo:
mpedit.set_tab("Data Providers") mpedit
Nella scheda provider di dati selezionare Aggiungi ACLI> di Azure.
Selezionare i metodi di autenticazione da usare:
- Sebbene sia possibile usare un set di metodi diverso rispetto alle impostazioni predefinite di Azure, questo utilizzo non è una configurazione tipica.
- A meno che non si voglia usare l'autenticazione env (variabile di ambiente), lasciare vuoti i campi clientId, tenantId e clientSecret.
- Sebbene non sia consigliabile, MSTICPy supporta anche l'uso di ID e segreti dell'app client per l'autenticazione. In questi casi, definire i campi clientId, tenantId e clientSecret direttamente nella scheda provider di dati s.
Selezionare Salva file per salvare le modifiche.
Definire i provider di query di caricamento automatico
Definire i provider di query da caricare automaticamente 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 assicurandosi che i provider necessari vengano caricati prima di altri componenti, ad esempio funzioni pivot e notebooklet.
Per aggiungere provider di query di caricamento automatico:
Passare alla cella successiva, con il codice seguente ed eseguirlo:
mpedit.set_tab("Autoload QueryProvs") mpedit
Nella scheda Autoload QueryProv :
- Per i provider di Microsoft Sentinel, specificare sia il nome del provider che il nome dell'area di lavoro a cui 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 al provider immediatamente dopo il caricamento. MSTICPy presuppone che siano state configurate le credenziali per il provider nelle impostazioni.
Alias: quando MSTICPy carica un provider, assegna il provider a un nome di variabile Python. Per impostazione predefinita, il nome della variabile è 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 verrà 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 saràqry_<alias>
, dove<alias>
viene sostituito dal nome alias specificato.I provider caricati da questo meccanismo vengono aggiunti anche all'attributo MSTICPy
current_providers
, che viene usato, ad esempio, nel codice seguente:import msticpy msticpy.current_providers
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:
- TILookup: libreria del provider TI
- GeoIP: provider GeoIP da usare
- AzureData: modulo usato per eseguire query dettagliate sulle risorse di Azure
- AzureSentinelAPI: modulo usato per eseguire query sull'API di Microsoft Sentinel
- Notebooklets: Notebooklets dal pacchetto msticnb
- Pivot: funzioni pivot
Nota
I componenti vengono caricati in questo ordine perché il componente Pivot richiede query e altri provider caricati per trovare le funzioni pivot associate alle entità. Per altre informazioni, vedere la documentazione di MSTICPy.
Per definire i componenti MSTICPy caricati automaticamente:
Passare alla cella successiva, con il codice seguente ed eseguirlo:
mpedit.set_tab("Autoload Components") mpedit
Nella scheda Componenti di caricamento automatico definire i valori dei parametri in base alle esigenze. Ad esempio:
GeoIpLookup. Immettere il nome del provider GeoIP che si vuole usare, GeoLiteLookup o IPStack. Per altre informazioni, vedere Aggiungere impostazioni del provider GeoIP.
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 connessione.
Per altre informazioni, vedere Specificare i parametri di autenticazione per le API di Azure e Microsoft Sentinel.
Notebooklet. Il componente Notebooklets ha un singolo blocco di parametri: AzureSentinel.
Specificare l'area di lavoro di 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 key:value, 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.
Selezionare Salva impostazioni per salvare le modifiche.
Passare dai kernel Python 3.6 a 3.8
Se si passa da kernel Python 3.65 a 3.8, è possibile che MSTICPy e altri pacchetti non vengano installati come previsto.
Questo problema può verificarsi quando il !pip install pkg
comando verrà installato correttamente nel primo ambiente, ma non viene installato correttamente nel secondo. Ciò crea una situazione in cui il secondo ambiente non può importare o usare il pacchetto.
È consigliabile non usare !pip install...
per installare pacchetti nei notebook di Azure ML. Usare invece una delle opzioni seguenti:
Usare il magic %pip all'interno di un notebook. Terza fase
%pip install --upgrade msticpy
Eseguire l'installazione da un terminale:
Aprire un terminale nei notebook di Azure ML ed eseguire i comandi seguenti:
conda activate azureml_py38 pip install --upgrade msticpy
Chiudere il terminale e riavviare il kernel.
Impostare una variabile di ambiente per il file msticpyconfig.yaml
Se si esegue in Azure ML e si dispone del file msticpyconfig.yaml nella radice della cartella utente, MSTICPy troverà automaticamente queste impostazioni. Tuttavia, se si eseguono i notebook in un altro ambiente, seguire le istruzioni riportate in questa sezione per impostare una variabile di ambiente che punti 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.
Scegliere un percorso per il file msticpyconfig.yaml , ad esempio in ~/.msticpyconfig.yaml o %userprofile%/msticpyconfig.yaml.
Utenti di Azure ML: se si archivia il file di configurazione nella cartella utente di Azure ML, la funzione MSTICPy
init_notebook
(eseguita nella cella di inizializzazione) troverà e userà 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 di Azure ML.
Per altre informazioni, vedere Che cos'è un'istanza di calcolo di Azure Machine Learning?.
Se necessario, copiare il file msticpyconfig.yaml nel percorso selezionato.
Impostare la variabile di ambiente MSTICPYCONFIG in modo che punti a tale posizione.
Utilizzare una delle procedure seguenti per definire la variabile di ambiente MSTICPYCONFIG .
Ad esempio, per impostare la variabile di ambiente MSTICPYCONFIG nei sistemi Windows:
Spostare il file msticpyconfig.yaml nell'istanza di calcolo in base alle esigenze.
Aprire la finestra di dialogo Proprietà sistema nella scheda Avanzate .
Selezionare Variabili di ambiente per aprire la finestra di dialogo Variabili di ambiente.
Nell'area Variabili di sistema selezionare Nuovo e definire i valori come segue:
- Nome variabile: definire come
MSTICPYCONFIG
- Valore variabile: immettere il percorso del file msticpyconfig.yaml
- Nome variabile: definire come
Nota
Per le opzioni Linux e Windows, è necessario riavviare il server Jupyter per selezionare la variabile di ambiente definita.
Passaggi successivi
Per altre informazioni, vedi:
Oggetto | Altri riferimenti |
---|---|
MSTICPy | - Configurazione del pacchetto MSTICPy - Editor delle impostazioni MSTICPy - Configurazione dell'ambiente notebook. - Notebook MPSettingsEditor. Nota: il repository GitHub Azure-Sentinel-Notebooks contiene anche un file msticpyconfig.yaml di modello con sezioni impostate come commento, che possono essere utili per comprendere le impostazioni. |
Notebook di Microsoft Sentinel e Jupyter | - Creare il primo notebook di Microsoft Sentinel (serie di blog) - Notebook di Jupyter: introduzione - Documentazione di MSTICPy - Documentazione di Microsoft Sentinel Notebooks - Jupyterbook InfoSec - Procedura dettagliata del notebook di Esplora host Linux - Perché usare Jupyter per le indagini sulla sicurezza - Indagine della sicurezza con Microsoft Sentinel e Notebook - Documentazione di Pandas - Documentazione di Bokeh |