Вы находитесь на странице: 1из 55

ADMINISTRACIN DE UN SERVIDOR DE DIRECTORIO (OPENLDAP 2.4) EN CENTOS 6.

POR:

Anderson Herrera Duran

http://andersongestionredes.blogspot.com/

INSTRUCTOR:

Mauricio Ortiz

22/09/12

TABLA DE CONTENIDO

OBJETIVOS.1 INTRODUCCIN.2 INSTALACIN Y CONFIGURACIN DEL SERVICIO.3,4,5 CREANDO LA ESTRUCTURA ORGANIZATIVA..6,7 HACER TEST DE LA CONFIGURACIN..8 AGREGAR ENTRADAS.9 CLIENTE OPENLDAP9 CONFIGURACIN USUARIOS...10,11 AADIR USUARIOS.11 AUTENTICACION BSICA12 BUSQUEDAS..13-19 MODIFICAR ATRIBUTOS.20,21,22 BORRAR ENTRADAS23 INSTALACIN Y ADMINISTRACIN PHPLDAPADMIN.23-32 INSTALACIN Y ADMINISTRACIN APACHE DIRECTORY STUDIO32-46 CREAR LOGS OPENLDAP...47,48 ACL CONTROL DE ACCESO..48,52 CONCLUSIONES...53

OBJETIVOS

Este trabajo se hace con el fn de adquirir conocimientos y posteriormemte afianzarlos, sobre lo que ses todo el proceso desde la instalacin hasta la administracin de un servicio de directorio en Linux, en este caso se instalar el servidor openldap version 2.4 en Centos 6.2. Para la administracin del directorio se implementaran herramientas grficas, las cuales harn que la gestin del directorio se haga de forma mas amigable y sencilla. Evidenciar todo el proceso de instalacin y administracin del openldap, para posteriormente crear un manual, el cual servira de ayuda al publico que desee conocer hacerca del tema o resolver dudas.

INTRODUCCIN

El servidor openldap se hace a traves de un proyecto OpenLDAP, el cual es un esfuerzo de colaboracin para desarrollar un sistema robusto, de grado comercial, totalmente equipado y de cdigo abierto suite de LDAP de aplicaciones y herramientas de desarrollo. El proyecto est gestionado por una comunidad mundial de usuarios que utilizan Internet para comunicarse, planear y desarrollar la Suite OpenLDAP y su documentacin correspondiente. En este manuel se instalar en openldap 2.4, el cual es diferente a los otros, este openldap trae los archivos de configuracin por separado, tiene algunas mejoras, tales como hacer cambios sin necesidad de reiniciar el servicio, en algunos casos y dependiendo de las cualidades de la mquina en la cual se este mplementando el servicio estos cambios pueden llegar a ser demorados, por lo cual se debe reiniciar el servicio.

Para iniciar con el proceso de implementacin de directorio en Centos, primero procederemos a instalar los paquetes necesarios, en este caso esta mquina sera servidor y a la ves cliente openldap, hay que tener en cuenta que ya debemos tener previamnte el servidor DNS, instalado y configurado de forma correcta.

Ahora iremos a la configuracin principal del servidor openldap, /etc/openldap/slap.d/cn=config/, primero generaremos una contrasea, con el generador de contraseas {SSHA}, para esto digitamos el comando slappasswd, lo cual lo que hace es encriptar una palabra, en este caso una contrasea.

Ahora vamos a la configuracin principal del openldap, modificamos el olcRootDN, y el olcRootPW (all ponemos la clave que generamos con el slappasswd), con este archivo de configuracin, es suficiente para trabajar con el openldap.

Ahora iremos a otro archivo de configuracin secundario, al {2}dbd, y all pondremos el olcRootDN, y al olcRootPW, ponemos la misma clave que pusimos en el archivo de configuracin principal.

Por ltimo iremos al archivo {1}monitor, en el cual modificaremos el cn, y el dc.

