LDAP (Lightweight Directory Access Protocol)

Documentos relacionados
Gestión de LDAP en Debian Índice de contenido

Curso de Computación Científica en Clusters

#09 Apache Web Server

Conguración de la autenticación del sistema. Diego Martín Arroyo 21 de abril de 2015

Instituto Tecnológico de Las América. Materia Sistemas operativos III. Temas. Facilitador José Doñe. Sustentante Robín Bienvenido Disla Ramirez

Implantación de OpenLDAP y medición de su rendimiento

PRACTICA 9 SERVIDOR WEB APACHE SERVIDOR WEB APACHE. JEAN CARLOS FAMILIA Página 1

Mini Howto Proftpd + LDAP

Introducción a LDAP con OpenLDAP

Servidor Web Apache Knoppix Linux.-

Autenticación LDAP en GNU/Linux

Servidor FTP en Ubuntu Juan Antonio Fañas

Instituto Tecnológico de Las Américas (ITLA)

Administración de Usuarios con LDAP y GNU/Linux

PRÁCTICA 1-2: INSTALACIÓN Y ADMINISTRACIÓN DE UN SERVIDOR DNS (PRIMARIO Y ZONA DE RESOLUCIÓN DIRECTA E INVERSA EN WINDOWS 2008 SERVER)

Redes de área local Aplicaciones y Servicios Linux NFS

5. Crea un sitio Web seguro usando tu propio certificado digital (Windows y Linux).

Presentación. Nombre. Marcos Rodríguez Javier. Matricula Materia. Sistemas Operativos III. Tema. Samba4 Domain Controller.

Instituto Tecnológico de Las América. Materia Sistemas operativos III. Temas. Facilitador José Doñe. Sustentante Robín Bienvenido Disla Ramirez

CÓMO CONFIGURAR APACHE PARA CREAR UN SITIO WEB

SSH. El siguiente paso será descargarnos el módulo sshd.wbm.gz de la página para instalarlo.

ACTIVE DIRECTORY OPENLDAP 2012

Instituto Tecnológico Las Américas (ITLA) Sistemas Operativos 3 (SO3) Daniel Alejandro Moreno Martínez. Matrícula:

PROYECTO. Solución Empresarial Ingeniería y Desarrollo de Software - info@solucionempresarial.com.

Instituto Tecnológico de Las Américas (ITLA)

Instituto Tecnológico Las Américas (ITLA) Sistemas Operativos 3 (SO3) Daniel Alejandro Moreno Martínez. Matrícula:

INSTALACIÓN DE GITLAB

MANUAL DE AYUDA TAREA PROGRAMADA COPIAS DE SEGURIDAD

Práctica Inicial LDAP

Administración de sistemas operativos

Vielka Mari Utate Tineo Instituto Tecnológico de las Américas ITLA. Profesor José Doñé. Sistema Operativo 3 PRACTICA NO. 16, SERVIDOR

SIEWEB. La intranet corporativa de SIE

Validación centralizada con LDAP y PHP. Virginia Villanueva Velásquez

Servidore Web Apache. Inicio del servidor Apache. Iniciar. Comando apachectl

VPN sobre red local. Vicente Sánchez Patón I.E.S Gregorio Prieto. Tema 3 SAD

Servidor DNS. DNSmasq. Rocío Alt. Abreu Ortiz

INSTALACIÓN Y CONFIGURACIÓN SERVIDOR DE BASES DE DATOS POSTGRESQL ADMINISTRACIÓN DE SISTEMAS OPERATIVOS DE RED FRANCISCO JAVIER DUARTE GARCIA

Servidor DNS sencillo en Linux con dnsmasq

GUÍA PARA LA INSTALACIÓN DE MOODLE EN UN COMPUTADOR PERSONAL QUE USA EL SISTEMA OPERATIVO MS. WINDOWS

SERVIDOR WEB. Servidores web IIS (Windows) / Apache (Windows y Linux)

