curso basico ponencia 678

Download Curso Basico Ponencia 678

If you can't read please download the document

Upload: antonio-duran

Post on 16-Apr-2017

1.391 views

Category:

Documents


0 download

TRANSCRIPT

gnuLinex en los centros educativosIsmael Campos SurezAntonio Durn Terrs

Linex en los centros educativos

Configuracin de red: dnsmasq

Uso de permisos, usuarios y grupos

Archivos de autenticacin

Conceptos generales de PAM

Autenticacin con LDAP

Apt-cacher

Squid

Scripts de configuracin

Systemimager: conacin

dnsmasq

Realiza dos funciones principales:

Servidor de nombres DNS.

Servidor DHCP (Asignacin automtica de ip).

El servidor dnsmasq sustituye a el servidor de nombres bind y al servidor dhcp.

Se utiliza por la facilidad de instalacin, configuracin y por su simplicidad de uso.

dnsmasq

Fichero de configuracin:

/etc/dnsmasq.conf

Dnsmasq almacena la base de datos de todas las maquinas a las que ha asignado una direccin: IP,MAC y nombre DNS, aadiendo el tiempo que durar el prstamo de la direccin.

/var/lib/misc/dnsmasq.leases

dnsmasq

Opciones de configuracin en dnsmasq.conf:

domain-needed: No hace consultas de nombres locales a servidores DNS externos.

bogus-priv: No deja pasar consultas de direcciones que no pertenecen al espacio de direccionamiento.

expand-hosts: Aade automticamente el dominio a las entradas de un ficheros hosts.

dnsmasq

Opciones de configuracin en dnsmasq.conf:

domain: Indica tres cosas:

Permite a los clientes DHCP tener FQDN (fully qualified domain names) siempre que la parte de dominio del cliente coincida con el valor de domain.

Pone la opcin domain de DHCP.

Proporciona el dominio para la opcin expand-hosts.

Ejemplo:

domain=elbrocense.ex

dnsmasq

Opciones de configuracin en dnsmasq.conf:

dhcp-range: Rango de direcciones disponibles para arrendar, junto a un tiempo de arrendamiento opcional.

Ejemplo:

dhcp-range=172.19.232.31,172.19.235.254,255.255.252.0,infinite

Tenemos disponibles desde 172.19.232.31 hasta 172.19.235.254 (4 rangos) y el tiempo de arerndamiento es infinito.

dnsmasq

Opciones de configuracin en dnsmasq.conf:

dhcp-host: Asignaciones fijas de IP.

Ejempo:

dhcp-host= 00:10:DC:9C:E0:8E,ddprogramador-1,172.19.232.10

Asigna la direccion 172.19.232.10 al equipo con MAC 00:10:DC:9C:E0:8E, aadiendolo a la BD DNS con nombre ddporgramador-1.

dnsmasq

Opciones de configuracin en dnsmasq.conf:

dhcp-lease-max: Indica el nmero mximo de prstamos concurrentes.

dhcp-option: Especifica varios parmetros que el servidor DHCP entrega a los clientes. El formato general es:

dhcp-option=numero_opcion, direccion

Ejemplo. Asignar como ruta por defecto al servidor:

dhcp-option=3,172.21.232.2

dnsmasq

Opciones de configuracin en dnsmasq.conf:

dhcp-option: Especifica varios parmetros que el servidor DHCP entrega a los clientes.

Ejemplo. Asignar como servidor DNS al servidor:

dhcp-option=6,172.21.232.2

Tambin se pueden asignar otros parmetros menos comunes.

dnsmasq

Introduccin el la BD DNS de datos sobre mquinas que no obtienen su direccin por medio de dhcp.

Por ejemplo, queremos asignar un alias al servidor, para poder referirnos a l como www.

Editamos el fichero /etc/hosts del servidor y aadimos la entrada correspondiente:

172.21.232.2 www.elbrocense.ex www

Luego reiniciamos dnsmasq.

dnsmasq

Dignostico

El servidor dnsmasq atiende peticiones DNS y DHCP, por lo que realiza dos servicios muy difrenciados, usando puertos separados para cada uno de ellos.

# netstat --inet -nlp|grep dnsmasq

tcp 0 0 0.0.0.0:53 0.0.0.0:* LISTEN 303/dnsmasq

udp 0 0 0.0.0.0:32768 0.0.0.0:* 303/dnsmasq

udp 0 0 0.0.0.0:53 0.0.0.0:* 303/dnsmasq

udp 0 0 0.0.0.0:67 0.0.0.0:* 303/dnsmasq

raw 0 0 0.0.0.0:1 0.0.0.0:* 7 303/dnsmasq

dnsmasq

Dignostico

Cuando un equipo arranca, debe obtner su IP por DHCP. Para comprobar que lo ha hecho correctamente:

#ifconfig

El servidor DHCP asigna al servidor del centro como servidor DNS por defecto. Para comprobar que funciona correctamente:

#host nombre_maquina

Permisos, usuarios y grupos

Cada archivo pertenece a un usuario.

Cada archivo pertenece a un grupo.

Cada archivo tiene asignados permisos, que definen el acceso al mismo para el dueo, los miembros del grupo y el resto de los usuarios del sistema.

Para cada rol, se usan tres bits para codificar los permisos. Cuando el bit est a uno, el permiso est concedido.

Permisos, usuarios y grupos

# ls -al list

-rw-r--r-- 1 root root 324 2005-11-08 22:40 list

