Usando Linux para muchas cosas y disfrutando de videojuegos, en dispositivos moviles, consolas y pc. Using Linux for many things and enjoying video games, mobile devices, consoles and pc

Como instalar y configurar OpenLDAP en Linux Centos 7

DriveMeca instalando y configurando OpenLDAP en Linux Centos 7 paso a paso
Cuenta para el email, cuenta para el CMS, mas y mas cuentas. Llega el momento que no recordamos una contraseña y seguimos duplicando información llegando muchas veces a tener un problema de seguridad por cuentas con contraseñas débiles, sin ellas o sin usar. Bien, para esto una forma elegante de atacar este problema es implementar un LDAP (Lightweight Directory Access Protocol, en español Protocolo Ligero/Simplificado de Acceso a Directorios) y es el tema de nuestro articulo del día de hoy, como instalar y configurar OpenLDAP en Linux Centos 7 paso a paso. El protocolo original es LDAP y de el se han derivado implementaciones como la que hoy veremos, OpenLDAP.
OpenLDAP podríamos decir que es el mas sencillo de implementar pero no entiendas por esto que le falta potencia, nada de eso. Comencemos entonces

Requerimientos



-Instalamos dependencias
yum install openssl gnutls cyrus-sasl-ldap krb5-server-ldap gcc make openssl-devel php httpd wget libtool-ltdl-devel

-En Linux Centos 7 ya no se puede compilar OpenLDAP con db4 por ello instalamos libdb
rpm -vi ftp://ftp.muug.mb.ca/mirror/centos/7.2.1511/os/x86_64/Packages/libdb-5.3.21-19.el7.x86_64.rpm
rpm -vi ftp://ftp.muug.mb.ca/mirror/centos/7.2.1511/os/x86_64/Packages/libdb-devel-5.3.21-19.el7.x86_64.rpm

Descargamos OpenLDAP para Linux Centos 7

-Descargamos la ultima version estable de OpenLDAP de su ftp
wget -c ftp://ftp.openldap.org/pub/OpenLDAP/openldap-release.tgz

Artículos recomendadosConfigurando servicios en Linux Centos / RedHat                                    
                                           15 minutos para configurar un Linux Centos 7 LAMP
                                           Como cambiar zona horaria Linux paso a paso

-Descomprimimos el tgz y entramos a su directorio
tar xzvf openldap-release.tgz
cd openldap-2.4.44

Compilamos el código de OpenLDAP en Linux Centos

-Comenzamos a compilar OpenLDAP, hora de ir por un cafe ;-)
./configure
make depend
make

-Probamos este todo ok, repetimos la dosis de cafe
make test

Instalamos OpenLDAP en Linux Centos

-Si todo esta ok, instalamos
make install

-Agregamos enlaces dinamicos
vi /etc/ld.so.conf
/usr/local/lib

-Activamos cambios
ldconfig

-Editamos la configuracion de slapd y agregamos los datos de nuestro dominio
vi /usr/local/etc/openldap/slapd.conf
database        mdb
maxsize         1073741824
suffix          "dc=test,dc=com"
rootdn          "cn=Manager,dc=test,dc=com"

-Ejecutamos el daemon de OpenLDAP
/usr/local/libexec/slapd

-Lo activamos para que se ejecute cada vez que hagamos boot del servidor
vi /etc/rc.local
/usr/local/libexec/slapd

-Verificamos nuestra configuracion haciendo una búsqueda
/usr/local/bin/ldapsearch -x -b '' -s base '(objectclass=*)' namingContexts
# extended LDIF
#
# LDAPv3
# base <> with scope baseObject
# filter: (objectclass=*)
# requesting: namingContexts 
#

#
dn:
namingContexts: dc=test,dc=com

# search result
search: 2
result: 0 Success

# numResponses: 2
# numEntries: 1

-Creamos un ldif cuidando no de no dejar espacios en blanco al final de cada linea
vi drivemeca.ldif
dn: dc=test,dc=com
objectclass: dcObject
objectclass: organization
o: DriveMeca Blog 
dc: test


dn: cn=Manager,dc=test,dc=com 
objectclass: organizationalRole
cn: Manager

-Generamos una contraseña
slappasswd
New password: 
Re-enter new password: 
{SSHA}Y3DTO4viBEaGexuGohtQjJhRhrArs5t5

-Agregamos la contraseña a la configuracion
vi /usr/local/etc/openldap/slapd.conf
rootpw          {SSHA}Y3DTO4viBEaGexuGohtQjJhRhrArs5t5

-Buscamos el proceso, lo matamos y lo volvemos a ejecutar para que tome el cambio
ps -ax|grep slapd
20440 ?        Ssl    0:00 /usr/local/libexec/slapd
20443 pts/0    S+     0:00 grep --color=auto slapd

kill -9 20440

/usr/local/libexec/slapd

Verificamos configuracion de OpenLDAP en Linux Centos

-Probamos a agregar una entrada usando el archivo ldif que creamos antes y escribimos la contraseña que ya hemos generado
/usr/local/bin/ldapadd -x -D "cn=Manager,dc=test,dc=com" -W -f drivemeca.ldif
Enter LDAP Password: 
adding new entry "dc=test,dc=com"

adding new entry "cn=Manager,dc=test,dc=com"

-Hacemos una búsqueda verificando funcione
/usr/local/bin/ldapsearch -x -b 'dc=test,dc=com' '(objectclass=*)'
# extended LDIF
#
# LDAPv3
# base <dc=test,dc=com> with scope subtree
# filter: (objectclass=*)
# requesting: ALL
#

# test.com
dn: dc=test,dc=com
objectClass: dcObject
objectClass: organization
o: DriveMeca Blog
dc: test

# Manager, test.com
dn: cn=Manager,dc=test,dc=com
objectClass: organizationalRole
cn: Manager

# search result
search: 2
result: 0 Success

# numResponses: 3
# numEntries: 2

-Abrimos el puerto en el firewall y dejamos el cambio permanente sin importar si el servidor linux es reiniciado
firewall-cmd --add-service=ldap --permanent
firewall-cmd --reload

Ya conocías OpenLDAP?, lo usas?, escríbeme en los comentarios aquí debajo y pasa la voz compartiendo el tweet.

Sígueme en twitter google+facebook o email y podrás estar enterado de todas mis publicaciones.
Disfrútenlo.

Share/Bookmark