Instala y configura un servidor SSH/SFTP. Transferir ficheros a dicho servidor con un cliente SFTP y SCP.

Guía de instalación del sistema de documentos laborales Orquídea

Cómo crear y configurar un servidor FTP

Ubuntu Server HOW TO : SERVIDOR VPN. EN ESTE SE REALIZA LO SIGUIENTE: En este how to se le va a enseñar como usar vpn. Qué es una VPN?

Ubuntu Server HOW TO : SQUID. EN ESTE SE REALIZA LO SIGUIENTE: En este how to se le va a enseñar como instalar servidor proxi Squid.

Ubuntu Server HOW TO : SERVIDOR FTP EN ESTE SE REALIZA LO SIGUIENTE: En este how to se le va a enseñar como compartir datos en un servidor ftp..

REDES DE ÁREA LOCAL. APLICACIONES Y SERVICIOS EN WINDOWS

Instalando Apache 2.0 en Ubuntu 11.04

REDES DE ÁREA LOCAL. APLICACIONES Y SERVICIOS EN WINDOWS

Configuración de Apache

Servicio de Mensajería Instantánea de la Red de Interconexión Financiera Guía del Administrador]

Instituto Tecnológico de Las América. Materia Sistemas operativos III. Temas. Facilitador José Doñe. Sustentante Robín Bienvenido Disla Ramirez

Servidor LDAP en Debian 6 Squeeze

UNIDAD DIDACTICA 15 CONVERTIR UN EQUIPO LINUX SERVER EN CONTROLADOR DE DOMINIO

CONFIGURACIÓN DEL SERVIDOR

Actualizaciones de GateDefender Performa desde un servidor web local

Tutorial: Primeros Pasos con Subversion

WINDOWS : TERMINAL SERVER

Autenticación Centralizada

Guía de Instalación del servicio de BackupOnline de Idecnet. Indice

Servidor de correo. En un servidor de correo, intervienen los siguientes protocolos:

Explotación de Sistemas Informáticos IES Murgi PRÁCTICA 9: SERVICIO WEB Y FTP DE INTERNET INFORMATION SERVICE

FTP. File Transfer Protocol. Protocolo De Transferencia De Archivo. Administración de Redes de Computadores. Ficha:

Redes de área local: Aplicaciones y servicios WINDOWS

Propuesta de Portal de la Red de Laboratorios Virtuales y Remotos de CEA

GUIA DE LABORATORIO #10 Nombre de la Practica: Proxy y Filtrado web en ClearOS Laboratorio de Redes Tiempo Estimado: 2 Horas y 30 Minutos

Servidor Apache 1. Instalación de apache

MultiBase y Cosmos. Particularidades sobre la instalación del motor de base de datos en modo cliente servidor. BASE 100, S.A.

CONFIGURACION DE FEDORA DIRECTORY SERVER PRESENTADO POR: ITALO MANUEL MENDOZA JAIMES CODIGO:

SERVIDOR DE AUTENTICACION LDAP

CONFIGURACIÓN EN WINDOWS 7.

INSTALACIÓN DE PROFTPD

Internet Information Server

Prácticas A.S.O./A.S.O.P. - Boletín L08 NFS y NIS

Software de Comunicaciones. Práctica 7 - Secure Shell. SSH

Creación y administración de grupos de dominio

DIPLOMADO EN SEGURIDAD INFORMATICA

Curso XHTML/HTML/HTML5

Qué es un servicio de Proxy?

Configuración del Panel de Control

UNIDAD DIDACTICA 16 USUARIOS SAMBA EN UN CONTROLADOR DE DOMINIO LINUX SERVER

WINDOWS 2003 SERVER DIRECTORIO ACTIVO Y DNS

Configuración de Samba para compartir Archivos

Introduccion. Utilizando WebDAV

Unidad Didáctica 12. La publicación

Escudo Movistar Guía Rápida de Instalación Dispositivos Symbian

TRANSFERENCIA DE FICHEROS FTP

[CONFIGURACIÓN DE DNS]