Para cada uno de los roles (propietario, miembros del grupo, resto de usuarios) se definen tres permisos:

r: lectura

w: escritura

x: ejecucin

Permisos, usuarios y grupos

El permiso de ejecucin en directorios se refiere a la posibilidad de acceder a ellos mediante el comando cd, mientras que el de lectura indica que es posible listar los contenidos del mismo.

El permiso de escritura en un directorio permite la posibilidad de crear y borrar entradas del directorio. Es por esto que es posible borrar un archivo para el que no tenemos acceso de escritura (o incluso de lectura) siempre que tengamos permisos de escritura del dir.

Permisos, usuarios y grupos

Cambio de propietario de un archivo: chown

#chown usuario[:grupo] archivo

Asigna propietario [y grupo] a archivo.

#chown aduran:profesor list

Para cambiar el propietario de un directorio recursivamente y de sus contenidos:

#chown -R aduran directorio/

Permisos, usuarios y grupos

Cambio de permisos de un archivo: chmod

#chmod modo fichero

chmod cambia los permisos de cada fichero dado segn modo, que puede ser o bien una representacin simbolica de los cambios a realizar, o bien un nmero octal que representa el patrn de bits de los nuevos permisos.

Ejemplos:

#chmod u=rwx list

#chmod 700 list

Permisos, usuarios y grupos

Cambio de permisos de un archivo: chmod

modo simblico:

[ugoa][+-=][rwxXst]

Dividido en tres partes:

[ugoa] Indica a que permisos se aplica el cambio:

u: user

g: grupo

o: otros

a: todos (all)

Permisos, usuarios y grupos

Cambio de permisos de un archivo: chmod

modo simblico:

[ugoa][+-=][rwxXst]

Dividido en tres partes:

[+-=] Indica como es el cambiop a aplicar en los permisos:

+ : Indica que se aaden permisos

- : Indica que se quitan permisos

= : Indica que se asignan esos permisos, eliminandose los no indicados.

Permisos, usuarios y grupos

Cambio de permisos de un archivo: chmod

modo simblico:

[ugoa][+-=][rwxXst]

Dividido en tres partes:

[rwxXst] Representa el tipo de permiso aplicado.

r: lectura

w: escritura

x: ejecucin

X: ejecucin solamente si el fichero es un directorio o ya tiene permiso de ejecucin para algn usuario

s: activar el bit SUID o SGID para ejecucin

Permisos, usuarios y grupos

Cambio de permisos de un archivo: chmod

modo simblico:

[ugoa][+-=][rwxXst]

Dividido en tres partes:

[rwxXst] Representa el tipo de permiso aplicado.

s: activar el bit SUID o SGID para ejecucin

Este permiso sustituye al de ejecucin:

$ls -al /usr/bin/passwd

-rwsr-xr-x 1 root root 26616 2004-11-26 07:30 /usr/bin/passwd

Indica que el programa se ejecutar con los permisos del propietario/grupo del archivo.

Permisos, usuarios y grupos

Cambio de permisos de un archivo: chmod

modo simblico:

[ugoa][+-=][rwxXst]

Dividido en tres partes:

[rwxXst] Representa el tipo de permiso aplicado.

t: sticky (pegajoso). Originalmente se usaba para que el texto del programa se mantuviese en la swap. Hoy en da, cuando se aplica a un directorio significa que solamente el propietario de un archivo y el propietario de ese directorio pueden borrar el fichero de dicho directorio. Con esto evitamos el problema comentado anteriormente para directorios de escritura comn.

Permisos, usuarios y grupos

Cambio de permisos de un archivo: chmod

modo nmerico:

Formado por entre 1 y 4 dgitos octales formados mediante la adiccin de los bits de valores 4, 2 y 1. Los dgitos que faltan se toman como ceros inicales.

El primer dgito selecciona los bits SUID (4), SGID (2) y Sticky (1).

Los tres restantes seleccionan permisos de lectura (4), escritura (2) y ejecucin (1) para usuario, grupo y resto de usuarios.

Muy rpido una vez conocido.

Permisos, usuarios y grupos

Cambio de permisos de un archivo: chmod

modo nmerico:

Cada bit representa un permiso:

r w x

1 0 0: Permiso de lectura: 4

0 1 0: Permiso de escritura: 2

0 0 1: Permiso de ejecucin: 1

Asignar todos los permisos al propietario y ninguno a los dems:

#chmod 700 archivo

Archivos de autenticacin

/etc/passwd

Fichero de texto que contiene una lista de las cuentas del sistema, proporcionando para cada una cieta informacin til como el identificador de usuario y de grupo, el directorio personal del usuario, etc.

Antes tambin contena las claves cifradas de los usuarios.

Problema de seguridad, que el fichero debe tener permiso de lectura para todos los usuarios, ya que se usa para hacer la correspondencia entre ID y nombre de usuario.

Archivos de autenticacin

/etc/passwd

Si todos los usuarios pueden leer las claves cifradas, pueden aplicar ataques de fuerza bruta (con, por ejemplo. john the ripper) para intentar averiguar las contraseas almacenadas.

Se soluciona este problema trasladando a otro fichero (/etc/shadow) las claves cifradas. Este fichero no necesita tener acceso por los usuarios no privilegiados, por lo que se evitan los mencionados ataques.

Archivos de autenticacin

/etc/passwd

Hay una entrada por cada lnea, cada una con el siguiente aspecto:

cuenta:contrasea:UID:GID:GECOS:directorio:intrprete

cuenta: nombre de usuario

