LDAP permite una autenticación centralizada de manera conveniente, pero ¿puede esto conducir a prácticas de seguridad complacientes?

2

Supongamos que trabaja para LargeCorp, tiene un inicio de sesión LDAP para acceder a su escritorio, acceder a varias aplicaciones internas, etc.

Es conveniente porque no tiene que administrar la autenticación de forma independiente para cada aplicación que use; Esto es conveniente para usted mismo: no necesita recordar diez contraseñas diferentes, y para los desarrolladores, que no necesitan implementar su propia autenticación.

El problema es: digamos que alguien me señala una aplicación que solicita mi nombre de usuario y contraseña de LDAP. ¿Cómo puedo estar seguro de que esto no es un intento de phishing de alguien dentro de la organización? Esto es una gran corperación, después de todo, no puedo confiar en que los desarrolladores no sean incompetentes / maliciosos.

El ejemplo plausible que se me ocurre es que un empleado descontento le envía a su gerente un enlace a una aplicación interna: 'Oye jefe, mira esta nueva herramienta que hemos creado'. Boss inicia sesión con sus credenciales de LDAP y el empleado descontento ahora usa las credenciales del jefe para leer los correos electrónicos de su jefe.

En el mundo salvaje - le sugerimos que use una contraseña diferente para cada sitio web que use - por lo tanto (asumiendo que tengo una contraseña completamente aleatoria) no habría ningún riesgo para mis otros inicios de sesión al acceder a este sitio. Pero con LDAP tengo que usar la misma contraseña.

¿Qué principio de seguridad hay que justifique la centralización de LDAP?

    
pregunta dwjohnston 14.06.2016 - 02:24
fuente

2 respuestas

2

LDAP solo debe utilizarse en una red interna. Por lo tanto, todos los servicios que lo utilicen deben estar en la red interna y deben estar protegidos del acceso externo. De hecho, debe asegurarse de contar con reglas de firewall específicas para evitar el acceso a LDAP desde Internet, y tampoco debe intentar utilizar LDAP en un sitio web en Internet. Simplemente no es seguro para esos propósitos. Finalmente, los usuarios definitivamente deben usar una contraseña LDAP diferente a la de los sitios que frecuentan, y la red debe configurarse para requerir una nueva contraseña cada 90 días (72 es el máximo recomendado). Siempre que LDAP esté seguro detrás de un firewall, tiene sentido que todas las aplicaciones internas usen el mismo protocolo, para minimizar la cantidad de contraseñas que debe configurar.

Dicho esto, no puedo, en buena conciencia, recomendar LDAP para casi cualquier cosa. Es un protocolo antiguo , y desde entonces ha tenido varios sucesores útiles, como JWT, SAML y OAuth, que no solo le permiten usar una sola contraseña, sino que también garantizan que su contraseña sea nunca visible para el servicio que solicita la autenticación. Lo único que el servicio obtiene es un token único que verifica que usted es quien dice ser, más un identificador único que puede que ni siquiera esté relacionado con su nombre de usuario real. Por lo general, los usuarios también pueden revocar estos tokens en cualquier momento y verificar que una aplicación está autorizada para usar esos tokens mediante "subvenciones".

    
respondido por el phyrfox 14.06.2016 - 05:24
fuente
0

Normalmente, protege su LDAP del acceso anónimo, por lo que todas las solicitudes se realizan desde una cuenta, no solo una solicitud activada en un servidor.

Además, aunque LDAP es un estándar (que ha resistido la prueba del tiempo que tienen HTTP y SSH) su estructura, sin embargo, no es "estándar", hay muchas formas de implementar dónde y cómo se autentica un usuario, tanto en nombres de campo como en metodología.
En cuanto al tema de la confianza. Sí, se supone que LDAP solo debe usarse en una LAN y solo en lugares donde se sabe que debe solicitar sus credenciales de LDAP. Sin embargo, esto no es diferente de cualquier otro esquema de credenciales.
No estoy de acuerdo con @phyrfox aunque no recomiendo LDAP. como protocolo es sólido y se ha resistido durante muchos más años que cualquiera de las alternativas que enumera. Me gustaría agregar que solo debe utilizar un LDAP seguro TLS con inicio de sesión de cliente y áreas de acceso separadas (por lo tanto, cuando una aplicación solo necesita su nombre para mostrar la lata, de hecho no puede ver ningún otro detalle sobre usted).

LDAP es un protocolo para descartar fácilmente como antiguo. pero la mayoría de las veces, las personas que hacen eso no han profundizado lo suficiente en el funcionamiento del protocolo y lo que puede ofrecer. Las otras tecnologías como JWT oAuth (2) y SAML en realidad aumentan que LDAP no lo reemplaza. ni siquiera OpenId Connect lo hace. que se acerca más a todos ellos.

Es importante darse cuenta de que LDAP es un protocolo de directorio y no un protocolo de autenticación o autorización. mientras que usted puede usarlo para tales cosas, el cuidado debe ser usado para no introducir debilidades en el sistema.

Para cualquier persona que no tenga claro qué es un Directorio, es una Lista de Propiedades. Al igual que un directorio de archivos, hay una lista de archivos con cierta información meta sobre ellos (cuándo se creó, qué nombre tiene, etc.). Un buen ejemplo de un directorio son las páginas amarillas u otra guía telefónica.

    
respondido por el LvB 14.06.2016 - 10:36
fuente

Lea otras preguntas en las etiquetas