42
Parte IV: Redes en UNIX Juan Hernando Vieites jhernando@fi.upm.es Administraci ´ on de sistemas UNIX/Linux Curso 2012/2013 jhernando@fi.upm.es Parte IV: Redes en UNIX 1/42

Parte IV: Redes en UNIX - laurel.datsi.fi.upm.eslaurel.datsi.fi.upm.es/_media/docencia/asignaturas/asi/servicios... · Topolog´ıa (subredes). Protocolos (IPv4, IPv6, aplicaciones)

Embed Size (px)

Citation preview

Parte IV: Redes en UNIXJuan Hernando Vieites

[email protected]

Administracion de sistemas UNIX/Linux

Curso 2012/2013

[email protected] Parte IV: Redes en UNIX 1/42

Resumen

1 Configuracion de redes y conexiones.2 Acceso remoto.3 Comparticion de recursos.

• Sistemas de ficheros remotos.• Autenticacion.

4 Otros servicios.5 Seguridad en maquinas conectadas en red.

[email protected] Parte IV: Redes en UNIX 2/42

Conceptos basicos

Diseno de una redA la hora de disenar una red hay que considerar:

• Polıticas (uso, servicios, seguridad, confidencialidad,administracion)

• Equipos (SSOO).• Topologıa (subredes).• Protocolos (IPv4, IPv6, aplicaciones).• Tecnologıas (tipo de red fısica).

[email protected] Parte IV: Redes en UNIX 3/42

Configuracion de redes TCP/IP

Cosas a considerarEn redes cableadas

• Configurar la direccion IP de las interfaces.• Configurar la tabla de rutas.• Asignar un nombre de host (/etc/hostname) y servidores

de resolucion de nombres.• Establecer la configuracion para que se fije al arranque o

se solicite a un servidor de manera dinamica.En redes inalambricas, ademas

• Parametros adicionales (nombre de red).• Sistema de autenticacion.

[email protected] Parte IV: Redes en UNIX 4/42

Configuracion de red IPv4

Configuracion de la interfaz

• Se usa ifconfig (interface configurator).• Parametros tıpicos: nombre de interfaz, protocolo (inet

para IPv4), direccion, mascara de subred (paradirecciones Classless Inter-Domain Routing, CIDR)

• Ejemplo: ifconfig eth0 inet 138.100.9.35 netmask

138.100.15.255

• La direccion de difusion broadcast se infiere de ladireccion de red y la mascara.

• En algunas interfaces tambien se puede cambiar ladireccion de acceso al medio fısico (MAC en redesethernet).

[email protected] Parte IV: Redes en UNIX 5/42

Configuracion de red IPv4Encaminamiento de paquetesTras la interfaz, se configura el encaminamiento para aquellospaquetes que no estan destinados a la subred de la interfaz.Hay 3 tipos de paquetes:

• Paquetes internos (dentro de la maquina).• Paquetes hacia la subred (mismo medio fısico).• Paquetes hacia el exterior (Internet)

Tabla de rutasSe usa el mandato route para anadir y quitar entradas.Ejemplos:

• route add -host 127.0.0.1 lo

• route add -net 138.100.8.0 netmask 255.255.248.0 eth0

• route default gw 192.168.1.1 eth0

[email protected] Parte IV: Redes en UNIX 6/42

Configuracion de red IPv6

Direcciones IPv6

• Una direccion se divide en 64 bits de red y 64 de host, delos cuales 48 suelen hacer referencia a la MAC.

• Existen 3 tipos de direcciones: unicast, multicase yanycast.

Tipo de direccion Prefijo NotacionNo espeficado 00...0 (128 bits) ::/128Loopback 00...1 (128 bits) ::1/128Multicast 11111111 FF00::/8Unicast nivel enlace 1111111010 FE80::/10Unicast nivel sitio 1111111011 FEC0::/10Unicast global resto direcciones

[email protected] Parte IV: Redes en UNIX 7/42

Configuracion de red IPv6Configuracion de la interfaz

• Basicamente se configuran igual que en IPv4• Una diferencia es que una interfaz puede tener varias

direcciones IPv6 asociadas.• Se anaden direcciones con ifconfig interfaz inet6

