Configuraciones avanzadas para cuadernos de Jupyter Notebook y MSTICPy en Microsoft Sentinel

En este artículo se describen las configuraciones avanzadas para trabajar con cuadernos de Jupyter Notebook 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 es una continuación de Introducción a los cuadernos de Jupyter y MSTICPy en Microsoft Sentinel. Se recomienda realizar el tutorial antes de continuar con los procedimientos avanzados descritos en este artículo.

Especificar 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 Azure autenticación y Microsoft Sentinel configuración de API 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 la Guía de Introducción para Azure Sentinel cuadernos de ML Notebooks.
    • A menos que quiera usar la autenticación env (variable de entorno), deje los campos clientId, tenantId y clientSecret vacíos.
    • 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

Defina los proveedores de consultas que quiera que MSTICPy se cargue automáticamente al ejecutar la nbinit.init_notebook función.

Cuando se crean con frecuencia nuevos cuadernos, la carga automática de proveedores de consultas puede ahorrar tiempo asegurándose de que los proveedores necesarios se cargan antes que otros componentes, como funciones dinámicas y cuadernos.

Para agregar proveedores de consultas de 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 carga un proveedor de consultas para el área de trabajo ContosoSOC , este proveedor de consultas se crea en el entorno del cuaderno 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

En este procedimiento se describe cómo definir otros componentes que MSTICPy carga automáticamente al ejecutar 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. Cuadernos: Cuadernos del paquete msticnb
  6. Pivote: Funciones dinámicas

Los componentes se cargan en este orden porque el componente dinámico necesita consultas y otros proveedores cargados para buscar las funciones dinámicas que asocia a las entidades. Para obtener más información, consulte la documentación de MSTICPy. Para obtener más información, consulte la Guía de Introducción para Azure Sentinel cuadernos de ML Notebooks.

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.

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

Esto puede ocurrir cuando el !pip install pkg comando se instala correctamente en el primer entorno, pero luego no se instala correctamente 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 Azure cuadernos de Machine Learning. En su lugar, use una de las siguientes opciones:

  • Use la magia 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 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 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.

    Azure usuarios de ML: si almacena el archivo de configuración en la carpeta de usuario de Azure Machine Learning, la función MSTICPy init_notebook (que se ejecuta en la celda de inicialización) busca y usa automáticamente el archivo y no es necesario 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.

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 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 variable: escriba la ruta de acceso al archivo msticpyconfig.yaml .

Nota:

En el caso de las opciones Linux y Windows, debe reiniciar el servidor de Jupyter para que seleccione la variable de entorno que definió.

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.
- Cuaderno 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.
cuadernos de Microsoft Sentinel y Jupyter - Crear el primer cuaderno de Microsoft Sentinel (serie de blogs)
- Cuadernos de Jupyter Notebook: introducción
- Documentación de MSTICPy
- documentación de Microsoft Sentinel Notebooks
- The Infosec Jupyterbook
- Linux tutorial de Cuaderno de Host Explorer
- Por qué usar Jupyter para investigaciones de seguridad
- Investigaciones de seguridad con cuadernos de Microsoft Sentinel &
- Documentación de Pandas
- Documentación de Bokeh