Actualmente estoy usando una configuración LDAP. Me pregunto si está a salvo de los ataques de Man in the middle u otras vulnerabilidades.
LDAP, por sí mismo, no es seguro contra atacantes activos o pasivos:
En el mejor de los casos, LDAP básico puede depender de algún mecanismo de autenticación (a través de SASL ) que no es trivially interrumpido por un atacante: si la autenticación es del tipo "mostrar la contraseña", un intruso pasivo puede aprender la contraseña y luego conectarse al servidor con su identidad; Los protocolos ligeramente más avanzados, como CRAM-MD5 , evitan ese problema específico, pero aún así no harán nada contra los atacantes que te secuestran conexiones o espiar sus solicitudes y respuestas reales.
Entonces, realmente, si valora su seguridad, entonces use SSL (es decir, "LDAPS"). En muchos aspectos, esto es como HTTP vs HTTPS.
Como nota al margen, el protocolo Active Directory de Microsoft, que se basa en LDAP, ofrece opcionalmente una función de "firma y cifrado", que parece ser una especie de protocolo criptográfico integrado dentro de LDAP (es decir, como LDAPS, pero en orden inverso), que podría garantizar suficiente seguridad. Sin embargo, no he visto ninguna especificación decentemente detallada para ese protocolo, por lo que sigo recomendando LDAPS en ese caso.
Por defecto, el protocolo LDAP no es seguro, pero el protocolo define una operación para establecer una sesión TLS sobre una LDAP existente (la operación extendida de StartTLS). Alternativamente, algunos mecanismos de autenticación (a través de SASL) permiten establecer la firma y el cifrado. La mayoría de los servidores de directorio recientes basados en LDAP son compatibles con estos modos y, a menudo, tienen parámetros de configuración para evitar las comunicaciones no seguras.
La LDAPS, por otro lado, es segura por defecto, siempre y cuando se negocien los cifrados adecuados.
Cree un certificado e inicie sesión en su LDAP con el certificado de usuario que instaló en la entrada de administrador.
Obviamente, la sesión TLS solo levanta la barra contra la detección de paquetes, no la calidad de la autenticación, a menos que la autenticación del certificado del cliente se realice en TLS.
La contraseña de texto sin formato sería la peor opción, subiendo desde allí ... SASL, etc.
Si le preocupa que alguien acceda a su servidor LDAP desde Internet y aún quiera permitir el acceso a "algunos" atributos, pero no a otros, puede configurar un proxy en 389 para filtrar las solicitudes que van al servidor. Si utiliza los puertos predeterminados conocidos para LDAP o LDAPS, facilitará a los usuarios encontrar sus servicios.
También, considere la posibilidad de incluir una entrada de registro de recursos SRV en el DNS para su servidor LDAP conectado a Internet, de modo que las personas tengan la dirección y el puerto correctos para llegar a su servidor proxy.
Lea otras preguntas en las etiquetas tls man-in-the-middle injection ldap