🔒 Registro cerrado · Apertura oficial próximamente · Acceso exclusivo para alumnos activos
Iniciar SesiónSPL — la búsqueda por tuberías
4 tareas · 30 min · Principiante
En septiembre Delta Cargo compró una agencia de aduanas, Delta Aduanas, que trajo su propio SIEM. Ese SIEM no pregunta en KQL sino en SPL, el otro lenguaje de búsqueda por tuberías que más aparece en las vacantes de analista, y mientras se migra el turno consulta los dos. Aquí lo practicas sobre la pasarela VPN de la filial la noche del 21 al 22 de octubre: buscar por índice y por campos, excluir con NOT, quedarte con las columnas que importan con table y mirar el final de la ventana con head.
Objetivo de la sala
En septiembre Delta Cargo compró una agencia de aduanas, Delta Aduanas, que trajo su propio SIEM. Ese SIEM no pregunta en KQL sino en SPL, el otro lenguaje de búsqueda por tuberías que más aparece en las vacantes de analista, y mientras se migra el turno consulta los dos. Aquí lo practicas sobre la pasarela VPN de la filial la noche del 21 al 22 de octubre: buscar por índice y por campos, excluir con NOT, quedarte con las columnas que importan con table y mirar el final de la ventana con head.SPL es el lenguaje de búsqueda de Splunk, y por eso lo piden las vacantes que piden ese SIEM. Comparte con KQL la idea de la tubería: cada comando va detrás de una barra vertical | y trabaja sobre lo que le deja el anterior. Lo que cambia es el arranque. En KQL la primera palabra es una tabla; en SPL la primera parte de la línea es una búsqueda: dónde buscar y qué tienen que cumplir los eventos, escrito como pares campo=valor separados por espacios.
index=vpn accion=mfa resultado=rechazado | table _time usuario ip_origen
index=vpn dice en qué índice buscar; un índice es el almacén donde el SIEM guarda los eventos de una o varias fuentes. Los otros dos pares filtran, y el espacio entre ellos vale como un AND. Lo que hay detrás de la barra ya no busca: trabaja sobre los eventos encontrados. La columna de tiempo de cada evento se llama siempre _time, con el guion bajo delante, como los demás campos que pone el propio SIEM.
Esta tarea se hace en el laboratorio
Una consola para consultar la base de datos, aquí en la página. No instalas nada y no puedes romper nada.
Responde para continuar
¿Qué hace la búsqueda del ejemplo, leída en el orden en que se ejecuta?
Ver pista de ayuda
La parte de antes de la barra elige los eventos; lo de después trabaja sobre ellos.
En la búsqueda, los valores no distinguen mayúsculas: usuario=ACORREA encuentra los eventos de acorrea. Los nombres de campo, en cambio, sí: Usuario=acorrea no encuentra nada, porque ningún evento tiene un campo que se llame así. Es justo al revés de lo que pasaba con == en KQL, que compara el valor exacto.
Las palabras lógicas se escriben en mayúsculas: OR para una cosa u otra, NOT para quitar lo que cumpla la condición que le sigue. NOT pais=CO deja fuera las conexiones desde el país. Hay un matiz con pais!=CO: esa forma solo devuelve los eventos que tienen el campo pais con otro valor, mientras que NOT pais=CO devuelve también los que ni siquiera lo tienen. El asterisco hace de comodín, usuario=svc-*, y el tiempo se acota con el selector de fechas de la pantalla o dentro de la propia búsqueda, con earliest=-24h.
Esta tarea se hace en el laboratorio
Una consola para consultar la base de datos, aquí en la página. No instalas nada y no puedes romper nada.
Responde para continuar
Escribes `index=vpn Usuario=acorrea` y no sale nada; con `index=vpn usuario=ACORREA` sí salen sus eventos. ¿Por qué?
Ver pista de ayuda
Prueba las dos búsquedas en la consola y mira cuál de las dos palabras cambió de forma.
table elige las columnas que salen y en qué orden: es el comando para presentar un resultado. fields se parece, pero sirve para otra cosa: quita o conserva campos para que el resto de la tubería trabaje con menos peso (fields - motivo quita uno). En una búsqueda sobre millones de eventos, recortar pronto con fields acelera; para enseñar el resultado a otra persona se usa table.
head 10 devuelve los diez primeros resultados. Aquí hay una diferencia con el take de KQL que importa: SPL devuelve los eventos sin agrupar del más nuevo al más viejo, así que head sobre eventos crudos te da los más recientes. No son diez cualesquiera; son el final de la ventana de tiempo, y solo el final.
Esta tarea se hace en el laboratorio
Una consola para consultar la base de datos, aquí en la página. No instalas nada y no puedes romper nada.
Responde para continuar
Un compañero ejecuta `index=vpn | head 10`, ve solo conexiones normales de la mañana y concluye que de madrugada no pasó nada. ¿Qué le dices?
Ver pista de ayuda
Fíjate en las horas de las diez filas y en el orden en que salen.
Una notificación de segundo factor la provoca quien escribe la contraseña, y casi siempre es la propia persona, que la aprueba al momento. Busca en el índice vpn las notificaciones rechazadas de la noche, quédate con la hora, la cuenta, el origen y el país, y localiza la cuenta que recibió notificación tras notificación desde fuera del país mientras la persona titular las rechazaba.
Esta tarea se hace en el laboratorio
Una consola para consultar la base de datos, aquí en la página. No instalas nada y no puedes romper nada.
Responde para continuar
Escribe la cuenta que recibió de madrugada, desde fuera del país, las notificaciones rechazadas.
Ver pista de ayuda
Ejecuta `index=vpn accion=mfa resultado=rechazado | table _time usuario ip_origen pais` y mira qué cuenta se repite entre las 02:00 y las 02:30.
Conectando con la base…
Índices y lookups
index=vpn
- _time
- usuario
- ip_origen
- pais
- accion
- resultado
- ip_tunel
El resultado aparece aquí.
fila(s)
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
Preferencias
Configuraciones de cookies
Elige qué categorías permitir. Las esenciales siempre están activas. Consulta la Política de Privacidad.
Esenciales
Siempre activas · sesión, CSRF, tema y esta preferencia
Necesarias para iniciar sesión, proteger formularios (CSRF) y recordar tu elección de cookies y tema. Sin ellas la plataforma no funciona de forma segura.
Analíticos
Hoy no activos en la plataforma; listos para cuando se conecten
Nos ayudan a entender uso de cursos y páginas. Si los activas, se usarán cuando conectemos analítica; hasta entonces no se carga ningún tracker.
Marketing
Hoy no activos; campañas futuras solo con tu permiso
Comunicaciones o campañas. No activos hoy en la plataforma; quedarán listos si los conectamos y solo si los permites.