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:

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

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

  3. 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).
  4. 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:

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

    mpedit.set_tab("Autoload QueryProvs")
    mpedit
    
  2. 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
      
  3. 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:

  1. TILookup: la biblioteca de proveedores de TI
  2. GeoIP: el proveedor de GeoIP que quiera 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: notebooklet del paquete msticnb
  6. 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:

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

    mpedit.set_tab("Autoload Components")
    mpedit
    
  2. 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.

  3. 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:

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

      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 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.

  1. 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?.

  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.

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:

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

  2. Abra el cuadro de diálogo Propiedades del sistema por la pestaña Avanzado.

  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 muestra a continuación:

    • Nombre de variable: defínalo como MSTICPYCONFIG
    • Valor de variable: escriba la ruta al archivo msticpyconfig.yaml.

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