Como crear un túnel entre dos PC s usando el Protocolo SSH

Terminal Services Configuration - TS Manager - Remote Desktops - TS Session Broker, RDP-Tcp Propierties,

3. En caso de que no esté instalado hacemos lo siguiente

Transcripción:

LDAP (Lightweight Directory Access Protocol) Permite el acceso a un servicio de directorio ordenado y distribuido para buscar y almacenar diversa información en un entorno de red. LDAP también se considera una base de datos (aunque su sistema de almacenamiento puede ser diferente) a la que pueden realizarse consultas. LDAP es un protocolo de comunicación independiente de la plataforma, lo que lo hace muy interesante cuando se quiere almacenar información sobre muchos usuarios. Una gran ventaja de este servicio es que se puede integrar con otros como método de autenticación o búsqueda de información. Integración de LDAP con otros sistemas: Una vez que hayamos configurado e instalado LDAP lo podemos usar como repositorio de datos para multitud de aplicaciones que disponen de soporte. HTTP (Apache2) Telnet y SSH DNS Mail Transfer Agents (Openwebmail) Libretas de direcciones Servidores FTP (vsftpd, ProFTPd) Servidores de certificados de seguridad La versión actual es LDAPv3 y este servicio opera en el puerto 389/TCP. La forma en la que este servicio almacena la información es jerárquica, así se pueden implementar directorios en organizaciones, universidades, etc. La siguiente figura muestra un ejemplo de la jerarquía en una universidad. Figura 1. Ejemplo de árbol jerárquico de una universidad.

En nuestro laboratorio trabajaremos con OpenLDAP, el cual es una implementación libre y de código abierto del protocolo LDAP, esta herramienta nos ofrece soporte para configurar cliente y servidor y para ir más allá se puede hacer réplicas de directorios en otros servidores. Principales archivos de OpenLDAP en SerTele: /etc/openldap/ldap.conf, Archivo de configuración del cliente. /etc/openldap/slapd.conf, Archivo de configuración del servidor. /etc/openldap/schema/, Este subdirectorio contiene el esquema usado por el demonio slapd. Almacena los archivos de esquema de entrada para el directorio y los archivos ldif para intercambio de información. /var/lib/ldap/, En este directorio se almacenan las bases de datos y sus configuración. Montaje de laboratorio Configurando nuestro Servidor LDAP El archivo de configuración del servidor en SerTele es /etc/openldap/slapd.conf, en este archivo se especifican las directivas con las cuales funcionará nuestro servidor. La ubicación del archivo puede variar dependiendo de la distribución GNU/Linux con la que estemos trabajando. En este archivo se especifica la base con la que se quiere trabajar (en nuestro ejemplo telematica.net), además del password del administrador, la ruta donde se almacenarán las bases de datos, etc. En el siguiente ejemplo se muestra la configuración típica de un archivo slapd.conf.

database bdb # Berkeley database suffix dc=telematica,dc=net # Esta es nuestra base checkpoint 1024 5 cachesize 10000 rootdn cn=admin,dc=telematica,dc=net # dn del admin del server rootpw tele # password del administrador directory /var/lib/ldap # Directorio de las libs y dbs Como puedes observar la contraseña del root es visible en el archivo /etc/openldap/slapd.conf, hay una forma de establecer una contraseña que sea cifrada para que cuando alguien vea el archivo no pueda saber que contraseña tiene el administrador del servidor, y se hace con el comando slappasswd. Por ejemplo: # slappasswd New password: Re-enter new password: {SSHA}d+gU1rRUZtZp8vMuDGAPNO7fzaSGP0AI Esta última línea corresponde al password cifrado que se digitó luego de usar el comando slapppaswd, y se puede copiar sobre slapd.conf con el fin de que la contraseña no sea visible por quien puedan ver el archivo de configuración. Entonces el atributo rootpw quedaría así: rootpw {SSHA}d+gU1rRUZtZp8vMuDGAPNO7fzaSGP0AI #password del administrador Iniciar y detener el servidor # /etc/init.d/ldap [start-stop-status-restart] Equivalente: # rcldap [start-stop-restart-status] Preguntas 1. Inicie el servicio LDAP en el servidor y diga por cuál puerto se gestiona el servicio, indique si es TCP o UDP. Verifique el firewall de OpenSuse (Sertele) este off. # /sbin/susefirewall2 off 2. Realice una búsqueda en el servidor de forma local con: # ldapsearch h 127.0.0.1 -x -b dc=telematica,dc=net Y muestre los resultados obtenidos. Con que versión de LDAP se está trabajando?

