Ресурсы для создания пользовательских соединителей Microsoft Sentinel

Microsoft Sentinel предоставляет широкий спектр встроенных соединителей для служб Azure и внешних решений, а также поддерживает прием данных из некоторых источников без выделенного соединителя.

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

Полный список поддерживаемых соединителей см. в записи блога Microsoft Sentinel: общие сведения о соединителях (CEF, Syslog, прямой, агент, пользовательский и другие).

Сравнение методов создания пользовательских соединителей

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

Описание метода Функция Бессерверные приложения Сложность
Codeless Connector Platform (CCP)
Лучше подходит для менее технически подкованных пользователей. Позволяет создавать соединители SaaS с помощью файла конфигурации, а не путем написания кода.
Поддерживает все возможности, доступные в коде. Да Низкий; простая разработка без написания кода
Агент Log Analytics
Лучше всего подходит для сбора файлов из локальной среды и источников IaaS
Только сбор файлов Нет Низкий
Logstash
Лучше всего подходит для локальных источников и IaaS, любого источника, для которого доступен подключаемый модуль, и организаций, уже знакомых с Logstash
Доступные подключаемые модули, а также возможности пользовательских подключаемых модулей обеспечивают значительную гибкость. Нет; требуется запустить виртуальную машину или кластер виртуальной машины Низкий; поддерживает множество сценариев с подключаемыми модулями
Logic Apps
Высокая стоимость; не подходит для больших объемов данных
Лучше всего подходит для облачных источников с малыми объемами данных
Программирование без написания кода обеспечивает ограниченную гибкость, без поддержки реализации алгоритмов.

Если доступные действия не поддерживают ваши требования, создание пользовательского действия может усложнить работу.
Да Низкий; простая разработка без написания кода
PowerShell
Лучше всего подходит для создания прототипов и периодической отправки файлов
Прямая поддержка сбора файлов.

PowerShell можно использовать для сбора файлов из большего числа источников, но для этого потребуется написание кода и настройка сценария как службы.
Нет Низкий
API Log Analytics
Подходит для независимых поставщиков программных продуктов, реализующих интеграцию, и для удовлетворения уникальных требований к сбору
Поддерживает все возможности, доступные в коде. Зависит от реализации Высокий
Функции Azure
Лучше всего подходят для облачных источников с большим объемом данных и удовлетворения уникальных требований к сбору
Поддерживает все возможности, доступные в коде. Да Высокий; требуются знания в области программирования

Совет

Сравнение использования Logic Apps и функций Azure для одного и того же соединителя см. в следующих статьях:

Подключение к платформе Codeless Connector Platform

Codeless Connector Platform (CCP) предоставляет файл конфигурации, который может использоваться как клиентами, так и партнерами, а затем развертываться в вашей рабочей области или как решения для коллекции Microsoft Sentinel.

Соединители, созданные с помощью CCP, являются решениями SaaS и не требуют установки служб, зато включают мониторинг работоспособности и полную поддержку Microsoft Sentinel.

Дополнительные сведения см. в статье Создание соединителя без кода для Microsoft Sentinel.

Подключение с помощью агента Log Analytics

Если источник данных доставляет события в файлы, для создания пользовательского соединителя рекомендуется использовать агент Azure Monitor Log Analytics.

Подключение с помощью Logstash

Если вы знакомы с Logstash, вам может потребоваться использовать Logstash с подключаемым модулем вывода Logstash для Microsoft Sentinel для создания пользовательского соединителя.

С помощью подключаемого модуля вывода Microsoft Sentinel Logstash можно использовать любые подключаемые модули ввода и фильтрации Logstash, а также настроить Microsoft Sentinel на вывод данных конвейера Logstash. Logstash имеет обширную библиотеку подключаемых модулей, которая позволяет вводить данные из различных источников, таких как центры событий, Apache Kafka, файлы, базы данных и облачные службы. Используйте подключаемые модули фильтрации для анализа событий, фильтрации ненужных событий, маскировки значений и многого другого.

Примеры использования Logstash в качестве пользовательского соединителя см. в следующих статьях:

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

Совет

Logstash также поддерживает масштабируемый сбор данных с помощью кластера. Дополнительные сведения см. в статье Использование виртуальной машины Logstash с балансировкой нагрузки в большом масштабе.

Подключение с помощью Logic Apps

Используйте Azure Logic Apps, чтобы создать бессерверный пользовательский соединитель для Microsoft Sentinel.

Примечание

При создании бессерверных соединителей, использующих Logic Apps, использование Logic Apps для соединителей может оказаться дорогостоящим при больших объемах данных.

