Расширенные конфигурации записных книжек Jupyter и MSTICPy в Microsoft Sentinel

В этой статье описывается, как настраивать параметры аутентификации для API Azure и Microsoft Sentinel, определять автоматическую загрузку провайдеров запросов и компонентов MSTICPy, управлять версиями ядра Python и настраивать переменные среды для вашего конфигурационного файла msticpyconfig.yaml при работе с ноутбуками Jupyter и MSTICPy в Microsoft Sentinel.

Дополнительные сведения см. в разделах Использование записных книжек Jupyter для поиска угроз безопасности и Начало работы с записными книжками Jupyter и MSTICPy в Microsoft Sentinel.

Предварительные условия

В этой статье рассматриваются продвинутые задачи конфигурации MSTICPy, включая установку параметров аутентификации, определение автоматической загрузки провайдеров и компонентов запросов, переключение ядер Python и настройку переменных среды для вашего файла msticpyconfig.yaml. Прежде чем начать, выполните шаги в разделах Jupyter notebooks и MSTICPy в Microsoft Sentinel.

Указание параметров проверки подлинности для API Azure и Microsoft Sentinel

Настройте параметры аутентификации для Microsoft Sentinel и других ресурсов Azure API в вашем файле msticpyconfig.yaml, используя следующие шаги.

Чтобы добавить параметры проверки подлинности Azure и параметры API Microsoft Sentinel в редакторе параметров MSTICPy:

  1. Перейдите к следующей ячейке со следующим кодом и выполните ее:

    mpedit.set_tab("Data Providers")
    mpedit
    
  2. На вкладке Поставщики данных выберите AzureCLI>Добавить.

  3. Выберите используемые методы проверки подлинности:

    • Хотя вы можете использовать набор методов, отличный от стандартных, это использование не является типичной конфигурацией. Дополнительные сведения см. в записной книжке Руководство по началу работы с записными книжками ML для Azure Sentinel.
    • Если вы не хотите использовать проверку подлинности переменной среды (env), оставьте поля clientId, tenantId и clientSecret пустыми.
    • Хотя не рекомендуется, MSTICPy также поддерживает использование идентификаторов и секретов клиентских приложений для проверки подлинности. В таких случаях определите поля clientId, tenantId и clientSecret непосредственно на вкладке Поставщики данных .
  4. Выберите Сохранить файл , чтобы сохранить изменения.

Определите поставщиков запросов для автозагрузки

Вы можете настроить MSTICPy так, чтобы он автоматически загружал определённые провайдеры запросов при запуске функции nbinit.init_notebook .

При частом создании новых записных книжек автоматическая загрузка поставщиков запросов может сэкономить время, гарантируя, что необходимые поставщики загружаются перед другими компонентами, такими как функции сводки и записные книжки.

Чтобы добавить поставщиков запросов с автоматической загрузкой:

  1. Перейдите к следующей ячейке со следующим кодом и выполните ее:

    mpedit.set_tab("Autoload QueryProvs")
    mpedit
    
  2. На вкладке Autoload QueryProv выполните следующие действия:

    • Для поставщиков Microsoft Sentinel укажите имя поставщика и имя рабочей области, к которой нужно подключиться.
    • Для других поставщиков запросов укажите только имя поставщика.

    Каждый поставщик также имеет следующие необязательные значения:

    • Автоматическое подключение: По умолчанию этот параметр определяется как True , и MSTICPy пытается пройти проверку подлинности у поставщика сразу после загрузки. MSTICPy предполагает, что вы настроили учетные данные для поставщика в параметрах.

    • Псевдоним: Когда MSTICPy загружает поставщика, он присваивает этому поставщику имя переменной Python. По умолчанию имя переменной qryworkspace_name для поставщиков Microsoft Sentinel и qryprovider_name для других поставщиков.

      Например, если вы загружаете поставщик запросов для рабочей области ContosoSOC, этот поставщик запросов создается в вашей среде блокнота с именем qry_ContosoSOC. Добавьте псевдоним, если вы хотите использовать что-то более короткое или удобное для ввода и запоминания. Имя переменной поставщика — qry_<alias>, где <alias> заменяется указанным именем псевдонима.

      Поставщики, загружаемые этим механизмом, также добавляются в атрибут MSTICPy current_providers , который используется, например, в следующем коде:

      import msticpy
      msticpy.current_providers
      
  3. Выберите Сохранить параметры , чтобы сохранить изменения.