add parametros

• Se eliminan direcciones con ifconfig interfaz inet6

del direccion

• Puede ser necesario levantar la interfaz para poder anadirla primera direccion.

Encaminamiento

• Igual que IPv4, pero debe anadirse -inet6 o -A init6 almandato route

[email protected] Parte IV: Redes en UNIX 8/42

Resolucion de nombres (DNS)Resolucion de nombres

• Es el proceso que transforma un nombre simbolicowww.fi.upm.es en una direccion IP 138.100.243.10.

• Suele ir implementado en la librerıa de C del sistema.

Configuracion del cliente

• Fichero de resolucion local /etc/hosts: Una coleccion delıneas <direccion IP> <nombre1> <nombre2> ....

• Fichero de resolucion remota /etc/resolv.conf:search fi.upm.es

nameserver 138.100.8.1

nameserver 138.100.8.23

• Fichero de configuracion global /etc/host.conf: Entreotras determina el orden de resolucion de nombres.

• Existe una pagina de manual para cada [email protected] Parte IV: Redes en UNIX 9/42

Resolucion de nombres (DNS)

Configuracion dinamica y estatica

• Por lo normal la configuracion de resolv.conf es estatica,pero puede ser generada dinamicamente.

• Con NetworkManager es bastante probable que el ficherosea sobreescrito segun las interfaces activas yconfiguradas (o conexiones VPN).

• Existe un demonio (resolvconf) que tambien lleva a caboconfiguracion dinamica. En este caso la configuracionestatica debe incluirse en /etc/network/interfaces mediantelas reglas:

dns-nameservers 138.100.8.1 138.100.8.23

dns-search fi.upm.es

[email protected] Parte IV: Redes en UNIX 10/42

Servidor de nombres DNS

Cuando un nombre de host no puede traducirse localmente esnecesario contactar un servidor de DNS para resolverlo

• Un servidor DNS es una maquina que entiende elprotocolo DNS y atiende peticiones de resolucion declientes locales u otros servidores DNS.

• Puede ser:• DNS modo cache: resuelve peticiones y almacena

resultados. Confıa en un DNS superior.• DNS autonomo: Mantiene su propia base de datos para

nombres predeterminados y trabaja en modo cache para elresto.

• El servicio se implementa como un demonio de red queescucha en el puerto adecuado, por ejemplo named.

• El servidor mas usado en BIND (implementacion dereferencia de la ISC).

[email protected] Parte IV: Redes en UNIX 11/42

Configuracion dinamica

Aparte de la configuracion estatica las maquinas conectadas auna red pueden configurarse dinamicamente.

• La maquina cliente hace una peticion por broadcastindicando su direccion fısica (MAC).

• El servidor de configuracion responde concediendo unaconfiguracion de red.

Protocolos de descubrimiento y configuracion son:• DHCP: Protocolo cliente servidor que permite obtener a un

cliente: su direccion y mascara IP, la direccion delencaminador por defecto y la direcciones de los DNS. Uncliente habitual es dhclient. Un servidor de referencia esDHCP v3 o v4 (tambien del ISC).

• BOOTP: Protocolo obsoleto y reemplazado por DHCP.

[email protected] Parte IV: Redes en UNIX 12/42

Inicializacion de interfaces de red

Una distribucion actual de Linux sigue una secuencia de esteestilo:

• Udev detecta la des/conexion fısica del dispositivo y aplicauna regla en /etc/udev/rules.d para darle nombre.

• Se lanza un evento que activa un trabajo de configuracion.• El trabajo ejecuta ifup (conexion) o ifdown (desconexion).• ifup lee la configuracion de /etc/network/interfaces

(consultar interfaces(5)).• Ejemplos:

iface lo inet loopback

auto eth0

iface eth0 inet dhcp

iface eth0 inet static

address 138.100.9.23

netmask 255.255.0.0

gateway 138.100.8.1

up <some-command>

[email protected] Parte IV: Redes en UNIX 13/42

Redes inalambricasInterfaces inalambricas

• iwconfig es el equivalente a ifconfig para interfacesinalambricas 802.11.

• Otras utilidades permiten permitir informacion adicional delas redes inalambricas circundantes (iwlist, iwspy).

