Cómo usar flujos en guías
Se admite en los siguientes sistemas operativos:
En este documento, se explica cómo el componente Flujo dirige los próximos pasos de un playbook con un sistema de ramificación para tomar decisiones.
Los flujos de condición son esenciales para permitir que una guía tome decisiones, como enrutar un caso por diferentes rutas según los datos de alertas entrantes, los resultados de acciones anteriores o la entrada del usuario.
Están disponibles las siguientes opciones de flujo:
- Condición: Condiciones complejas basadas en marcadores de posición, datos de casos existentes y el flujo de Acciones anteriores
- Pregunta de opción múltiple: Son preguntas que los analistas deben responder manualmente.
Agrega flujos de condición
En esta sección, se describe cómo usar los flujos de condición para crear una lógica dinámica y ramificada dentro de tus manuales.
Agrega un flujo de condición único
Para agregar un solo flujo de condición, sigue estos pasos:
- En la página Response > Playbooks, haz clic en Open Step Selection.
- En Selección de pasos, selecciona la sección Flujo.
- Arrastra la condición al paso o entre dos acciones, según cómo estés creando la guía.
- Haz doble clic en la condición para abrir el diálogo.
- Selecciona las entidades requeridas. Si usas marcadores de posición, se limitan a este grupo de entidades.
- Decide cuántas ramas quieres crear. Cada rama tiene un OR entre ellas.
- Selecciona y agrega parámetros para cada rama de la siguiente manera:
- Selecciona el marcador de posición pertinente que deseas evaluar en la lista de marcadores de posición existentes. En el caso de los usuarios nuevos, este campo está vacío si aún no se incorporaron alertas.
- Selecciona el operador requerido (por ejemplo, Es igual a, No contiene).
- Elige un valor.
- Define una "rama de resguardo" para evitar condiciones fallidas. Si una condición se basa en acciones anteriores y una de esas acciones falló (y se omitió), la condición continúa por la rama de resguardo en lugar de detenerse. Para seleccionar una rama de resguardo, consulta Cómo definir una rama de resguardo.
- Haz clic en Guardar. Ahora, la guía tiene tres ramas: 1, 2 y E (Else).
- Establece el resultado de (al menos) una rama para marcar la guía como completada.
Agrega un flujo de preguntas de opción múltiple
- Arrastra la condición Preguntas de opción múltiple al cuadro Paso final.
- Haz clic en Preguntas de opción múltiple para abrir el diálogo.
- Agrega una pregunta con tantas respuestas como necesites.
- Haz clic en Guardar. El libro de jugadas abre cuatro ramas.
- Establece el resultado de al menos una rama para marcarla como completada.
Agrega un flujo de condiciones
Para agregar un flujo de condiciones, sigue estos pasos:
- Arrastra Conditions al cuadro Final Step.
- Haz clic en Condiciones para abrir el diálogo.
- Decide cuántas ramas crearás. Cada rama tiene un OR entre ellas.
- Agregar un parámetro: Selecciona el parámetro requerido. En la lista, solo se muestran los resultados de la secuencia de comandos de acción de este manual.
- Selecciona el operador requerido: Es igual a/No es igual a, Contiene/No contiene, Comienza con o Mayor que/Menor que.
- Elige el valor (el resultado de la acción).
- Puedes agregar más parámetros a cada rama y elegir un operador lógico: AND o OR.
- Haz clic en Guardar. La guía abre tres ramas: 1, 2 y Else.
- Establece el resultado de al menos una rama para completar la guía.
Cómo definir una rama de resguardo
- En uno de los flujos (Condición), selecciona la rama que se usará como rama de resguardo. En este ejemplo, se usa Branch – not risky. No es obligatorio agregar una rama de resguardo.
- Cuando se ejecuta la guía y fallan las acciones anteriores, la guía elige la rama de resguardo y continúa.
Administra las fallas de los pasos
Los pasos de la guía pueden fallar durante la ejecución. De forma predeterminada, un playbook está diseñado para detenerse si falla un paso, lo que constituye un mecanismo de seguridad crucial para evitar continuar con datos incompletos o incorrectos. Sin embargo, hay casos en los que deseas que un playbook continúe incluso si un paso no devuelve los resultados esperados. Esto es especialmente cierto para las acciones de enriquecimiento, en las que los datos que buscas podrían no existir en todos los casos. Puedes decidir si detienes la guía o si pasas al siguiente paso. Si el paso fallido fue fundamental para la toma de decisiones, puedes verificar si el paso anterior falló en el siguiente paso y decidir cómo proceder en consecuencia (por ejemplo, si falla un paso, ve a una rama de resguardo).
Omitir en caso de error
Para cualquier acción, puedes configurarla para que omita el paso si falla. Cuando habilitas este parámetro de configuración, el manual continúa con el siguiente paso, incluso si la acción no se ejecuta o devuelve un error.
Para habilitar este parámetro de configuración, sigue estos pasos:
- Haz doble clic en el bloque de acción para abrir su panel de configuración.
- En la pestaña Configuración, ve a la sección Si falla el paso.
- Selecciona Omitir paso.
Usa una condición para el manejo de errores avanzado
La opción "Omitir si falla" funciona bien para los casos básicos, pero un método más sólido es usar un flujo de Condición para crear una ruta de control de errores dedicada. Esto permite que la guía tome un conjunto diferente de acciones cuando falla un paso, como notificar a un analista o registrar el error.
Para crear una ruta de control de errores, sigue estos pasos:
- Después de una acción que podría fallar y para la que deseas definir una ruta de falla específica, agrega un bloque de flujo Condición.
- Haz doble clic en el bloque Condición para abrir su diálogo.
- Ve a la pestaña Configuración y, en la sección Si falla la acción anterior, selecciona la rama a la que se dirigirá el flujo. Importante: La condición Si falla la acción anterior no solo verifica si hubo alguna falla anterior, sino que también comprueba si falló una acción anterior cuyos resultados se usan en la evaluación de la condición actual. Si falla esa acción dependiente, no se puede decidir la condición y el flujo se dirige a la rama seleccionada. Esto te permite controlar los casos en los que falló una dependencia, lo que impide que se resuelva la condición.
- En esta rama de error, puedes agregar acciones como enviar un correo electrónico de notificación, crear una tarea o registrar el error.
Por ejemplo, considera un playbook que intenta resolver el propietario de un usuario. Si falla la acción Resolve User Owner (por ejemplo, si el usuario no existe en Active Directory), el playbook no se detendrá. En cambio, el bloque de condición detectará la falla y dirigirá el flujo a una rama separada, en la que podrá enviar un correo electrónico al equipo de seguridad sobre los datos faltantes, lo que garantizará que la guía siga ejecutándose sin interrupciones. <
Cómo quitar un flujo
Cuando quitas un flujo de un playbook, el sistema te solicita que quites toda la rama o solo un aspecto de ella.
Cómo combinar ramas
Puedes combinar diferentes ramas de la guía en una sola. Para ello, arrastra una acción de una de las ramas y suéltala en el cuadro Paso final de otra rama. La guía puede continuar después de este paso o finalizar aquí.
Cómo funcionan los operadores lógicos en una condición
En esta sección, se explica cómo los operadores condicionales de los cuadernos de estrategias evalúan los campos con uno o varios elementos (por ejemplo, entidades o eventos en una alerta). Comprender si un campo es una cadena o una lista es fundamental para la lógica del playbook.
El rol de los tipos de datos en la evaluación de condiciones
El comportamiento del operador (Equals, Contains) varía según el tipo de datos:
- Contexto de un solo elemento: Los campos como
[Entity.Identifier]de una alerta con una entidad se tratan como una cadena única. - Contexto de varios elementos: El mismo campo de una alerta con varias entidades es una lista de cadenas.
Comportamiento del operador de equals y contains
En las siguientes secciones, se explica cómo funcionan estos operadores.
Operador Equals
El operador Equals compara directamente dos valores.
- El campo de un solo elemento (cadena) verifica si hay una coincidencia exacta.
- Suponiendo que
[Entity.Identifier]es"Tom" - Entonces, la condición
if [Entity.Identifier] equals "Tom"es Verdadero.
- Suponiendo que
- Campo de varios elementos (lista) verifica si toda la lista es igual a la cadena especificada. Una lista nunca será igual a una sola cadena.
- Suponiendo que
[Entity.Identifier]es una lista(Tom, Kai) - Entonces, la condición
if [Entity.Identifier] equals "Tom, Kai"siempre es falsa. Esto se debe a que[Entity.Identifier]es una lista y "Tom, Kai" es una cadena.
- Suponiendo que
Operador Contains
El operador Contains también cambia según el tipo de datos:
- El campo de un solo elemento (cadena) realiza una búsqueda de subcadena. Devuelve
Truesi la cadena contiene el valor.- Suponiendo que
[Entity.Identifier]es"user-1234" - Entonces, la condición
if [Entity.Identifier] contains "user"es Verdadero.
- Suponiendo que
- El campo de varios elementos (lista) verifica si hay una coincidencia exacta de un elemento en la lista. No se realiza ninguna búsqueda de subcadena.
- Suponiendo que
[Entity.Identifier]es una lista ("UserA@corp.com", "UserB@corp.com"). - Entonces, la condición
if [Entity.Identifier] contains "corp"es False.
- Suponiendo que
¿Necesitas más ayuda? Obtén respuestas de miembros de la comunidad y profesionales de Google SecOps.