contrasea: un * si usamos shadow passwords.

UID: Nmero ID del usuario.

GID: Nmero ID del grupo primario para este usuario.

GECOS: Usualmente nombre completo del usuario.

Archivos de autenticacin

/etc/passwd

Hay una entrada por cada lnea, cada una con el siguiente aspecto:

cuenta:contrasea:UID:GID:GECOS:directorio:intrprete

directorio: directorio base del usuario ($HOME)

programa que debe ejecutarse cuando el usuario ingresa.

Archivos de autenticacin

/etc/shadow

Contiene las contraseas cifradas de los usuarios, y opcionalemente, informacin sobre el envejecimiento de las cuentas.

Contiene:

Nombre de usuario

Clave cifrada

Informacin sobre cuadno se cambi la contrasea por ltima vez o cuando debe ser cambiada para que no se desactive la cuenta.

Archivos de autenticacin

/etc/group

Fichero de grupos de usuarios

Es un fichero de texto que define los grupos a los cules pertenecen los usuarios del sistema. Hay una entrada por linea, con el siguiente formato:

nombre_grupo:contrasea:GID:lista_usuarios

nombre_grupo: nombre del grupo

contrasea: Si est vaca, no se usa contrasea.

GID: Nmero ID del grupo.

lista_usuarios: los nombres de usuarios de los miembros, separados por comas.

Archivos de autenticacin

Comprobacin de ficheros

pwck

Verifica la integridad de los ficheros passwd y shadow.

Cada entrada se comprueba para ver que tiene todos los campos requeridos en el formato correcto.

Se pregunta al usuario si desea eliminar las entradas que tienen errores incorregibles.

Debemos usarlo si tenemos problemas para cambiar una contrasea.

Archivos de autenticacin

Comprobacin de ficheros

grpck

Verifica la integridad de los ficheros grupo y gshadow.

Cada entrada se comprueba para ver que tiene todos los campos requeridos en el formato correcto.

Se pregunta al usuario si desea eliminar las entradas que tienen errores incorregibles.

Debemos usarlo si tenemos poblemas al ejecutar useradd, usermod y comandos relacionados, ya que normalmente el error suele ser un nombre de grupo repetido.

PAM

PAM = Pluggable Authentication Modules

Coleccin de libreras que permiten al administrador elegir como se autenticarn los usuarios.

Permite cambiar la autenticacin que usan las aplicaciones PAM sin necesidad de recompilarlas.

PAM

Objetivo: separar el SW dedicado a otorgar privilegios del SW dedicado a desarrollar sistemas de autenticacin seguros y apropiados.

Configuracin:

/etc/pam.conf

/etc/pam.d/

Mdulos: /lib/security

PAM

PAM trata con cuatro tipos de tareas:

Gestin de autenticacin

Gestin de cuentas

Gestin de sesines

Gestin de contraseas

PAM

Configuracin

Una entrada por lnea en /etc/pam.conf

nombre_servicio tipo_modulo flag_control path_modulo args

nombre_servicio

El nombre del servicio asociado a la entrada. Suele ser el nombre del programa.

Puede ser 'other' para indicar una opcin por omisin para los programas que no tienen entrada especfica.

PAM

Configuracin

tipo_modulo

Uno de los 4 tipos de mdulos actuales:

auth

account

session

password

PAM

Tipos de mdulo

auth

Proporciona dos aspectos de la autenticacin de usuarios. Primero establece que el usuario es quien dice ser. Segundo, puede otorgar mebresas de grupo independientemente del fichero /etc/groups, u otros privilegios.

PAM

Tipos de mdulo

account. Se encarga de la gestin de cuentas no relacionada con la autenticacin. Suele usarse para permitir/denegar accesos basandose en la hora/da, recursos del sistema disponibles o la localizacin del usuario (por ej: root slo puede hacer login en la consola)

PAM

Tipos de mdulo

session. Principalmente este mdulo se encarga de las cosas que se deben hacer por el usuario antes/despus de que se le conceda el servicio. Estas actividades se refieren, por ejemplo, a la escritura de informacin de registro sobre la apetura/cierre de sesiones, el montaje de directorios, etc.

PAM

Tipos de mdulo

password. Es necesario para actualizar los tokens utilizados para la autenticacin. Normalmente hay uno para cada mdulo del tipo auth.

PAM

Configuracin

bandera de control

Se utiliza para indicar como reaccionar la librera PAM al tener xito o fracaso el mdulo al que est asociada.

Como los mdulos pueden ser apilados, la bandera de control representa la importancia relativa de cada mdulo.

La aplicacin no recibe el resultado de mdulos individuales, sino slo un resultado de la librera.

PAM

Configuracin

bandera de control

2 formas de especificar la bandera de control. Vemos slo la simple (la que usamos en los IES).

Representamos la bandera de control con una sola palabra que indica la severidad de un acierto o fracaso en el mdulo. Las cuatro opciones son:

required, requisite, sufficient, optional e include.

PAM

Configuracin

bandera de control

required: Indica que es necesario el xito de este mdulo.

requisite: como required, sin embargo si falla no se siguen ejecutando ms modulos.

suffcient: El xito de ste mdulo se considera como suficiente para conceder el permiso.

optional: No es crtico para el xito o fracaso de la aplicacin.

PAM

Configuracin

bandera de control

include: Indica al sistema PAM que incluya los contenidos del fichero indicado.

path_modulo

Ruta hacia el mdulo.

args

Argumentos que se pasan al mdulo.

PAM

