Biblioteca Online : ¡La Suscripción ENI por 9,90 € el primer mes!, con el código PRIMER9. Pulse aquí
¡Acceso ilimitado 24/7 a todos nuestros libros y vídeos! Descubra la Biblioteca Online ENI. Pulse aquí
  1. Libros
  2. Linux
  3. Gestión de los clientes de red
Extrait - Linux Administración del sistema y explotación de los servicios de red (5ª edición)
Extractos del libro
Linux Administración del sistema y explotación de los servicios de red (5ª edición) Volver a la página de compra del libro

Gestión de los clientes de red

Gestión de los clientes de red

Este capítulo trata de la configuración de un servidor DCHP, de la autenticación usando los módulos PAM así como de Linux como cliente y servidor LDAP.

1. Configuración DHCP

El objetivo de esta sección es de enseñarle a:

  • configurar un servidor DHCP;

  • configurar las opciones por defecto y para cada cliente, las direcciones estáticas y los puestos clientes BOOTP;

  • configurar los agentes de retransmisión DHCP y asegurar el mantenimiento de los servidores DHCP; 

a. Competencias principales

  • Archivos, términos y herramientas de configuración de DHCP.

  • Configuración de rangos de direcciones por subred y dinámicos.

  • Conocimientos básicos de DHCPv6 y de las señales IPv6 de los routers.

b. Elementos empleados

  • dhcpd.conf

  • dhcpd.leases

  • Registros DHCP en syslog o en el registro systemd

  • arp

  • dhcpd

  • radvd

  • radvd.conf

2. Autenticación usando PAM

El objetivo de esta sección es de enseñarle a:

  • configurar PAM para la autenticación a partir de diferentes métodos. Funcionalidades básicas de SSSD.

a. Competencias principales

  • Archivos, términos y herramientas de configuración de PAM.

  • Contraseñas passwd y shadow.

  • Uso de sssd para la autenticación LDAP.

b. Elementos empleados

  • /etc/pam.d/

  • pam.conf

  • nsswitch.conf

  • pam_unix, pam_cracklib, pam_limits, pam_listfile, pam_sss

  • sssd.conf...

Configuración DHCP

DHCP (Dynamic Host Configuration Protocol) es un protocolo cliente-servidor concebido para facilitar la gestión de grandes parques de puestos de trabajo y de equipos que utilicen direcciones IP. Permite asignar automáticamente una dirección IP y los parámetros asociados a los hosts de una red IP.

1. El protocolo DHCP

El protocolo DHCP, definido primero en la RFC 1531, es un derivado de un protocolo más antiguo, BOOTP. Funciona esencialmente a través de mensajes UDP en difusión (broadcast), del puerto cliente 68 hacia el puerto servidor 67, opcionalmente reenviados por agentes de retransmisión DHCP (rol generalmente asumido por routers).

Los cuatro paquetes IP que realizan la atribución al cliente DHCP de una concesión de dirección mediante un servidor DHCP se detallan a continuación.

a. Búsqueda de un servidor DHCP: DHCPDISCOVER

El cliente DHCP emite una solicitud en su red, en modo difusión, para buscar un servidor DHCP. La solicitud, llamada DHCPDISCOVER, contiene la dirección MAC del cliente emisor, así como la última dirección IP que le fue atribuida, en el caso de que hubiera alguna (incluso si la concesión de la dirección ha expirado).

b. Oferta de concesión hecha por el servidor: DHCPOFFER

Cada servidor DHCP presente en la red trata la solicitud del cliente. Consulta su base de direcciones IP. Si hubiera alguna dirección disponible para la red en la que ha recibido la solicitud, la reservará para proponérsela al cliente, dando preferencia a la dirección actual del cliente, si tuviera alguna y en el caso de que formará parte de la base de direcciones del servidor y además estuviera disponible. Propondrá la dirección en la respuesta al cliente, un paquete en modo unicast que contiene un mensaje DHCPOFFER

Si el servidor no dispone de una dirección IP que dar al cliente, no responderá a esta solicitud.

c. Aceptación de la oferta: DHCPREQUEST

El cliente DHCP recibe la oferta de uno o varios servidores DHCP. Si alguna proposición contuviera la última dirección IP que tuvo, la seleccionaría preferentemente.

Una vez que una respuesta haya sido seleccionada por el cliente, este último envíará un paquete en modo difusión, que contendrá una solicitud...

Autenticación usando PAM

Sea cual sea el sistema operativo usado, múltiples aplicaciones y servicios necesitan una identificación y una autenticación del usuario, es decir, comprobar que el usuario está autorizado a acceder a un servicio o a una aplicación, y que este usuario prueba su identidad.

Al principio, en entorno Unix, las aplicaciones y los servicios desarrollaban su propio método de identificación y de autentificación del usuario y de control de acceso. Algunos programas validaban la cuenta del usuario a partir de la base de cuentas local (/etc/passwd) y otros a partir de una base de cuentas distribuida (NIS, LDAP). Algunas aplicaciones comprobaban que la cuenta que presentaba el usuario no era la cuenta del superusuario, o al contrario que se trataba del superusuario, otras aplicaciones daban el acceso a los usuarios según que existiera o no el archivo (/etc/nologin, por ejemplo), o la declaración de su terminal en otro archivo (/etc/securettys), etc.

En las primeras versiones Unix, la contraseña estaba almacenada directamente en la línea de la cuenta del usuario, cifrada, en el archivo /etc/passwd. No obstante, como todos los usuarios debían poder acceder a este archivo en lectura, se creó un archivo específico de gestión de contraseñas, /etc/shadow, con funcionalidades suplementarias (duración mínima, máxima, etc.). Es el método implementado en Linux.

