Curso Redes Linex 2

download Curso Redes Linex 2

If you can't read please download the document

Transcript of Curso Redes Linex 2

Redes en gnuLinex

Configuracin de serviciosAntonio Durn

Modelo cliente-servidor

Modelo bsico para el funcionamiento de Internet

Un ordenador acta como cliente y accede a los servicios proporcionados por otro ordenador, denominado servidor.

El servidor ofrece servicios. Ej: servidor web

El cliente accede a esos servicios. Ej: navegador web.

Modelo cliente-servidor

La distincin entre cliente y servidor no siempre es tan clara

Red Emule de intercambio de archivos

Todos los usuarios son clientes, porque se conectan para descargar archivos

Todos los usuarios son servidores, ya que otros usuarios se conectan a ellos para descargar archivos

Al mismo tiempo, un ordenador funciona a la vez como cliente y servidor

Configuracin de servicios

Dos tipos de servicios de red:

Stand alone

Funcionan independientemente como cualquier otro programa

Se inician al arrancar el sistema o cuando lo hagamos manualmente

Gestionados por inetd

No estn siempre funcionando

El demonio inetd los despierta cuando alguien quiere acceder a ellos

Configuracin: /etc/inetd.conf

Configuracin de servicios

Servicios Stand alone

Se inician al arrancar el sistema o cuando lo hagamos manualmente

Scripts para lanzar los servicios en /etc/init.d

/etc/init.d/ssh (start|stop|restart)

Servicios lanzados automticamente en el arranque en /etc/rc*.d/

Cada nmero representa un nivel de ejecucin

Arranque grfico = Nivel 5 -> /etc/rc5.d/

Contienen enlaces a los scripts de /etc/init.d/

Configuracin de servicios

Fichero /etc/inetd.conf

Una linea por servicio. Formato:

Nombre TipoSocket Protocolo wait/nowait usuario programa args

Servicios internos atendidos por el propio inetd:

echo dgram udp wait root internal

Servicios atendidos por programas externos:

talk dgram udp wait nobody /usr/sbin/in.talkd in.talkd

Configuracin de servicios

Fichero /etc/inetd.conf

TCP Wrappers:

netbios-ssn stream tcp nowait root /usr/sbin/tcpd /usr/sbin/smbd

TCP Wrappers provee de un sistema de seguridad para controlar el acceso a los servicios manejados por inetd, pudiendo indicar desde que direcciones se autorizan las conexiones.

Est en desuso desde la llegada de los cortafuegos

Configuracin de servicios

Configuracin TCP wrappers:

Fichero /etc/hosts.allow

Acceso permitido si se encuentra la entrada

ALL: 172.21.232.2, 172.21.232.3

SSH: 172.19.232.7

WWW: ALL

Fichero /etc/hosts.deny

Acceso denegado si se encuentra la entrada

ALL: ALL

Si la entrada no se encuentra, se permite.

Configuracin de servicios

Otra forma de restringir accesos: iptables

Diferente de tcp wrappers:

Funciona a nivel IP, por lo que tambin puede filtrar ICMP y otros protocolos.

Deniega las conexiones antes de que estas lleguen a producirse: los wrappers las aceptan, y, a continuacin, las cierran si no se aceptan.

Pueden especificarse reglas mucho ms elaboradas: incluir nombres de mquina, comodines, etc.

Lo veremos ms adelante

Configuracin de servicios

Diagnstico

netstat

Lista las conexiones actuales de la mquina y los servicios que tiene escuchando. Tambin muestra informacin sobre sockets Unix (funcionamiento interno, no relacionados con IP).

Listar todas los sockets conectados:

$netstat

Listar slo los sockets TCP/IP conectados:

$netstat --inet

Incluir los puertos en los que hay demonios escuchando:

$netstat inet -a

Configuracin de servicios

Diagnstico

netstat

No hacer resolucin de nombres:

$netstat -n

Mostrar los procesos a los que pertenece cada socket. Debe ejecutarse como superusuario.

#netstat -p

Mostrar slo los sockets que escuchan:

$netstat -l

Prctica

Activacin de un servicio deshabilitado en inetd.conf

Quitar los comentarios de las lneas de echo

Reiniciar el servicio inetd

Comprobar que se ha activado el servicio

$netstat inet -l

$telnet localhost echo

