Loading
_ DESCIFRANDO CONEXIÓN SEGURA...

Filtros de búsqueda, leer y entender

5 tareas · 40 min · Principiante

Casi todo lo que una aplicación le pide a un directorio es un filtro entre paréntesis: quién es esta persona, a qué grupo pertenece, qué cuentas están inactivas. Quien revisa un directorio tiene que poder leer un filtro y decir qué devuelve, y reconocer en un registro cuándo una búsqueda pidió más de lo que debía. Aquí lees consultas guardadas, aplicas un filtro a mano sobre un extracto y revisas las búsquedas de un día en la Universidad Sumapaz.

0 de 5 · 0%

Objetivo de la sala

Casi todo lo que una aplicación le pide a un directorio es un filtro entre paréntesis: quién es esta persona, a qué grupo pertenece, qué cuentas están inactivas. Quien revisa un directorio tiene que poder leer un filtro y decir qué devuelve, y reconocer en un registro cuándo una búsqueda pidió más de lo que debía. Aquí lees consultas guardadas, aplicas un filtro a mano sobre un extracto y revisas las búsquedas de un día en la Universidad Sumapaz.

Un filtro LDAP se escribe en notación prefija: el operador va primero y cada condición va entre paréntesis (la sintaxis la describe la RFC 4515). (&(a)(b)) pide que se cumplan a y b; (|(a)(b)) pide que se cumpla al menos una; (!(a)) niega la condición. Una condición simple compara un atributo: igualdad (uid=ana), presencia (mail=*) (el atributo existe, con cualquier valor) o coincidencia parcial (cn=Mar*).

Para leerlo, se empieza por el paréntesis más interno y se sube. Abre las consultas guardadas por el equipo de identidad.

ls filtros
cat filtros/consultas-guardadas.txt

Responde para continuar

¿Qué devuelve el filtro (&(objectClass=inetOrgPerson)(!(mail=*)))?

Un «y» estrecha el resultado, porque cada condición adicional descarta entradas. Un «o» lo amplía: basta con que se cumpla una de las condiciones. Confundirlos es el error de lectura más común: una consulta pensada para «docentes de física» que usa «o» donde debía usar «y» devuelve a todos los docentes y a toda la gente de física.

Revisa los filtros de las consultas guardadas.

Responde para continuar

¿Qué consulta guardada combina dos condiciones con el operador «o»? Escribe su identificador.

La decanatura de Ciencias pidió una consulta nueva y está pendiente de aprobación. Antes de aprobarla, hay que saber cuántas personas devolvería. Lee el filtro, aplícalo a las quince filas del extracto y cuenta las que lo cumplen. Recuerda que la negación se evalúa por entrada: (!(sumapazEstado=inactivo)) deja pasar a quien no está inactivo.

cat filtros/consulta-pendiente.txt
cat filtros/extracto-personas.csv

Responde para continuar

¿Cuántas filas del extracto devuelve la consulta pendiente?

Cada búsqueda deja un rastro: el filtro y cuántas entradas devolvió. Algunas aplicaciones legítimas leen el directorio entero a horas fijas, como las sincronizaciones nocturnas. Lo que no es normal es que una aplicación con personas delante, donde alguien teclea un criterio en una caja de búsqueda, devuelva miles de entradas.

El servidor del día tiene un límite de entradas por búsqueda. Lee el registro del día y distingue los trabajos programados de los interactivos.

cat filtros/busquedas-del-dia.log

Responde para continuar

¿Qué aplicación interactiva lanzó una búsqueda que devolvió miles de entradas?

La búsqueda anterior tiene una explicación probable: el portal pone lo que la persona escribe dentro del filtro. Si el texto trae un asterisco, un paréntesis o una barra invertida, esos caracteres cambian el significado del filtro en lugar de buscarse como texto. La RFC 4515 define cómo se escapan esos caracteres. La defensa pertenece a la aplicación: tratar toda entrada del usuario como dato, nunca como parte de la sintaxis, y además limitar lo que una búsqueda interactiva puede devolver.

Responde para continuar

Un portal pone en el filtro lo que la persona teclea. ¿Qué debe hacer antes la aplicación?

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