unit 7 authentication services

39
Unit 7 Authentication Services J. Valenzuela A. Instituto Profesional DUOC UC Semestre 1 - 2012

Upload: caraf

Post on 14-Jan-2016

41 views

Category:

Documents


0 download

DESCRIPTION

Unit 7 Authentication Services. J. Valenzuela A. Instituto Profesional DUOC UC Semestre 1 - 2012. Objetivo. Comprender los conceptos básicos de autenticación. Comprender los roles de NSS y PAM en la autenticación de usuarios. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Unit  7 Authentication Services

Unit 7Authentication Services

J. Valenzuela A. Instituto Profesional DUOC UC

Semestre 1 - 2012

Page 2: Unit  7 Authentication Services

Objetivo

• Comprender los conceptos básicos de autenticación.

• Comprender los roles de NSS y PAM en la autenticación de usuarios.

• Usar NIS para administrar información y autenticación de usuarios a través de NSS y PAM.

Page 3: Unit  7 Authentication Services

Agenda

• Información del usuario y NSS• Autenticación y PAM• Network Information Service (NIS)

Configuración NIS master servers, slave servers, y clientes.

Pruebas de funcionamiento de NIS

Page 4: Unit  7 Authentication Services

Autenticación de usuarios

• Dos tipos de información debe ser siempre provista para cada cuenta de usuario:

• Información de la cuenta: UID, shell por defecto, el directorio propio, pertenencia a grupos, entre otra.

• Autenticación: Una manera de probar que un nombre de login y una contraseña se corresponden.

Page 5: Unit  7 Authentication Services

Información de cuentas de usuarios

• La información básica acerca de las características de las cuentas de usuarios puede ser provista al momento del login.

• Esta información incluye el UID de la cuenta, el número GID primario de la cuenta, el directorio propio de la cuenta, el shell por defecto, entre otra.

• Originalmente esta información es almacenada como líneas individuales en archivos locales tales como /etc/passwd.

Page 6: Unit  7 Authentication Services

Información de cuentas de usuarios

• Las aplicaciones normalmente no manipulan directamente /etc/passwd para obtener esta información, en vez de eso, ellas usan una librería estándar llamada libc.

Page 7: Unit  7 Authentication Services

Name Service Switch

• NSS (Name Service Switch) es el mecanismo por el cual se permiten configuraciones y extensiones de los servicios de nombres soportados por libc.

• Archivos auxiliares de servicios de nombres son instalados como archivos /lib/libnss_service.so.

Page 8: Unit  7 Authentication Services

Name Service Switch

• El archivo /etc/nsswitch.conf controla cuáles servicios de nombres serán usados y que orden para obtener información, por ejemplo la línea:

passwd: files nis ldapEspecifica que la información típicamente almacenada en /etc/passwd, mira primero en archivos locales, luego usa el server NIS, y después el server LDAP.

Page 9: Unit  7 Authentication Services

getent

• La utilidad getent es invaluable para chequear la operación de servicios de nombre.

• getent puede realizar búsqueda de nombres en alguna de las bases de datos de la librería estándar de C, y puede también proveer un vaciado de la base de datos apropiada a la salida estándar (pantalla).

• Algunos ejemplos de uso de getent:

Page 10: Unit  7 Authentication Services

getent

[root@localhost ~]# getent passwd root root:x:0:0:root:/root:/bin/bash

• En este caso se extrae la información desde el archivo de contraseñas local /etc/passwd, en efecto, observar la salida de los comandos:[root@localhost ~]# head -1 /etc/passwd[root@localhost ~]# grep ^root /etc/passwd

Page 11: Unit  7 Authentication Services

getent

• Otras formas del comando getent se muestran a continuación:[root@localhost ~]# getent shadow root[root@localhost ~]# getent passwd[root@localhost ~]# getent shadow[root@localhost ~]# getent hosts maestroNIS

Page 12: Unit  7 Authentication Services

NIS

• NIS (Network Information Service) administrar información del sistema y de las cuentas de usuarios por medio de un servidor central.

• NIS es un protocolo basado en Sun RPC, por lo tanto requiere el uso del servicio portmap.

• RHEL 5 soporta NIS versión 1 y 2.

Page 13: Unit  7 Authentication Services

NIS

• NIS fue la primera base de datos administrativa para sistemas informáticos. Lanzado por Sun en los '80 con el nombre de Yellow Pages, pero por ser este nombre registrado por British Telecom se cambio a NIS.

• NIS proporciona el mismo nivel de control que la copia de archivos.

Page 14: Unit  7 Authentication Services

NIS