Acceso remoto

Necesidad de acceso a mquinas remotas:

Objetivo: No usar el servidor como estacin de trabajo.

Antes: telnet. Sesin interactiva de linea de comandos con un sistema Unix. Principal problema: uso de claves en texto plano.

Ahora: ssh. Mismo concepto, pero la comunicacin se cifra para preservar la confidencialidad de los datos.

Acceso remoto

Programas relacionados

Programa servidor: sshd. Escucha en el puerto 22.

Programa cliente: ssh.

Otros programas cliente de la suite ssh: scp, sftp

Acceso remoto

Uso del cliente ssh:

Acceso como el mismo usuario que tenemos en la mquina local:

ssh aula-pro

Acceso como otro usuario:

ssh -l profesor_prueba aula-pro

ssh profesor_prueba@aula-pro

Acceso remoto

Configuracin del servidor sshd:

Fichero /etc/ssh/sshd_config. Algunas opciones:

Port 22

Protocol 2

X11Forwarding yes

IgnoreRhosts yes

Fichero /etc/ssh/ssh_host_rsa_key.pub

Almacena la clave de host. Usada para evitar suplantaciones.

Acceso remoto

Configuracin ssh:

Fichero ~/.sshd/known_hosts

Guarda las claves de hosts para todos los hosts a los que el usuario ha accedido.

Si cambia una clave de host de una mquina conocida e intentamos acceder a ella, ssh dar un error advirtindonos de que el certificado ha cambiado.

Para evitarlo, borrar la entrada correspondiente a esta mquina.

Acceso remoto

Proteccin contra ataques Man in the Middle

Proporciona medios para comprobar la identidad de la mquina a la que estamos conectando

No hay entidades certificadoras externas, por lo que la gestin queda ntegramente en manos del administrador

Prctica

Pasos al conectar a una mquina a la que no hemos conectado antes:

ssh IP_PROFESOR

Al no tener registrado este host con su clave, nos pregunta si deseamos continuar

Si decimos que s, nos informa de que la clave de host se ha aadido a la lista de hosts conocidos

Por ltimo, debemos introducir la clave del usuario con el que estamos conectando

En siguientes conexiones no tendremos que aceptar ya la clave de host

Prctica

Conectamos a una mquina que ha cambiado su clave de host

Por ejemplo, reconfiguramos ssh para que genere una nueva clave

Al conectar por ssh, da un error, informando de que la clave ha cambiado

Para conectar, borrar la entrada de ~/.ssh/known_hosts y volver a conectar

Antes, averiguar por qu ha cambiado

Acceso remoto

X Forwarding

ssh da acceso a consola de texto

Necesidad de ejecutar aplicaciones grficas en remoto

X Forwarding a travs de ssh; las aplicaciones automticamente se muestran en el escritorio actual:

#ssh -X 172.21.232.2

Ahora al ejecutar una aplicacin grfica obtendremos la salida en nuestro escritorio.

Prctica

Realizar una conexin ssh con el ordenador del profesor

Usuario: test

Contrasea: test

Usar X-Forwarding para lanzar herramientas grficas

Una vez conectados, ejecutar:

$eog logo.png

Transferencia de archivos

Necesidad de mover archivos entre mquinas remotas

Desde siempre: ftp

Mas reciente:

sftp

Reemplazo, ms seguro, de ftp.

scp

Transferencia de archivos con sintaxis parecida al comando cp.

Transferencia de archivos

Cliente SCP

Parte del paquete ssh

Utiliza conexiones ssh cifradas para la transmisin de archivos.

Sintaxis de uso muy parecida al comando cp:

#scp [[user@]host]:file1 [[user@]host]:file2

Copiar el archivo /tmp/test de la maquina local al directorio /home/ de la mquina remota aula-pro:

#scp /tmp/test aula-pro:/home

Transferencia de archivos

Cliente SCP

Copiar el archivo /tmp/test de la maquina local al directorio /home/ de la mquina remota aula-pro:

#scp /tmp/test aula-pro:/home

Copiar el archivo /tmp/test de la maquina remota aula-pro al directorio /home/ de la mquina local:

#scp aula-pro:/tmp/test /home

Copiar el archivo /tmp/test de la maquina remota aula-pro al directorio /home/ de la mquina remota aula-o01:

#scp aula-pro:/tmp/test aula-o01:/home