3. Observe las siguientes entradas y dibuje el árbol correspondiente a esta jerarquía. dn: dc=telematica,dc=net objectclass: top objectclass: dcobject objectclass: organization dc: telematica o: telematica dn: ou=profesores,dc=telematica,dc=net objectclass: top objectclass: organizationalunit ou: profesores dn: ou=alumnos,dc=telematica,dc=net objectclass: top objectclass: organizationalunit ou: alumnos dn: cn=aleal,ou=profesores,dc=telematica,dc=net objectclass: top objectclass: account objectclass: posixaccount gidnumber: 1001 cn: aleal homedirectory: /home/aleal loginshell: /bin/bash uid: alex_leal uidnumber: 1002 userpassword: {SSHA}cp/MynK09WdeVsYCiq007EEDFWqPKfbt dn: cn=leo,ou=alumnos,dc=telematica,dc=net objectclass: top objectclass: account objectclass: posixaccount gidnumber: 1002 cn: leo homedirectory: /home/lions loginshell: /bin/bash uid: leo_vargas uidnumber: 1003 userpassword: {SSHA}cp/MynK09WdeVsYCiq007EEDFWqPKfbt 3. A partir del árbol mostrado en la figura 1, muestra como sería el archivo.ldif para ingresarlo como información al servidor.

Agregando entradas a nuestro servidor LDAP Las entradas que se quieran agregar deben estar en un archivo.ldif, cada entrada está compuesta de un dn y cuando la entrada termina se deja una línea en blanco. Un ejemplo de una entrada seria: dn: ou=profesores,dc=telematica,dc=net objectclass: top objectclass: organizationalunit ou: profesores 4. Toma las entradas del punto 2, escribiéndolas en un archivo cualquiera.ldif y con el siguiente comando ingresándolas al servidor. NOTA: Es muy recomendable tener el servicio LDAP apagado cuando se quieran ingresar datos al servidor. # rcldap stop # Detenemos el servidor # slapadd -v -l cualquiera.ldif # Agregamos la entrada Verifica que se agregaron y muestra la salida de este comando. Para verificar que se agregaron se muestra un porcentaje a la salida, si este valor es 100% todo está bien, además el slapd muestra las entradas que pudo agregar. Verifique que esté instalado ldap-utils en el cliente. Si no lo está lo puede instalar con: # apt-get install ldap-utils 5. Inicie nuevamente el servidor a partir del comando # rcldap start y realice una búsqueda desde el cliente con el comando: # ldapsearch h IP_SERVER -x -b dc=telematica,dc=net Cuál es la diferencia de las entradas del archivo cualquiera.ldif con la información mostrada en la salida del comando anterior? Pista: Observe los usuarios aleal y leo. Explique porque cree que se da esta diferencia. 6. Inicie Wireshark y capture los paquetes que intercambian Cliente y servidor cuando se hace la consulta. Viaja la información cifrada o en texto plano?

