El Rincón de Tux

GNU/Linux, mas fácil que nunca.
  • rss
  • Inicio
  • Libros y Manuales
    • Cómo configurar un servidor de OpenVPN
    • Cifrado de particiones con LUKS.
    • Planificadores de Entrada/Salida en Linux.
    • Configuración simple para Antivirus y Antispam, utilizando procmail.
    • Breve lección de mandatos básicos.
    • Cómo configurar y utilizar Sudo.
    • Estándar de Jerarquía de Sistema de Ficheros.
    • Instalación en modo texto de CentOS 4.
    • Instalación en modo gráfico de CentOS 4
    • Instalación en modo texto de CentOS 5.
    • Instalación en modo gráfico de CentOS 5.
    • Cómo iniciar el modo de rescate en CentOS 4.
    • Iniciando el sistema en nivel de corrida 1 (nivel monousuario).
    • Permisos del sistema de ficheros.
    • Cómo utilizar los mandatos chown y chgrp.
    • Cómo utilizar el mandato chattr.
    • Cómo crear un disquete de arranque.
    • Cómo crear cuentas de usuario.
    • Configurando valores por defecto para el alta de cuentas.
    • Apéndice: Asignando cuotas de disco.
    • Breve lección de mandatos básicos.
    • Funciones básicas de Vi.
    • Breve lección de actualización, instalación y desinstalación de software en Linux®.
    • Cómo actualizar el Núcleo (Kernel) a partir de paquetes RPM®.
    • Introducción a TCP/IP.
    • Introducción a IP versión 4.
    • Cómo configurar correctamente los parámetros de red.
    • Introducción a APT para RPM.
    • Las muchas opciones para instalar equipamiento lógico en distribuciones basadas sobre RPM.
    • Cómo grabar discos compactos desde línea de mandatos.
    • Cómo crear depósitos yum.
    • Uso de yum para instalar y desinstalar paquetería y actualizar sistema.
    • Cómo crear paquetería con rpmbuild.
    • Cómo configurar NTP.
    • Cómo configurar un servidor DHCP en una LAN.
    • Cómo configurar vsftpd (Very Secure FTP Daemon).
    • Cómo configurar pure-ftpd.
    • Cómo configurar el sistema para sesiones gráficas remotas.
    • Cómo configurar un escáner en red a través de saned.
    • Cómo configurar un servidor de nombres de dominio (DNS), parte I.
      • Cómo configurar un servidor de nombres de dominio (DNS), parte II.
    • Cómo configurar SNMP.
    • Cómo configurar MRTG.
    • Usando Smartd para anticiparnos a los desastres de disco duro.
    • Cómo configurar un muro cortafuegos con Shorewall y tres interfaces de red.
    • Cómo configurar OpenSSH.
    • Cómo configurar OpenSSH con chroot.
    • Cómo utilizar OpenSSH con autenticación a través de clave pública.
    • Cómo configurar un servidor NFS.
    • Cómo configurar Samba básico.
    • Cómo configurar OpenLDAP como libreta de direcciones.
    • Cómo configurar OpenLDAP como servidor de autenticación.
    • Cómo configurar OpenLDAP con soporte SSL/TLS.
    • Configuración básica de Freeradius con soporte de LDAP.
    • Cómo Configurar Postfix 1.1.x con SASL.
    • Configuración básica de Sendmail (Parte I).
    • Configuración básica de Sendmail (Parte II).
    • Apéndice: Opciones avanzadas de seguridad para Sendmail.
    • Apéndice: Enviar correo a todos los usuarios del sistema.
    • Instalación y configuración de SquirrelMail.
    • Configuración de MailScanner y ClamAV con Sendmail.
    • Cómo configurar Sendmail y Dovecot con soporte SSL/TLS.
    • Cómo configurar clamav-milter.
    • Cómo configurar spamass-milter.
    • Cómo configurar Cyrus IMAP.
    • La ingeniería social y los [malos] hábitos de los usuarios.
    • Configuración básica de Apache.
    • Cómo habilitar los ficheros .htaccess en Apache 2.x.
    • Apéndice: Configuración de Sitios de Red virtuales en Apache.
    • Cómo configurar Apache con soporte SSL/TLS.
    • Cómo instalar y configurar Geeklog 1.4.x.
    • Cómo instalar y configurar WordPress 2.1.x.
    • Cómo instalar y configurar vtiger CRM 5.0.x.
    • Cómo instalar y configurar MySQL™.
    • Lidiando con UTF-8 y bases de datos en MySQL™.
    • Cómo configurar Squid: Parámetros básicos para servidor de intermediación (Proxy).
    • Cómo configurar Squid: Acceso por Autenticación.
    • Cómo configurar Squid: Restricción de acceso a Sitios de Red.
    • Cómo configurar Squid: Restricción de acceso a contenido por extensión.
    • Cómo configurar Squid: Restricción de acceso por horarios.
    • Cómo incluir supervisión contra virus en Squid con SquidClamAV Redirector.
    • Cómo configurar Squid: Como configurar el administrador de cache.
    • Apéndice: Listas y reglas de control de acceso para Squid.
    • Cómo configurar Asterisk para utilizar Ekiga y Linphone como clientes SIP.
    • Cómo instalar correctamente Java™ a partir de paquete RPM.
    • Cómo instalar correctamente los controladores de NVidia.
    • Cómo instalar la extensión (plug-in) Flash para Mozilla.
    • Micro-cómo: Añadiendo diccionarios al español a OpenOffice.org en Fedora™ Core 1
    • Linux Centos 4.4 en Windows XP.
    • Guía de Codificación para PHP.
    • Micro-Cómo: NIS + NFS.
    • Cómo configurar una Conexión ADSL. (Para el servicio Infinitum de Telmex) V. 2.0.1.
    • Manual de Instalación iPod Linux
    • Cómo configurar las Listas de Control de Acceso.
    • Solaris y Software Libre.
    • Conjunto de paquetes de Blastwave en Solaris.
    • Instalando Apache en Solaris.
    • Instalando MySQL y PHP en Solaris.
    • VPN en servidor Linux y clientes Windows/Linux con OpenVPN + Shorewall [Parte 1]
    • VPN en servidor Linux y clientes Windows/Linux con OpenVPN + Shorewall [Parte 2]
    • Mini manual e introducción a GNUpg y Seahorse.
    • Introducción a Gambas.
    • Introducción a Gambas: Tipos de datos y variables.
    • Libro de Implementación de Servidores con GNU/Linux
      • Otro servidor para descarga de ALDOS Ver 1.3
    • Configurando HAL para mostrar volúmenes en el escritorio GNOME.
    • Como configurar un Dominio Samba con openLDAP en CentOS 5
    • Dominio Samba con OpenLDAP (Parte 1: Configuracion General)
    • Cómo instalar y configurar Spamassassin.
    • Cómo optimizar el sistema de archivos ext3.
    • Cómo instalar y utilizar ClamAV en CentOS.
    • Cómo conectarse a una red Wifi desde la terminal.
    • Introducción a SELinux en CentOS 5 y Fedora.
    • Cómo instalar la complemento (plug-in) Flash Player para Firefox y otros navegadores.
    • Cómo instalar y configurar Postfix en CentOS 5 con soporte para TLS y autenticación.
    • Cómo configurar Freeradius con MySQL en CentOS 5.
    • Cómo instalar y configurar Amavisd-new con Postfix en CentOS 5.
    • Cómo configurar Postfix en CentOS 5 para utilizar dominios virtuales con usuarios del sistema.
    • Cómo configurar un racimo (cluster) de alta disponibilidad con Heartbeat en CentOS 5.
    • Cómo configurar un servidor de respaldos con BackupPC en CentOS 5.
    • Ejercicio: Servidor DNS dinámico, servidor DHCP, Servidor Intermediario (Proxy) y Shorewall.
      • Ejercicio: Servidor DNS Dinámico y Servidor DHCP.
      • Cómo instalar y configurar la herramienta de reportes Sarg.
    • Ejercicio: Servidor Intermediario (Proxy) y cortafuegos con Shorewall.
    • Cómo configurar squid con soporte para direcciones MAC.
    • Cómo configurar Clamd.
    • Cómo configurar un servidor de OpenVPN en CentOS 5
    • Sistema de monitoreo y vigilancia vía WEB.
    • Cómo configurar Samba como cliente o servidor WINS.
    • Cómo gestionar espacio de memoria de intercambio (swap) en GNU/Linux.
    • Cómo utilizar OpenSSH con autenticación a través de firma digital.
    • Cómo instalar y configurar Samba-Vscan en CentOS 5.
    • Cómo utilizar lsof
    • Cómo instalar Java 1.6 en CentOS 5
    • Manual Instalación del E.R.P “Openbravo” Ver. Comunidad 2.50 en Ubuntu 10.10 aka “Maverick”
    • MANUALES
  • Wallpapers
    • Wallpapers de 73Lab.com
    • Stickers basados en los Wallpapers de *juzo-kun’s
  • AL Desktop
  • Licencia y Derechos de autor
  • Humor y Entretenimiento
    • Pringao Howto
    • Síndrome del Túnel Carpal
    • Distribuciones
    • “La VERDADERA razón porque utilizamos Linux”
      • Desasnando burros
      • Las 16 Leyes de todo Geek
      • Top de 56 frases Geek
    • Activar las sombras y transparencias en tu distribución sin usar Compiz Fusion
    • Si tu fueras un Lenguaje de Programación ¿Cual lenguaje serías?