Этот метод рекомендуется использовать только для источников данных с низким объемом данных или для обогащения передаваемых данных.

  1. Используйте один из следующих триггеров для запуска Logic Apps:

    Триггер Описание
    Повторяющаяся задача Например, спланируйте регулярное получение данных приложением логики из конкретных файлов, баз данных или внешних API.
    Дополнительные сведения см. в статье Создание, планирование и выполнение повторяющихся задач и рабочих процессов с помощью Azure Logic Apps.
    Активация по запросу Запустите приложение логики по запросу для ручного сбора и тестирования данных.
    Дополнительные сведения см. в статье Вызов, активация и вложение приложений логики с помощью конечных точек HTTPS.
    Конечная точка HTTP/S Рекомендуется для потоковой передачи, а также в случае, если исходная система может начать передачу данных.
    Дополнительные сведения см. в статье Вызов конечных точек службы по протоколу HTTP или HTTPS.
  2. Используйте любой из соединителей приложения логики, считывающих данные для получения событий. Пример.

    Совет

    Пользовательские соединители для интерфейсов REST API, серверов SQL и файловых систем также поддерживают извлечение данных из локальных источников данных. Дополнительные сведения см. в статье Установка локального шлюза данных.

  3. Подготовьте сведения, которые необходимо получить.

    Например, проанализируйте действие JSON для доступа к свойствам в содержимом JSON, что позволяет выбрать эти свойства из списка динамического содержимого при указании входных данных для приложения логики.

    Дополнительные сведения см. в разделе Выполнение операций с данными в Azure Logic Apps.

  4. Запишите данные в Log Analytics.

    Дополнительные сведения см. в документации по Сборщику данных Azure Log Analytics.

Примеры создания пользовательского соединителя для Microsoft Sentinel с помощью Logic Apps см. в следующих статьях:

Подключение с помощью PowerShell

Сценарий PowerShell Upload-AzMonitorLog позволяет использовать PowerShell для потоковой передачи событий или контекстной информации в Microsoft Sentinel из командной строки. Такая потоковая передача эффективно создает пользовательский соединитель между источником данных и Microsoft Sentinel.

Например, следующий сценарий передает CSV-файл в Microsoft Sentinel:

Import-Csv .\testcsv.csv
| .\Upload-AzMonitorLog.ps1
-WorkspaceId '69f7ec3e-cae3-458d-b4ea-6975385-6e426'
-WorkspaceKey $WSKey
-LogTypeName 'MyNewCSV'
-AddComputerName
-AdditionalDataTaggingName "MyAdditionalField"
-AdditionalDataTaggingValue "Foo"

Сценарий PowerShell Upload-AzMonitorLog использует следующие параметры:

Параметр Описание
WorkspaceId Идентификатор рабочей области Microsoft Sentinel, где будут храниться данные. Поиск идентификатора и ключа рабочей области.
WorkspaceKey Первичный или вторичный ключ для рабочей области Microsoft Sentinel, в которой будут храниться данные. Поиск идентификатора и ключа рабочей области.
LogTypeName Имя пользовательской таблицы журнала, в которой необходимо хранить данные. Суффикс _CL будет автоматически добавлен в конец имени таблицы.
AddComputerName Если этот параметр существует, сценарий добавляет имя текущего компьютера в каждую запись журнала в поле Компьютер.
TaggedAzureResourceId Если этот параметр существует, сценарий связывает все отправленные записи журнала с указанным ресурсом Azure.

Эта связь разрешает загруженные записи журналов для запросов в контексте ресурсов и осуществляет ресурсоориентированный доступ на основе ролей.
AdditionalDataTaggingName Если этот параметр существует, сценарий добавляет еще одно поле в каждую запись журнала с настроенным именем и значением, настроенным для параметра AdditionalDataTaggingValue.

В этом случае параметр AdditionalDataTaggingValue не должен быть пустым.
AdditionalDataTaggingValue Если этот параметр существует, сценарий добавляет еще одно поле в каждую запись журнала с настроенным значением и именем поля, настроенным для параметра AdditionalDataTaggingName.

Если параметр AdditionalDataTaggingName пуст, но задано значение, то имя поля по умолчанию — это DataTagging.

Поиск идентификатора и ключа рабочей области

Найдите сведения о параметрах WorkspaceID и WorkspaceKey в Microsoft Sentinel:

  1. В Microsoft Sentinel нажмите Параметры слева и перейдите на вкладку Параметры рабочей области.

  2. В разделе Начало работы с Log Analytics>1 Подключение к источнику данных выберите Управление агентами Windows и Linux.

  3. Найдите идентификатор рабочей области, первичный ключ и вторичный ключ на вкладках Серверы Windows.

Подключение с помощью API Log Analytics

Вы можете передавать события в Microsoft Sentinel с помощью API сборщика данных Log Analytics, чтобы напрямую вызвать конечную точку RESTful.

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

Дополнительные сведения см. в разделе API сборщика данных Log Analytics, особенно в следующих примерах:

Соединение с Функциями Azure

Используйте функции Azure совместно с API RESTful и различными языками программирования, такими как PowerShell, для создания бессерверного пользовательского соединителя.

Примеры этого метода приведены в статьях:

Анализ данных пользовательского соединителя

Чтобы воспользоваться преимуществами данных, собранных с помощью пользовательского соединителя, разработайте средства синтаксического анализа расширенной модели информационной безопасности (ASIM) для работы с соединителем. Использование ASIM позволяет встроенному содержимому Microsoft Sentinel использовать пользовательские данные и упрощает запрос данных для аналитиков.

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

  • Если вы использовали Logstash, используйте подключаемый модуль фильтра Grok для анализа данных.
  • Если вы использовали функцию Azure, проанализируйте данные с помощью кода.

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

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

Используйте данные, полученные в Microsoft Sentinel, чтобы защитить среду с помощью любого из следующих процессов:

Кроме того, изучите пример создания пользовательского соединителя для отслеживания Zoom: Отслеживание Zoom с помощью Microsoft Sentinel.