Определение автоматически загруженных компонентов MSTICPy

Вы можете определить дополнительные компоненты, которые MSTICPy автоматически загружается при запуске функции nbinit.init_notebook .

Поддерживаемые компоненты включают в следующем порядке:

  1. TILookup: Библиотека поставщика TI, которую вы хотите использовать
  2. Geoip: Поставщик GeoIP, который вы хотите использовать
  3. AzureData: Модуль, используемый для запроса сведений о Azure ресурсах
  4. AzureSentinelAPI: Модуль, используемый для запроса API Microsoft Sentinel
  5. Ноутбуклеты: Ноутбуклеты из пакета msticnb
  6. Сводные таблицы: Функции сводных таблиц

Компоненты загружаются в указанном порядке, потому что Pivot-компонент требует запроса и загрузки других провайдеров, чтобы найти опорные функции, которые он прикрепляет к сущностям. Дополнительные сведения см. в документации по MSTICPy. Дополнительные сведения см. в записной книжке Руководство по началу работы с записными книжками ML для Azure Sentinel.

Чтобы определить автоматически загруженные компоненты MSTICPy, выполните следующие действия.

  1. Перейдите к следующей ячейке со следующим кодом и выполните ее:

    mpedit.set_tab("Autoload Components")
    mpedit
    
  2. На вкладке Автозагрузка компонентов определите все значения параметров при необходимости. Например, вы можете:

    • GeoIpLookup. Введите имя поставщика GeoIP, который вы хотите использовать: GeoLiteLookup или IPStack.

    • Компоненты AzureData и AzureSentinelAPI. Определите следующие значения:

      • auth_methods: Переопределите параметры по умолчанию для AzureCLI и подключитесь с помощью выбранных методов.
      • Автоматическое подключение: Установите значение false для загрузки без подключения.

      Дополнительные сведения см. в статье Указание параметров проверки подлинности для API Azure и Microsoft Sentinel.

    • Записные книжки. Компонент Notebooklets имеет один блок параметров: AzureSentinel.

      Укажите рабочую область Microsoft Sentinel с помощью следующего синтаксиса: workspace:\<workspace name>. Имя рабочей области должно быть одной из рабочих областей, определенных на вкладке Microsoft Sentinel.

      Если вы хотите добавить дополнительные параметры для отправки в функцию notebooklets init , укажите их как пары "ключ:значение", разделенные новыми строками. Например, вы можете:

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

      Дополнительные сведения см. в документации по MSTICNB (MSTIC Notebooklets).

    Некоторые компоненты, такие как TILookup и Pivot, не требуют никаких параметров.

  3. Выберите Сохранить параметры , чтобы сохранить изменения.

Переключение между ядрами Python 3.6 и 3.8

При переключении между ядрами Python 3.65 и 3.8 может оказаться, что MSTICPy и другие пакеты не устанавливаются должным образом.

Эта проблема с установкой может возникать, когда !pip install pkg команда устанавливается правильно в первой среде, но затем неправильно устанавливается во второй. Неудачная установка во второй среде означает, что эта среда не может импортировать или использовать пакет.

