Loading
_ DESCIFRANDO CONEXIÓN SEGURA...

Anatomía de una regla

5 tareas · 38 min · Principiante

Una regla de detección es un archivo YAML que dice qué observar, cuándo considerarlo raro y qué escribir cuando ocurra. Leerla bien es la mitad del trabajo de quien opera el sensor: qué se vigila, qué se deja fuera y qué puede estar roto sin que nadie lo note. En Chitagá Logística lees el archivo de reglas del clúster y la salida de arranque del sensor, y aprendes sus piezas: listas, macros, condición, salida, prioridad y la clave que apaga una regla. Las reglas son de ejemplo, escritas para este laboratorio; no son las reglas por defecto de ningún proyecto.

0 de 5 · 0%

Objetivo de la sala

Una regla de detección es un archivo YAML que dice qué observar, cuándo considerarlo raro y qué escribir cuando ocurra. Leerla bien es la mitad del trabajo de quien opera el sensor: qué se vigila, qué se deja fuera y qué puede estar roto sin que nadie lo note. En Chitagá Logística lees el archivo de reglas del clúster y la salida de arranque del sensor, y aprendes sus piezas: listas, macros, condición, salida, prioridad y la clave que apaga una regla. Las reglas son de ejemplo, escritas para este laboratorio; no son las reglas por defecto de ningún proyecto.

Las reglas de Falco se escriben en YAML con tres elementos. Una lista es una colección de valores con nombre, como los shells conocidos. Una macro es un fragmento de condición que se reutiliza, como «el evento ocurrió dentro de un contenedor». Una regla reúne una condición, una descripción, un mensaje de salida y una prioridad. Una regla necesita cinco claves: rule, desc, condition, output y priority; las demás, como tags o enabled, son opcionales.

Las listas y las macros existen para no repetir ni equivocarse: si cambia lo que se entiende por «contenedor», se corrige en un solo sitio. Abre reglas/reglas-chitaga.yaml y lee los primeros bloques.

Responde para continuar

¿Para qué sirve una macro en un archivo de reglas?

Ver pista de ayuda

Fíjate en cómo `en_contenedor` aparece dentro de varias condiciones.

La condición es una expresión que se evalúa con cada evento. Mezcla un tipo de evento (evt.type), los datos del proceso (proc.name), del archivo (fd.name) o del pod (k8s.pod.name). Solo cuando la expresión completa es verdadera, la regla produce una alerta. Por eso, una regla se lee de dentro hacia fuera: primero qué evento, luego sobre qué, y al final qué excluir.

La regla de shell no vigila todo el clúster: se limita con una macro a un único espacio de nombres. Lo que no cumple esa macro no genera alerta, aunque abra un shell.

Responde para continuar

Escribe el nombre de la macro que limita la regla del shell a un espacio de nombres.

Ver pista de ayuda

Con la terminal, `cat reglas/reglas-chitaga.yaml` y lee la condición de la primera regla.

La prioridad ordena las alertas por gravedad. De más grave a menos grave: EMERGENCY, ALERT, CRITICAL, ERROR, WARNING, NOTICE, INFORMATIONAL y DEBUG. Sirve para decidir quién se entera y con qué urgencia, y el sensor puede configurarse para no emitir por debajo de un nivel mínimo.

La clave enabled: false apaga una regla sin borrarla. Es cómoda, pero deja un hueco que nadie ve: una regla apagada no avisa de que lo está. Revisa el archivo y localiza la regla apagada cuya prioridad es ERROR.

Responde para continuar

Escribe el nombre de la regla desactivada cuya prioridad es ERROR.

Ver pista de ayuda

Hay dos reglas con enabled false; una es EMERGENCY y la otra ERROR.

Contar reglas por prioridad dice dónde está la apuesta del equipo: muchas reglas graves y encendidas indican que se vigila lo crítico; muchas apagadas, que alguien las desactivó por ruido y no volvió. Una regla sin enabled: false está encendida en el archivo, aunque otra cosa, como un error de carga, pueda impedir que funcione.

Lee las seis reglas del archivo y cuenta las que NO están marcadas como desactivadas y tienen prioridad CRITICAL o una más grave.

Responde para continuar

¿Cuántas reglas no marcadas como desactivadas tienen prioridad CRITICAL o más grave?

Ver pista de ayuda

Descarta primero las de `enabled: false`; después mira la prioridad de cada una.

La salida de una regla (output) es el mensaje de la alerta. Lleva campos entre %, como %proc.name. Si un campo está mal escrito, el sensor no sabe qué poner: según el caso rechaza la regla o la carga sin ese dato. Es un fallo silencioso si nadie lee la salida de arranque, porque la regla se ve completa en el archivo, y el sensor arranca sin ella.

Lee sensor/arranque.txt: una regla no está activa por un error de carga. Compara los campos de su salida con reglas/campos-validos.txt.

Responde para continuar

Escribe el campo mal escrito en la salida de la regla que falló al cargar.

Ver pista de ayuda

Compara cada campo de la salida de esa regla con la lista de campos válidos.

Inicia sesión para registrar tus puntos y progreso en el ranking.

Whoami-Labs Pro

Whoami-Labs Pro utiliza cookies

Utilizamos cookies y almacenamiento local para el funcionamiento del sitio, seguridad de sesión y, si lo autorizas, analítica y marketing. Puedes aceptar, rechazar o personalizar. Política de Privacidad