GNU/Linux >> Tutoriales Linux >  >> Ubuntu

Cómo instalar y configurar OpenLDAP y phpLDAPadmin en Ubuntu 20.04

LDAP es un protocolo ligero de acceso a directorios que se utiliza para acceder y mantener directorios distribuidos a través de un protocolo de Internet. phpLDAPadmin es un cliente LDAP basado en web que se utiliza para gestionar y administrar el servidor LDAP. Su poderosa función de búsqueda y vista de árbol jerárquico facilitan la administración del servidor LDAP a través del navegador web. Puede agregar y eliminar registros, ver y editar atributos de imagen, administrar hashes de contraseña de usuario y mucho más usando phpLDAPadmin.

En este tutorial, explicaremos cómo instalar phpLDAPadmin en Ubuntu 20.04.

Requisitos

  • Un servidor con Ubuntu 20.04.
  • Un nombre de dominio válido apuntado con la IP de su servidor.
  • Se configura una contraseña de root en el servidor.

Cómo empezar

Antes de comenzar, siempre se recomienda actualizar su sistema con la última versión de los paquetes. Puede actualizarlo con el siguiente comando:

apt-get update -y

Una vez que todos los paquetes estén actualizados, puede continuar con el siguiente paso.

Instalar y configurar servidor OpenLDAP

Primero, deberá instalar Slapd y otras utilidades LDAP en su servidor. Puede instalarlos ejecutando el siguiente comando:

apt-get install slapd ldap-utils

Durante la instalación, se le pedirá que configure una contraseña de administrador como se muestra a continuación:

Proporcione su contraseña segura y presione Enter continuar. Una vez finalizada la instalación, deberá volver a configurar el paquete SLAPD para configurar la información de su dominio.

Puede reconfigurarlo con el siguiente comando:

dpkg-reconfigure slapd

Se le pedirá que omita la configuración del servidor OpenLDAP como se muestra a continuación:

Seleccione No y pulsa Intro continuar. Se le pedirá que proporcione un nombre de dominio DNS como se muestra a continuación:

Proporcione su nombre de dominio y presione Entrar continuar. Se le pedirá que proporcione el nombre de la organización como se muestra a continuación:

Proporcione el nombre de su organización deseada y presione Enter continuar. Se le pedirá la contraseña de administrador como se muestra a continuación:

Proporcione su contraseña de administrador y presione Enter continuar. Se le pedirá que elimine la base de datos como se muestra a continuación:

Seleccione y pulsa Intro para finalizar la configuración.

Ahora, puede verificar su información LDAP usando el siguiente comando:

slapcat

Deberías obtener el siguiente resultado:

dn: dc=example,dc=com
objectClass: top
objectClass: dcObject
objectClass: organization
o: example.com
dc: example
structuralObjectClass: organization
entryUUID: 971829cc-ac5f-103a-8e42-9f8486ff5685
creatorsName: cn=admin,dc=example,dc=com
createTimestamp: 20201027051828Z
entryCSN: 20201027051828.103064Z#000000#000#000000
modifiersName: cn=admin,dc=example,dc=com
modifyTimestamp: 20201027051828Z

dn: cn=admin,dc=example,dc=com
objectClass: simpleSecurityObject
objectClass: organizationalRole
cn: admin
description: LDAP administrator
userPassword:: e1NTSEF9Tm5OYlpSMktkYjVnUUprb284MHFPTEVkMjQrQXpQWEk=
structuralObjectClass: organizationalRole
entryUUID: 9718c198-ac5f-103a-8e43-9f8486ff5685
creatorsName: cn=admin,dc=example,dc=com
createTimestamp: 20201027051828Z
entryCSN: 20201027051828.107057Z#000000#000#000000
modifiersName: cn=admin,dc=example,dc=com
modifyTimestamp: 20201027051828Z

Crear cuentas de usuario de OpenLDAP

En primer lugar, deberá crear los contenedores de la unidad organizativa para almacenar información de usuarios y grupos. Puedes crearlo con el siguiente comando:

nano users-ou.ldif

Agregue las siguientes líneas:

dn: ou=people,dc=example,dc=com
objectClass: organizationalUnit
objectClass: top
ou: people

dn: ou=groups,dc=example,dc=com
objectClass: organizationalUnit
objectClass: top
ou: groups

Guarde y cierre el archivo cuando haya terminado, luego ajuste los controles de acceso a la base de datos SLAPD creando el siguiente archivo:

