Гостевая статья Создание нескольких Azure Sentinel правил из шаблонов

Вступление
ИМХО, одна из самых больших проблем при настройке нового экземпляра Azure Sentinel заключается в том, что, хотя Microsoft предоставляет вам все эти великолепные шаблоны правил Analytic, вы должны выбирать каждый из них по одному, чтобы создать из них правило. Эти сценарии PowerShell помогут избежать этого.

Во-первых, есть команда PowerShell Export-AzSentinelAnalyticsRuleTemplates.ps1, которая берет код, использованный для чтения всех шаблонов правил Azure Sentinel Analytic, и экспортирует их в файл CSV. Этот CSV-файл будет иметь столбец, в котором вы можете поместить «X», чтобы обозначить, что вы хотите создать правило из него.

Затем существует второй сценарий PowerShell, NewAzSentinelAnalyticsRulesFromCSV.ps1, который будет читать этот CSV и создавать из него правила.

Есть несколько предостережений к этим скриптам:

1.Я не профессиональный разработчик PowerShell, поэтому я уверен, что есть более эффективные способы выполнения некоторых действий (например, создание файла CSV). Мне было бы интересно услышать о них, если таковые имеются.

2.По какой-то причине, которая ставит меня в тупик, при использовании этого кода для создания правил на основе шаблона Microsoft Security он никогда не показывается как используемый. Все остальные правила показываются. Также было бы интересно узнать, есть ли у кого-нибудь решение для этого.

3.Есть два правила, которые не срабатывают каждый раз. Этот не дает мне покоя! Я понятия не имею, есть ли в запросе что-то, что я не ловлю. Все остальное выглядит хорошо. Определенно хотел бы знать, если кто-нибудь выяснит это!

1.Командлеты Powershell Empire, видимые в командной строке

2.Конечная точка сети для размещения исполняемой корреляции

Нет проверки того, существуют ли требуемые источники данных. Есть новые REST API, чтобы помочь определить это, так что, возможно, в будущем. Пока вы просто получаете сообщение об ошибке и код продолжает выполняться.

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

Помните, что эти сценарии предполагают, что вы уже вошли в свою среду Azure и при необходимости выбрали соответствующую подписку.

Экспорт-AzSentinelAnalyticsRuleTemplates
Это длинное название, но оно описывает, что делает скрипт. Он выведет список всех шаблонов правил Azure Sentinel Analytic в файл CSV.

Это расширяет работу, проделанную в разделе "Работа с правилами Analytics, часть 1 - Шаблоны" ( ) путем экспорта информации в файл CSV. По пути выполняется несколько переводов. Время, как часто выполняется запрос и насколько глубоко он смотрит , преобразуется во что-то более читаемое. Текст порога правила также преобразуется. Обратите внимание, что это всего лишь основные преобразования, но они обрабатывают все в шаблонах.

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

Файл CSV также довольно прост. Он содержит следующие поля.

  • Selected
  • Severity
  • DisplayName
  • Kind
  • Name
  • Description
  • Tactics
  • Required Data Connectors
  • Rule Frequency
  • Rule Period
  • Rule Threshold
  • Status
Причина, по которой DisplayName не разделяется на два слова, заключается в том, что мне нужно получить к нему доступ в коде PowerShell, и это проще сделать таким образом.

Столбец Selected - это место, где вы должны поместить заглавную X, чтобы указать, что вы хотите создать правило из записи в файле CSV. На самом деле, это создание правила из списка шаблонов, которое также загружается в сценарий на случай, если файл CSV устарел.

Столбец «Имя» используется для сравнения списка шаблонов, так что не связывайтесь с ним! И столбец Kind используется для определения того, как нужно настроить тело вызова REST, поэтому оставьте его в покое.

New-AzSentinelAnalyticsRulesFromCSV
Этот код расширяет работу, проделанную в разделе Работа с правилами Analytics. Часть 3. Создание правила Fusion / ML ( ) и Работа с правилами Analytics. Часть 4. Создание правила безопасности Microsoft ( ), поскольку он берет код, необходимый для создания этих правил, и помещает их все в одно место.

Есть несколько новых строк кода, которые достаточно интересны для обсуждения.

PHP:
$fileContents = Import-csv  $FileName
$fileContents | ForEach-object {
    $selected = $_.Selected
    if ($selected.ToUpper() -eq "X") {
        $name = $_.Name
        $kind = $_.Kind
        $displayName = $_.DisplayName
        $template = $results | Where-Object { $_.name -eq $name }
            if ($null -ne $template) {

Описание строк

1. Считывает имя файла, которое передается как параметр, и читает все содержимое этого файла.

2. Перебирает все строки, которые были прочитаны

3. Читает первый столбец каждой строки, называется Selected

4. Проверяет, есть ли символ X в верхнем регистре, чтобы обозначить, что мы хотим создать правило из этого шаблона и продолжить, если он найден

5-7. Читает еще несколько переменных, которые нам нужны.

8. Выполняет поиск по всем шаблонам правил Analytics, загруженным ранее, и пытается сопоставить столбец «Name» из строки, считанной из файла CSV, с полем «Name» в списках шаблонов.

9. Продолжае выполнение, если у нас есть совпадение

Затем будет создано тело вызова REST, и вызов REST будет выполнен.

Весь код можно скачать с garybushey/AzSentinelAnalyticsRules.

 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!