Realizaremos una busqueda como administradores del controlador de dominio, para ver si todo esta bien configurado.

Ahora, empezaremos a crear la estructura organizativa del ldap, comenzando primero por el dc principal, y luego con las unidades organizativas.

Ya con esto queda lista la estructura organizativa para nuestro servidor openldap.

Ahora se procedera a hacer un slaptest, lo cual nos indicara si la configuracin esta bien hecha o no, en este caso nos dice que hace falta un arcvhivo llamada DB_CONFIG, para resolver esto, primero buscaremos el archivo con el comando find, luego copiaremos ese archivo a la ruta que nos indica, luego lo renombraremos y le cambiaremos el grupo propietario, para que sea ldap el propietario con el comando chown.

Ahora agregaremos las entradas con el comando ldapadd, en este caso tena un error, Invalid Sintax (21), este error era producido porque estaba dejando espacios en blanco luego de cada lnea de la configuracin de la estructura organizativa, estos espacios en blanco no estn permitidos, hay que borrarlos, y solo dejar preciso el texto. Luego de esto ya se puede agregar la estructura organizativa al servidor, si hay algn otro error, pero se alcanzan a agregar varias unidades organizativas u otros objetos, debemos corregir el error y empezar a agregar desde donde el archivo saco el error, puesto que no se permite agregar objetos que ya estn agregados.

Ahora configuraremos el archivo del cliente openldap (/etc/openldap/openldap.conf), poniendo el dc y el URI principal del dc.

Lo que sigue es agregar los usuarios, para esto generaremos una contrasea encriptada con slappasswd, utilizaremos la misma contrasea cifrada para todos los usuarios.

Ahora se crearn archivos para las unidades organizativas por separado, se puede realizar tambin todo junto. Las clases de objetos que se atribuiran seran poxisAccount, inetOrgPerson, y top, estas tres clases son las primordiales.

10

Ahora se agregaran los usuarios con el comando ldapadd.

11

Ahora se procedera a hacer una configuracin de autenticacin bsica, con el authconfig-tui.

Elegimos las opciones que el administrador desee.

Especificamos la localizacin del servidor y el dc principal.

12

Previamente se debera tener el DNS configurado con el nombre que utilizaremos en la direccin del ldap, en este caso sera www.

Ahora se relazara una bsqueda a un objeto, en este caso a un usuario.

13

Ahora para probar que todo esta bien, miramos si este usuario ya tiene id.

Para que todo se haga de forma mas sencilla, podemos confidurar un alias, que es como un especie de atajo, para la ejecucin de una orden, para que el alias sea permanente, lo meteremos al archivo bashrc.

Desde la terminal, cargamos el archivo, para que tome las actualizaciones, con el comando source.

14

Luego de configurado este alias, ya no es si no poner en la terminal b_ldap, para que se ejecute el comando completo de ldapsearch puesto all.

Ahora se realizar una bsqueda en todo el rbol del servidor openldap, con el comando ldapsearch.

15

Tambin lo podemos hacer especificando la localizacin del host.

16

Ahora se realizar una busqueda para todo lo que halla dentro de la unidad organizativa Comerciales Internos.

17

Realizaremos una busqueda para todo lo que halla dentro de Direccion General, con esto se listaran todo tipo de objetos.

Ahora realizaremos una bsqueda a un host remoto, para esto especificamos con -h el nombre del host remoto o la IP del host.

18

Si queremos que la bsqueda sea de forma ms personalizada, aadiremos filtros a la bsqueda, estos filtros, los filtros llevan una estructura de esta forma: "(&(filtro0=xxx)(filtro1=xxx)(filtro2=xxx)(filtro3=xxx))"

Ahora haremos una bsqueda en Direccin General que solo muestre las unidades organizativas que hay en Direccin General.

Ahora aremos una bsqueda en la cual nos muestren solo los usuarios que hay en Sistemas.

Y si por ejemplo, hacer un filtro ms especifico uso el smbolo (|), para que solo nos muestre el usuario Richard.