nano update-mdb-acl.ldif

Agregue las siguientes líneas:

dn: olcDatabase={1}mdb,cn=config
changetype: modify
replace: olcAccess
olcAccess: to attrs=userPassword,shadowLastChange,shadowExpire
  by self write
  by anonymous auth
  by dn.subtree="gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth" manage 
  by dn.exact="cn=readonly,ou=people,dc=example,dc=com" read 
  by * none
olcAccess: to dn.exact="cn=readonly,ou=people,dc=example,dc=com" by dn.subtree="gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth" manage by * none
olcAccess: to dn.subtree="dc=example,dc=com" by dn.subtree="gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth" manage
  by users read 
  by * none

Guarde y cierre el archivo, luego actualice la base de datos ACL con la información anterior ejecutando el siguiente comando:

ldapadd -Y EXTERNAL -H ldapi:/// -f update-mdb-acl.ldif

Deberías obtener el siguiente resultado:

SASL/EXTERNAL authentication started
SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth
SASL SSF: 0
modifying entry "olcDatabase={1}mdb,cn=config"

A continuación, actualice la base de datos con la información de la unidad organizativa del usuario ejecutando el siguiente comando:

ldapadd -Y EXTERNAL -H ldapi:/// -f users-ou.ldif

Deberías obtener el siguiente resultado:

SASL/EXTERNAL authentication started
SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth
SASL SSF: 0
adding new entry "ou=people,dc=example,dc=com"

adding new entry "ou=groups,dc=example,dc=com"

Luego, cree una nueva cuenta de usuario llamada hiteshj creando el siguiente archivo:

nano hitesh.ldif

Agregue las siguientes líneas:

dn: uid=hiteshj,ou=people,dc=example,dc=com
objectClass: inetOrgPerson
objectClass: posixAccount
objectClass: shadowAccount
uid: hiteshj
cn: Hitesh
sn: Jethva
loginShell: /bin/bash
uidNumber: 10000
gidNumber: 10000
homeDirectory: /home/hiteshj
shadowMax: 60
shadowMin: 1
shadowWarning: 7
shadowInactive: 7
shadowLastChange: 0

dn: cn=hiteshj,ou=groups,dc=example,dc=com
objectClass: posixGroup
cn: hiteshj
gidNumber: 10000
memberUid: hiteshj

Guarde y cierre el archivo, luego agregue el usuario a la base de datos con el siguiente comando:

ldapadd -Y EXTERNAL -H ldapi:/// -f hitesh.ldif

Deberías obtener el siguiente resultado:

SASL/EXTERNAL authentication started
SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth
SASL SSF: 0
adding new entry "uid=hiteshj,ou=people,dc=example,dc=com"

adding new entry "cn=hiteshj,ou=groups,dc=example,dc=com"

A continuación, deberá establecer la contraseña para el usuario. Puede configurarlo con el siguiente comando:

ldappasswd -H ldapi:/// -Y EXTERNAL -S "uid=hiteshj,ou=people,dc=example,dc=com"

Deberías ver el siguiente resultado:

New password: 
Re-enter new password: 
SASL/EXTERNAL authentication started
SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth
SASL SSF: 0

Una vez que haya terminado, puede continuar con el siguiente paso.

Crear DN de enlace OpenLDAP

A continuación, deberá definir el nombre de usuario y la contraseña para consultar el servidor de directorio. Primero, genere el hash de contraseña para el usuario de DN de enlace con el siguiente comando:

slappasswd

Deberías obtener el siguiente resultado:

New password: 
Re-enter new password: 
{SSHA}DhjyJN5akaj2etaFKoyeAY8QMgSD/OTb

A continuación, cree un nombre Bind DN de solo lectura con el siguiente comando:

nano readonly-user.ldif

Agregue las siguientes líneas:

dn: cn=readonly,ou=people,dc=example,dc=com
objectClass: organizationalRole
objectClass: simpleSecurityObject
cn: readonly
userPassword: {SSHA}DhjyJN5akaj2etaFKoyeAY8QMgSD/OTb
description: Bind DN user for LDAP Operations

Guarde y cierre el archivo cuando haya terminado, luego agregue el usuario BIND a la base de datos con el siguiente comando:

ldapadd -Y EXTERNAL -H ldapi:/// -f readonly-user.ldif

Deberías obtener el siguiente resultado:

