Configuraciones avanzadas para cuadernos de Jupyter y MSTICPy en Microsoft Sentinel

Este artículo describe cómo configurar parámetros de autenticación para las APIs de Azure y Microsoft Sentinel, definir proveedores de consulta y componentes MSTICPy que se cargan automáticamente, gestionar versiones del kernel de Python y establecer variables de entorno para tu archivo de configuración msticpyconfig.yaml al trabajar con cuadernos Jupyter y MSTICPy en Microsoft Sentinel.

Para obtener más información, consulte Uso de cuadernos de Jupyter Notebook para buscar amenazas de seguridad y Introducción a los cuadernos de Jupyter Notebook y MSTICPy en Microsoft Sentinel.

Requisitos previos

Este artículo aborda tareas avanzadas de configuración de MSTICPy, incluyendo la configuración de parámetros de autenticación, la definición de proveedores y componentes de consulta que se autocargan, el cambio de núcleos en Python y la configuración de variables de entorno para tu archivo msticpyconfig.yaml. Antes de empezar, completa los pasos en Empezar con los portátiles Jupyter y MSTICPy en Microsoft Sentinel.

Especificar parámetros de autenticación para las API de Azure y Microsoft Sentinel

Configura los parámetros de autenticación para Microsoft Sentinel y otros recursos de la API de Azure en tu archivo msticpyconfig.yaml usando los siguientes pasos.

Para agregar la autenticación de Azure y la configuración de la API de Microsoft Sentinel en el editor de configuración de MSTICPy:

  1. Continúe con la celda siguiente, con el código siguiente, y ejecútelo:

    mpedit.set_tab("Data Providers")
    mpedit
    
  2. En la pestaña Proveedores de datos, seleccione Agregar AzureCLI>.

  3. Seleccione los métodos de autenticación que se van a usar:

    • Aunque puede usar un conjunto diferente de métodos de los valores predeterminados, este uso no es una configuración típica. Para obtener más información, consulte el cuaderno Guía de introducción a los cuadernos de ML de Azure Sentinel.
    • A menos que quiera usar la autenticación de variables de entorno (env), deje vacíos los campos clientId, tenantId y clientSecret .
    • Aunque no se recomienda, MSTICPy también admite el uso de identificadores de aplicación cliente y secretos para la autenticación. En tales casos, defina los campos clientId, tenantId y clientSecret directamente en la pestaña Proveedores de datos .
  4. Seleccione Guardar archivo para guardar los cambios.

Definición de proveedores de consultas de carga automática

Puedes configurar MSTICPy para que cargue automáticamente proveedores de consultas específicos cuando ejecutes la nbinit.init_notebook función.

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 añadir proveedores de consultas con carga automática:

  1. Continúe con la celda siguiente, con el código siguiente, y ejecútelo:

    mpedit.set_tab("Autoload QueryProvs")
    mpedit
    
  2. En la pestaña Carga automática de QueryProv :

    • Para los proveedores de Microsoft Sentinel, especifique el nombre del proveedor y el nombre del área de trabajo al que desea 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, asigna el proveedor a un nombre de variable de Python. De forma predeterminada, el nombre de la variable se qryworkspace_name para los proveedores de Microsoft Sentinel y qryprovider_name para otros proveedores.

      Por ejemplo, si se carga un proveedor de consultas para el espacio de trabajo ContosoSOC, este proveedor de consultas se crea en el entorno del cuaderno de notas con el nombre qry_ContosoSOC. Agregue un alias si desea usar algo más corto o más fácil de escribir y recordar. El nombre de la variable de proveedor es qry_<alias>, donde <alias> se reemplaza por el nombre de alias que proporcionó.

      Los proveedores que se cargan mediante este mecanismo también se agregan al atributo MSTICPy current_providers , que se usa, por ejemplo, en el código siguiente:

      import msticpy
      msticpy.current_providers
      
  3. Seleccione Guardar configuración para guardar los cambios.

Definición de componentes de MSTICPy cargados automáticamente

Puedes definir componentes adicionales que MSTICPy cargue automáticamente cuando ejecutas la nbinit.init_notebook función.

Los componentes admitidos incluyen, en el orden siguiente:

  1. TILookup: La biblioteca de proveedores de TI que desea usar
  2. GeoIP: Proveedor de GeoIP que desea usar
  3. AzureData: Módulo que se usa para consultar detalles sobre los recursos de Azure
  4. AzureSentinelAPI: Módulo que se usa para consultar la API de Microsoft Sentinel
  5. Notebooklets: notebooklets del paquete msticnb
  6. Tabla dinámica: Funciones de tabla dinámica

Los componentes se cargan en el orden indicado porque el componente pivote necesita consulta y otros proveedores cargados para encontrar las funciones pivote que adjunta a las entidades. Para obtener más información, consulte la documentación de MSTICPy. Para obtener más información, consulte el cuaderno Guía de introducción a los cuadernos de ML de Azure Sentinel.