Prctica

Copiar un archivo al ordenador del profesor

#scp archivo test@IP:/home/test

Conectar por ssh para comprobar que el archivo se transmiti correctamente

Archivos en red

Inconvenientes de los anteriores mtodos de transferencia de archivos:

Incmodos: conectar primero y luego transferir archivos.

Acceso no uniforme: las aplicaciones deben saber donde residen los datos fsicamente.

Archivos en red

Solucin: Montar sistemas de archivos remotos:

Se aade un sistema de archivos remoto a la estructura de directorios del sistema local.

Las aplicaciones no saben que los datos son remotos.

Archivos en red: NFS

Caractersticas:

NFS = Network File System

Sistema nativo de Unix/Linux.

Funciona a travs de RPC (Remote Procedure Call).

Un servidor exporta un directorio.

El cliente monta ese directorio.

Archivos en red: NFS

Configuracin del servidor.

Paquetes necesarios:

nfs-common

nfs-kernel-sever

Ficheros de configuracin:

/etc/exports

Logs

/var/log/messages

Archivos en red: NFS

Configuracin del servidor.

/etc/exports

Es la lista de control de acceso para los sistemas de archivos que pueden ser montados por clientes NFS.

Cada lnea contiene un punto de exportacin y una lista de clientes a los que se permite montar el sistema.

Cada cliente puede incluir entre parntesis las opciones especficas para ese cliente.

Archivos en red: NFS

Configuracin de una carpeta compartida para la red

/etc/exports

/compartida 172.21.232.*(ro) 172.21.232.10 (rw)

Opciones:

ro: modo lectura/escritura

rw: modo lectura

sync, async: funcionamiento sncrono/asncrono

root_sqash: asigna el uid 0 a otro uid

Archivos en red: NFS

uids de usuario

El control de acceso de nfsd se basa en los uid y gid proporcionados en cada peticin

Para que un usuario pueda acceder a los ficheros en la carpeta compartida del mismo modo que en local, los uids de cliente y servidor deben coincidir

Normalmente, no se quiere que el root del cliente se convierta en root de la carpeta compartida

Por defecto se activa root_sqash

Archivos en red: NFS

uids de usuario

Otras opciones relacionadas:

no_root_squash: no convierte al usuario root del cliente en el usuario invitado

all_squash: Convierte a todos los usuarios en el usuario invitado. til por ejemplo para directorios pblicos.

#exportfs -a

Exporta de nuevo todos los directorio, releyendo el fichero de configuracin

Archivos en red: NFS

Configuracin de los clientes en los I.E.S.

Montar a mano el /home del servidor en el directorio /home local:

#mount -t nfs 172.21.232.2:/home /home

Fichero /etc/fstab:

172.21.232.2:/home /home nfs rsize=1024,wsize=1024,timeo=20,retrans=10,intr,auto,rw 0 0

Archivos en red: NFS

Diagnstico

Para que nfs funcione debe estar funcionando el portmapper tanto en el servidor como en el cliente. En el servidor, adems, debe funcionar mountd.

Comprobacin de servicios ofrecidos por el portmapper local:

#rpcinfo -p

Archivos en red: NFS

Diagnstico

Comprobacin de servicios ofrecidos por el portmapper remoto:

#rpcinfo -p 172.21.232.2

Prctica

Crear un directorio donde montar el sistema de archivos remoto

Montar la carpeta compartida del ordenador del profesor

mount IP:/compartida compartida

Comprobar que podemos poner nuevos ficheros y ver los de otros compaeros

Prctica

Montar un servidor NFS y compartir una carpeta para que la monten los compaeros

apt-get install nfs-kernel-server nfs-common

Crear una carpeta y configurar /etc/exports para exportarla

Montar la carpeta del compaero para comprobar que se ha hecho todo correctamente

Archivos en red: SAMBA

Caractersticas:

Sistema que implementa el protocolo SMB en sistemas Unix/Linux.

Creado para compartir archivos entre sistemas Unix y Windows.

Tambin vlido para compartir impresoras.

El servidor exporta directorios.

Los clientes montan los directorios exportados.

Archivos en red: SAMBA

Programas del lado servidor:

smbd

Es el demonio que proporciona servicios de comparticin de archivos e impresin a clientes Windows.

nmbd