Ahora listaremos solo la unidad organizativa sistemas.

19

Ac miraremos como modificar el mail y el sn (apellido), de un usuario, para esto miraremos primero que usuarios vamos a modificar, y como esta su informacin actual.

20

Ahora crearemos un archivo con extencin ldif, especificando que campos se van a modificar, el atributo uid, no se puede modificar de esta forma.

Ahora modificamos con el comando ldapmodify y el nombre del archivo .ldif que contiene las modificaciones.

21

Ahora realizamos una busqueda de un usuario modificado para verificar si las modificaciones surtieron efecto.

Vamos a modificar el uid, para esto hay que crear tres archivos con extencin ldif diferentes, cada uno con la modificacin del uid, como se muestra e la imagen con el comando cat, luego de esto con el comando ldapmodrdn, modificaremos los usuarios. Luego buscaremos un usuario modificado, para ver si se modifico correctamente.

22

Borraremos un usuario del directorio, con el comando ldapdelete, y se hace la respectiva verificacin.

El siguiente paso ser implementar una herramienta grfica (phpldapadmin) para administrar el servidor openldap, para esto primero agregaremos un CNAME, a nuestro DNS, para acceder por medio de un hosting virtual.

23

Ahora iremos a instalar el servidor web, y luego a configurar el host virtual.

Luego de esto procedemos a instalar el php, y luego descargamos la aplicacin phpldapadmin desde internet aca les dejo un link del cual lo pueden descargar: http://sourceforge.net/projects/phpldapadmin/files/latest/download, en este caso esta comprimida en zip, descomprimimos el paquete con el comando unzip (tambin podemos instalar esta aplicacin desde los repositorios epel, en este caso no se hara).

Ahora renombraremos la aplicacin, para que quede en la configuracin del hosting virtual.

Luego vamos al directorio config, y all, copiaremos el archivo de configuracin de ejemplo a un archivo llamado config.php.

24

Luego, procederemos a entrar con la cuenta del dc, que hemos dado al servidor, especificamos el cn, y el dc.

Ahora vamos a crear un objeto.

25

Le damos en predeterminado, para hacer las modificaciones que nosotros queramos hacerle.

En este caso agregaremos una unidad organizaiva.

26

Especificamos el RDN, debe ser ou, y le damos nombre a la ou.

Luego damos en crear objeto.

27

Si queremos podemos omitir los campos no necesarios que deseemos, eligiendo el cuadro omitir.

Ahora crearemos un objeto en Diseo Grfico, podemos dar clic en crear objeto hijo, estando parados en Diseo Grfico.

28

Le damos en predeterminado.

Elegimos las clases de objetos deseadas.

29

Podemos elegir varias clases a la ves, dejando la tecla Ctrl oprimida.

Especificamos el RDN, que sea uid, y llenamos los campos requeridos y deseados.

30

Luego le damos en crear objeto.

Damos en cometer para crear el objeto.

31

As creamos objetos, hasta llenar la estructura organizativa que se requiera.

Ahora vamos a instalar otra herramienta grfica para administrar el openldap, se llama apache directory studio, la podemos descargar de la pagina oficial http://directory.apache.org/studio/download/download-linux.html, descargamos el paquete, y lo descomprimimos.

Luego lo podemos renombrar para que sea mas fcil de identificar.

32

Vamos al directoro descomprimido, este directorio contiene un archivo ejecutable, si queremos damos doble clic sobre el, o lo ejecutamos con ./ y el nombre del archivo.

Nos abre la interfaz grfica, y vamos a donde dice nuevo, y damos clic all.

33

Elegimos coneccin del ldap.

Damos el nombre de la conexin, el nombre del host, y el puerto.

34

Damos el DN de usuario, y la contrasea.

Damos nuevamente la contrasea (si nos la pide d enuevo).

35

Ahora vamos a agregar una nueva entrada.

Elegimos la opcin crearla desde cero.

36