Para definir componentes de MSTICPy cargados automáticamente:

  1. Continúe con la celda siguiente, con el código siguiente, y ejecútelo:

    mpedit.set_tab("Autoload Components")
    mpedit
    
  2. En la pestaña Componentes de carga automática , defina los valores de parámetro según sea necesario. Por ejemplo:

    • GeoIpLookup. Escriba el nombre del proveedor de GeoIP que desea usar, ya sea GeoLiteLookup o IPStack.

    • 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: Establézcalo en false para cargar sin conectarse.

      Para obtener más información, vea Especificar 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 con la sintaxis siguiente: workspace:\<workspace name>. El nombre del área de trabajo debe ser una de las áreas de trabajo definidas en la pestaña Microsoft Sentinel.

      Si desea agregar más parámetros para enviar a la notebooklets init función, especifíquelos como pares key:value, separados por líneas nuevas. Por ejemplo:

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

      Para obtener más información, consulte la documentación de MSTICNB (cuadernos de MSTIC).

    Algunos componentes, como TILookup y Pivot, no requieren parámetros.

  3. Seleccione Guardar configuración para guardar los cambios.

Cambio entre kernels de Python 3.6 y 3.8

Si va a cambiar entre kernels de Python 3.65 y 3.8, es posible que MSTICPy y otros paquetes no se instalen según lo esperado.

Este problema de instalación puede ocurrir cuando el !pip install pkg comando se instala correctamente en el primer entorno, pero luego no se instala correctamente en el segundo. La instalación fallida en el segundo entorno significa que ese entorno no puede importar ni usar el paquete.

Le recomendamos que no use !pip install... para instalar paquetes en cuadernos de Azure Machine Learning. En su lugar, use una de las siguientes opciones:

  • Utilice el comando mágico de línea %pip dentro de un cuaderno. Ejecute:

    
    %pip install --upgrade msticpy
    
  • Instalar desde un terminal:

    1. Abra un terminal en Azure cuadernos de Machine Learning y ejecute los siguientes comandos:

      conda activate azureml_py38
      pip install --upgrade msticpy
      
    2. Cierre el terminal y reinicie el kernel.

Establecimiento de una variable de entorno para el archivo msticpyconfig.yaml

Si ejecuta en Azure Machine Learning y tiene el archivo msticpyconfig.yaml en la raíz de la carpeta de usuario, MSTICPy busca automáticamente esta configuración. Sin embargo, si ejecutas los cuadernos en otro entorno, establece una variable de entorno que apunte a la ubicación de tu archivo de configuración siguiendo los siguientes pasos.

La definición de la ruta de acceso 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 desea usar valores diferentes para distintos cuadernos.

  1. Decida una ubicación para el archivo msticpyconfig.yaml , como en ~/.msticpyconfig.yaml o %userprofile%/msticpyconfig.yaml.

    Usuarios de Azure ML: si guarda el archivo de configuración en la carpeta de usuario de Azure Machine Learning, la función de MSTICPy init_notebook (que se ejecuta en la celda de inicialización) detecta y usa automáticamente el archivo, y no necesita establecer una variable de entorno MSTICPYCONFIG.

    Sin embargo, 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 de proceso solo es accesible para la persona que creó el proceso, mientras que el almacenamiento compartido es accesible para cualquier persona con acceso al área de trabajo de Machine Learning Azure.

    Para obtener más información, consulte ¿Qué es una instancia de proceso de Machine Learning Azure?.

  2. Si es necesario, copie el archivo msticpyconfig.yaml en la ubicación seleccionada.

  3. Establezca la variable de entorno MSTICPYCONFIG para que apunte a esa ubicación.

Selecciona una de las siguientes pestañas para definir la variable de entorno MSTICPYCONFIG en Windows, Linux o Azure Machine Learning.

Por ejemplo, para establecer la variable de entorno MSTICPYCONFIG en sistemas Windows:

  1. Mueva el archivo msticpyconfig.yaml a la instancia de Compute según sea necesario.

  2. Abra el cuadro de diálogo Propiedades del sistema en la pestaña Opciones avanzadas .

  3. Seleccione Variables de entorno... para abrir el cuadro de diálogo Variables de entorno .

  4. En el área Variables del sistema , seleccione Nuevo...y defina los valores como se indica a continuación:

    • Nombre de la variable: definir como MSTICPYCONFIG
    • Valor de la variable: Escriba la ruta de acceso al archivo msticpyconfig.yaml.

Nota:

Para las opciones de Linux y Windows, necesitas reiniciar tu servidor Jupyter para que el servidor detecte la variable de entorno que definiste.

Siguientes pasos

Para más información, vea:

Asunto Más referencias
MSTICPy - Configuración del paquete de MSTICPy
- Editor de configuración de MSTICPy
- Configuración del entorno de Notebook.
- Bloc de notas de MPSettingsEditor.

Nota: El repositorio de GitHub Azure-Sentinel-Notebooks también contiene un archivo msticpyconfig.yaml de plantilla con secciones comentadas, lo que podría ayudarle a comprender la configuración.
Microsoft Sentinel y notebooks de Jupyter - Crear el primer cuaderno de Microsoft Sentinel (serie de blogs)
- Jupyter Notebooks: Una introducción
- Documentación de MSTICPy
- documentación de Microsoft Sentinel Notebooks
- El Jupyterbook de Infosec
- Recorrido por Linux Host Explorer Notebook
- Por qué usar Jupyter para investigaciones de seguridad
- Investigaciones de seguridad con Microsoft Sentinel & Notebooks
- Documentación de Pandas
- Documentación de Bokeh