curso redes linex 2
Post on 16-Apr-2017
1.103 Views
Preview:
TRANSCRIPT
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
top related