Servidor LDAP como directorio de autenticación para usuarios locales y remotos con SSH Como se observa en este esquema, se configurara nuestro cliente LDAP para que se convierta en un servidor SHH, de tal forma que los usuarios que permita conectar sean los del directorio LDAP. El cliente SSH hará una petición con un usuario al servidor SSH, este último preguntara al servidor LDAP si el usuario existe y su contraseña, de tal forma que hará la autenticación a partir de la información consultada. A continuación se muestran los pasos para configurar el cliente LDAP para que permita autenticar usuarios en su sistema. Configuración para el cliente corriendo [Linux Mint-Ubuntu] Esta guía está diseñada para clientes corriendo versiones de Linux Mint (Ubuntu) 12, 13, 14, 15. Hay que verificar conectividad desde nuestro cliente a nuestro servidor y que cuando se haga una búsqueda LDAP el servidor responda con los datos ingresados en los puntos anteriores. Editar el archivo /etc/ldap/ldap.conf indicando la base y la direccion de nuestro servidor LDAP.

# # LDAP Defaults # # See ldap.conf(5) for details # This file should be world readable but not world writable. BASE dc=telematica,dc=net URI ldap://ip_server #SIZELIMIT 12 #TIMELIMIT 15 #DEREF never # TLS certificates (needed for GnuTLS) #TLS_CACERT /etc/ssl/certs/ca-certificates.crt 7. Para poder autenticar usuarios necesitamos las librerias PAM.Consulte que es PAM (Pluggable Authentication Modules), escriba una breve definicion y diga para que sirve. Verifique si la librería libpam-ldap esta instalada, sino la puede instalar con el siguiente comando: # apt-get install libpam-ldap Luego de instalar la librería, modifique el archivo /etc/ldap.conf modificando la BASE y el la IP der server. Para nuestro laboratorio nos quedaría así: BASE dc=telematica,dc=net uri ldap://ip_server_ldap ldap_version 3 # Nota: Solo se muestran las líneas que hay que modificar Modificacion la cache para el servicio de nombres Nscd es un servicio que proporciona una caché para la mayoría de peticiones comunes para las bases de datos passwd, group, y hosts. El uso de caché es especialmente útil si selecciona distribuir información sobre grupos y usuarios sobre la red usando NIS, LDAP, o hesiod. # apt-get install nscd NSCD: demonio de caché para el servicio de nombres El Name Service Switch o NSS provee una interfaz para configurar y acceder a diferentes bases de datos de cuentas de usuarios y claves como /etc/passwd, /etc/group, /etc/hosts, LDAP, etc.

Editamos el archivo nsswitch.conf # /etc/nsswitch.conf # # Example configuration of GNU Name Service Switch functionality. # If you have the `glibc-doc-reference' and `info' packages installed, try: # `info libc "Name Service Switch"' for information about this file. passwd: group: shadow: hosts: networks: protocols: services: ethers: rpc: netgroup: ldap compat ldap compat ldap compat files mdns4_minimal [NOTFOUND=return] dns mdns4 files db files db files db files db files nis Nota: Las líneas en rojo son las líneas que hay que modificar Editar los módulos PAM de la siguiente forma: Los archivos que se editaran son los siguientes: Common-auth Common-account Common-session Common-password Realice copias de estos archivos con el fin de restablecer los módulos PAM luego de terminado este laboratorio. A continuación se muestran las líneas que deben ir en cada archivo. EL RESTO VAN COMENTADAS. El directorio correspondiente es: /etc/pam.d Archivo Common-auth: auth sufficient auth required auth required pam_unix.so nullok_secure pam_ldap.so use_first_pass pam_permit.so

archivo Common-account account sufficient pam_unix.so account required pam_ldap.so archivo Common-session session required pam_unix.so session required pam_mkhomedir.so skel=/etc/skel/ umask=0022 archivo Common-password password sufficient pam_unix.so nullok obscure sha512 password required pam_ldap.so A continuación se debe reanudar NSS con el siguiente comando # /etc/init.d/nscd restart Con esto ya está configurada la autenticación de los usuarios en este sistema a partir del directorio LDAP del servidor. Verifique que tiene instalado el servidor SSH para que se haga la prueba desde otro equipo intentando conectarse. En caso de que no lo tenga instalado intente: # apt-get install ssh Primero intente autenticándose como root o un usuario del sistema, luego de que verifique que ssh funciona correctamente intente autenticándose como un usuario almacenado en el directorio LDAP. 8. Observe que cuando el usuario se autentica en el servidor SSH entra a una carpeta con su CN(common_name), la carpeta está ubicada en /home/. (Puede verificarlo con el comando pwd ). Mirando los archivos anteriormente modificados en /etc/pam.d/ cual crees que es la opción para que se cree la carpeta correspondiente al usuario que se autentica en el servidor SSH? Es posible que en el cliente SSH cuando se intente conectar se informe de que la identificación en el servidor SSH ha cambiado, y nuestra estación cliente con el fin de mantener nuestra seguridad no nos permita conectar. Para corregir esto digitamos el siguiente comando: # ssh-keygen f /root/.ssh/known_hosts R IP_SERVER_SSH