Autenticacion

• La autenticacion basada en WEP se hace con unparametro en iwconfig o una opcion de configuracion en/etc/network/interfaces.

• Para autenticacion basada en WAP, una implementacionlibre de WPA Supplicant del estandar 802.11 eswpa supplicant.

[email protected] Parte IV: Redes en UNIX 14/42

Diagnostico y solucion de problemas

Existen varios madatos que pueden ayudar en la resolucion deproblemas de conectividad:

• ping: Comprobacion de conectividad a nivel 3 (IP) pormedio de datagrams IGMP (existe una variante para IPv6).

• traceroute: Descubrimiento de rutas seguidas por lospaquetes IP.

• dig: Para el diagnostico de la resolucion de nombres.• netstat: Permite analizar los sokets abiertos por los

procesos de un sistema. Ası se puede comprobar, por ej.,si un servidor esta caıdo.

[email protected] Parte IV: Redes en UNIX 15/42

Conexiones remotasHerramientas historicas

• telnet

• rlogin (y rsh).

Presentan problemas de seguridad inherentes.

Secure Shell (ssh)

• ssh es el protocolo mas habitual para hacer login remoto.• La implementacion libra mas usada es OpenSSH.• Un programa ssh proporciona:

• Un demonio servidor para aceptar conexiones entrantes(sshd) y un cliente (ssh).

• Distintos metodos de encriptacion del canal seguro.• Autenticacion por medio de pares de clave publica/privada• Redireccion de puertos (incluyendo servidor grafico).• Otras utilidades: ssh-agent, ssh-add, ...

[email protected] Parte IV: Redes en UNIX 16/42

Conexiones graficas remotas

Servidores X en remoto

• Existen diversas herramientas para facilitar login grafico auna maquina remota

• XDMCP es un protocolo que permite la encapsulacion delprotocolo de X windows a traves de red y tener un loginremoto de aspecto local.

• VNC es otro protocolo que permite enviar eventos deinterfaz de una maquina a otra. Tiene servidor y clientesespecıficos.

• Otras alternativas son ssh -X (X forwarding) y NoMachine

[email protected] Parte IV: Redes en UNIX 17/42

Servicio de Remote Procedure Call

Remote Procedure Calls (RPCs)

• Sistema de comunicacion interproceso por reddesarrollado por Sun.

• Un servidor llamado portmapper arranca en el puerto 111.• Los procesos locales registran programas con un ID unico.• Los clientes consultan al protmapper para invocar

funciones de un programa.

Servicios comunesDos servicios tıpicos basadas en RPC son:

• NFS (Network File System)• NIS (Network Informatin Service)

[email protected] Parte IV: Redes en UNIX 18/42

Sistemas de ficheros en red, NFSEl Network File System (NFS) es la forma mas habitual deexportar y montar sistemas de ficheros remotos en sistemasUNIX.

NFS v2

• Primera version abierta del protocolo e implementacion• Servidor sin estado• Obsoleto

NFS v3

• Mejora de rendimiento frente a v2• Trasporte por TCP y UCP• Cerrojos proporcionados por demonios separados (lockd

y statd)

[email protected] Parte IV: Redes en UNIX 19/42

Sistemas de ficheros en red, NFS

NFS v4, version mas actual

• Servidor con estado.• Integridad, privacidad y autenticacion integradas• Los cerrojos forman parte integral del protocolo.• Soporte y cooperacion con firewalls y NATs• Soporte para replicacion y migracion• ACLs• Solo TCP• Mejor rendimiento,

[email protected] Parte IV: Redes en UNIX 20/42

Sistemas de ficheros en red, NFS

Arquitectura y configuracion

• Servidor:• Exporta un directorio de su arbol de directorios (v2/v3) o

una seleccion del arbol raız (v4).• Asigna permisos de acceso a hosts conocidos.• Normalmente se configura en (/etc/exports)/home nombre cliente(rw,sync,no root squash) ...

• Un demonio atiende las peticiones de las clientes.• Cliente:

• El sistema de ficheros se indica comoservidor:directorio en vez de un nombre de dispositivo.

• Montaje manual:# mount -t nfs laurel:/home /home

