Loading…

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

Like this document? Why not share!

Like this? Share it with your network

Share

25 protocolo ligero de acceso a directorios ldap

on

  • 1,659 views

 

Statistics

Views

Total Views
1,659
Views on SlideShare
1,659
Embed Views
0

Actions

Likes
0
Downloads
32
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

25 protocolo ligero de acceso a directorios ldap Document Transcript

  • 1. Protocolo Ligero de Acceso a Directorios (LDAP) The Lightweight Directory Access Protocol (LDAP) is a set of open protocols used to access centrally stored information over a network. It is based on the X.500 standard for directory sharing, but is less complex and resource-intensive. For this reason, LDAP is sometimes referred to as "X.500 Lite." The X.500 standard is a directory that contains hierarchical and categorized information, which could include information such as names, addresses, and phone numbers. Como X.500, LDAP organiza la información en un modo jerárquico usando directorios. Estos directorios pueden almacenar una gran variedad de información y se pueden incluso usar de forma similar al Servicio de información de red (NIS), permitiendo que cualquiera pueda acceder a su cuenta desde cualquier máquina en la red acreditada con LDAP. Sin embargo, en la mayoría de los casos, LDAP se usa simplemente como un directorio telefónico virtual, permitiendo a los usuarios acceder fácilmente la información de contacto de otros usuarios. Pero LDAP va mucho más lejos que un directorio telefónico tradicional, ya que es capaz de propagar su consulta a otros servidores LDAP por todo el mundo, proporcionando un repositorio de información ad-hoc global. Sin embargo, en este momento LDAP se usa más dentro de organizaciones individuales, como universidades, departamentos del gobierno y compañías privadas. LDAP es un sistema cliente/servidor. El servidor puede usar una variedad de bases de datos para guardar un directorio, cada uno optimizado para operaciones de lectura rápidas y en gran volúmen. Cuando una aplicación cliente LDAP se conecta a un servidor LDAP puede, o bien consultar un directorio, o intentar modificarlo. En el evento de una consulta, el servidor, puede contestarla localmente o puede dirigir la consulta a un servidor LDAP que tenga la respuesta. Si la aplicación cliente está intentando modificar información en un directorio LDAP, el servidor verifica que el usuario tiene permiso para efectuar el cambio y después añade o actualiza la información. Este capítulo hace referencia a la configuración y uso de OpenLDAP 2.0, una implementación de código abierto de los protocolos LDAPv2 y LDAPv3. 25.1. Razones por las cuales usar LDAP La mayor ventaja de LDAP es que se puede consolidar información para toda una organización dentro de un repositorio central. Por ejemplo, en vez de administrar listas de usuarios para cada grupo dentro de una organización, puede usar LDAP como directorio central, accesible desde cualquier parte de la red. Puesto que LDAP soporta la Capa de conexión segura (SSL) y la Seguridad de la capa de transporte (TLS), los datos confidenciales se pueden proteger de los curiosos. LDAP también soporta un número de bases de datos back-end en las que se guardan directorios. Esto permite que los administradores tengan la flexibilidad para desplegar la base de datos más indicada para el tipo de información que el servidor tiene que diseminar. También, ya que LDAP tiene una interfaz de programación de aplicaciones (API) bien definida, el número de aplicaciones acreditadas para LDAP son numerosas y están aumentando en cantidad y calidad. 25.1.1. Características de OpenLDAP OpenLDAP incluye un número de características importantes. 429
  • 2. Demonios y utilidades OpenLDAP • Soporte LDAPv3 — OpenLDAP soporta la Capa de autenticación y seguridad (SASL), la Seguridad de la capa de transporte (TLS) y la Capa de conexión segura (SSL), entre otras mejoras. Muchos de los cambios en el protocolo desde LDAPv2 han sido diseñados para hacer LDAP más seguro. • Soporte IPv6 — OpenLDAP soporta la próxima generación del protocolo de Internet versión 6. • LDAP sobre IPC — OpenLDAP se puede comunicar dentro de un sistema usando comunicación interproceso (IPC). Esto mejora la seguridad al eliminar la necesidad de comunicarse a través de la red. • API de C actualizada — Mejora la forma en que los programadores se conectan para usar servidores de directorio LDAP. • Soporte LDIFv1 — Provee compatibilidad completa con el formato de intercambio de datos, Data Interchange Format (LDIF) versión 1. • Servidor Stand-Alone mejorado — Incluye un sistema de control de acceso actualizado, conjunto de hilos, herramientas mejoradas y mucho más. 25.2. Terminología LDAP Cualquier discusión sobre LDAP requiere un entendimiento básico del conjunto de términos específicos de LDAP: • entrada — una entrada es una unidad en un directorio LDAP. Cada entrada se identifica por su único Nombre distinguido (Distinguished Name (DN)). • attributes — Information directly associated with an entry. For example, an organization could be represented as an LDAP entry. Attributes associated with the organization might include a fax number, an address, and so on. People can also be represented as entries in an LDAP directory, with common attributes such as the person's telephone number and email address. Some attributes are required, while other attributes are optional. An objectclass definition sets which attributes are required for each entry. Objectclass definitions are found in various schema files, located in the /etc/openldap/schema/ directory. For more information, refer to Sección 25.5, “El directorio /etc/openldap/schema/”. La afirmación de un atributo y su valor correspondiente también se conocen como Nombre Distinguido Relativo (RDN). Un RDN sólamente es único por entrada mientras que un DN es unico globalmente. • LDIF — El Formato de intercambio de datos de LDAP (LDIF) es una representación de texto ASCII de entradas LDAP. Los archivos usados para importar datos a los servidores LDAP deben estar en formato LDIF. Una entrada LDIF se ve similar al ejemplo siguiente: [<id>] dn: <distinguished name> <attrtype>: <attrvalue> <attrtype>: <attrvalue> <attrtype>: <attrvalue> Each entry can contain as many <attrtype>: <attrvalue> pairs as needed. A blank line indicates the end of an entry. 430
  • 3. Demonios y utilidades OpenLDAP Aviso All <attrtype> and <attrvalue> pairs must be defined in a corresponding schema file to use this information. Any value enclosed within a < and a > is a variable and can be set whenever a new LDAP entry is created. This rule does not apply, however, to <id>. The <id> is a number determined by the application used to edit the entry. 25.3. Demonios y utilidades OpenLDAP El grupo de bibliotecas y herramientas OpenLDAP están incluidas en los paquetes siguientes: • openldap — Contiene las librerías necesarias para ejecutar las aplicaciones del servidor y cliente OpenLDAP. • openldap-clients — Contiene herramientas de línea de comandos para visualizar y modificar directorios en un servidor LDAP. • openldap-server — Contiene los servidores y otras utilidades necesarias para configurar y ejecutar un servidor LDAP. Hay dos servidores contenidos en el paquete openldap-servers: el Demonio independiente LDAP (/usr/sbin/slapd) y el Demonio independiente de actualización de réplicas LDAP (/usr/sbin/ slurpd). El demonio slapd es el servidor independiente LDAP mientras que el demonio slurpd es usado para sincronizar los cambios desde un servidor LDAP a otro en la red. El demonio slurpd sólo es usado cuando se trabaja con múltiples servidores LDAP. Para llevar a cabo tareas administrativas, el paquete openldap-server instala las utilidades siguientes en el directorio /usr/sbin/: • slapadd — Añade entradas desde un archivo LDIF a un directorio LDAP. Por ejemplo, el comando /usr/sbin/slapadd -l ldif-input leerá en el archivo LDIF, ldif-input, que contiene las nuevas entradas. Importante Debe ser usuario root para usar /usr/sbin/slapadd. Sin embargo, el servidor de directorio se ejecuta como usuario ldap. Por lo tanto, el servidor de directorio no podrá modificar ningún archivo creado por slapadd. Para corregir este problema, después que haya terminado de usar slapadd, escriba el comando siguiente: chown -R ldap /var/lib/ldap • slapcat — Pulls entries from an LDAP directory in the default format, Sleepycat Software's Berkeley DB system, and saves them in an LDIF file. For example, the command /usr/sbin/ 431
  • 4. Demonios y utilidades OpenLDAP slapcat -l ldif-output outputs an LDIF file called ldif-output containing the entries from the LDAP directory. • slapindex — Re-indexa el directorio slapd basado en el contenido actual. Esta herramienta se debería ejecutar siempre que se cambien las opciones de indexado dentro de /etc/openldap/ slapd.conf. • slappasswd — Genera un valor de contraseña encriptada de usuario para ser usada con ldapmodify o el valor rootpw en el archivo de configuración slapd, /etc/openldap/ slapd.conf. Ejecute el comando /usr/sbin/slappasswd para crear la contraseña. Aviso Asegúrese de detener slapd ejecutando /sbin/service lapd stop antes de usar slapadd, slapcat o slapindex. De otro modo se pondrá en riesgo la integridad del directorio LDAP. Para más información sobre cómo utilizar estas utilidades, consulte sus páginas del manual respectivas. El paquete openldap-clients instala herramientas utilizadas para agregar, modificar y borrar entradas en un directorio LDAP dentro de /usr/bin/ Estas herramientas incluyen lo siguiente: • ldapadd — Agrega entradas a un directorio LDAP aceptando entradas vía archivo o entrada estándar; ldapadd es en realidad un enlace duro a ldapmodify -a. • ldapdelete — Borra entradas de un directorio LDAP al aceptar instrucciones del usuario por medio de la entrada desde el indicador de comandos o por medio de un archivo. • ldapmodify — Modifica las entradas en un directorio LDAP, aceptando la entrada por medio de un archivo o entrada estándar. • ldappasswd — Configura una contraseña para un usuario LDAP. • ldapsearch — Busca por entradas en el directorio LDAP usando un indicador de comandos shell. • ldapcompare — Abre una conexión a un servidor LDAP, se vincula y hace una comparación utilizando parámetros especificados. • ldapwhoami — Abre una conexión en un servidor LDAP, se vincula y realiza una operación whoami. • ldapmodrdn — Abre una conexión en un servidor LDAP, se vincula y modifica los RDNs de entradas. Con la excepción de ldapsearch, cada una de estas utilidades se usa más fácilmente haciendo referencia a un archivo que contiene los cambios que se deben llevar a cabo, que escribiendo un comando para cada entrada que se desea cambiar en un directorio LDAP. El formato de dicho archivo está esquematizado en las páginas del manual sobre cada utilidad. 25.3.1. NSS, PAM, y LDAP In addition to the OpenLDAP packages, Red Hat Enterprise Linux includes a package called nss_ldap, which enhances LDAP's ability to integrate into both Linux and other UNIX environments. 432
  • 5. PHP4, LDAP y el Servidor HTTP Apache The nss_ldap package provides the following modules (where <version> refers to the version of libnss_ldap in use): • /lib/libnss_ldap-<version>.so • /lib/security/pam_ldap.so El paquete nss_ldap provee los siguientes módulos para las arquitecturas Itanium o AMD64. • /lib64/libnss_ldap-<version>.so • /lib64/security/pam_ldap.so The libnss_ldap-<version>.so module allows applications to look up users, groups, hosts, and other information using an LDAP directory via the Nameservice Switch (NSS) interface of glibc. NSS allows applications to authenticate using LDAP in conjunction with the NIS name service and flat authentication files. El módulo pam_ldap permite que las aplicaciones PAM puedan validar usuarios utilizando la información almacenada en el directorio LDAP. Las aplicaciones PAM incluyen conexiones desde la consola, servidores de correo POP e IMAP y Samba. Al desarrollar un servidor LDAP en una red, se pueden autentificar todas estas aplicaciones usando la misma combinación de nombre de usuario y contraseña, simplificando en gran medida la administración. 25.3.2. PHP4, LDAP y el Servidor HTTP Apache Red Hat Enterprise Linux incluye también un paquete que contiene un módulo LDAP para el lenguaje de comandos del servidor PHP. El paquete php-ldap añade soporte LDAP al lenguaje incluido en HTML, PHP4 a través del módulo /usr/lib/php4/ldap.so. Este módulo permite a los scripts PHP4 acceder a información almacenada en un directorio LDAP. Red Hat Enterprise Linux ships with the mod_authz_ldap module for the Apache HTTP Server. This module uses the short form of the distinguished name for a subject and the issuer of the client SSL certificate to determine the distinguished name of the user within an LDAP directory. It is also capable of authorizing users based on attributes of that user's LDAP directory entry, determining access to assets based on the user and group privileges of the asset, and denying access for users with expired passwords. The mod_ssl module is required when using the mod_authz_ldap module. Importante El módulo mod_authz_ldap no autentica a un usuario en un directorio LDAP usando un hash de contraseña encriptado. Esta funcionalidad es proporcionada por el módulo experimental mod_auth_ldap, el cual no está incluido con Red Hat Enterprise Linux. Para más detalles sobre el estado de este módulo vea el sitio web de la Apache Software Foundation en http://www.apache.org/. 25.3.3. Aplicaciones cliente LDAP Existen clientes gráficos de LDAP que soportan la creación y modificación de directorios, pero no se entregan con Red Hat Enterprise Linux. Una de estas aplicaciones es LDAP Browser/Editor — Una herramienta basada en Java que está disponible en línea en http://www.iit.edu/~gawojar/ldap/. 433
  • 6. PHP4, LDAP y el Servidor HTTP Apache Otros clientes LDAP acceden a directorios como sólo lectura, utilizándolos como referencia, pero sin alterar información a lo largo de la organización. Algunos ejemplos de tales aplicaciones son Sendmail, Mozilla, Gnome Meeting, and Evolution. 25.4. Archivos de configuración de OpenLDAP Los archivos de configuración OpenLDAP son instalados dentro del directorio /etc/openldap/. A continuación aparece una lista breve marcando los directorios y archivos más importantes: • /etc/openldap/ldap.conf — Este es el archivo de configuración para todas las aplicaciones cliente que usan las bibliotecas OpenLDAP tales como ldapsearch, ldapadd, Sendmail, Pine, Balsa, Evolution, y Gnome Meeting. • /etc/openldap/slapd.conf — This is the configuration file for the slapd daemon. Refer to Sección 25.6.1, “Modificar /etc/openldap/slapd.conf” for more information. • /etc/openldap/schema/ directory — This subdirectory contains the schema used by the slapd daemon. Refer to Sección 25.5, “El directorio /etc/openldap/schema/” for more information. Nota If the nss_ldap package is installed, it creates a file named /etc/ldap.conf. This file is used by the PAM and NSS modules supplied by the nss_ldap package. Refer to Sección 25.7, “Configurar un sistema para la autenticación mediante OpenLDAP” for more information. 25.5. El directorio /etc/openldap/schema/ El directorio /etc/openldap/schema/ almacena las definiciones LDAP, previamente ubicadas en los archivos slapd.at.conf y slapd.oc.conf. El directorio /etc/openldap/schema/redhat/ guarda esquemas personalizados distribuidos por Red Hat para Red Hat Enterprise Linux. Todas las definiciones de sintaxis de atributos y las definiciones de objectclass son ahora ubicadas en los diferentes archivos de esquema. Los archivos de esquemas son referenciados en /etc/ openldap/slapd.conf usando líneas include, como se muestra en este ejemplo: include /etc/openldap/schema/core.schema include /etc/openldap/schema/cosine.schema include /etc/openldap/schema/inetorgperson.schema include /etc/openldap/schema/nis.schema include /etc/openldap/schema/rfc822-MailMember.schema include /etc/openldap/schema/redhat/autofs.schema Aviso No modifique ninguno de los ítems de esquemas definidos en los archivos de esquemas instalados por OpenLDAP. Puede extender el esquema usado por OpenLDAP para soportar tipos de atributos adicionales y clases de objetos usando los archivos de esquema por defecto como una guía. Para lograr esto, 434
  • 7. Descripción general de la configuración de OpenLDAP cree un archivo local.schema en el directorio /etc/openldap/schema. Referencie este nuevo esquema dentro de slapd.conf agregando la línea siguientes debajo de las líneas include por defecto: include /etc/openldap/schema/local.schema Luego, defina nuevos tipos de atributos y clases de objetos dentro del archivo local.schema. Muchas organizaciones usan los tipos de atributos existentes a partir de los archivos esquema instalados por defecto y agregan nuevas clases de objeto al archivo local.schema. Ampliar esquemas para cubrir requerimientos específicos es un poco complicado y está más allá del ámbito de éste capítulo. Visite http://www.openldap.org/doc/admin/schema.html para más información. 25.6. Descripción general de la configuración de OpenLDAP Esta sección explica rápidamente la instalación y la configuración del directorio OpenLDAP. Para más información, consulte las URLs siguientes: • http://www.openldap.org/doc/admin/quickstart.html — El manual Quick-Start Guide en el sitio web de OpenLDAP. • http://www.tldp.org/HOWTO/LDAP-HOWTO/index.html — The LDAP Linux HOWTO from the Linux Documentation Project. Los pasos básicos para crear un servidor LDAP son los siguientes: 1. Instale los RPMs openldap, openldap-servers y openldap-clients. 2. Edit the /etc/openldap/slapd.conf file to specify the LDAP domain and server. Refer to Sección 25.6.1, “Modificar /etc/openldap/slapd.conf” for more information. 3. Inicie slapd con el comando: /sbin/service ldap start After configuring LDAP, use chkconfig, /usr/sbin/ntsysv, or the Services Configuration Tool to configure LDAP to start at boot time. For more information about configuring services, refer to Capítulo 16, Control de acceso a servicios. 4. Agregue entradas a un directorio LDAP con ldapadd. 5. Use ldapsearch para ver si slapd accede a la información correctamente. 6. Llegados a este punto, su directorio LDAP debería estar funcionando correctamente y se puede configurar con aplicaciones capacitadas para LDAP. 25.6.1. Modificar /etc/openldap/slapd.conf Para poder usar el servidor LDAP slapd, tendrá que modificar su archivo de configuración, /etc/ openldap/slapd.conf para especificar el dominio y servidor correcto. 435
  • 8. Descripción general de la configuración de OpenLDAP La línea de suffix nombra el dominio para el cual el servidor LDAP proveerá información y deberá ser cambiado de: suffix "dc=your-domain,dc=com" Modifiquelo para que refleje un nombre de dominio completamente calificado. Por ejemplo: suffix "dc=example,dc=com" La entrada rootdn es el Nombre distinguido (DN) para un usuario que no está restringido por el control de acceso o los parámetros de límites administrativos fijados para operaciones en el directorio LDAP. Se puede pensar en el usuario rootdn como el usuario root para el directorio LDAP. En el archivo de configuración, cambie la línea rootdn de su valor por defecto a algo similar a lo siguiente: rootdn "cn=root,dc=example,dc=co m" Cuando esté poblando el directorio LDAP sobre una red, cambie la línea rootpw — reemplazando el valor por defecto con una cadena de contraseña encriptada. Para crear una cadena de contraseña encriptada, escriba el comando siguiente: slappasswd Se le pedirá ingresar y re-ingresar la contraseña, luego el programa muestra la contraseña resultante encriptada al terminal. Luego, copie la nueva contraseña encriptada en el archivo >/etc/openldap/slapd.conf en alguna de las líneas rootpw y elimine el símbolo de almohadilla (#). Cuando termine, la línea debería de verse como el ejemplo siguiente: rootpw {SSHA}vv2y+i6V6esazrIv70xSS nNAJE18bb2u Aviso Las contraseñas LDAP, incluyendo la directiva rootpw especificada en /etc/ openldap/slapd.conf, son enviadas sobre la red sin encriptar, a menos que active la encriptación TLS. Para activar la encriptación TLS, revise los comentarios en /etc/openldap/ slapd.conf y vea la página del manual para slapd.conf. Para mayor seguridad, la directriz rootpw debería ser colocada entre comentarios después de poblar el directorio LDAP simplemente escribiendo el símbolo de almohadilla (#). Cuando utilice la herramienta de línea de comandos /usr/sbin/slapadd localmente para poblar el directorio LDAP, el uso de la directiva rootpw no es necesario. 436
  • 9. Configurar un sistema para la autenticación mediante OpenLDAP Importante Debe ser usuario root para usar /usr/sbin/slapadd. Sin embargo, el servidor de directorio se ejecuta como usuario ldap. Por lo tanto, el servidor de directorio no podrá modificar ningún archivo creado por slapadd. Para corregir este problema, después que haya terminado de usar slapadd, escriba el comando siguiente: chown -R ldap /var/lib/ldap 25.7. Configurar un sistema para la autenticación mediante OpenLDAP This section provides a brief overview of how to configure OpenLDAP user authentication. Unless you are an OpenLDAP expert, more documentation than is provided here is necessary. Refer to the references provided in Sección 25.9, “Recursos adicionales” for more information. Instale los paquetes LDAP Necesarios Primero, debería asegurarse de tener los paquetes apropiados en ambos, el servidor LDAP y las máquinas cliente LDAP. El servidor LDAP requiere el paquete openldap-server. Los paquetes openldap, openldap-clients, y nss_ldap necesitan estar instalados en todas las máquinas LDAP clientes. Modifique los Archivos de Configuración • On the server, edit the /etc/openldap/slapd.conf file on the LDAP server to make sure it matches the specifics of the organization. Refer to Sección 25.6.1, “Modificar /etc/openldap/ slapd.conf” for instructions about editing slapd.conf. • En las máquinas clientes, ambos archivos /etc/ldap.conf y /etc/openldap/ldap.conf necesitan contener el servidor apropiado y la información base de búsqueda para la organización. Para hacer esto, ejecute Herramienta de Configuración de Autenticación (system-config- authentication) y seleccione Activar Soporte LDAP bajo la pestaña Información de Usuario. También puede editar estos archivos manualmente. • En las máquinas clientes, el archivo /etc/nsswitch.conf debe ser editado para usar LDAP. Para hacer esto, ejecute Herramienta de Configuración de Autenticación (system-config- authentication) y seleccione Activar Soporte LDAP bajo la pestaña Información de Usuario. Si está modificando el archivo /etc/nsswitch.conf manualmente, agregue ldap a las líneas adecuadas. Por ejemplo: 437
  • 10. Configurar un sistema para la autenticación mediante OpenLDAP passwd: files ldap shadow: files ldap group: files ldap 25.7.1. PAM y LDAP 25.7.2. Migrar la información de autenticación antigua al formato LDAP El directorio /usr/share/openldap/migration/ contiene un conjunto de scripts de shell y Perl para la migración de información de autenticación en el formato LDAP. Nota Debe tener Perl instalado en su sistema para usar estos scripts. Primero, modifique el archivo migrate_common.ph para que refleje el dominio correcto. El dominio DNS por defecto debería ser modificado desde su valor por defecto a algo como lo siguiente: $DEFAULT_MAIL_DOMAIN = "example"; La base por defecto también debería ser modificada para que se parezca a: $DEFAULT_BASE = "dc=example,dc=com"; The job of migrating a user database into a format that is LDAP readable falls to a group of migration scripts installed in the same directory. Using Tabla 25.1, “Scripts de migración de LDAP”, decide which script to run to migrate the user database. Ejecute el script apropiado basándose en el nombre del servicio actual. Los archivos README y migration-tools.txt en el directorio /usr/share/openldap/ migration/ dan más detalles sobre cómo migrar la información. Nombre del servicio actual ¿Está LDAP Utilice este script ejecutándose? /etc archivos planos yes migrate_all_online.sh /etc archivos planos no migrate_all_offline.sh NetInfo yes migrate_all_netinfo_online.sh NetInfo no migrate_all_netinfo_offline.sh NIS (YP) yes migrate_all_nis_online.sh NIS (YP) no migrate_all_nis_offline.sh Tabla 25.1. Scripts de migración de LDAP 438
  • 11. Migración de directorios desde versiones anteriores 25.8. Migración de directorios desde versiones anteriores With Red Hat Enterprise Linux, OpenLDAP uses Sleepycat Software's Berkeley DB system as its on-disk storage format for directories. Earlier versions of OpenLDAP used GNU Database Manager (gdbm). For this reason, before upgrading an LDAP implementation to Red Hat Enterprise Linux 5.2, original LDAP data should first be exported before the upgrade, and then reimported afterwards. This can be achieved by performing the following steps: 1. Antes de actualizar el sistema operativo, ejecute el comando /usr/sbin/slapcat -l ldif- output. Esto produce un archivo LDIF llamado ldif-output que contendrá las entradas del directorio LDAP. 2. Actualice el sistema operativo, teniendo cuidado de no reformatear la partición que contiene el archivo LDIF. 3. Vuelva a importar el directorio LDAP al formato Berkeley DB actualizado ejecutando el comando / usr/sbin/slapadd -l ldif-output. 25.9. Recursos adicionales Los recursos siguientes ofrecen información adicional sobre LDAP. Por favor revise estas fuentes, especialmente el sitio web de OpenLDAP y la sección HOWTO de LDAP, antes de configurar LDAP en su sistema. 25.9.1. Documentación instalada • /usr/share/docs/openldap-<versionnumber>/ directory — Contains a general README document and miscellaneous information. • Páginas man relacionadas con LDAP — Existen varias páginas man para las diferentes aplicaciones y archivos de configuración relacionados con LDAP. La lista siguiento muestra algunas de las páginas man más importantes. Aplicaciones cliente • man ldapadd — Describe cómo añadir entradas a un directorio LDAP. • man ldapdelete — Describe cómo eliminar entradas dentro de un directorio LDAP. • man ldapmodify — Describe cómo modificar entradas en un directorio LDAP. • man ldapsearch — Describe cómo buscar entradas en un directorio LDAP. • man ldappasswd — Describe cómo configurar o cambiar la contraseña de un usuario LDAP. • man ldapcompare — Describe como utilizar la herramienta ldapcompare. • man ldapwhoami — Describe como utilizar la herramienta ldapwhoami. • man ldapmodrdn — Describe como modificar los RDNs de entradas. Aplicaciones servidor • man slapd — Describe las opciones de línea de comandos disponibles para un servidor LDAP. 439
  • 12. Migración de directorios desde versiones anteriores • man slurpd — Describe las opciones de línea de comandos disponibles para el servidor de réplicas LDAP. Aplicaciones ad ministrativas • man slapadd — Describe las opciones de línea de comandos utilizadas para añadir entradas a la base de datos slapd. • man slapcat — Describe las opciones de línea de comandos utilizadas para generar un archivo LDIF desde una base de datos slapd. • man slapindex — Describe las opciones de línea de comando usadas para regenerar un índice basado en los contenidos de una base de datos slapd. • man slappasswd — Describe las opciones de línea de comandos utilizadas para generar contraseñas de usuarios para directorios LDAP. Archivos de configuración • man ldap.conf — Describe el formato y las opciones disponibles dentro del archivo de configuración para clientes LDAP. • man slapd.conf — Describe el formato y las opciones disponibles dentro del archivo de configuración referenciado por las aplicaciones del servidor LDAP (slapd y slurpd) y por las herramientas administrativas LDAP (slapadd, slapcat y slapindex). 25.9.2. Sitios web útiles 1 • http://www.openldap.org/ — Hogar del Proyecto OpenLDAP. Este sitio web contiene una gran variedad de información sobre la configuración de OpenLDAP así como también una guía para los futuros cambios de versiones. 2 • http://www.padl.com/ — Desarrolladores de nss_ldap y pam_ldap, entre otras herramientas útiles de LDAP. • http://www.kingsmountain.com/ldapRoadmap.shtml — Jeff Hodges' LDAP Road Map contains links to several useful FAQs and emerging news concerning the LDAP protocol. • http://www.ldapman.org/articles/ — Articulos que ofrecen una buena introducción a LDAP, incluyendo métodos para diseñar un árbol y personalizar estructuras de directorios. 25.9.3. Libros relacionados • OpenLDAP by Example por John Terpstra y Benjamin Coles; Prentice Hall. • Implementing LDAP de Mark Wilcox; Wrox Press, Inc. • Understanding and Deploying LDAP Directory Services por Tim Howes et al.; Macmillan Technical Publishing. 440
  • 13. Configuración de la autenticación Cuando un usuario se conecta a un sistema Red Hat Enterprise Linux, se verifican el nombre de usuario y la contraseña, o en otras palabras se autentifican, como un usuario activo válido. Algunas veces la información para verificar el usuario está localizada en el sistema local, otras veces el sistema delega la validación a una base de datos de usuarios en un sistema remoto. La Authentication Configuration Tool proporciona una interfaz gráfica para configurar NIS, LDAP y servidores Hesiod para recuperar información del usuario así como también para configurar LDAP, Kerberos y SMB como protocolos de autenticación. Nota Si configuró un nivel de seguridad medio o alto durante la instalación (o con la Security Level Configuration Tool) entonces el cortafuegos no permitirá la autenticación NIS (Servicio de Información de la Red). Este capítulo no explica cada uno de los diferentes tipos de autenticación en detalle. En vez de eso explica cómo usar la Authentication Configuration Tool para configurarlos. To start the graphical version of the Authentication Configuration Tool from the desktop, select the System (on the panel) > Administration > Authentication or type the command system-config- authentication at a shell prompt (for example, in an XTerm or a GNOME terminal). Importante Después de salir del programa de autenticación, los cambios tendrán efecto de inmediato. 26.1. User Information La pestaña de Información del Usuario le permite configurar la manera en que los usuarios deben ser autenticados y tiene varias opciones. Para habilitar una opción, haga click en la casilla de verificación al lado de ella. Para inhabilitarla, haga click en la casilla para limpiarla. Luego haga click en OK para salir del programa y aplicar los cambios. 441
  • 14. User Information Figura 26.1. User Information La lista siguiente explica lo que configura cada una de las opciones: NIS La opción Habilitar Soporte NIS configurar el sistema para conectarse a un servidor NIS (como un cliente NIS) para la autentificación de usuarios y contraseñas. Haga click en el botón Configurar NIS... para especificar el dominio NIS y el servidor NIS. Si no se especifica el servidor NIS, el demonio intentará buscarlo vía difusión (broadcast). Debe tener el paquete ypbind instalado para que esta opción funcione. Si el soporte NIS está activado, los servicios portmap y ypbind serán iniciados y también estarán habilitados para arrancar en el momento de inicio del sistema. 442
  • 15. User Information LDAP La opción Habilitar el soporte LDAP le ordena al sistema que recupere información del usuario a través de LDAP. Haga click en el botón Configurar LDAP... para especificar lo siguiente: • DN de Base de Búsqueda LDAP — Recupera la información del usuario por medio de su nombre distinguido, Distinguished Name (DN). • Servidor LDAP — Especifique la dirección IP del servidor LDAP. • Use TLS para encriptar conexiones — Cuando se encuentra habilidata, se utilizará la Seguridad de la Capa de Transporte para encriptar las contraseñas enviadas al servidor LDAP. La opción Descargar Certificado AC le permite especificar una URL desde donde se podrá descargar un Certificado AC (Autoridad de Certificación) válido. Un Certificado CA válido tiene que estar en formato PEM (del inglés Correo con Privacidad Mejorada). Debe tener instalado el paquete openldap-clients para que esta opción funcione. Hesiod La opción Habilitar soporte Hesiod configura el sistema para recuperar información (incluyendo información del usuario) desde una base de datos remota Hesiod. Haga clic en el botón Configurar Hesiod... para especificar lo siguiente: • Hesiod LHS — Especifica el prefijo del dominio que se utiliza para consultas Hesiod. • Hesiod RHS — Especifica el dominio Hesiod predeterminado. El paquete hesiod debe estar instalado para que esta opción funcione. Para obtener más información sobre Hesiod vaya a su página man utilizando el comando man hesiod. También se puede referir a la página man man hesiod. (man hesiod.conf) para obtener más información sobre LHS y RHS. Winbind La opción Habilitar Soporte Winbind configura el sistema para conectarse a un controlador de dominio Windows o Windows Active Directory. Se puede acceder a la información de los usuarios y configurar las opciones de autenticación del servidor. Haga click en el botón Configurar Winbind... para especificar lo siguiente: • Dominio Winbind — Especifica el Windows Active Directory o el controlador de dominio al cual conectarse. • Modelo de Seguridad — le permite seleccionar un modelo de seguridad, el cual configura la manera en que los clientes deben responder a Samba. La lista desplegable le permite seleccionar cualquiera de los siguientes: • usuario — Este es el modo predeterminado. Con este nivel de seguridad, el cliente debe iniciar la sesión con una nombre de usuario y una contraseña válidas. Este modo de seguridad también permite el uso de contraseñas encriptadas. • server — En este modo, Samba tratará de validar el nombre de usuario/contraseña autenticándolos a través de otro servidor SMB (por ejemplo, un Servidor Windows NT). Si no tiene exito tendrá efecto el modo user. 443
  • 16. User Information • domain — En este modo Samba intentará validar el nombre de usuario/contraseña autenticándolos a través de Windows NT Primary o un Controlador de Dominio de Respaldo (Backup Domain Controller) de manera similar a lo que haría un Servidor Windows NT. • ads — Este modo le ordena a Samba que se comporte como un miembro de dominio en un Active Directory Server (ADS). Para operar de este modo necesita tener instalado el paquete krb5-server y Kerberos debe estar configurado apropiadamente. • Winbind ADS Realm — cuando se selecciona el Modelo de Seguridad ads, esto le permite especificar el Dominio ADS en el que el servidor Samba debe desempeñarse como un miembro de dominio. • Template Shell — Cuando llene la información del usuario para un usuario de Windows NT, el demonio winbindd utiliza el valor seleccionado aquí para especificar el shell de registro para ese usuario. 26.2. Authentication La pestaña de Autenticación permite la configuración de los métodos de autenticación de red. Para activar una opción haga click sobre la casilla de verificación al lado de la misma. Para desactivarla, haga click nuevamente sobre la casilla para desmarcarla o limpiarla. 444
  • 17. Authentication Figura 26.2. Authentication A continuación se explica lo que configura cada opción: Kerberos La opción Habilitar el Soporte de Kerberos habilita la autenticación de Kerberos. Haga click en Configurar Kerberos... para abrir el diálogo Configuración de Kerberos Settings para configurar: • Entorno — Configure el entorno para el servidor de Kerberos. El entorno o reino es la red que Kerberos utiliza, compuesta de uno o más KDCs y un número potencial de muchos clientes. • KDC — Define el Centro de Distribución de Claves, Key Distribution Center (KDC), el cual es el servidor que emite los tickets de Kerberos. • Servidores de Administración — Especifica el o los servidores de administración ejecutando kadmind. 445
  • 18. Authentication El diálogo Configuración de Kerberos también le permite utilizar DNS para resolver hosts en entornos y localizar KDCs para entornos. LDAP The Enable LDAP Support option instructs standard PAM-enabled applications to use LDAP for authentication. The Configure LDAP... button allows you to configure LDAP support with options identical to those present in Configure LDAP... under the User Information tab. For more information about these options, refer to Sección 26.1, “User Information”. Debe tener instalado el paquete openldap-clients para que esta opción funcione. Smart Card La opción Habilitar el soporte SMB habilita la autenticación por medio de tarjetas inteligentes. Esto permite que los usuarios inicien sesión utilizando un certificado y una llave asociada alamacenados en una tarjeta inteligente. Haga click en el botón Configurar SMB para ver más opciones. SMB La opción Habilitar el soporte SMB configura PAM para utilizar un servidor SMB para autentificar a los usuarios. SMB se refiere a un protocolo del servidor del cliente utilizado para la comunicación entre sistemas y Samba también lo utiliza para parecer como un servidor Windows para los clientes Windows. Haga click en el botón Configurar SMB para especificar: • Grupo de trabajo — Especifica el grupo de trabajo SMB a utilizar. • Controladores de Dominio — Especifica los controladores de dominio SMB a utilizar. Winbind La opción Habilitar el soporte Winbind configura la conexión del sistema con Windows Active Directory o con un controlador de dominios de Windows. Se puede acceder a la información de los usuarios y configurar las opciones de autenticación del servidor. The Configure Winbind... options are identical to those in the Configure Winbind... button on the User Information tab. Please refer to Winbind (under Sección 26.1, “User Information”) for more information. 26.3. Options Esta pestaña contiene otras opciones para configuración: 446
  • 19. Options Figura 26.3. Options Cache User Information Seleccione esta opción para habilitar el demonio de cache de servicio de nombre (nscd) y configurarlo para que se inicie al momento de arranque. El paquete nscd debe estar instalado para que esta opción funcione. Para obtener más detalles sobre nscd vaya a su página man utilizando el comando man nscd. Use Shadow Passwords Seleccione esta opción para guardar las contraseñas en formato de contraseñas shadow en el archivo /etc/shadow en vez de en /etc/passwd. Las contraseñas shadow son activadas por defecto durante la instalación y se recomiendan para incrementar la seguridad del sistema. 447
  • 20. Options Use MD5 Passwords Seleccione esta opción para habilitar las contraseñas MD5, lo cual permite que las contraseñas tengan hasta 256 en vez de 8 o menos. Esta opción es seleccionada por defecto durante la instalación y se recomienda su uso para mayor seguridad. Authorization local es suficiente para usuarios locales Cuano esta opción se encuentra habilitada, el sistema no verificará la autorización desde los servicios de red (tal como LDAP o Kerberos) para las cuentas de usuarios mantenidas en su archivo /etc/ passwd. Autenticar cuentas del sistema por medio de servicios de red Al habilitar esta opción se configura el sistema para permitir servicios de red (tal como LDAP o Kerberos) para autenticar cuentas del sistema (incluído root) en la máquina. 26.4. Versión de línea de comandos The Authentication Configuration Tool can also be run as a command line tool with no interface. The command line version can be used in a configuration script or a kickstart script. The authentication options are summarized in Tabla 26.1, “Opciones de línea de comandos”. Tip Estas opciones también se pueden encontrar en la página del manual de authconfig o escribiendo authconfig --help en el intérprete de comandos. Opción Descripción --enableshadow Habilitar contraseñas shadow --disableshadow Desactivar contraseñas shadow --enablemd5 Habilitar contraseñas MD5 --disablemd5 Inhabilitar contraseñas MD5 --enablenis Habilitar NIS --disablenis Inhabilitar NIS --nisdomain=<domain> Especifica el dominio NIS --nisserver=<server> Especifica el servidor NIS --enableldap Habilitar LDAP para información del usuario --disableldap Inhabilitar LDAP para información del usuario --enableldaptls Habilitar el uso de TLS con LDAP --disableldaptls Inhabilitar el uso de TLS con LDAP --enableldapauth Habilitar LDAP para la autenticación --disableldapauth Inhabilitar LDAP para la autenticación --ldapserver=<server> Especifica un servidor LDAP 448
  • 21. Versión de línea de comandos Opción Descripción --ldapbasedn=<dn> Especifica un DN de base LDAP --enablekrb5 Habilita Kerberos --disablekrb5 Inhabilita Kerberos --krb5kdc=<kdc> Especifica un KDC de Kerberos --krb5adminserver=<server> Especifica un servidor de administración Kerberos --krb5realm=<realm> Especifica el entorno Kerberos --enablekrb5kdcdns Habilitar el uso de DNS para encontrar Kerberos KDCs --disablekrb5kdcdns Deshabilitar el uso de DNS para encontrar Kerberos KDCs --enablekrb5realmdns Habilitar el uso de DNS para encontrar Kerberos realms --disablekrb5realmdns Deshabilitar el uso de DNS para encontrar Kerberos realms --enablesmbauth Habilita SMB --disablesmbauth Inhabilita SMB --smbworkgroup=<workgroup> Specify SMB workgroup --smbservers=<server> Especifica servidores SMB --enablewinbind Habilitar winbind para la información del usuario por defecto --disablewinbind Inhabilitar winbind para información del usuario por defecto --enablewinbindauth Habilitar winbindauth para la autenticación por defecto --disablewinbindauth Inhabilitar winbindauth para la autenticación por defecto --smbsecurity=<user|server|domain|ads> Modos de seguridad para usar Samba y windbind --smbrealm=<STRING> Campo por defecto para Samba y winbind cuando security=ads --smbidmapuid=<lowest-highest> Rango UID que winbind asigna al dominio o usuario ADS --smbidmapgid=<lowest-highest> Rango GID que winbind asigna al dominio o usuario ADS --winbindseparator=<> Caracter usado para separar la parte del usuario y del dominio de los nombres de usuario de winbind si winbindusedefaultdomain no está habilitado 449
  • 22. Versión de línea de comandos Opción Descripción --winbindtemplatehomedir=</home/%D/%U> Directorio de inicio de los usuarios winbind --winbindtemplateprimarygroup=<nobody> Grupo primario de los usuarios winbind --winbindtemplateshell=</bin/false> Shell por defecto de los usuarios winbind --enablewinbindusedefaultdomain Configurar winbind para asumir que los usuarios sin dominio en sus nombres de usuarios son usuarios con dominio --disablewinbindusedefaultdomain Configurar winbind para asumir que los usuarios sin dominio en sus nombres de usuarios son usuarios sin dominio --winbindjoin=<Administrator> Unir el dominio winbind o campo ADS como este administrador --enablewins Habilitar WINS para la resolución del nombre de host --disablewins Inhabilitar WINS para la resolución del nombre de host --enablehesiod Habilita Hesiod --disablehesiod Inhabilita Hesiod --hesiodlhs=<lhs> Especifica Hesiod LHS --hesiodrhs=<rhs> Especifica Hesiod RHS --enablecache Habilita nscd --disablecache Inhabilita nscd --nostart No arranca o detiene los servicios portmap, ypbind o nscd aún si ellos están configurados --kickstart No muestra la interfaz del usuario --probe Verifica y muestra las fallas de red Tabla 26.1. Opciones de línea de comandos 450