Aadimos las clases de objetos que tendr la entrada, por defecto nos arrojara el top.

Damos la ruta donde ser creada, especificamos el RDN, y el nombre de la unidad organizativa.

37

Si todo est bien damos en finalizar.

Ahora crearemos un usuario, para ello vamos a la unidad organizativa donde lo deseemos crear, clic derecho, y damos en nueva entrada.

38

Crearemos una entrada desde cero.

Aadimos la clase de objetos que le daremos al usuario.

39

Especificamos el RDN y el nombre de usuario.

Llenamos los atributos correspondientes, dando doble clic sobre el registro a llenar.

40

Ahora miramos que ya la estructura organizativa queda lista.

Dando doble clic sobre el registro de un usuario, podemos modificar sus atributos.

41

Ac vemos modificando el uid, solo dando doble clic sobre uid.

Podemos verificar la contrasea, dndole doble clic en el registro de contrasea.

Si deseamos la podemos cambiar, y tambin cambiar el modo de encriptacin.

42

Ahora se crear un archivo extensin ldif de una unidad organizativa, para importarlos desde el apache directory studio.

Damos clic derecho desde donde queremos hacer la importacin, y damos en importar.

43

Elegimos el archivo.

Vemos que ya quedo importado.

44

Ahora se creara un archivo extensin ldif con un usuario.

Ahora lo importaremos desde el apache directory studio.

45

Elegimos el archivo.

Miramos que el objeto quedo creado.

46

CREAR LOGS DE OPENLDAP

Sabemos que para el servicio openldap no hay un archivo especifico en donde queden registrados todos sus eventos, para solucionar esto, se deber aadir a la configuracin los logs del openldap, para llevar a cabo la implementacin primero iremos a la configuracin principal del servidor openldap, con el fin de crear un archivo en desde el cual se pueda ver la informacin o los logs del openldap, esto para no quedar a ciegas con el servicio.

Crearemos una olc que contenga la informacin de log, lo pondremos en nivel -1, para que muestre todo.

47

Iremos a la configuracin del rsyslog, si no est instalado lo instalamos, con yum install rsyslog, all especificaremos de que y, a donde se llevaran los logs.

Ahora reiniciamos el daemon rsyslog, y ya podemos listar los logs del openldap (utilizar los comandos cat, tail, less) en la ruta que se puso en el archivo de rsyslog.

En otras entradas en mi blog http://andersongestionredes.blogspot.com/ estn publicadas como hacer la instalacin del pam-ldap, la autenticacin por consola y de forma grafica para clientes openldap, y la instalacin del 389-ds (directory-server). Ahora luego de tener claro cmo manejar los mdulos pam, puesto que para la configuracin de la ACL, necesitaremos que el openldap pueda manejar el cambio de contrasea passwd, para esto iremos a editar archivo passwd, que se encuentra en el directorio /etc/pam.d, all le daremos informacin sobre el pam del ldap, para realizar esto, deberemos ya tener instalado los mdulos pam del ldap, lo cual se muestra en la entrada del blog (http://andersongestionredes.blogspot.com/) que cual habla sobre la autenticacin de clientes openldap utilizando mdulos pam ldap. REQUERIMIENTO CONTROLDE ACCESO: Los usuarios autenticados podrn realizar cambios en cualquiera de sus entradas (Es su informacin personal) y podrn leer las entradas de otros usuarios pero no modificarlas. Adems no se mostrar el password a ningn usuario. Pruebe esto con un usuario que no sea al administrador del servidor LDAP.

48

Este proceso se realizara en una mquina servidor openldap diferente, el dominio ser blueskillers.com En el archivo passwd hacemos las modificaciones pertinentes al pam-ldap, esto para poder cambiar las contraseas de los usuarios openldap.