Cómo configurar OpenLDAP como servidor de autenticación.

Autor: Joel Barrios Dueñas
Correo electrónico: darkshram en gmail punto com
Sitio de Red: http://www.alcancelibre.org/
Jabber ID: darkshram@jabber.org

Creative Commons Reconocimiento-NoComercial-CompartirIgual 2.1

© 1999-2009 Joel Barrios Dueñas. Usted es libre de copiar, distribuir y comunicar públicamente la obra y hacer obras derivadas bajo las condiciones siguientes: a) Debe reconocer y citar al autor original. b) No puede utilizar esta obra para fines comerciales. c) Si altera o transforma esta obra, o genera una obra derivada, sólo puede distribuir la obra generada bajo una licencia idéntica a ésta. Al reutilizar o distribuir la obra, tiene que dejar bien claro los términos de la licencia de esta obra. Alguna de estas condiciones puede no aplicarse si se obtiene el permiso del titular de los derechos de autor. Los derechos derivados de usos legítimos u otras limitaciones no se ven afectados por lo anterior. Licencia completa en castellano. La información contenida en este documento y los derivados de éste se proporcionan tal cual son y los autores no asumirán responsabilidad alguna si el usuario o lector hace mal uso de éstos.

Introducción.

LDAP (Lightweight Directory Access Protocol) es un protocolo para consulta y modificación de servicios de directorio que se desempeñan sobre TCP/IP. LDAP utiliza el modelo X.500 para su estructura, es decir, se estructura árbol de entradas, cada una de las cuales consiste de un conjunto de atributos con nombre y que a su vez almacenan valores.

