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

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

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

Необходимые компоненты

Эта статья является продолжением статьи Учебник по началу работы с записными книжками Jupyter и MSTICPy в Microsoft Sentinel. Перед продолжением действий, описанных ниже, рекомендуется изучить учебник.

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

В этой процедуре описывается настройка параметров проверки подлинности для Microsoft Sentinel и других ресурсов API Azure в файле msticpyconfig.yaml.

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

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

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

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

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

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

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

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

Добавление автоматически загружаемых поставщиков запросов

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

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

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

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

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

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

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

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

      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. Notebooklets: средства выполнения записных книжек из пакета msticnb
  6. Pivot: функции сведения

Примечание.

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

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

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

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

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

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

      • auth_methods: переопределите параметры по умолчанию для Azure CLI и подключитесь с помощью выбранных методов.
      • Автоматическое подключение: задайте значение False для загрузки без подключения.

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

    • Notebooklets. Компонент 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 ML. Вместо этого используйте один из следующих вариантов:

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

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

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

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

Задание переменной среды для файла msticpyconfig.yaml

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

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

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

  1. Определите расположение файла msticpyconfig.yaml, например~/.msticpyconfig.yaml или %userprofile%/msticpyconfig.yaml.

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

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

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

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

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

Используйте одну из следующих процедур, чтобы определить переменную среды MSTICPYCONFIG.

Например, чтобы задать переменную среды 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 Notebooks
- Документация по MSTICPy
- Документация по записным книжкам Microsoft Sentinel
- Infosec Jupyterbook
- Пошаговое руководство по записной книжке обозревателя узла Linux
- Преимущества Jupyter для исследований, связанных с безопасностью
- Исследования безопасности с помощью Microsoft Sentinel и записных книжек
- Документация Pandas
- Документация Bokeh