Configuracin basada en directorios

Ms flexible

Usa los ficheros de /etc/pam.d

Cada fichero tiene el nombre de un servicio, que corresponde con la configuracin para ese servicio.

Formato de las lneas de cada fichero:

tipo_modulo bandera_control path_modulo args

PAM

Configuracin basada en directorios. Ventajas:

Menos propensa al error.

Ms facil de mantener.

Permite enlazar ficheros.

Ms rpido.

Mejor gestin de permisos.

Facilita la administracin de paquetes.

PAM

Configuracin basada en directorios.

Ficheros comunes:

common-account

common-auth

common-password

common-session

PAM

Configuracin

Argumentos opcionales generales:

debug: informacin de debug en los logs.

no_warn: no dar mensajes de aviso a la aplicacin.

use_first_pass: El mdulo no debe pedir una contrasea al usuario. En cambio, debe usar la contrasea introducida anteriormente en el primer mdulo de tipo auth. Si no funciona, el acceso ser denegado.

PAM

Configuracin

Argumentos opcionales generales:

try_first_pass: El mdulo debe intentar la autentiaccin con la contrasea introducida anteriormente. Si no funciona, se pide otra contrasea al usuario.

expose_account: da mas informacin al usuario sobre las cuentas.

PAM

Ejemplos de common-auth

Versin 1:

auth sufficient pam_unix.so

auth sufficient pam_ldap.so user_first_pass

Versin 2:

auth sufficient pam_unix.so

auth required pam_ldap.so user_first_pass

PAM

Ejemplos

Versin 3:

auth required pam_nologin.so

auth required pam_env.so

auth required pam_unix_auth.so

PAM

Descripcin de los mdulos

pam_unix: Mdulo de autenticacin estandar. Ficheros passwd y shadow.

pam_ldap: Autentiacin contra directorios LDAP.

pam_nologin: Encargdo de la funcionalidad Unix nologin.

pam_env: Para asignar valores a variables de entorno.

pam_unix_auth: Mdulo de autenticacin estandar.

Autenticacin con LDAP

LDAP: Lightweight Directory Access Protocol.

LDAP es un protocol de acceso a un servicio de directorio.

Basicamente es como una base de datos, pero organizado jerrquicamente y basado en atributos.

Al usar autenticacin LDAP, simplemente sustituimos las consultas sobre usuarios a la BD local (ficheros passwd y shadow) por consultas al servidor LDAP. PAM se encarga de ello.

Autenticacin con LDAP

El servicio de directorio LDAP se basa en un modelo cliente-servidor.

Uno o ms servidores LDAP contienen los datos que conforman el rbol del directorio LDAP o base de datos troncal.

El cliente ldap se conecta con el servidor LDAP y le hace una consulta.

El servidor contesta con la respuesta correspondiente, o bien con una indicacin de dnde puede el cliente hallar ms informacin (normalmente otro servidor LDAP).

Autenticacin con LDAP

El modelo de informacin de LDAP est basado en entradas. Una entrada es una coleccin de atributos que tienen un nico y global Nombre Distinguido (DN).

El DN se utiliza para referirse a una entrada sin ambigedades. Cada atributo de una entrada posee un tipo y uno o ms valores.

Los tipos son normalmente palabras nemotcnicas, como cn para common name, o mail para una direccin de correo.

La sintaxis de los atributos depende del tipo de atributo. Por ejemplo, un atributo cn puede contener el valor Sergio Gonzlez.

Autenticacin con LDAP

En LDAP, las entradas estn organizadas en una estructura jerrquica en rbol.

Tradicionalmente, esta estructura reejaba los lmites geogrcos y organizacionales.

Las entradas que representan pases aparecen en la parte superior del rbol.

Debajo de ellos, estn las entradas que representan los estados y las organizaciones nacionales.

Autenticacin con LDAP

Debajo de ests, pueden estar las entradas que representan las unidades organizacionales, empleados, impresoras, documentos o todo aquello que pueda imaginarse.

Autenticacin con LDAP

Autenticacin con LDAP

Programa servidor: slapd

Configuracin: /etc/ldap/slapd.conf

Para conocer todas las opciones:

$man 5 slapd.conf

Opciones importantes:

replogfile: Fichero de logs del servidor.

loglevel: Nivel de detalle en los logs.

database: estilo de BD. Usamos ldbm.

Autenticacin con LDAP

Programa servidor: slapd

Configuracin: /etc/ldap/slapd.conf

Opciones importantes:

sufix: La base del directorio.

directory: donde se almacena fisicamente la BD.

access: indican permisos para diferentes acciones y usuarios.

Autenticacin con LDAP

Control de acceso. Indica:

Atributos a los que se concede acceso.

A que usuarios ser permite cada acceso.

El tipo de acceso concedido.

Vemos ejemplos en los ficheros de configuracin proporcionados.

Autenticacin con LDAP

Para importar y exportar informacin de directorio entre servidores de directorios basados en LDAP, o para describir una serie de cambios que han de aplicarse al directorio, se usa en general del fichero de formato conocido como LDIF (siglas de "LDAP interchange format", formato de intercambio de LDAP).

Un fichero LDIF almacena informacin en jerarquas de entradas orientadas a objeto.

Autenticacin con LDAP

Fragmento de fichero ldif:

dn: uid=root,ou=People,dc=elbrocense,dc=ex

uid: root

cn::cm9vdA==

objectClass: account

objectClass: posixAccount

objectClass: top

objectClass: shadowAccount

