los ldapsearch La utilidad es una de las herramientas importantes para el administrador del servidor LDAP (Lightweight Directory Access Protocol). Le permite obtener cualquier dato que esté disponible en el directorio LDAP. Actualmente, las implementaciones LDAP más comunes son OpenLDAP y Microsoft Active Directory.

La utilidad ldapsearch actualmente se utiliza principalmente en sistemas Linux. La utilidad Ldapsearch.exe estaba disponible en Windows 2000, pero en Windows Server 2003 fue reemplazada por la herramienta dsquery. Sin embargo, incluso ahora puede utilizar la herramienta Ldapsearch en Windows; todo lo que necesita hacer es descargar e instalar el cliente OpenLDAP para Windows (de forma predeterminada, ldapsearch se encuentra en el directorio C: OpenLDAP bin).

Considere la sintaxis de la herramienta ldapsearch:

ldapsearch [options] [filter] [attributes]
  • -n: muestra las acciones que se realizarán, pero no las ejecuta;
  • -v - modo de funcionamiento detallado y detallado;
  • -A: solo muestra los atributos, sin valores;
  • -L (-LL, -LLL) - formato de salida (-L - LDIFv1, -LL - deshabilita la visualización de comentarios, -LLL - deshabilita la visualización de la versión LDIF).
  • -x: use autenticación simple, no SASL;
  • -D - use el nombre de usuario para conectarse al servidor;
  • -w [password] - especifique la contraseña en el símbolo del sistema al ejecutar la consulta LDAP;
  • -h - dirección del servidor LDAP;
  • -p - puerto del servidor LDAP;
  • -b - directorio de inicio de búsqueda;
  • -s[base|one|sub] - searchScope:
  • -l - límite de tiempo en el momento de la búsqueda;
  • -z - límite de tamaño en el tamaño de los datos en el resultado de la consulta de búsqueda;
  • -Z: usa TLS.

Intentemos usar la utilidad ldapsearch en Linux Debian para probar la conectividad a un controlador de dominio de Active Directory (servidor LDAP de destino).

Configuración de dominio de AD:

  • Nombre de dominio de AD: theitbros.com;
  • Nombre FQDN del controlador de dominio: dc1.theitbros.com;
  • El nombre de usuario de AD que se utiliza para conectarse al LDAP: TestLDAPConnUsr y su contraseña - P @ ssw0r6;

En primer lugar, asegúrese de que el cliente OpenLDAP esté instalado en su sistema:

dpkg -l | grep ldap

Busque la cuenta LDAP ADUser1 en el contenedor con el nombre DN "OU = Users, OU = London, OU = UK, DC = theitbros, DC = com".

Un servidor LDAP generalmente acepta conexiones entrantes en el puerto 389 usando protocolos TCP o UDP. Los servidores LDAP con SSL utilizan el puerto 636.

Para verificar la conexión LDAP (puerto TCP 389), ejecute el comando:

ldapsearch -v -x -D "[email protected]" -w "P@ssw0r6"

-b "OU=Users,OU=London,OU=UK,DC=theitbros,DC=com" -H "ldap://dc1.theitbros.com" sAMAccountName= ADUser1

En este caso, las credenciales de usuario de ADUser1 se transfieren a través de la red en forma de texto sin cifrar, lo que no es seguro.

Puede conectarse al LDAP que usa el certificado SSL sobre el protocolo LDAPS protegido (puerto TCP 636). Para ello, cree un archivo con los certificados raíz de la CA de su dominio en formato PEM y codificado en Base-64 (por ejemplo /etc/ssl/cert/itbroscert.pam) y especifique la ruta a este archivo en el archivo de configuración del cliente OpenLDAP ( /etc/ldap/ldap.conf o /etc/openldap/ldap.conf),

#TLS_CACERT /etc/ssl/certs/ca-certificates.crt
TLS_CACERT /etc/ssl/certs/itbroscert.pam

Ahora ejecute la consulta LDAPS:

ldapsearch -v -x -D "[email protected]" -w "P@ssw0r6"
-b "OU=Users,OU=London,OU=UK,DC=theitbros,DC=com" -H "ldaps://dc1.theitbros.com" sAMAccountName= ADUser1

Si ingresó un nombre de usuario o contraseña incorrectos para conectarse a LDAP, la utilidad devolverá:

ldap_bind: Invalid credentials (49) 
additional info: Simple Bind Failed: NT_STATUS_LOGON_FAILURE

Puede enumerar todos los usuarios en un directorio LDAP específico:

ldapsearch -xLLL -D "[email protected]" -w "P@ssw0r6" -H "ldaps://dc1.theitbros.com" -b "OU=Users,OU=London,OU=UK,DC=theitbros,DC=com"

Para buscar por nombre de usuario:

ldapsearch -W -x --"[email protected]" -b "OU=Users,OU=London,OU=UK,DC=theitbros,DC=com" "(uid=user1)"

Para mostrar todas las cuentas de usuario excepto los usuarios discapacitados, use el comando:

ldapsearch -x -D "[email protected]" -b "dc=example,dc=com-H "ldaps://dc1.theitbros.com" -W '(&(proxyAddresses=smtp*)(!(userAccountControl:1.2.840.113556.1.4.803:=2)))'

Recomendado para ti