Acceso a carpetas privadas con autenticación por LDAP con Apache2. Verifica antes que nada que tengas instalado el apache2 en tu estación. Lo primero que debemos de tener en cuenta es que para que podamos autenticar a los usuarios en apache mediante LDAP, hemos de habilitar un módulo especial en nuestro servidor web para que apache pueda validar el acceso a las carpetas deseadas a través de la base de usuarios del servidor LDAP. Dicho módulo se habilita ejecutando el siguiente comando: // Habilitar módulo de autenticación de apache con ldap # a2enmod authnz_ldap El siguiente paso es crear una carpeta de nombre "privada" en "/var/www", lugar donde ubicamos las páginas privadas de nuestro servidor web. Dentro de esta carpeta puedes poner un index.html con un mensaje que puedas distinguir. Luego vamos a editar el archivo /etc/apache2/sites-enabled/000-default que es el archivo de configuración para el vhost que funciona por el puerto 80. La ubicación de este archivo puede variar dependiendo de la distribución Linux. Simplemente vamos a agregar las opciones para que cuando se quiera conectar a una carpeta de nombre privada el servidor HTTP consulte al servidor LDAP por los usuarios que almacena, y pueda hacer la autenticación para que el usuario pueda ingresar a la carpeta.

<VirtualHost *:80> [.] <Directory "/var/www/privada/"> Options Indexes FollowSymLinks AllowOverride None Order allow,deny Allow from all AuthType Basic AuthName "Acceso protegido para profesores" AuthBasicProvider ldap AuthzLDAPAuthoritative Off AuthLDAPURL ldap://ip_server_ldap:389/dc=telematica,dc=net?uid Require user alex_leal </Directory> [.] </VirtualHost> En el parámetro AuthLDAPUrl sustituiremos IP_SERVER_LDAP por la dirección IP del servidor LDAP si fuera otro servidor distinto al servidor apache y en el parámetro. En el parámetro AuthLDAPUrl vemos que al final termina con '?uid'. Significa que lo que debe de introducir el usuario es su uid (login del usuario). El parámetro 'require user' seguido de una lista de usuarios permitidos, ejemplo 'require user alex_leal' solo permite el acceso a ese usuario. Para permitir a cualquier usuario que exista en el servidor LDAP, podemos usar 'requiere valid-user'. Guardamos los cambios realizados y para completar el proceso reiniciaremos el servidor "apache" # service apache2 restart 9. Ubicado desde el cliente ingrese con un navegador a la dirección del servidor especificando la carpeta que tiene restringido el acceso solo para un usuario. Haga el login y verifique con Wireshark si el password va cifrado o no.

REFERENCIAS http://www.novell.com/support/kb/doc.php?id=3000394 http://es.opensuse.org/squid_con_soporte_ldap http://activedoc.opensuse.org/book/opensuse-security-guide/chapter-4-ldap-a-directory-service https://help.ubuntu.com/lts/serverguide/openldap-server.html#openldap-auth-config http://www.linuxparatodos.net/portal/staticpages/index.php?page=como-ldap-auth http://www.forosuse.org/forosuse/showthread.php?t=16557&highlight=vsftpd http://www.ite.educacion.es/formacion/materiales/85/cd/linux/m6/acceso_a_carpetas_privadas_c on_autentificacin_por_ldap.html