• Montaje automatico editando /etc/fstab:laurel:/home /home nfs defaults,auto 0 0

[email protected] Parte IV: Redes en UNIX 21/42

Sistemas de ficheros en red, NFS

Cuestiones de seguridad

• Los tipos de seguridad son:• AUTH NONE• AUTH SYS, basada en UIDs y GID, (root of an allowed

client can access any users file by impersonation)• RPCSEC GSS (opcional en v3, obligatorio en v4), necesita

Kerberos.

• v2 y v3 no deben ser de visibilidad publica• Para establecer la identidad de un cliente v2/v3 usan UID y

GID, v4 confıa en un demonio que recibe cadenasuser@domain y las transforma a IDs en el otro extremo.

• Existe un usuario nobody y el root tiene tratamientoespecial.

[email protected] Parte IV: Redes en UNIX 22/42

Montaje por ssh, sshfs

Se trata de montar un sistema de ficheros remoto a traves deun tunel ssh usando la API de fuse (filesystem in userspace).

• Proporciona mejoras de seguridad frente a NFS (NFSv4con AUTH SYS como unico metodo de control de acceso).

• Autenticacion.• Confidencialidad.• Integridad.

• Como contrapartida, esta directamente ligado a un usuariode la maquina remota.

• Para montar un directorio remoto se usa el mandatosshfs usuario@servidor:ruta punto de montaje

• El desmontado se hace confusermount -u punto de montaje

[email protected] Parte IV: Redes en UNIX 23/42

Autenticacion remotaAutenticacion con NIS

• Sistema comun para sistemas conectados en red.• Mantiene bases de datos compartidas por varias

maquinas.• Usuarios y contrasenas (/etc/passwd, /etc/shadow).• Grupos (/etc/group).

• Permite centralizar la gestion usuarios.• Arquitectura cliente/servidor.

NIS+NIS+ es una revision del sistema anterior que anade:

• Mayor seguridad (certificados y cifrado).• Organizacion jerarquica y replicada de servidores.• Pero una configuracion mas compleja.

[email protected] Parte IV: Redes en UNIX 24/42

Autenticacion remotaConfiguracion de servidor NIS

• Un servidor define un domino de autenticacion(/etc/defaultdomain).

• Gestiona y almacena las bases de datos de usuarios y laspublica a los clientes (/etc/ypserv.securenets).

• El servicio funciona por medio de un demonio (ypserv).• Puede haber servidores maestros y esclavos (configurable

en /etc/default/nis).

Configuracion de cliente NIS

• Un cliente se conecta a un domino NIS con ypbind parapoder consultar la base de datos.

• La autenticacion de la contrasena se resuelve localmente.• La configuracion esta en /etc/yp.conf y /etc/nsswitch.

[email protected] Parte IV: Redes en UNIX 25/42

Autenticacion remotaAutenticacion con LDAP

• LDAP es un protocolo de acceso a directorios deinformacion (Lightweight Directory Access Protocol)

• La informacion que puede almacenar un directorio deLDAP es generica y se organiza jerarquicamente.

• Cada objecto de la base de datos tiene un DN(Distinguished Name) que lo identifica y una serie declases a las que pertenece.

• El servidor de LDAP por defecto abre el puerto 389.• OpenLDAP es una implementacion de la version LDAPv3

que funciona en casi todos los UNIX actuales.• slapd, demonio servidor de LDAP• slurpd, demonio de replicacion y actualizacion.• Bibliotecas de soporte.• Herramientas, utilidades y clientes.

[email protected] Parte IV: Redes en UNIX 26/42

Super-servidores inetd e xinetd

• Super-servidores historicos.• Proceso unico que abre varios puertos de escucha y

despacha peticiones a esos puertos arrancando elservidor que atiende el servicio.

• El demonio inetd se configura en dos ficheros:• Puertos estandar de servicio,/etc/services:#nombre puerto/protocolo alias

telnet 23/tcp

time 37/udp timeserver

• Programas de servicio: /etc/inetd.conf#servicio socket proto flags usr serv

telnet stream tcp nowait root in.telnetd

time dgram udp wait root internal

• xinetd es una version mejorada con mas opciones.