Para simplificar y racionalizar los métodos de control de acceso de las aplicaciones, se concibió una capa intermediaria, que permite a las aplicaciones y los servicios delegarle estas operaciones: PAM (Pluggable Authentication Modules). Creada por Unix, ha sido implementada en Linux.

PAM está compuesta por un conjunto de módulos de software especializados, que podemos combinar en un orden específico y según reglas precisas, a través de archivos de configuración que son asociables a las diferentes aplicaciones.

Este método permite a los administradores de sistemas configurar las reglas de control de acceso a los servicios que utilizan PAM, independientemente de los propios programas, para adaptarlos a la política de seguridad de su organización.

1. El principio

PAM es una capa de software que asegura la interfaz entre las aplicaciones y los diversos...

Configuración de un servidor OpenLDAP

LDAP (Lightweight Directory Access Protocol) es un protocolo estándar de acceso a un servicio de Aller directorio distribuido, definido por la RFC 4511. Permite juntar en un arborescencia de directorio el conjunto de datos que conciernen a los diferentes objetos de una organización (cuentas de usuario, grupos, máquinas, servicios de red, edificios, etc.), y permite a los clientes LDAP acceder a los datos a través de solicitudes normalizadas.

Linux puede ser servidor y/o cliente LDAP.

1. Generalidades

En 1988, la ITU (International Telecommunication Union, ex-CCITT) implementó una norma que cubría los diferentes elementos necesarios para proporcionar servicios de directorio electrónico, que pudieran ser utilizables a través de una red: la norma X.500, validada a continuación por la ISO (norma ISO/IEC 9594).

Esta norma era particularmente compleja, un protocolo más simple de acceso a los servicios de mensajería derivó de ella, LDAP (Lightweight Directory Access Protocol). Este protocolo a continuación fue extendido para considerar un modelo completo de directorios.

Los servicios de directorios compatibles LDAP más utilizados hoy día son Microsoft ADS (Active Directory Services), Oracle Directory Server Enterprise Edition, IBM Tivoli Directory Server y, en el mundo del software libre, OpenLDAP y Apache Directory Server.

a. Estructura y terminología

Los directorios electrónicos de tipo X.500 se basan en una estructura jerárquica, en arborescencia. 

Un directorio está compuesto por objetos, que pueden contener otros objetos opcionalmente. Los objetos de estructura se llaman contenedores y pueden ser de diferentes tipos: organización, dominio y unidad organizativa. Un objeto no estructurante se llama hoja (leaf object). Los diferentes datos asociados a un objeto son sus atributos.

Ejemplo

Directorio LDAP basado en una estructura de tipo dominio DNS.

images/cet13_001.png

b. Esquema

El conjunto de los tipos de objetos y de los atributos de objeto que pueden figurar en un directorio están definidos en el esquema del directorio.

El esquema de base del directorio puede ser extendido, para definir nuevos tipos de objetos o nuevos atributos para un tipo de objeto existente.

El tipo de un objeto (unidad organizativa OU, componente de dominio DC, etc.) se llama...

Uso de un cliente LDAP

Además de sus funcionalidades de cliente LDAP, para la identificación y la autenticación de los usuarios, Linux dispone de comandos que permiten interactuar con el servidor LDAP. Estos comandos se proporcionan con el paquete de software ldap-utils (Debian) o openldap-clients (Red Hat).

1. Archivo de configuración del cliente

Aunque no sea obligatorio, el archivo de configuración permite definir opciones y valores por defecto, que pueden ser usados por la biblioteca LDAP. Este archivo, slapd.conf (o, en versiones recientes, ldap.conf), se encuentra, por defecto, en el directorio /etc/ldap o /etc/openldap.

El archivo permite definir variables, valores por defecto para los comandos que usan la biblioteca, entre ellos:

BASE

Sufijo del directorio por defecto.

URI

URI de los servidores LDAP por defecto.

HOST

Nombre de host o dirección de los servidores LDAP por defecto.

Ejemplo

Valores por defecto para los comandos LDAP de un cliente LDAP:

BASE    dc=intra,dc=es  
URI     ldap://servldap.intra.es ldap:// servldap1.intra.es:666  
HOST    servldap.intra.es 

2. Interrogación del directorio: ldapsearch

El comando ldapsearch permite efectuar solicitudes de interrogación al directorio LDAP y recuperar el resultado en el formato normalizado LDIF (LDAP Data Interchange Format).

Este comando admite múltiples opciones. Permite obtener toda la información o una parte de ella almacenada en la arborescencia del directorio LDAP del servidor.

El caso más simple consiste en solicitar la exportación total de toda la información del directorio local (equivalente del comando slapcat). Esto permite comprobar la presencia de un objeto o que el servidor de directorio responde a la solicitudes.

Sintaxis para mostrar el contenido de un directorio

ldapsearch [-x] - b Sufijo 

Donde:

-x

Solicitud anónima (sin contraseña).

-b Sufijo

Identificador del directorio que se va a interrogar.

Ejemplo

ldapsearch -x -b dc=midns,dc=es  
# extended LDIF  
#  
# LDAPv3  
# base <dc=midns,dc=es> with scope subtree  
# filter: (objectclass=*)  
# requesting: ALL  
#  
  
# midns.es  
dn: dc=midns,dc=es  
objectClass: top  
objectClass: dcObject  
objectClass: organization  ...