SASL/EXTERNAL authentication started
SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth
SASL SSF: 0
adding new entry "cn=readonly,ou=people,dc=example,dc=com"

A continuación, verifique Bind DN ACL con el siguiente comando:

ldapsearch -Q -LLL -Y EXTERNAL -H ldapi:/// -b cn=config '(olcDatabase={1}mdb)' olcAccess

Deberías obtener el siguiente resultado:

dn: olcDatabase={1}mdb,cn=config
olcAccess: {0}to attrs=userPassword,shadowLastChange,shadowExpire by self writ
 e by anonymous auth by dn.subtree="gidNumber=0+uidNumber=0,cn=peercred,cn=ext
 ernal,cn=auth" manage  by dn.exact="cn=readonly,ou=people,dc=example,dc=com" 
 read  by * none
olcAccess: {1}to dn.exact="cn=readonly,ou=people,dc=example,dc=com" by dn.subt
 ree="gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth" manage by * non
 e
olcAccess: {2}to dn.subtree="dc=example,dc=com" by dn.subtree="gidNumber=0+uid
 Number=0,cn=peercred,cn=external,cn=auth" manage by users read  by * none

Instalar y configurar phpLDAPadmin

De forma predeterminada, el paquete phpLDAPadmin está disponible en el repositorio predeterminado de Ubuntu 20.04. Puede instalarlo ejecutando el siguiente comando:

apt-get install phpldapadmin -y

Después de instalar phpLDAPadmin, deberá configurar phpLDAPadmin y definir la información de su dominio. Puede hacerlo editando el archivo /etc/phpldapadmin/config.php:

nano /etc/phpldapadmin/config.php

Cambie las siguientes líneas:

$servers->setValue('server','name','My LDAP Server');
$servers->setValue('server','host','69.87.216.102');
$servers->;setValue('server','base',array('dc=example,dc=com'));
$servers->setValue('login','auth_type','session');
$servers->setValue('login','bind_id','cn=admin,dc=example,dc=com');
$servers->setValue('auto_number','min',array('uidNumber'=>10000,'gidNumber'=>10000));

Guarde y cierre el archivo cuando haya terminado.

Configurar Apache para phpLDAPadmin

El archivo de configuración predeterminado de phpLDAPadmin para Apache se encuentra en /etc/apache2/conf-disponible/phpldapadmin.conf. No haga ningún cambio y vaya con la configuración predeterminada.

A continuación, deshabilite el archivo de configuración de host virtual Apache predeterminado y reinicie el servicio Apache para aplicar los cambios:

a2dissite 000-default.conf
systemctl restart apache2

Una vez que haya terminado, puede continuar con el siguiente paso.

Acceder a la interfaz de usuario web de phpLDAPadmin

Ahora, abra su navegador web y acceda a phpLDAPadmin usando la URL http://your-server-ip/phpldapadmin . Debería ver la siguiente pantalla:

Ahora, haga clic en iniciar sesión botón. Debería ver la pantalla de inicio de sesión de phpLDAPadmin:

Proporcione su DN de inicio de sesión, contraseña y haga clic en Autenticar botón. Debería ver el panel de phpLDAPadmin en la siguiente pantalla:

Conclusión

¡Felicidades! Ha instalado y configurado correctamente phpLDAPadmin en el servidor Ubuntu 20.04. Ahora puede administrar su servidor LDAP y realizar varias tareas, incluida la adición de unidades organizativas, grupos y usuarios con la interfaz de usuario web de phpLDAPadmin. Siéntase libre de preguntarme si tiene alguna pregunta.


Ubuntu
  1. Cómo instalar y configurar Redis en Ubuntu 18.04

  2. Cómo instalar y configurar Redmine en Ubuntu 18.04

  3. Cómo instalar y configurar Samba en Ubuntu 18.04

  4. Cómo instalar y configurar Redis en Ubuntu 20.04

  5. Instalar y configurar OpenLDAP y phpLDAPadmin en Ubuntu 14.04

Cómo instalar y configurar Nexus Repository Manager en Ubuntu 20.04

Cómo instalar y configurar Cacti en Ubuntu 20.04

Cómo instalar y configurar el servidor OpenLDAP en Ubuntu 16.04

Cómo instalar y configurar el servidor VNC en Ubuntu 20.04

Cómo instalar y configurar Elasticsearch en Ubuntu 20.04

Cómo instalar y configurar Nextcloud en Ubuntu 20.04