[email protected] Parte IV: Redes en UNIX 27/42

Otros servicios habituales

Servidores de ficheros• FTP

• TFTP

Servidores web• Apache (apached)• Lighttpd

Demonios de envıo correo(SMTP)

• Sendmail• Postfix

Servidores de correo (IMAP,POP)

• Courier• Cyrus

[email protected] Parte IV: Redes en UNIX 28/42

Configuracion IP avanzadaConfiguracion como router

• Un router posee al menos dos interfaces de red paraencaminar trafico entre dos o mas redes.

• Un router intercambia informacion de encaminamiento conotros routers y emite mensajes de control de red ICMP.

• Reenvıa los paquetes IP que recibe y de los que no esdestinatario.

Configuracion de tablas de rutas

• Estatica con route.• Dinamica por medio de protocolos como RIP u OSPF

(demonios routed (obsoleto), gated (muerto), Quagga).• No es recomendable utilizar sistemas UNIX completos

como router.

[email protected] Parte IV: Redes en UNIX 29/42

Configuracion IP avanzada

La pila IP del nuclero permite:• IP Masquerading:

• Una sola direccion IP para varias maquinas• Vale para que varios equipos de una ref compartan una

unica IP de salida.

• Auditorıa: Estadısticas y analisis de paquetes.• Alias:

• Varias direcciones IP en la misma tarjeta.• Si se quiere discrimar entre varios servicios.

• Redireccion de paquetes• Para hacer encaminamiento.• Se activa haciendo sysctl -w net.ipv4.ip forward=1 o

asignando 1 al campo net.ipv4.ip forward de/etc/sysctl.conf y recargando (sysctl -p

/etc/sysctl.conf)

[email protected] Parte IV: Redes en UNIX 30/42

Configuracion IP avanzadaIP tables

• En Linux, muchas reglas de redireccion y filtrado seaplican usando la herramienta iptables.

• iptables actua sobre las tablas de reglas de filtrado depaquetes del protocolo IP a nivel de nucleo.

Ejemplo:NAT y encaminamiento en un nodo con dos interfaces, unaethx conectada a Internet u otra ethy a una LAN, para permitira la LAN acceso a Internet.

# Regla para los paquetes de salida

# iptables --table nat --append POSTROUTING \

--out-interface ethx -j MASQUERADE

# Regla para los paquetes de entrada

# iptables --append FORWARD --in-interface ethy -j ACCEPT

[email protected] Parte IV: Redes en UNIX 31/42

Conectividad con Windows

