Поделиться через


Расширенные конфигурации для записных книжек 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 Sentinel.
    • Если вы не хотите использовать аутентификацию через переменные среды, оставьте поля clientId, tenantId и 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: Notebooklets из пакета msticnb
  6. Pivot: функции сводных таблиц

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

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

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

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

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

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

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

    
    %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. Если вы храните файл конфигурации в папке пользователя Машинного обучения Azure, функция MSTICPy (выполняется в ячейке инициализации) автоматически находит и использует файл, и вам не нужно задать переменную среды MSTICPYCONFIGinit_notebook.

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

    Дополнительные сведения см. в статье Что такое вычислительный экземпляр Машинного обучения 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
- Руководство по использованию Notebook для Host Explorer на Linux
- Преимущества Jupyter для исследований, связанных с безопасностью
- Исследования безопасности с помощью Microsoft Sentinel и записных книжек
- Документация Pandas
- Документация Bokeh