URL: http://en.wikipedia.org/wiki/LDAP

Equipamiento lógico necesario.

• openldap-2.2.13
• openldap-clients-2.2.13
• openldap-servers-2.2.
• authconfig-4.6.10
• authconfig-gtk-4.6.10 (opcional)

Instalación a través de yum.

Si utiliza CentOS 5, Red Hat™ Enterprise Linux 5 o White Box Enterprise Linux 5, solo se necesita realizar lo siguiente para instalar o actualizar el equipamiento lógico necesario:

yum -y install openldap openldap-clients openldap-servers authconfig authconfig-gtk

Instalación a través de up2date.

Si se utiliza Red Hat™ Enterprise Linux 4, solo bastará realizar lo siguiente para instalar o actualizar el equipamiento lógico necesario:

up2date -i openldap openldap-clients openldap-servers authconfig authconfig-gtk

Procedimientos.

SELinux y el servicio ldap.

Para que SELinux permita al servicio ldap funcionar normalmente, haciendo que se pierda toda la protección que brinda esta implementación, utilice el siguiente mandato:

setsebool -P slapd_disable_trans 1

Creación de directorios.

Con fines de organización se creará un directorio específico para este directorio y se configurará con permisos de acceso exclusivamente al usuario y grupo ldap.

mkdir /var/lib/ldap/autenticar
chmod 700 /var/lib/ldap/autenticar
chown ldap:ldap /var/lib/ldap/autenticar