Samba (http://www.samba.org)

• El protocolo SMB (Server Message Block) los utilizan lossistemas Windows para compartir discos e impresoras.

• La implementacion UNIX del protocolo se denominaSamba.

• Samba permite a una maquina UNIX acceder a recursoscompartidos de una red Windows.

• Cuentas de usuarios.• Carpetas compartidas.• Impresoras.

[email protected] Parte IV: Redes en UNIX 32/42

SeguridadAspectos a considerar

• Seguridad interior.• Seguridad exterior.• Deteccion de intrusiones.

Tipos de ataques segun el objetivo.

• Acceso privilegiado.• Acceso no privilegiado.• Denegacion de servicio.• Corrupcion de la integridad de datos.• Revelacion de datos confidenciales.• Ejecucion de codigo danino.• Inspeccion y analisis de la red.

[email protected] Parte IV: Redes en UNIX 33/42

Seguridad interior

• Atencion a los programas con permisos de ejecucionprivilegiada. Bit s

• Ese bit otorga temporalmente al usuario que ejecuta elprograma la identidad del propietario del fichero (ej.passwd).

• Si el programa no se usa: eliminarlo.• Si se usa: mantenerlo actualizado.• Restringir su uso.

• Muchos ataques se basan en explotar algun fallo en estetipo de programas.

• Cuando se consigue hacer fallar, se pueden llevar a caboataques por denegacion de servicio o acceso como elusuario propietario del programa.

[email protected] Parte IV: Redes en UNIX 34/42

Seguridad exterior

El ordenador menos vulnerable es el que no esta conectado aninguna red.Por ello hay que intentar:

• Aislar equipos con informacion sensible.• Minimizar los puntos de ataque.• Tomar medidas de deteccion de intrusiones activas.• Verificar la integridad del sistema.• Tener cuidado con que se ejecuta como superusuario.

[email protected] Parte IV: Redes en UNIX 35/42

Gestion de los servicios de red

• Si un servicio no se usa: eliminarlo.• Se se usa: tenerlo actualizado.• Ademas conviene saber quien usa cada servicio para

distinguir trafico normal de trafico anomalo.• Servicios mal configurados o desactualizados facilitan el

ataque al sistema.• Una vez dentro es mas facil borrar las huellas.

[email protected] Parte IV: Redes en UNIX 36/42

Conexiones al sistema

• Ficheros de acceso (/var/log/wtmp), /var/log/btmp.Formato binario.

• Se consultan con last

• En todo momento se puede obtener un listado de lasconexiones activas de cualquier protocolo. Para TCP/IP seusa el mandato netstat -ta:

Proto Recib Enviad Direccion local Direccion remota Estado

tcp 0 0 *:www *:* ESCUCHAR

tcp 0 0 *:ssh *:* ESCUCHAR

tcp 0 0 bb4:ipp *:* ESCUCHAR

tcp 0 0 bb4.cesvi:45964 laurel.dat:imap2 ESTABLECIDO

[email protected] Parte IV: Redes en UNIX 37/42

Filtrado de conexionesTCP wrappers

• Se trata de un sistema de seguridad basado en el filtradode conexiones que usan tcpwrappers (libwrap.so).

• Se basa en dos ficheros de configuracion:• /etc/hosts.allow (toma precedencia)• /etc/hosts.deny

# hosts.allow

ALL: 138.100.: allow

sshd: ALL: deny

# hosts.deny

http: ALL EXCEPT LOCAL

# DenyHosts: Wed May 11 11:28:43 2011 | ALL: 200.54.194.196

ALL: 200.54.194.196

• denyhosts es una herramienta que analiza los intentos delogin y genera reglas para hosts.deny automaticamente.

[email protected] Parte IV: Redes en UNIX 38/42

Cortafuegos

• La mejor opcion de seguridad externa son los cortafuegoso firewalls.

• Filtran conexiones pero a un nivel inferior en la pila deprotocolos que TCP wrappers.

• Se pueden configurar con iptables y reglas en la tabla defiltrado que aceptar y rechazar paquetes segun origen ydestino.

• Para facilitar la escritura de reglas existen herramientasque se apoyan en iptables.

[email protected] Parte IV: Redes en UNIX 39/42

Comprobacion de integridad delsistema

Rootkits

• Antes de salir de un sistema hay borrar las huellas de laintrusion (borrar logs, historiales, ...).

• Pero los troyanos solo pueden pasar desapercibidos si seocultan a sı mismos.

Verificaciones de integridad

• Existen aplicaciones que comprueban periodicamente laintegridad del sistema:

• rkhunter: verifica la integridad de los ficheros de sistema.• unhide: detecta procesos ocultos.

• Cuanto menos estandar sea la comprobacion mas difıcil leresultara al intruso detectarla.

[email protected] Parte IV: Redes en UNIX 40/42

Autenticacion de maquinas

Suplantacion de identidad, IP spoofing

• Muchos ataques se basan un suplantar la identidad demaquinas en las que se confıa (man-in-the-middle).

• La unica solucion es implantar autenticacion entremaquinas.

ssh fingerprints

• Es un modo de autenticacion rudimentario paraconexiones ssh.

• Se trata de un resumen de la clave publica.

[email protected] Parte IV: Redes en UNIX 41/42

Autenticacion de maquinasIPsec

• Encriptacion y autenticacion a nivel IP• IPsec-Tools (linux), KAME (FreeBSD, OpenBSD).• Bastante utilizado en la implementacion a nivel de router

de VPNs corporativas.

Kerberos

• Protocolo de autenticacion en redes no confiablesdesarrollado en el MIT.

• Centraliza la autenticacion en un servidor (KDC, KeyDistribution Center).

• El sistema de concesion de permisos se basa en testigosautenticados.

[email protected] Parte IV: Redes en UNIX 42/42