• Se designa una máquina como servidor maestro NIS. Allí se mantienen como copias autoritativas los archivos de configuración, en el mismo formato y lugar, editándolos con un editor de texto como habitualmente.

• Un proceso servidor hace disponibles el contenido de estos archivos hacia la red.

• El conjunto de un servidor maestro NIS y sus clientes se denomina un "dominio NIS".

Page 15: Unit  7 Authentication Services

NIS

• NIS es un servicio que permite compartir, y así unificar, información en una red local.

• El servidor de NIS sincroniza información de las cuentas de usuarios compartiendo información de los archivos locales /etc/passwd, /etc/shadow y /etc/group, para construir un mapa NIS.

Page 16: Unit  7 Authentication Services

NIS

• Un archivo de sistema puede dar lugar a varios mapas NIS: el archivo /etc/passwd genera los mapas passwd.byuid, ordenada por UID, y passwd.byname, ordenada por nombre de usuario.

• NIS permite replicar sus mapas en uno o más servidores esclavos. Esto aligera la tarea del servidor maestro y mantiene la red en funcionamiento cuando el servidor maestro no está disponible.

Page 17: Unit  7 Authentication Services

NIS

• Cuando se modifican los mapas en el servidor maestro, éstos son empujados hacia los servidores esclavos.

• Para el cliente, un servidor esclavo es indistinguible de un servidor maestro.

• Los clientes ubican los servidores NIS por difusión. Debe haber un servidor NIS por cada subred. Si no hay servidor NIS activo en una red, los clientes pueden quedar colgados.

Page 18: Unit  7 Authentication Services

NIS

• El comando ypset permite apuntar un cliente hacia un servidor específico.

• [root@localhost ~]# ypset –d myNIS –h cliente

Page 19: Unit  7 Authentication Services

Configuración de NIS

• A continuación se describirá como configurar un servidor NIS maestro, esclavo y el cliente. Para cualquiera de estos servicios es importante considerar los siguientes pasos previos:

• Activar el servicio portmap:[root@localhost ~]# service portmap start[root@localhost ~]# chkconfig portmap on

Page 20: Unit  7 Authentication Services

Configuración de NIS

• Asegurarse que el archivo /etc/hosts tenga la resolución directa del servidor maestro y los servidores esclavos en caso que también se desee configurar, ejemplo:172.16.3.78 maestroNIS

• Se recomienda también que la entrada a 127.0.0.1 no apunte al nombre servidor maestro, es decir, debe quedar así:127.0.0.1 localhost.localdomain localhost

Page 21: Unit  7 Authentication Services

Configurar un Servidor Maestro NIS

• Consultar si ypserv está instalado:[root@localhost ~]# rpm –q ypserv

• Fijar el nombre del dominio NIS:[root@localhost ~]# nisdomainname myNIS

• Agregar la línea NISDOMAIN=myNIS en el archivo /etc/sysconfig/network.

Page 22: Unit  7 Authentication Services

Configurar un Servidor Maestro NIS

• Especificar las redes que puede usar el servidor maestro en el archivo /var/yp/securenets:[root@localhost ~]# vi /var/yp/securenets255.255.255.255 maestroNIS255.255.255.0 172.16.3.0

• Iniciar el servicio ypserv:[root@localhost ~]# chkconfig ypserv on[root@localhost ~]# service ypserv start

Page 23: Unit  7 Authentication Services

Configurar un Servidor Maestro NIS

• Muchas configuraciones simples de NIS solo comparten información de passwd, shadow, group y hosts. Existe una gran cantidad de otros recursos que pueden ser compartidos, pero ellos a menudo no son necesarios en los clientes.

• El archivo /var/yp/Makefile controla como los mapas NIS son construidos desde los archivos locales.

Page 24: Unit  7 Authentication Services

Configurar un Servidor Maestro NIS

• Se puede limitar cuales mapas NIS sean construidos editando la etiqueta all en este archivo:[root@localhost ~]# vi /var/yp/Makefileall: passwd shadow group hosts netid

• Existen también en este archivo otras variables (o macros) que es necesario fijar:NOPUSH=true

Page 25: Unit  7 Authentication Services

Configurar un Servidor Maestro NIS

MERGE_PASSWD=trueMERGE_GROUP=false

• NOPUSH debería ser fijada a true si no existen servidores esclavos, debería ser fijada a false si hay servidores esclavos.

• Una vez /var/yp/Makefile ha sido editado, construir los mapas NIS ejecutando en el servidor maestro:

• [root@localhost ~]# /usr/lib/yp/ypinit –m

Page 26: Unit  7 Authentication Services

Configurar un Servidor Maestro NIS