Se requiere además copiar el fichero /etc/openldap/DB_CONFIG.example dentro de /var/lib/ldap/addressbook/ como el fichero DB_CONFIG:

cp /etc/openldap/DB_CONFIG.example /var/lib/ldap/autenticar/DB_CONFIG

Generación de claves de acceso para LDAP.

Crear la clave de acceso que se asignará en LDAP para el usuario administrador del directorio. Basta ejecutar desde una terminal:

slappasswd

Lo anterior debe dar como salida un criptograma como lo mostrado a continuación:

XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Copie y respalde este criptograma. El texto de la salida será utilizado más adelante en el fichero /etc/openldap/slapd.conf y se definirá como clave de acceso para el usuario Administrador, quien tendrá todos los privilegios sobre el directorio.

Fichero de configuración /etc/openldap/slapd.conf.

Se edita el fichero /etc/openldap/slapd.conf y se verifica que los ficheros de esquema mínimos requeridos estén presentes. De tal modo, al inicio del fichero debe haber algo similar a lo siguiente:

#
# See slapd.conf(5) for details on configuration options.
# This file should NOT be world readable.
#
include		/etc/openldap/schema/core.schema
include		/etc/openldap/schema/cosine.schema
include		/etc/openldap/schema/inetorgperson.schema
include		/etc/openldap/schema/nis.schema

# Allow LDAPv2 client connections.  This is NOT the default.
allow bind_v2

Se añade al fichero /etc/openldap/slapd.conf lo siguiente con el fin de definir el nuevo directorio que en adelante se utilizará para autenticar a toda al red local:

database	bdb
suffix		"dc=su-dominio,dc=com"
rootdn		"cn=Administrador,dc=su-dominio,dc=com"
rootpw          XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
directory	/var/lib/ldap/autenticar

# Indices to maintain for this database
index objectClass                       eq,pres
index ou,cn,mail,surname,givenname      eq,pres,sub
index uidNumber,gidNumber,loginShell    eq,pres
index uid,memberUid                     eq,pres,sub
index nisMapName,nisMapEntry            eq,pres,sub

Inicio del servicio ldap.

Inicie el servicio de LDAP y añada éste al resto de los servicios que arrancan junto con el sistema:

service ldap start
chkconfig ldap on

Migración de cuentas existentes en el sistema.

Edite el fichero /usr/share/openldap/migration/migrate_common.ph y modifique los los valores de las variables $DEFAULT_MAIL_DOMAIN y $DEFAULT_BASE a fin de que queden del siguiente modo:

# Default DNS domain
$DEFAULT_MAIL_DOMAIN = "su-dominio.com";

# Default base
$DEFAULT_BASE = "dc=su-dominio,dc=com";

A continuación hay que crear el objeto que a su vez contendrá el resto de los datos en el directorio. Genere un fichero base.ldif del siguiente modo:

/usr/share/openldap/migration/migrate_base.pl > base.ldif

Se utilizará ldapadd para insertar los datos necesarios. Las opciones utilizadas con este mandato son las siguientes:

-x		autenticación simple
-W		solicitar clave de acceso
-D binddn	Nombre Distinguido (dn) a utilizar
-h anfitrión	Servidor LDAP a acceder
-f fichero 	fichero a utilizar

Una vez entendido lo anterior, se procede a insertar la información generada en el directorio utilizando lo siguiente:

ldapadd -x -W -D 'cn=Administrador, dc=su-dominio, dc=com' -h 127.0.0.1 -f base.ldif

Una vez hecho lo anterior, se podrá comenzar a poblar el directorio con datos. Lo primero será importar los grupos y usuarios existentes en el sistema. Realice la importación de usuarios utilizando los guiones correspondientes del siguiente modo:

/usr/share/openldap/migration/migrate_group.pl /etc/group group.ldif
/usr/share/openldap/migration/migrate_passwd.pl /etc/passwd passwd.ldif

Lo anterior creará los ficheros group.ldif y passwd.ldif, los cuales incluirán la información de los grupos y cuentas en el sistema, incluyendo las claves de acceso. Los datos se podrán insertar en el directorio LDAP utilizando lo siguiente:

