entre diferencia active active-directory comparison ldap openldap

active-directory - diferencia - ldap active directory



Active Directory vs OpenLDAP (2)

Aquí hay algunas diferencias que conozco de la cabeza. OpenLDAP podría llamarse un servidor LDAP genérico similar a muchos otros servidores LDAP del proveedor (Fedora DS 389, Oracle Internet Directory, IBM Tivoli Directory Server). Active Directory es un poco más personalizado para un conjunto de productos de Microsoft (es decir, ejecuta un dominio de Microsoft). Hay pros y contras de cada uno.

OpenLDAP está vacío después de la instalación y no tiene estructura (llamado DIT). Ni siquiera tiene una entrada raíz fuera de la caja. AD se entregará con una estructura básica y tiene las herramientas de GUI listas para que comience a poblar usuarios. OpenLDAP y otros esperan que usted cree el DIT a mano, por lo que tendrá que diseñar una estructura. Así que tendrás que planificar dónde colocarás a tus usuarios, grupos, roles y pensar en ACL o delegación de sucursales si tu proyecto involucra cosas como esas. Por ejemplo, podría tener un dominio para widgets.com. En AD la estructura enviada se verá así:

+ dc=widgets,dc=com |-- cn=Computers |-- cn=Users |-- cn=Groups

En OpenLDAP (u otras implementaciones de vainilla), puede diseñar su DIT de muchas maneras. Puede seguir la convención del componente de dominio (dc = foo, dc = bar) o puede usar algo organizado por región geográfica (o = foo, c = bar). No importa mucho, pero debes ir con uno u otro. AD usa la convención de DC y no le da una opción, pero otros servidores LDAP pueden seguir cualquiera de las dos convenciones. Si está tratando de encajar en un gran dominio de MS, me atengo a la convención de DC para la consistencia y la facilidad de integración. Pero para este ejemplo, simularemos la organización de nuestra compañía (o) en un país (c) sin regiones o unidades (ou):

+ o=widgets,c=us |-- cn=Machines |-- cn=People |-- cn=Groups |-- cn=Roles

Entonces puedes extender tu esquema si es necesario. Si desea extender su esquema AD, AD le pedirá que agregue elementos de esquema a través del complemento de la consola MMC del Editor de esquema de Active Directory (cree una MMC personalizada). Después de eso, es bastante sencillo. Defina primero sus atributos y luego sus clases de objetos. OpenLDAP requiere que escriba un LDIF (también requiere atributos primero y luego clases de objetos). O use Apache Directory Studio con OpenLDAP, que es una increíble herramienta de administración e interfaz gráfica de usuario que hace que OpenLDAP sea casi fácil de usar.

AD no te deja consultar todo en 389 de forma anónima. Si desea obtener información sobre el esquema (llamado catálogo), debe consultar en 3289 y autenticar. Esto me recuerda a la ocultación de DIB vs DIT de LDAP, pero no sé si AD está intentando hacer lo mismo aquí.

AD tiene un límite de consulta predeterminado de 10,000. Si desea absorber todo de una sola vez, debe usar los controles de paginación en su cliente o en su código o modificar el límite de consulta predeterminado en el controlador de dominio que está buscando. Tenga en cuenta que los controles de paginación pueden ser problemáticos. Los hice trabajar en java usando las bibliotecas de Netscape, pero algunos clientes LDAP no parecen funcionar correctamente aunque afirman que admiten los controles de paginación (YMMV).

La autenticación de AD es un poco extraña. Puede autenticarse como un nombre de usuario con formato de correo electrónico (-D nombredeusuario @ dominio) o puede usar el DN de usuario completo. Si hay una forma de hacerlo en OpenLDAP, no sé cómo hacerlo, pero no me molestaría. Esto es extraño en comparación con otros servidores LDAP. El LDAP simple suele seguir el formato DN (cn = nombre de usuario, cn = Usuarios, o = widgets, c = us).

Supongo que, en pocas palabras, AD es crítico y OpenLDAP es genérico. Y debido a eso, AD es fácil de levantarse pero OpenLDAP puede ser más flexible.

¿Cuáles son las principales diferencias entre estas dos implementaciones del protocolo LDAP? ¿Cuál es mejor para el ambiente heterogéneo? ¿Alguna buena página web sobre este tema?


Para entornos heterogéneos, desea utilizar un servidor de propósito general como OpenLDAP. Por lo general, la ventaja de AD es que ya contiene cuentas de usuario para sus usuarios internos; estas pueden mantenerse sincronizadas con un servidor LDAP independiente, aunque esto agrega complejidad.

En cuanto a los detalles específicos del protocolo, los documentos para Oracle Virtual Directory tienen un resumen bastante bueno. (OVD es un producto que se puede usar para proxy AD y para traducir algunas de sus peculiaridades en una interfaz más estándar):

http://download.oracle.com/docs/html/E10286_01/app_bundled_plugins.htm#CHDGDBBG

Atributos de rango Los atributos en Active Directory y ADAM con más de 1000 valores se devuelven 1000 a la vez con un nombre que incluye el rango de valores que se devolvieron (o 1500 para Windows 2003). El rango se devuelve al cliente en la forma: miembro; 1-1000: somevalue Para obtener las siguientes mil entradas, la aplicación cliente debe saber de alguna manera que repita la consulta y solicite el atributo atributo; 1001-2000. Esto requiere que las aplicaciones manejen Microsoft Active Directory de una manera especial en comparación con otros productos de directorio.

Actualizaciones de contraseña Microsoft Active Directory y ADAM tienen reglas especiales sobre cómo se puede actualizar la contraseña de un usuario mediante el uso de LDAP:

  • Las contraseñas solo se pueden actualizar a través de una conexión SSL segura.
  • Si un usuario está actualizando su propia contraseña, la contraseña original debe incluirse en un borrado de modificación, siendo la nueva contraseña un complemento de modificación en la misma operación de modificación.
  • Solo un administrador puede restablecer la contraseña de un usuario sin conocer la contraseña anterior.
  • ActiveDroyroy no usa el atributo userPassword, usa el atributo unicodePwd (que se cita entre UTF16-hex-padded-base64 codificado ).

Asignación de ObjectClass La mayoría de los directorios LDAP utilizan las clases de objetos inetOrgPerson y groupOfUniqueNames para usuarios y grupos. Microsoft Active Directory utiliza las clases de objeto de usuario y grupo con atributos específicos a los requisitos de Active Directory NOS de Microsoft ".

Estos son algunos de los principales pero hay otros.