Como Cambiar la contraseña del Root DN de OpenLDAP

En OpenLDAP el DN definido en la directiva rootdn del archivo slapd.conf(5) no es sujeto a las restricciones impuestas por las ACLs, ya que esta es una cuenta privilegiada se recomienda que se asigne una contraseña fuerte y que dicha cuenta solo se use para tareas que requieran privilegios elevados.

Para cambiar o asignar una nueva contraseña al rootdn sigamos el siguiente procedimiento:

– En el archivo slapd.conf(5) tenemos nuestra definición de base de datos tenemos las siguientes directivas:

rootdn cn=Manager,dc=example,dc=com
rootpw secret

En este ejemplo la contraseña del rootdn esta en texto plano, para cambiarla y y protegerla usando un hash criptográfico generamos el hash de contraseña con el programa slappasswd:

# slappasswd
New password:
Re-enter new password:
{SSHA}VanYekdrphCkbjDffLCXbBsxsg3QJBI6

NOTA: El hash predefinido es SSHA, si desea cambiar el tipo de hash use la opción -h para definir un hash diferente, por ejemplo: -h {CRYPT}, para más información vea la pagina del manual de slappasswd(8).

Copie el HASH {SSHA}VanYekdrphCkbjDffLCXbBsxsg3QJBI6 y cambielo en el valor rootpw del archivo slapd.conf(5).

IMPORTANTE: Asegurese de que el archivo slapd.conf(5) tenga los permisos adecuados, por ejemplo en Debian/Ubuntu se recomiendan los permisos: root:openldap / 640.

Para que el cambio tome efecto reinicie el servicio LDAP:

# /etc/init.d/slapd restart

Tambiñen puede mantener la contraseña del rootdn fuera del archivo slapd.conf(5), es decir, puede eliminar la directiva rootpw del archivo slapd.conf(5) y agregar una entrada para el DN en el directorio LDAP.

Los beneficios que obtenemos al mantener la entrada el rootdn en el directorio son:

– Puede actualizar la contraseña de forma dinamica sin reiniciar el servicio usando una operación de modificación desde cualquier cliente LDAP.
– Si olvida la contraseña siempre puede realizar la configuración manual usando slappasswd(8) y slapd.conf(5).

Para mantener la entrada del RootDN en el directorio LDAP siga este procedimiento:

– Cree una entrada en el directorio usando el archivo LDIF:

dn: cn=Manager,dc=example,dc=com
cn: Manager
sn: Manager
objectClass: person
objectClass: top
userPassword: {SSHA}someSSHAdata

– Agrega el LDIF usando ldapadd:

# ldapadd -v -x -D "cn=Manager,dc=example,dc=com" -W -h localhost -f rootdn.ldif

Se recomienda que no use la cuenta cn=Manager,dc=example,dc=com en sus tareas de administración de rutina, en su lugar se recomienda que cree una cuenta privilegiada para tales propositos, por ejemplo en Debian/Ubuntu se usa el DN de la cuenta cn=admin,dc=example,dc=com la cual ya tiene los ACLs predefinidos para que tenga permisos completos sobre la base de datos predefinida.

Referencias:

OpenLDAP Software 2.4 Administrator’s Guide – Access Control

Leave a comment

Your email address will not be published. Required fields are marked *