Servidor de nombres NetBIOS para proporcionar servicios de nombres NetBIOS sobre IP a los clientes.

\\nombre_equipo\\c

Archivos en red: SAMBA

Programas del lado cliente:

smbclient

Cliente parecido al ftp para acceder a recursos SMB en los servidores.

#smbclient //172.21.232.2/trastero

#smbclient //172.21.232.2/trastero -U linex

mount

Montar sistemas compartidos por SAMBA casi igual que si fuesen NFS:

mount -t smbfs //172.21.232.2/trastero /mnt/

mount -t smbfs //172.21.232.2/trastero /mnt/ -o username=linex

Archivos en red: SAMBA

Configuracin del servidor: /etc/samba/smb.conf

Formato del fichero:

Secciones:

[seccion]

Parmetros:

nombre = valor

Descripcin de las secciones:

Cada seccin (menos [global]) define un recurso compartido. El nombre de la seccin es el nombre del recurso y los parmetros dentro de la seccin definen los atributos de los recursos compartidos.

Archivos en red: SAMBA

Configuracin del servidor: /etc/samba/smb.conf

Seccin [global]:

workgroup = elbrocense.ex

load printers = yes

guest account = linex

log file = /var/log/samba/log.%m

smb passwd file = /etc/samba/smbpasswd

null passwords = yes

Archivos en red: SAMBA

Configuracin del servidor: /etc/samba/smb.conf

Descripcin de algunos parmetros:

browseable

Controla si este recurso se ve en la lista de recursos disponibles.

comment

Comentario descriptivo que aparece junto al revurso.

guest ok

No se necesita contrasea para acceder al servicio. Los privilegios sern los de la cuenta de invitado.

Read Only

Acceso en modo slo lectura.

Archivos en red: SAMBA

Configuracin del servidor: /etc/samba/smb.conf

Descripcin de algunos parmetros:

path

Directorio al que se dar acceso al usuario del servicio. En caso de servicios de impresin es donde se almacenar los datos a imprimir antes de enviarlos a la impresora.

writable

Sinnimo invertido de Read Only.

printable

Si est activo, los clientes pueden abrir, escribir y enviar ficheros de spool en el directorio especificado para el servicio.

Archivos en red: SAMBA

Configuracin del servidor: /etc/samba/smb.conf

Seccin [homes]:

Si existe esta seccin, se pueden crear al vuelo servicios conectando a los clientes a sus directorios personales.

Cuando se recibe una peticin se comprueban todas las secciones existentes. Si ninguna de ella coincide se trata el nombre de seccin dado como nombre de usuario y se busca en el fichero de contraseas local.

Archivos en red: SAMBA

Configuracin del servidor: /etc/samba/smb.conf

Seccin [homes]:

Si se encuentra el usuario y la contrasea es correcta, se crea un nuevo recurso compartido clonado la seccin [homes].

#mount -t smbfs //172.21.232.2/linex /mnt/ -o username=linex

Archivos en red: SAMBA

Configuracin del servidor: /etc/samba/smb.conf

Seccin [printers]:

Esta seccin funciona parecido a la de [homes], pero con impresoras.

Si esta seccin existe, los usuarios pueden conectar a cualquier impresora definida en el fichero printcap local.

Cuando se recibe una peticin se comprueban todas las secciones. Si ninguna coincide se trata el nombre dado como un nombre de impresora y se busca en el fichero printcap.

Esta seccin debe ser printable.

Archivos en red: SAMBA

Configuracin del servidor: /etc/samba/smbpasswd

Contiene los usuarios y contraseas definidos para acceder a recursos SAMBA

Aadir los usuarios existentes al fichero de contraseas de SAMBA

smbpasswd -a educacion

Aade el usuario educacion a la BD de SAMBA

smbpasswd educacion

Para cambiar la contrasea

Prctica

Montar el directorio /trastero del profesor, mediante SMB

mount -t smbfs //172.21.232.2/trastero /mnt/ -o username=linex

Acceder al mismo directorio remoto, usando smbclient

#smbclient //172.21.232.2/trastero -U linex

Prctica

Compartir por SAMBA la carpeta que creamos para compartir por NFS

Aadir seccin en /etc/samba/smb.conf

Reiniciar samba

Comprobar, con la ayuda de un compaero, que se puede montar la carpeta desde otros ordenadores