ldapadd -x -W -D 'cn=Administrador, dc=su-dominio, dc=com' -h 127.0.0.1 -f group.ldif
ldapadd -x -W -D 'cn=Administrador, dc=su-dominio, dc=com' -h 127.0.0.1 -f passwd.ldif

Comprobaciones.

Antes de configurar el sistema para utilizar LDAP para autenticar, es conveniente verificar que todo funciona correctamente.

El siguiente mandato verifica que directorios disponibles existen en el servidor 127.0.0.1.

ldapsearch -h 127.0.0.1 -x -b '' -s base '(objectclass=*)' namingContexts

Lo anterior debe devolver una salida similar a lo siguiente:

# extended LDIF
#
# LDAPv3
# base <> with scope base
# filter: (objectclass=*)
# requesting: namingContexts
#

#
dn:
namingContexts: dc=su-dominio,dc=com

# search result
search: 2
result: 0 Success

# numResponses: 2
# numEntries: 1

El siguiente mandato debe devolver toda la información de todo el directorio solicitado (dc=su-dominio,dc=com).

ldapsearch -x -b 'dc=su-dominio,dc=com' '(objectclass=*)'

Otro ejemplo es realizar una búsqueda específica para un usuario en particular. Suponiendo que en el sistema se tiene un usuario denominado fulano, puede ejecutarse lo siguiente:

ldapsearch -x -b 'uid=fulano,ou=People,dc=su-dominio,dc=com'

Lo anterior debe regresar algo como lo siguiente:

# extended LDIF
#
# LDAPv3
# base su-dominio,dc=com with scope sub
# filter: (objectclass=*)
# requesting: ALL
#

# fulano, People, su-dominio.com
dn: uid=fulano,ou=People,dc=su-dominio,dc=com
uid: fulano
cn: fulano
objectClass: account
objectClass: posixAccount
objectClass: top
objectClass: shadowAccount
userPassword:: xxxxxxxxxxxx
shadowLastChange: 12594
shadowMax: 99999
shadowWarning: 7
loginShell: /bin/bash
uidNumber: 505
gidNumber: 505
homeDirectory: /home/fulano

# search result
search: 2
result: 0 Success

# numResponses: 2
# numEntries: 1

Configuración de clientes.

Defina los valores para los parámetros host y base a fin de establecer hacia que servidor y a que directorio conectarse en el fichero /etc/ldap.conf. Para fines prácticos, el valor del parámetro host corresponde a la dirección IP del servidor LDAP y el valor del parámetro base debe ser el mismo que se especificó en el fichero /etc/openldap/slapd.conf para el parámetro suffix. Considerando que el servidor LDAP tiene la dirección IP 192.168.0.1, se puede definir lo siguiente en el fichero /etc/openldap/slapd.conf:

# Your LDAP server. Must be resolvable without using LDAP.
# Multiple hosts may be specified, each separated by a
# space. How long nss_ldap takes to failover depends on
# whether your LDAP client library supports configurable
# network or connect timeouts (see bind_timelimit).
host 192.168.0.1

# The distinguished name of the search base.
base dc=su-dominio,dc=com

Lo que sigue es utilizar ya sea authconfig, authconfig-tui o authconfig-gtk para configurar el sistema a fin de que se utilice el servidor LDAP para autenticar.

authconfig (modo-texto)

Suponiendo que el servidor LDAP tiene la dirección IP 192.168.0.1, utilice el siguiente mandato para configurar al cliente remoto a fin de que autentique en el directorio LDAP.

authconfig --useshadow  --enablemd5  --nostart
--enableldap --enableldapauth --ldapserver=ldap://192.168.0.1/
--ldapbasedn=dc=su-dominio,dc=com --update

authconfig-tui (modo texto)

Habilite las casillas Utilizar LDAP y Utilizar Autenticación LDAP y pulse la tecla Tab hasta Siguiente y pulse la tecla Enter y verifique que los datos del servidor y el directorio a utilizar sean los correctos.

authconfig-tui, pantalla principal.

authconfig, pantalla principal.

authconfig-tui, pantalla configuración ldap.

authconfig, pantalla configuración ldap.

authconfig-gtk (modo gráfico)

