![](https://cdn.prod.website-files.com/63c8db5ffd47ecd84a8a21b8/644bbd4d6ccf19c361fc9fe9_Hover%20image%20white.jpg)
SOAR vs. Scripts
Отказываемся от скриптов в пользу SOAR, описывая процессы в блок-схемах и одновременно их автоматизируя. Помогает в этом наш экспертный автор Александр Кольник, Инженер-аналитик SOC PS Cloud Services.
Читается за
В этой статье я хочу показать насколько SOAR удобнее, проще, понятнее и надежнее скриптов. Для этого будет использоваться продукт n8n, который тоже можно отнести к SOAR, так как с помощью него можно взаимодействовать с продуктами ИБ в том числе.
SOAR я сравниваю с самописными скриптами потому что, зачастую, когда в работе появляются рабочие, хорошо описанные процессы, самым быстрым способом их автоматизации является написание скриптов.
Так как я работаю в SOC, одним из главных процессов, который стоит автоматизировать в первую очередь, – процесс уведомления о сработавших правилах SIEM в мессенджер (например, Telegram). На примере этого процесса я и буду показывать плюсы и минусы использования SOAR.
Внешний вид. Или построение логики в виде блок-схемы
Сравним максимально простой процесс, который получает из Elasticsearch события за последнюю минуту и отправляет краткую информацию о нем в Telegram:
![](https://cdn.prod.website-files.com/63c8db5ffd47ec8ec68a21d6/669f55a8824859b345c92971_AD_4nXf23blaJ1hgyMk8H3np2VUVCjRNICD7XLVo348fAQ7jj2ZRNzY0qQfXr7yqwaeF_Ui1ZxgQUZjKx1oRBMUJGJy0YuTzP6kA38zn1-pH8B0-4GTc_kV8Iaf5NFQ35bKZ4f3l2CtE6uPfnLheCM9cKV9yoTBY.jpeg)
> Сравнение процесса написанного в виде скрипта на Python и в SOAR (n8n)
В SOAR процесс выглядит как документ, который описывает в целом процесс, а не только автоматизирует его, что позволяет хранить информации о процессе прямо в нем. Также здесь доступны стикеры, в которых можно записывать комментарии и "клеить" их в любое место плейбука.
Из плюсов:
* SOAR позволяет наглядно разбить весь процесс на подпроцессы (блоки), например, получение событий из Elasticsearch и отправка сообщения в Telegram – это 2 отдельных блока.
* Все параметры, связанные с подпроцессом, спрятаны в блоке, что позволяет четко видеть логику всего процесса.
* Все необходимые библиотеки и вся техническая часть нас не волнует, мы вводим только необходимые данные в выделенные поля.
Из минусов:
* Одному блоку в SOAR может равняться как целая функция, так и однострочная команда.
* Информация переходит от блока к блоку, в случае необходимости использования информации из разных блоков их следует объединить специальным блоком.
Секреты (учетные данные)
SOAR имеет свое хранилище секретов, куда могут входить учетные записи, ключи, сертификаты, токены и тд.
> Пример учетной записи для Elasticsearch
![](https://cdn.prod.website-files.com/63c8db5ffd47ec8ec68a21d6/669f55a8ea6090f2e73e4a17_AD_4nXcsSwJCAEdfsnAb3P6pglZLaoPOIANtAzeRqVMK8TQLnV210lnTi-c3Q6B_C3-3paivpCJ5uN_Wjz0xp8ZXVy92T0QzSyYS6WKd-rjPUBZvsgXCx-0xBp8dxw5QtjBRb50lNF4gSIC7Juv7jGNHzEkAWxnZSX20xUuy3ZXINA.png)
Каждый секрет привязывается к конкретному типу блока (Elasticsearch, Telegram и др.), который, в свою очередь, может также включать URL или IP+порт, версию API, игнор SSL (вкл, выкл) и другие.
Из плюсов:
* SOAR избавляет нас от решения проблем хранения секретов.
* Все процессы обращаются в базу секретов, соответственно изменение пароля в хранилище отражается на всех процессах.
Из минусов:
* Каждый блок жестко привязан к секрету, – использовать один блок для нескольких учетных записей или для нескольких хостов нельзя, придется использовать несколько одинаковых блоков с разными секретами.
* Редкий случай, если один и тот же секрет используется в разных типах блока, например Elasticsearch и Elastic Security – это 2 разных типа блоков, придется этот секрет дублировать.
Логирование. Или постоянный режим дебага
В первом пункте я показал пример скрипта для простого процесса, но в нем нет части кода, который бы отвечал за логирование работы скрипта. Добавление логирования сильно наращивает код и делает его менее читаемым.
![](https://cdn.prod.website-files.com/63c8db5ffd47ec8ec68a21d6/669f55a8477efc58c518e445_AD_4nXchXIVzMWpxVW1aDUudKNv4paJAMkJ5fF32H3Qq_IazaCdSltR-l0SWxNJNA9kn61S-ZOv4qTJ32VXxIgKBe-js5by1-6MtmAkY-7PbK1fvIjT_keAotNzfkDYQu3lgOoxMmCmSouUvpxsdekKvRelg0ddV.png)
< Иллюстрация загромождения основного кода
В случае использования SOAR все сработки указанного процесса хранятся в отдельной вкладке, где можно увидеть каждый отработанный процесс каждого блока, то есть каждый этап – какие данные входили и выходили. Это очень сильно помогает при анализе проблем работы процесса.
> Вкладка с отработанными процессами
![](https://cdn.prod.website-files.com/63c8db5ffd47ec8ec68a21d6/669f55a83685ff4858f0b13e_AD_4nXfDjCVcegxuvtJ4zX9O_xfQIUIDOewOvIaCYO7tlUgZAsogzJqLd7PfRV9OXJg8sNjU9QIha77TKH5Ur1Q7DSCvqYR3PQaHnkiSlu-SE6ANd4aHrwX65DHTxSQKmPLNV21ffOei7yoziyCMkuHavtt6famBG9CN194ssLsf.png)
> История передачи информации от блока к блоку
![](https://cdn.prod.website-files.com/63c8db5ffd47ec8ec68a21d6/669f55a8ea8e57f57cfa7322_AD_4nXcvEmA-iwnnO4Lo9IMZX2KjlZ-8I-ZgD6b44Zx4-PJYAbBShyq6J0pB21YOp2oZg4G4cwtWWHcU8CNemRudqPThRmRvdrhNTjrXyFhjtZMB6le24bEFHGNaj10bfFS1DawROQJqkcJ23UtMC8KrmogJi2yi9sBsTeCcG3F9qQ.png)
Из плюсов:
* Мы можем увидеть любой запуск процесса в любой момент времени и все данные, которые передавались от блока к блоку, а также ошибки (при их наличии).
Из минусов:
* Стоит отказаться от передачи чувствительных данных от блока к блоку, например, теряется смысл использования блока Vault (хранилище секретов от HashiCorp), так как передача в него секретов будет видна в истории запущенных процессов в открытом виде, что небезопасно.
Выводы
Использование SOAR сильно упрощает задачу автоматизации процессов, а также поддержку их работоспособности и добавление функционала. Но стоит также отметить, что скрипты более гибкие, и чем сложнее логика процесса, тем сложнее ее реализовать в SOAR.
В дальнейшем я планирую рассказать и показать процессы, которые мы реализовали в своем SOC, описать, с какими трудностями столкнулись и, в целом, поделиться идеей, что автоматизировать можно почти любой процесс.
Рекомендуется к прочтению
What to read next
![](https://cdn.prod.website-files.com/63c8db5ffd47ecd84a8a21b8/63c8db5ffd47ec7d518a221f_Bg-side.jpg)
В мире продолжаются активные изменения в сфере цифровых финансов ...
![](https://cdn.prod.website-files.com/63c8db5ffd47ecd84a8a21b8/63c8db5ffd47ec7d518a221f_Bg-side.jpg)
Писать главредские письма в электронном СМИ – идея условно ...
![](https://cdn.prod.website-files.com/63c8db5ffd47ecd84a8a21b8/63c8db5ffd47ec7d518a221f_Bg-side.jpg)
Мурат Абдрахманов – бизнес-ангел, венчурный инвестор с более ...