Luego de esto vamos a configurar la ACL, cada ACL se enumerara entre llaves para poder llevar un orden y as poderlas identificar, el proceso para implementarlas se har agregando un olcAccess al archivo backend del servidor openldap, el archivo backend lo podemos hacer en la base de datos bdb, en este caso es la olcDatabase={2}bdb.ldif, o tambin podemos hacer un archivo de base de datos por aparte y agregarlo al openldap, ac, la ACL, la configuraremos en la base de datos bdb la cual ya est en nuestro sistema.

49

Podemos observar que hay tres acls, la primera no se alcanza a ver en la imagen, por lo cual pondr las tres acls configuradas a continuacin, y una breve explicacin: olcAccess: {0}to attrs=userPassword,gecos,mail,shadowLastChange by dn=cn=admin,dc=blueskillers,dc=com write by anonymous auth by self write by * none esta acl me permite a los atributos puestos, ser escritos y por defecto ledos por el administrador y por la misma persona que esta logueada, permite la autenticacin annima, de resto no se permite nada a nadie ms. olcAccess: {1}to dn.base= by * read esta acl, me permite filtrar la informacin, que en la anterior acl logr pasar, puesto que las acls funcionan de esa forma, ac se crea un filtro para que todos puedan leer cualquier dn, pero sin olvidar las restricciones de la anterior acl. olcAcess: {2}to * by dn=cn=admin,dc=blueskillers,dc=com write by * read en esta acl, se generalizo el acceso a escritura por el administrador, puesto que las acls se ordenan desde la ms especfica hasta la ms general, en esta se est poniendo que para cualquier cosa el administrador puede escribir, y que el resto puede leer, esto teniendo en cuenta el filtro de la primer acl. Con esto ya configurado, ahora podemos reiniciar el servicio openldap (service slapd restart), y luego probar dichas configuraciones.

Primero se har una bsqueda logueandonos con el usuario del openldap mortiz, como vamos a consultar el uid del mismo mortiz, nos debe mostrar la contrasea encriptada.

50

Ahora se proceder a hacer una bsqueda logueandonos como el usuario del openldap mortiz, pero en este caso buscaremos el uid de otro usuario ander1, por lo cual no nos deber mostrar los atributos especificados en la acl.

Ahora miraremos si podemos cambiar la contrasea de un usuario ldap, entramos con su mortiz, mortiz un usuario ldap previamente creado, de esta forma nos debe llevar al directorio principal, probamos esto con el comando pwd, vemos que ya est en su home, luego con el comando passwd, veremos si podemos cambiar la contrasea, damos la contrasea actual que tiene el usuario, y luego ponemos una contrasea nueva, vemos que ya funciona.

51

Con el comando env, podemos observar las variables de entorno definidas para este usuario.

52

CONCLUSIONES

Luego De la implementacin del servicio de directorio openldap 2.4, se puede llegar a la conclusin, que este es un buen software, tiene buena robustez, con capacidad empresarial. Las herramientas grficas tales como el phpldapadmin, o el apache directory studio, son muy buenas plataformas a la hora de llevar una buena administracin de todos los datos, incluidos usuarios, grupos, atributos y dems objetos que hacen parte del openldap. Las bsquedas de openldap, son una herramienta muy importante a la hora de llevar a cabo consultas, por esto es muy importante tener claro como poder realizar diferentes tipos de bsquedas en el directorio. Para que el servicio de directorio sea ms seguro, y contenga polticas de seguridad requeridas, se implementan las ACL, las cuales sirven para controlar como los usuarios y administrador acceden a la informacin y datos del directorio. Para llevar a cabo la implementacin de los controles de acceso, se tuvo que proceder a implementarlas por medio de un mtodo de ensayo-error, para que los requerimientos pudieran ser acobijados completamente. El proceso de implementacin de las ACL, se lleva a cabo en los backend del directorio del LDAP, estas listas de control al acceso de la informacin se llevan a cabo en un orden especfico, y adems se deben implementar comenzando desde la ms especfica, y terminando por la ms general para de esta forma poder realizar un exitoso filtrado de todo el control que se desee realizar.

53

Вам также может понравиться