userPassword: {crypt}$1$btERS/EE$l6bMnEg3Yiyt4g0D7u6Yq.

shadowLastChange: 12809

shadowMax: 99999

Autenticacin con LDAP

Actualizacin del directorio en los I.E.S.

Actualizacin por phpldapadmin

Los cambios slo se aplican al directorio LDAP.

Acceso por web

Actualizacin de la BD local de usuarios y grupos del servidor, y posterior migracin de los datos al directorio LDAP.

Los cambios se hacen en LDAP y en la BD local del servidor.

Acceso por consola: migrar

Autenticacin con LDAP

Actualizacin del directorio en los I.E.S.

/usr/bin/migrar

Script encargado de realizar la migracin de datos de la BD local del servidor al directorio LDAP.

Pasos:

Construir ficheros ldif a partir de la BD de usuarios y grupos del servidor:

migrate_passwd.pl y migrate_group.pl

Hacer el trasvase de informacin al directorio LDAP:

ldapadd, ldapmodify

Autenticacin con LDAP

Actualizacin del directorio en los I.E.S.

/usr/bin/migrar

Aade los nuevos usuarios creados.

Aade los nuevos grupos creados.

NO modifica los atributos de usuarios o grupos que ya estn creados.

/usr/bin/migrar2

Cambio de ldapadd por ldapmodify en la migracin de grupos, para aplicar los cambios. No en los usuarios.

Autenticacin con LDAP

Configuracin en los clientes

Instalacin del software necesario. Antes de poder autenticar a los usuarios a travs de un servidor LDAP, es necesario instalar algunas utilidades en el cliente, como pam_ldap y nss_ldap.

pam_ldap permite hacer uso de un servidor LDAP para la autenticacin de usuarios (comprobacin de claves) a aquellas aplicaciones que utilicen PAM.

Autenticacin con LDAP

Configuracin en los clientes

Instalacin del software necesario.

nss-ldap permite a un servidor LDAP actuar como un servidor de nombres. Esto significa que provee la informacin de las cuentas de usuario, los IDs de los grupos, la informacin de la mquina, los alias, los grupos de red y bsicamente cualquier cosa que normalmente se obtiene desde los archivos almacenados bajo /etc o desde un servidor NIS.

Autenticacin con LDAP

Configuracin en los clientes

/etc/nsswitch.conf

nsswitch.conf es el fichero de configuracin de las Bases de Datos del Sistema y del sistema de Conmutacin de los Servicios de Nombres (Name Service Switch).

En otras palabras, es un archivo que indica el orden y el procedimiento a seguir para la bsqueda de la informacin requerida, por ejemplo, para hacer bsquedas de hosts o usuarios.

Autenticacin con LDAP

Configuracin en los clientes

/etc/nsswitch.conf

La forma de configurar este archivo es muy simple:

Primero se especifica la base de datos sujeta a la bsqueda(primera columna) seguida del procedimiento que se va a emplear para realizar una bsqueda sobre la misma(columnas siguientes).

De esta forma, basta con configurar el procedimiento de bsqueda para que haga uso de LDAP en algn momento.

Autenticacin con LDAP

Configuracin en los clientes

/etc/libnss-ldap.conf

Configuracin del servidor LDAP al que el cliente conectar. Opciones:

host: Indica la direccin del servidor LDAP.

base: Nombre distinguido de la base de bsqueda.

ldap_version: Nmero de versin LDAP a usar.

binddn: Nombre distinguido con el que hacer bind al servidor.

Autenticacin con LDAP

Configuracin en los clientes

/etc/libnss-ldap.conf

Configuracin del servidor LDAP al que el cliente conectar. Opciones:

bindpw: Las credenciales con las que hacer bind.

/etc/pam-ldap.conf

Mismo contenido que libnss-ldap.conf

Nueva opcin: pam_password. Indica el cifrado a realizar por el cliente antes de enviar la contrasea.

Autenticacin con LDAP

Funcionamiento del protocolo LDAP

Cliente -> ServidorBIND REQUEST

Servidor -> Cliente BIND RESULT

Cliente -> ServidorSEARCH REQUEST

Servidor -> ClienteSEARCH ENTRY

Servidor -> Cliente SEARCH RESULT

Mas informacin: RFC 2251

Autenticacin con LDAP

Funcionamiento del protocolo LDAP

Operacin BIND.

Sirve para conectar a un servidor LDAP. Normalmente protegemos el acceso al servidor LDAP, de modo que solo clientes que conocen la bind password (bindpw) pueden conectarse.

Si el par usuario/contrasea suministrada al servidor no coincide con las credenciales definidas para hacer bind (en slapd.conf), no se permitir el acceso.

Autenticacin con LDAP

Funcionamiento del protocolo LDAP

Operacin SEARCH REQUEST

El cliente pide informacin al servidor

Operacin SEARCH ENTRY

El servidor entrega informacin al cliente

Operacin SEARCH RESULT

El servidor indica al cliente el resultado de la operacin de bsqueda.

APT-CACHER

Apt-cacher responde a la pregunta de cmo hacer una cache de los paquetes de Debian del apt-get para varios ordenadores en la misma red y as minimizar el trfico de la lnea a Internet y al mismo tiempo acelerar las actualizaciones.

La respuesta (una de ellas) es usar el apt-cacher.

APT-CACHER

El principio de funcionamiento es muy sencillo.

El apt-cacher es un script en Perl que se ejecuta como CGI en el Apache, con el URL http://servidor_cache/apt-cacher/.