Si se utiliza authconfig-gtk se deben habilitar las casillas de Soporte LDAP. Antes de cerrar la ventana en la pestañas de Información del usuario y Autenticación. Antes de dar clic en Aceptar, haga clic en Configurar LDAP y verifique que los datos del servidor y el directorio a utilizar sean los correctos.

authconfig-gtk, pestaña de Información del usuario.

authconfig-gtk, pestaña de Información del usuario.

authconfig-gtk, pestaña de Autenticación.

authconfig-gtk, pestaña de Autenticación.

authconfig-gtk, ventana Configurar LDAP.
authconfig-gtk, ventana Configurar LDAP.

Administración.

Hay una gran cantidad de programas para acceder y administrar servidores LDAP, pero la mayoría solo sirven para administrar usuarios y grupos del sistema como diradmin y el módulo de LDAP de Webmin. La mejor herramienta de administración de directorios LDAP que podemos recomendar es PHP LDAP Admin.

Respaldo de datos.

Debe detenerse el servicio de LDAP antes de proceder con el respaldo de datos.

service ldap stop

A continuación, se utiliza la herramienta slapcat, utilizando el fichero de configuración /etc/openldap/slapd.conf.

slapcat -v -f /etc/openldap/slapd.conf -l respaldo-$(date +%Y%m%d).ldif

Concluido el proceso de respaldo de datos, puede iniciarse de nuevo el servicio de ldap.

service ldap start

Restauración de datos.

El procedimiento requiere detener el servicio.

service ldap stop

Debe eliminarse los datos del directorio a restaurar.

rm -f /var/lib/ldap/autenticar/*

A continuación, se utiliza la herramienta slapadd para cargar los datos desde un fichero *.ldif de respaldo.

slapadd -v -c -l respaldo-20061003.ldif -f /etc/openldap/slapd.conf

Se debe ejecutar la herramienta slapindex, que se utiliza para regenerar los índices LDAP.

slapindex

Concluido el proceso de restauración de datos, puede iniciarse de nuevo el servicio de ldap.

service ldap start

Modificaciones necesarias en el muro cortafuegos.

Si se utiliza un cortafuegos con políticas estrictas, como por ejemplo Shorewall, es necesario abrir el puerto 389 por TCP (LDAP).

Las reglas para el fichero /etc/shorewall/rules de Shorewall correspondería a algo similar a lo siguiente:

#ACTION	SOURCE	DEST	PROTO 	DEST		SOURCE
#				PORT		PORT(S)1
ACCEPT	net	fw	tcp	389
#LAST LINE -- ADD YOUR ENTRIES BEFORE THIS ONE -- DO NOT REMOVE

Última Edición lunes 17 de agosto, 2009 @20:15

Comentarios RSS
Comentarios RSS
Trackback
Trackback

Deja un comentario

Clic para cancelar respuesta.

Imagen CAPTCHA
Refrescar imagen
*

  • Buscar

  • Etiquetas

      Actualizaciones Anuncios Audio Consejos Creative Commons Distribuciones Documentales E.R.P's El Rincón de Tux Entrevistas Eventos Friki Geek GNU/Linux Google Hacker Hacking How-To Humor Imágenes Internet Libros Manuales Plugins Podcast Pringao-Howto Programación Software Libre Star Wars Tecnología Tuxteno.com Ubuntu Videos Wallpapers Ética

      WP Cumulus Flash tag cloud by Roy Tanck requires Flash Player 9 or better.

  • Ubuntu 11.10

      Ubuntu 11.10 days to go
  • Ubuntu 11.04

    Ubuntu 11.04 days to go
  • Usuarios Registrados

      Login

      Crear una cuenta nueva

  • Dato Friki*

  • Linux Counter

  • Tira Ecol

      Tira Ecol
  • Spam Bloqueado

      Spam bloqueado anteriormente 2743

      31 comentarios de spam
      bloqueados por
      Akismet
  • Usuarios Online

      tracker


  • Contador de Visitas

      Eres el visitante #:

  • Software Libre

  • Distribuciones

  • Descarga Firefox 7

      Firefox 7
  • Mapa de Tráfico

  • Calendario

    • Licencia


        Esta obra está bajo una licencia Creative Commons Reconocimiento 2.5
    rss Comentarios RSS valid xhtml 1.1 design by jide powered by Wordpress get firefox