Не рекомендуется использовать !pip install... для установки пакетов в записных книжках машинного обучения Azure. Вместо этого используйте один из следующих вариантов:

  • Используйте магическую линию %pip в записной книжке. Запустить:

    
    %pip install --upgrade msticpy
    
  • Установка из терминала:

    1. Откройте терминал в записных книжках Машинное обучение Azure и выполните следующие команды:

      conda activate azureml_py38
      pip install --upgrade msticpy
      
    2. Закройте терминал и перезапустите ядро.

Установка переменной среды для файла msticpyconfig.yaml

Если вы работаете в Azure Машинного обучения и файл msticpyconfig.yaml находится в корневой папке пользователя, MSTICPy автоматически находит эти параметры. Однако, если вы запускаете блокноты в другой среде, установите переменную среды, которая указывает на расположение вашего конфигурационного файла, используя следующие шаги.

Определение пути к файлу msticpyconfig.yaml в переменной среды позволяет хранить файл в известном расположении и всегда загружать одни и те же параметры.

Используйте несколько файлов конфигурации с несколькими переменными среды, если вы хотите использовать разные параметры для разных записных книжек.

  1. Выберите расположение файла msticpyconfig.yaml , например в ~/.msticpyconfig.yaml или %userprofile%/msticpyconfig.yaml.

    Пользователи Azure ML: если вы храните файл конфигурации в папке пользователя Машинное обучение Azure, функция MSTICPy init_notebook (которая запускается в ячейке инициализации) автоматически находит и использует этот файл, и вам не нужно устанавливать переменную среды MSTICPYCONFIG.

    Однако если в файле также хранятся секреты, рекомендуется хранить файл конфигурации на локальном диске вычислений. Внутреннее хранилище вычислений доступно только пользователю, создавшему вычислительные ресурсы, в то время как общее хранилище доступно всем пользователям, имеющим доступ к рабочей области машинного обучения Azure.

    Дополнительные сведения см. в статье Что такое экземпляр вычислений Машинное обучение Azure?

  2. При необходимости скопируйте файл msticpyconfig.yaml в выбранное расположение.

  3. Задайте переменную среды MSTICPYCONFIG так, чтобы она указывала на это расположение.

Выберите одну из следующих вкладок для определения переменной среды MSTICPYCONFIG в Windows, Linux или Машинное обучение Azure.

Например, чтобы задать переменную среды MSTICPYCONFIG в системах Windows, выполните следующие действия:

  1. При необходимости переместите файл msticpyconfig.yaml в вычислительный экземпляр.

  2. Откройте диалоговое окно Свойства системы на вкладке Дополнительно .

  3. Выберите Переменные среды... , чтобы открыть диалоговое окно Переменные среды .

  4. В области Системные переменные выберите Создать...и определите значения следующим образом:

    • Имя переменной: определите как MSTICPYCONFIG
    • Значение переменной. Введите путь к файлу msticpyconfig.yaml .

Примечание.

Для опций Linux и Windows нужно перезапустить сервер Jupyter, чтобы сервер получил определенную вами переменную среды.

Дальнейшие действия

Дополнительные сведения см. в указанных ниже статьях.

Тема Дополнительные ссылки
MSTICPy - Конфигурация пакета MSTICPy
- Редактор параметров MSTICPy
- Настройка среды записной книжки.
- Записная книжка MPSettingsEditor.

Примечание. Репозиторий GitHub Azure-Sentinel-Notebooks также содержит файл шаблона msticpyconfig.yaml с закомментированными разделами, которые могут помочь вам понять параметры.
записные книжки Microsoft Sentinel и Jupyter - Создание первой записной книжки Microsoft Sentinel (серия блогов)
- Записные книжки Jupyter: введение
- Документация по MSTICPy
- Документация по записным книжкам Microsoft Sentinel
- Юпитербук Infosec
- Пошаговое руководство по записной книжке Host Explorer для узла Linux
- Зачем использовать Jupyter для расследований безопасности
- Расследования безопасности с Microsoft Sentinel и блокнотами
- Документация по Pandas
- Документация по Bokeh