Luego hay que cambiar los URLs del sources.list de los clientes en la misma red para que apunten al URL anterior.

APT-CACHER

El servidor de paquetes "original" se enva como "argumento" del URL, por ejemplo:

http://SERVIDOR/apt-cacher/ftp.us.debian.org/debian/

El CGI verifica si el paquete de ese servidor ya est en su directorio cache (/var/cache/apt-cacher/ y si est almacenado localmente, lo enva directamente al cliente.

Como los paquetes Debian de distintas versiones tienen nombres diferentes, no hay posibilidades de conflictos.

APT-CACHER

Para instalar basta con un apt-get install apt-cacher.

Este paquete tiene dependencias con apache, perl y wget, por lo que los instalar si no lo tenis.

Una vez instalado, lo nico que hay que hacer es ajustar los parmetros por defecto del script, eso se hace en el fichero /etc/apt-cacher/apt-cacher.conf.

APT-CACHER

Para verificar que funciona, podis acceder desde cualquier navegador a vuestro servidor al url http://SERVIDOR/apt-cacher/ y tenis que ver una pgina donde se os muestra la configuracin.

APT-CACHER

Configuracin del servidor

Ficheros en /etc/apt-cacher

apache.conf: valores de configuracin que Apache debe usar al tratar con el directorio de apt-cacher. Es un fichero .htaccess normal y corriente.

apt-cacher.conf: Configuracin de apt-cacher.

APT-CACHER

apt-cacher.conf

cache_dir: directorio donde almacenar los paquetes.

allowed_hosts: rango de direcciones a las que se permite usar apt-cacher.

generate_reports: Generar informes cada 24 horas. Se pueden consultar en http://SERVIDOR/apt-cacher/report

APT-CACHER

apt-cacher.conf

clean_cache: limpiar la cache cada 24 horas. No nos interesa.

logdir: Directorio de logs.

expire_hours: horas que se mantiene una lista de paquetes sin refrescarla.

limit: Limitacin del ancho de banda usado.

APT-CACHER

Configuracin de los clientes

Ahora lo nico que hay que hacer es modificar los sources.list de los clientes para que pasen a travs del servidor.

Hay que aadir a cada lnea del sources.list, el servidor donde tenemos instalado apt-cacher y adems tener cuidado que todos hagan referencia a los mismos servidores, sino el cache no tendr efecto.

APT-CACHER

Configuracin de los clientes

Originales:

deb http://www.linex.org/sources/linex/debian sarge linex main contrib non-free

Modificados:

deb http://SERVIDOR/apt-cacher/www.linex.org/sources/linex/debian sarge linex main contrib non-free

SQUID

Squid se usa como proxy-cache en los I.E.S. para dar salida a internet a todos los puestos.

Entre otras cosas, Squid puede hacer Proxy y cache con los protocolos HTTP, FTP, GOPHER y WAIS, Proxy de SSL, cache transparente, WWCP, aceleracin HTTP, cache de consultas DNS y otras muchas ms como filtracin de contenido y control de acceso por IP y por usuario.

SQUID

Para instalar squid:

apt-get -y install squid

Fichero de configuracion:

/etc/squid/squid.conf

SQUID

/etc/squid/squid.conf

http_port: Puerto en el que escucha squid.

cache_mem: cantidad de memoria que Squid puede usar para ciertas funciones internas.

cache_swap_low y cache_swap_high: controlan el reemplazo de objetos en cache, cuando se va llenando.

SQUID

/etc/squid/squid.conf

maximum_object_size: los objetos de tamao mayor que ste, no sern almacenados en la cach.

cache_dir: directorio donde se almacena la cach.

cache_access_log: log de accesos.

SQUID

/etc/squid/squid.conf

cache_log: Log general

cache_store_log: informacin sobre las actividades del controlador de cach.

client_netmask: indica que parte de la IP de los clientes aparece en el log.

SQUID

Cache con aceleracin.

Cuando un usuario hace peticin hacia un objeto en Internet, este es almacenado en el cache de Squid.

Si otro usuario hace peticin hacia el mismo objeto, y este no ha sufrido modificacin alguna desde que lo accedi el usuario anterior, Squid mostrar el que ya se encuentra en el cache en lugar de volver a descargarlo desde Internet.

SQUID

Esta funcin permite navegar rpidamente cuando los objetos ya estn en el cache de Squid y adems optimiza enormemente la utilizacin del ancho de banda.

En la seccin HTTPD-ACCELERATOR OPTIONS deben habilitarse los siguientes parmetros:

httpd_accel_host virtual

httpd_accel_port 0

httpd_accel_with_proxy on

SQUID

/etc/squid/squid.conf: control de acceso

Es necesario establecer Listas de Control de Acceso que definan una red o bien ciertas maquinas en particular.

A cada lista se le asignar una Regla de Control de Acceso que permitir o denegar el acceso a Squid.

Procedamos a entender como definir unas y otras.

SQUID

/etc/squid/squid.conf: control de acceso

Regularmente una lista de control de acceso se establece siguiendo la siguiente sintaxis:

acl [nombre de la lista] src [lo que compone a la lista]

SQUID

Si uno desea establecer una lista de control de acceso que defina sin mayor trabajo adicional a toda la red local definiendo la IP que corresponde a la red y la mscara de la sub-red.

Por ejemplo, si se tienen una red donde las mquinas tienen direcciones IP 192.168.1.n con mscara de sub-red 255.255.255.0, podemos utilizar lo siguiente:

acl miredlocal src 192.168.1.0/255.255.255.0

SQUID

Tambin puede definirse una Lista de Control de Acceso invocando un fichero localizado en cualquier parte del disco duro, y en el cual se en cuenta una lista de direcciones IP. Ejemplo:

acl permitidos src "/etc/squid/permitidos"

El fichero /etc/squid/permitidos contendra una lista de direcciones IP, con una por lnea.

SQUID

Reglas de Control de Acceso

Estas definen si se permite o no el acceso a Squid.

Se aplican a las Listas de Control de Acceso.

La sintaxis bsica es la siguiente:

http_access [deny o allow] [lista de control de acceso]

SQUID

Reglas de Control de Acceso

En el siguiente ejemplo consideramos una regla que establece acceso permitido a Squid a la Lista de Control de Acceso denominada permitidos:

http_access allow permitidos

SQUID

Tambin pueden definirse reglas valindose de la expresin !, la cual significa excepcin. Pueden definirse, por ejemplo, dos listas de control de acceso, una denominada lista1 y otra denominada lista2, en la misma regla de control de acceso, en donde se asigna una expresin a una de estas. La siguiente establece que se permite el acceso a Squid a lo que comprenda lista1 excepto aquello que comprenda lista2:

http_access allow lista1 !lista2

SQUID

Ejemplo: permitir solamente el uso de navegadores autorizados:

acl OKBrowser browser ^Mozilla/5\.0.*

acl OKBrowser browser ^Opera

deny_info err_bad_browser OKBrowser

http_access deny !OKBrowser

SQUID

Ejemplo: cortar la navegacion de ciertas paginas:

acl filtro url_regex "/etc/squid/paginas_cort"

http_access deny filtro

El archivo paginas_cort conterdr una lista de urls a las que no queremos permitir el acceso.

SQUID

Como se interrelaciona todo? Como pasan los clientes por squid?

Cuando un cliente arranca, obtiene su direccin IP por medio del protocolo DHCP. Es el servidor el que le asigna esa direccin (el programa ser dhcpd o dnsmasq, segun lo que tengamos instalado).

A la vez que la IP, se obtiene la ruta por defecto y el servidor DNS al que se debe preguntar.

Como ruta por defecto se fija la direccin del sevidor del centro. De este modo, todas las conexiones hacia Internet deben pasar por el servidor.

SQUID

Como se interrelaciona todo? Como pasan los clientes por squid?

El servidor actua de "proxy transparente". Esto se llama asi porque no son los clientes los que deben indicar que quieren usar un proxy, sino que se hace automaticamente mediante redireccin de puertos.

Cuando un paquete pasa por el servidor con puerto de destino 80, ste se intercepta y se redirige al puerto local del squid, para que sea procesado por ste.

SQUID

Como se interrelaciona todo? Como pasan los clientes por squid?

Esta redireccin se hace en el fichero /etc/init.d/proxy, con esta regla:

iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3128

Indica que todos los paquetes con puerto destino TCP 80 sean redirigidos al puerto 3128.

SQUID

/etc/init.d/proxy

Este script hace la redireccion HTTP ya mencionada.

Antes, pone a 1 ip_forward (/proc/sys/net/ip_forward) para permitir el forwarding de paquetes (permitir que un paquete que no va dirigido a la mquina sea reenviado por otro interfaz)

Tambin fuerza el uso de determinados servidores de correo.

Systemimager

Se trata de una herramienta que facilita la instalacin y administracin de toda una red local con mquinas Linux.

Podemos crear imgenes de todo un disco para posteriormente pegarlas en otro ordenador.

Systemimager

Instalando systemimager-server:

Este paquete lo instalaremos, en principio, en un nico equipo de nuestra red que actuar como servidor de imgenes y servir para que otros equipos se actualicen o instalen desde l.

apt-get install systemimager-server

Systemimager

Instalando systemimager-client en el golden-client

La documentacin (y los comandos) del SystemImager se refieren al golden-client como a un equipo de nuestra red (que est perfectamente instalado y actualizado) que queremos utilizar como modelo para que los dems se sincronicen con l.

apt-get install systemimager-client

Systemimager

En el golden-client ejecutaremos el comando:

prepareclient --server ip_del_servidor

Por ejemplo:

prepareclient --server 192.168.0.78

La opcin server hace referencia al servidor de imgenes que vamos a usar.

Systemimager

Si ejecutamos simplemente prepareclient se nos mostrar una ventana de ayuda recordndonos los otros parmetros.

Durante el proceso de creacin de la imagen (que se almacena en el servidor) es recomendable no ejecutar ningn programa en el golden-client salvo prepareclient.

Systemimager

En el servidor ejecutamos el comando

getimage -golden-client ip_del_golden-client -image nombre_que_elijamos_de_la_imagen

Por ejemplo:

getimage -golden-client 192.168.0.13 -image linex2004

Si ejecutamos simplemente getimage se nos mostar una ventana de ayuda recordndonos los otros parmetros.

Systemimager

Actualizando un equipo (cliente) de la red local.

Ahora queremos actualizar, usando la imagen del golden-client que hemos salvado en el servidor, otro equipo de la red local.

Para ello en primer lugar tendremos que instalar el paquete systemimager-client de la misma forma que lo hicimos en el golden-client.

Systemimager

Una vez instalado el paquete, slo necesitamos ejecutar el comando

updateclient -server ip_del_servidor -image nombre_de_la_imagen

Por ejemplo:

updateclient -server 192.168.0.78 -image linex2004

Systemimager

Es muy conveniente reiniciar el PC una vez haya sido actualizado, lo que se consigue automticamente si ejecutamos:

updateclient -server 192.268.0.78 -image linex2004;reboot

Si ponemos halt en lugar de reboot, el equipo se apagar tras la actualizacin.

Systemimager

Al actualizar un equipo de la red local desde la imagen de otro, por defecto se respeta (no se actualiza) el directorio /home y una serie de ficheros que contienen informacin especfica de cada PC

Por ejemplo /etc/hostname, /etc/network/interfaces.

Estas opciones son configurables. Fichero: /etc/systemimager/updateclient.local.exclude

Systemimager

Afinando el fichero updateclient.local.exclude

El fichero /etc/systemimager/updateclient.local.exclude contiene una lista de los ficheros y/o directorios que no se actualizarn al ejecutar updateclient.

Puede ser interesante ampliar esta lista (en el golden-client antes de salva la imagen): Adems de los incluidos por defecto, podramos plantearnos incluir:

/etc/X11/XF86Config-4 si tenemos tarjetas grficas o monitores diferentes en el aula

/etc/smb.conf si queremos compartir carpetas e impresoras con mquinas Windows

/etc/cups/* si queremos usar configuraciones de impresin diferente en cada mquina.

Systemimager

Actualizar un equipo sin updateclient:

rsync -av --exclude=lost+found/ --numeric-ids 192.168.0.78::linex2004/ /mnt/hda2/

Una vez termine la transferencia de ficheros, ejecutamos chroot /mnt/hda2 para iniciar sesin en el sistema recien transferido.

Si hemos transferido el sistema a una particin diferente a la que usamos en el golden-client, tendremos que modificar los ficheros /etc/fstab y /boot/grub/menu.lst.

Systemimager

CPIMAGE:

Realiza una copia de una imagen existente de systemimager.

Sintaxis:

cpimage [-help] [-version] [-verbose] [-force] [-directory PATH] [-server HOSTNAME] [-ssh-user USERNAME] [SOURCE_IMAGE] [DESTINATION_IMAGE]

Systemimager

CPIMAGE:

Realiza una copia de una imagen existente de systemimager.

Sintaxis:

cpimage [-help] [-version] [-verbose] [-force] [-directory PATH] [-server HOSTNAME] [-ssh-user USERNAME] [SOURCE_IMAGE] [DESTINATION_IMAGE]

Systemimager

LSIMAGE

Muestra una lista de imagenes contenidas en el servidor.

Sintaxis:

lsimage [-help] [-version] [-server HOSTNAME] [-ssh-user USERNAME]

Systemimager

MKAUTOINSTALLCD

Genera un cd autoarranque para poder realizar la actualizacion de un cliente.

Sintaxis:

mkautoinstallcd [-help] [-version] [-arch ARCH] [-out-file PATH] [-flavor FLAVOR] [-kernel PATH] [-initrd PATH] [-append STRING] [-quiet]

Systemimager

MKAUTOINSTALLDISKETTE

Crea un disco de autoarranque para actualizar los clientes.

Sintaxis:

mkautoinstalldiskette [-help] [-version] [-quiet] [-floppy DEVICE] [-out-file PATH] [-flavor FLAVOR] [-kernel PATH] [-initrd PATH] [-append STRING] [-config PATH] [-ssh-key PATH]

Systemimager

MVIMAGE

Mueve una imagen.

Sintaxis:

mvimage [-help] [-version] [-verbose] [-force] [-directory PATH] [SOURCE_IMAGE] [DESTINATION_IMAGE]

Systemimager

RMIMAGE

Borra una imagen.

Sintaxis:

rmimage [-help] [-version] [-verbose] [-force] [IMAGE]

Systemimager

Instalando desde cero un equipo de la red (clonacin con un disquete):

Queremos ahora instalar desde cero un PC de la red local, con hardware idntico al equipo usado como golden-client, cuya imagen ha sido salvada en el servidor de imgenes.

Necesitamos configurar el servidor de imgenes para esta opcin, ejecutando el comando:

addclients

Systemimager

Tendremos que rellenar una serie de datos sobre los nombres y las IPs de los PC que vamos a generar por clonacin.

domain name: Nombre de dominio (domain name). Podemos usar cualquier nombre de dominio inexistente en Internet, como aula o el que nos haya indicado nuestro proveedor de Internet.

base host name: Prefijo por el que empiezan los nombres de nuestros PCs. Algo tpico sera poner como prefijo pc

nmero inicial y nmero final. Si ponemos 12 y 27 respectivamente, el servidor esperar que se instalen los equipos llamados pc12, pc13, ... pc27

Systemimager

Necesitamos tambin un diskette de 1.44 MB, que insertaremos en la disquetera del servidor de imgenes para ejecutar a continuacin el comando:

mkautoinstalldiskette

Tenemos ahora un disquete de arranque que nos servira tal como est si tenemos un servidor de DHCP.

Systemimager

Si no tenemos un servidor DHCP existe un fichero llamado local.cfg el cual lo crearemos dentro del disco para que realice la clonacin cuando arranque:

HOSTNAME=pc23

DOMAINNAME=aula

DEVICE=eth0

IPADDR=192.168.0.23

NETMASK=255.255.255.0

NETWORK=192.168.0.0

BROADCAST=192.168.0.255

GATEWAY=192.168.0.1

GATEWAYDEV=eth0

IMAGESERVER=192.168.0.78