• Esta última orden almacenará los mapas NIS como archivos Berkeley DB en /var/yp/myNIS.

• Si se desea permitir que los usuarios puedan cambiar contraseñas NIS, se debe iniciar el servicio yppasswdd:[root@localhost ~]# chkconfig yppasswdd on[root@localhost ~]# service yppasswdd start

Page 27: Unit  7 Authentication Services

Configurar un Servidor Esclavo NIS

• Siempre es útil tener un segundo servidor de un servicio por si el servidor maestro falla.

• El servidor esclavo se configura prácticamente igual que el maestro, con un par de excepciones: En el archivo /etc/rc.conf no se activa el

demonio rpc.yppasswdd. Al lanzar el servicio, la opción del comando

ypinit será -s, lo que indica que actuará como esclavo (slave).

Page 28: Unit  7 Authentication Services

Configurar un Servidor Esclavo NIS

• En el servidor maestro NIS incluir los nombres de todos los servidores esclavos NIS en el archivo /var/yp/ypservers:[root@localhost ~]# vi /var/yp/ypservers

• Sobre el esclavo, transferir el mapa NIS inicial desde el servidor maestro:[root@localhost ~]# /usr/lib/yp/ypinit –s maestroNIS

Page 29: Unit  7 Authentication Services

Configurar un Servidor Esclavo NIS

• Para reconstruir y empujar los mapas NIS desde el servidor maestro a los servidores esclavos, sobre el servidor maestro ejecutar:[root@localhost ~]# cd /var/yp; make

• Esto reconstruye los archivos BD de los mapas NIS y ejecuta yppush para empujar los cambios a TODOS los servidores esclavos.

Page 30: Unit  7 Authentication Services

Configurar un Servidor Esclavo NIS

• También es posible ejecutar el comando ypxfr en el servidor esclavo para obtener los mapas desde el servidor maestro.

• Un servicio opcional en el servidor maestro, rpc.ypxfrd, puede ser utilizado para acelerar las transferencias de ypxfr. [root@localhost~]# service ypxfrd restart

Page 31: Unit  7 Authentication Services

Configuración del cliente NIS

• En la máquina cliente ejecutar el programa system-config-authentication:[root@localhost~]#system-config-authenticationAquí se podrá habilitar NIS, especificar el nombre del dominio NIS y el server NIS.

Page 32: Unit  7 Authentication Services

Configuración del cliente NIS

Page 33: Unit  7 Authentication Services

Configuración del cliente NIS

• La opción Habilitar Soporte NIS permite configurar el sistema para conectarse a un servidor NIS (como un cliente NIS) para la autentificación de usuarios y contraseñas.

• Hacer 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).

Page 34: Unit  7 Authentication Services

NIS masters, slaves, and clients

Page 35: Unit  7 Authentication Services

Funcionamiento de NIS

• Se crea un directorio con el nombre del dominio NIS en /var/yp. Los mapas NIS están contenidos habitualmente en este directorio.

• Cada mapa NIS comprende dos archivos, uno de extensión .dir y el otro de extensión .pag. Por ejemplo, en el dominio myNIS los archivos ndbm para /etc/passwd en /var/yp/myNIS/ serían: passwd.byname.dir, passwd.byname.pag, passwd.byuid.dir, passwd.byuid.pag.

Page 36: Unit  7 Authentication Services

Funcionamiento de NIS

• Un mapa especial, ypservers, es construido automáticamente al implantarse el dominio; sirve para conocer los servidores esclavos a los que deben distribuirse los mapas.

Page 37: Unit  7 Authentication Services

Ventajas/desventajas de NIS

• NIS es entendible por humanos: se siguen editando los mismos viejos archivos, sólo hay que aprender unos comandos nuevos, no se requiere conocer la estructura interna de los mapas NIS.

• NIS no admite enlace de dominios: una red grande puede dividirse en dominios, pero cada uno debe ser administrado separadamente.

Page 38: Unit  7 Authentication Services

Ventajas/desventajas de NIS

• NIS consume un cierto ancho de banda: no tiene capacidad de cache, toda consulta debe realizarse a un servidor; los mapas modificados deben distribuirse.

• Un servidor esclavo NIS fuera de servicio puede perder una actualización; debe implementarse una rutina de control de actualización; aún así, dos versiones diferentes de un mapa pueden estar siendo servidas al mismo tiempo, con los clientes viendo una u otra aleatoriamente.

Page 39: Unit  7 Authentication Services

Ventajas/desventajas de NIS

• NIS no es seguro: cualquier máquina puede manifestarse como servidor de un dominio, cualquier usuario puede leer los mapas NIS, la información se distribuye NO encriptada por la red.