Запуск плейбуков для объектов, указанных пользователями

27 августа 2024

ID 281686

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

  • В списке Область действия выбрать Алерт или Инцидент.
  • В списке Режим работы выбрать Ручной.
  • В разделе Алгоритм при настройке действия по реагированию использовать выражения jq, чтобы указать объекты (наблюдаемые объект или активы), для которых вы хотите запустить плейбук. Эти объекты будут входными данными для плейбука при его запуске.

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

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

Для этого вам должна быть присвоена одна из следующих XDR-ролей: Главный администратор, Младший аналитик, Аналитик 1-го уровня, Аналитик 2-го уровня или Администратор тенанта.

Чтобы запустить плейбук для выбранных объектов:

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

    Откроется окно Выбрать плейбук.

  3. Установите флажок Выберите целевые объекты перед запуском плейбуков и нажмите на кнопку Запуск.
  4. В открывшемся окне Целевые объекты выберите объекты на вкладках Наблюдаемые объекты и Активы, для которых вы хотите запустить плейбук, и нажмите на кнопку Применить и запустить.

    Плейбук будет запущен для выбранного объекта.

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

Например, вы пишете скрипт, который вызывается во время действия по реагированию executeCustomScript. При создании плейбука в разделе Алгоритм вы пишете действие по реагированию executeCustomScript с входными данными плейбука. Затем вам нужно запустить скрипт для наблюдаемого объекта с типом IP, который вы выбираете при запуске плейбука. Плейбук использует IP-адрес, который вы выбрали в качестве параметра:

{

"dslSpecVersion": "1.0.0",

"version": "1",

"responseActionsSpecVersion": "1",

"executionFlow": [

{

"responseAction": {

"function": {

"type": "executeCustomScript",

"params": {

"commandLine": "./script.py",

"commandLineParameters": "${ \"-ip \" + ([.input.observables[] | select(.type == \"ip\")] | map(.value) | join(\",\")) }",

"workingDirectory": "/folder/with/script"

}

},

"onError": "stop"

}

},

{

"responseAction": {

"function": {

"type": "updateBases",

"params": {

"wait": false

},

"assets": "${ [.input.assets[] | select(.Type == \"host\") | .ID] }"

}

}

}

]

}

Несколько объектов будут входными данными для плейбука, а список IP-адресов, разделенных запятыми, должны быть входными данными для скрипта:

{

"input": {

"observables": [

{

"type": "ip",

"value": "127.0.0.1"

},

{

"type": "ip",

"value": "127.0.0.2"

},

{

"type": "md5",

"value": "29f975b01f762f1a6d2fe1b33b8e3e6e"

}

],

"assets":[

{

"AttackerOrVictim": "unknown",

"ID": "c13a6983-0c40-4986-ab30-e85e49f98114",

"InternalID": "6d831b04-00c2-44f4-b9e3-f7a720643fb7",

"KSCServer": "E5DE6B73D962B18E849DC0BF5A2BA72D",

"Name": "VIM-W10-64-01",

"Type": "host"

}

]

}

После того как выражения jq выполнят вычисления с операционными данными плейбука, следующая информация передается в качестве параметров командной строки:

-ip 127.0.0.1,127.0.0.2

Для плейбука, ожидающего входных данных, если вы указали разные типы объектов при создании плейбука и при его запуске или если вы не установили флажок Выбрать целевые объекты перед запуском плейбука, плейбук завершится с одним из следующих результатов:

  • Произойдет ошибка, поскольку плейбук не получил входных данных.
  • Действие не будет выполнено, поскольку плейбук содержит условие или цикл, основанный на входных данных.
  • Результат будет зависеть от реагирования программы, службы или скрипта, выполняющего действие.

Вам помогла эта статья?
Что нам нужно улучшить?
Спасибо за ваш отзыв, вы помогаете нам становиться лучше!
Спасибо за ваш отзыв, вы помогаете нам становиться лучше!