Configuraciones avanzadas para cuadernos de Jupyter y MSTICPy en Microsoft Sentinel
En este artículo se describen las configuraciones avanzadas para trabajar con cuadernos de Jupyter y MSTICPy en Microsoft Sentinel.
Para obtener más información, vea Uso de cuadernos de Jupyter para buscar amenazas de seguridad y Tutorial: Introducción a los cuadernos de Jupyter y MSTICPy en Microsoft Sentinel.
Requisitos previos
Este artículo es una continuación del Tutorial: Introducción a los cuadernos de Jupyter y MSTICPy en Microsoft Sentinel. Se recomienda realizar el tutorial antes de continuar con los procedimientos avanzados que se describen a continuación.
Especificación de parámetros de autenticación para las API de Azure y Microsoft Sentinel
En este procedimiento se describe cómo configurar parámetros de autenticación para Microsoft Sentinel y otros recursos de API de Azure en el archivo msticpyconfig.yaml.
Para agregar la autenticación de Azure y la configuración de API de Microsoft Sentinel en el editor de configuraciones de MSTICPy:
Continúe a la celda siguiente, con el código siguiente y ejecútelo:
mpedit.set_tab("Data Providers") mpedit
En la pestaña Data Providers (Proveedores de datos), seleccione AzureCLI>Add (CLI de Azure > Agregar).
Seleccione los métodos de autenticación que se van a usar:
- Aunque puede usar un conjunto de métodos diferentes a los predeterminados de Azure, este uso no es una configuración típica.
- A menos que quiera usar la autenticación env (variable de entorno), deje vacíos los campos clientId, tenantiId y clientSecret.
- Aunque no se recomienda, MSTICPy también admite el uso de secretos e id. de aplicación cliente para la autenticación. En esos casos, defina los campos clientId, tenantId y clientSecret directamente en la pestaña Data Providers (Proveedores de datos).
Seleccione Save File (Guardar archivo) para guardar los cambios.
Definición de proveedores de consultas de carga automática
Defina los proveedores de consultas que quiera que MSTICPy cargue automáticamente al ejecutar la función nbinit.init_notebook
.
Si crea cuadernos con frecuencia, la carga automática de proveedores de consultas puede ahorrarle tiempo, ya que se asegura de que los proveedores necesarios se cargan antes que otros componentes, como las funciones dinámicas y los notebooklet.
Para agregar proveedores de consultas de carga automática:
Continúe a la celda siguiente, con el código siguiente y ejecútelo:
mpedit.set_tab("Autoload QueryProvs") mpedit
En la pestaña Autoload QueryProv (Carga automática del proveedor de consultas):
- Para proveedores de Microsoft Sentinel, especifique el nombre del proveedor y el nombre del área de trabajo a la que quiera conectarse.
- Para otros proveedores de consultas, especifique solo el nombre del proveedor.
Cada proveedor también tiene los siguientes valores opcionales:
Conexión automática: esta opción se define como True de forma predeterminada y MSTICPy intenta autenticarse en el proveedor inmediatamente después de la carga. MSTICPy supone que ha configurado las credenciales para el proveedor en la configuración.
Alias: cuando MSTICPy carga un proveedor, le asigna un nombre de variable de Python. De manera predeterminada, el nombre de la variable es qryworkspace_name para los proveedores de Microsoft Sentinel y qryprovider_name para otros proveedores.
Por ejemplo, si carga un proveedor de consultas para el área de trabajo ContosoSOC, se creará en el entorno del cuaderno con el nombre
qry_ContosoSOC
. Agregue un alias si quiere usar algo más corto o más fácil de escribir y recordar. El nombre de la variable de proveedor seráqry_<alias>
, donde<alias>
se reemplaza por el nombre de alias que haya proporcionado.Los proveedores que cargue mediante este mecanismo también se agregan al atributo
current_providers
de MSTICPy, que se usa, por ejemplo, en el código siguiente:import msticpy msticpy.current_providers
Seleccione Save Settings (Guardar configuración) para guardar los cambios.
Definición de componentes de MSTICPy cargados automáticamente
En este procedimiento se describe cómo definir otros componentes que MSTICPy carga automáticamente al ejecutar la función nbinit.init_notebook
.
Los componentes admitidos incluyen, en el orden siguiente:
- TILookup: la biblioteca de proveedores de TI
- GeoIP: el proveedor de GeoIP que quiera usar
- AzureData: módulo que se usa para consultar detalles sobre los recursos de Azure
- AzureSentinelAPI: módulo que se usa para consultar la API de Microsoft Sentinel
- Notebooklets: notebooklet del paquete msticnb
- Pivot: funciones dinámicas
Nota
Los componentes se cargan en este orden porque el componente Pivot necesita que se carguen los proveedores de consultas y el resto para buscar las funciones dinámicas que asocia a las entidades. Para obtener más información, vea la documentación de MSTICPy.
Para definir componentes de MSTICPy cargados automáticamente:
Continúe a la celda siguiente, con el código siguiente y ejecútelo:
mpedit.set_tab("Autoload Components") mpedit
En la pestaña Autoload Components (Carga automática de componentes), defina los valores de parámetro necesarios. Por ejemplo:
GeoIpLookup. Escriba el nombre del proveedor de GeoIP que quiera usar, ya sea GeoLiteLookup o IPStack. Para obtener más información, vea Adición de valores de proveedor de GeoIP.
Componentes AzureData y AzureSentinelAPI. Defina los valores siguientes:
- auth_methods: invalide la configuración predeterminada de AzureCLI y conéctese mediante los métodos seleccionados.
- Conexión automática: se establece en false para realizar la carga sin conectarse.
Para obtener más información, consulte Especificación de parámetros de autenticación para las API de Azure y Microsoft Sentinel.
Notebooklets. El componente Notebooklets tiene un único bloque de parámetros: AzureSentinel.
Especifique el área de trabajo de Microsoft Sentinel mediante la sintaxis siguiente:
workspace:\<workspace name>
. El nombre del área de trabajo debe ser una de las definidas en la pestaña Microsoft Sentinel.Si quiere agregar más parámetros para enviar a la función
notebooklets init
, debe especificarlos como pares clave-valor, separados por nuevas líneas. Por ejemplo:workspace:<workspace name> providers=["LocalData","geolitelookup"]
Para obtener más información, vea la documentación de MSTICNB (MSTIC Notebooklets).
Algunos componentes, como TILookup y Pivot, no necesitan ningún parámetro.
Seleccione Save Settings (Guardar configuración) para guardar los cambios.
Cambio entre los kernels de Python 3.6 y 3.8
Si va a cambiar entre los kernels de Python 3.65 y 3.8, es posible que MSTICPy y otros paquetes no se instalen según lo previsto.
Esto puede ocurrir cuando el comando !pip install pkg
se instala correctamente en el primer entorno, pero después no lo hace en el segundo. Esto crea una situación en la que el segundo entorno no puede importar ni usar el paquete.
Se recomienda no usar !pip install...
para instalar paquetes en cuadernos de Azure Machine Learning. En su lugar, use una de las opciones siguientes:
Use la magic de línea %pip dentro de un cuaderno. Ejecute:
%pip install --upgrade msticpy
Instalación desde un terminal:
Abra un terminal en los cuadernos de Azure Machine Learning y ejecute los comandos siguientes:
conda activate azureml_py38 pip install --upgrade msticpy
Cierre el terminal y reinicie el kernel.
Establecimiento de una variable de entorno para el archivo msticpyconfig.yaml
Si realiza la ejecución en Azure Machine Learning y tiene el archivo msticpyconfig.yaml en la raíz de la carpeta de usuario, MSTICPy encontrará automáticamente esta configuración. Pero si ejecuta los cuadernos en otro entorno, siga las instrucciones de esta sección para establecer una variable de entorno que apunte a la ubicación del archivo de configuración.
La definición de la ruta al archivo msticpyconfig.yaml en una variable de entorno le permite almacenar el archivo en una ubicación conocida y asegurarse de cargar siempre la misma configuración.
Use varios archivos de configuración, con varias variables de entorno, si quiere utilizar otra configuración para otros cuadernos.
Decida una ubicación para el archivo msticpyconfig.yaml, como ~/.msticpyconfig.yaml o %userprofile%/msticpyconfig.yaml.
Usuarios de Azure Machine Learning: si almacena el archivo de configuración en la carpeta de usuario de Azure Machine Learning, la función
init_notebook
de MSTICPy (que se ejecuta en la celda de inicialización) buscará y usará automáticamente el archivo, y no tendrá que establecer una variable de entorno MSTICPYCONFIG.Pero si también tiene secretos almacenados en el archivo, se recomienda almacenar el archivo de configuración en la unidad local de proceso. El almacenamiento interno del proceso solo es accesible para el creador del proceso, mientras que el almacenamiento compartido es accesible para todo el que tenga acceso al área de trabajo de Azure Machine Learning.
Para obtener más información, vea ¿Qué es una instancia de proceso de Azure Machine Learning?.
Si es necesario, copie el archivo msticpyconfig.yaml en la ubicación seleccionada.
Establezca la variable de entorno MSTICPYCONFIG para que apunte a esa ubicación.
Use uno de los procedimientos siguientes para definir la variable de entorno MSTICPYCONFIG.
Por ejemplo, para establecer la variable de entorno MSTICPYCONFIG en sistemas Windows:
Mueva el archivo msticpyconfig.yaml a la instancia de proceso según sea necesario.
Abra el cuadro de diálogo Propiedades del sistema por la pestaña Avanzado.
Seleccione Variables de entorno... para abrir el cuadro de diálogo Variables de entorno.
En el área Variables del sistema, seleccione Nuevo... y defina los valores como se muestra a continuación:
- Nombre de variable: defínalo como
MSTICPYCONFIG
- Valor de variable: escriba la ruta al archivo msticpyconfig.yaml.
- Nombre de variable: defínalo como
Nota
Para las opciones Linux y Windows, tendrá que reiniciar el servidor de Jupyter para que seleccione la variable de entorno que ha definido.
Pasos siguientes
Para más información, consulte:
Firmante | Más referencias |
---|---|
MSTICPy | - Configuración del paquete MSTICPy - Editor de configuraciones de MSTICPy - Configuración del entorno de Notebook. - Cuaderno MPSettingsEditor. Nota: El repositorio Azure-Sentinel-Notebooks de GitHub también contiene un archivo msticpyconfig.yaml de plantilla con secciones comentadas, lo que puede ayudarle a comprender la configuración. |
Microsoft Sentinel y cuadernos de Jupyter | - Cree su primer cuaderno Microsoft Sentinel (Serie de Blog) - Cuadernos de Jupyter: introducción - Documentación de MSTICPy - Documentación de cuadernos de Microsoft Sentinel - The Infosec Jupyterbook - Tutorial del Cuaderno del Explorador de host de Linux - Por qué usar Jupyter para investigaciones de seguridad - Investigaciones de seguridad con Microsoft Sentinel y Notebooks - Documentación de Pandas - Documentación de Bokeh |