administración unix: redes en unix ii - laboratorio...

30
Administraci ´ on UNIX: Redes en UNIX II Juan Hernando Vieites jhernando@fi.upm.es Octubre 2014 jhernando@fi.upm.es Administraci ´ on UNIX: Redes en UNIX II 1/1

Upload: doantuong

Post on 09-Aug-2018

217 views

Category:

Documents


0 download

TRANSCRIPT

Administracion UNIX:Redes en UNIX II

Juan Hernando [email protected]

Octubre 2014

[email protected] Administracion UNIX: Redes en UNIX II 1/1

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] Administracion UNIX: Redes en UNIX II 2/1

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.• Esta implementacion proporciona:

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

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

[email protected] Administracion UNIX: Redes en UNIX II 3/1

SSH sin contrasena (password-less)Creacion del par de claves publica-privada

• Se genera un par de claves con ssh-keygen.• Por defecto las claves son RSA y se almacenan como/.ssh/id rsa y /.ssh/id rsa.pub.

• La clave pulica de debe copiar al fichero/.ssh/authorized keys de la maquina remota.

Claves privadas protegidas con contrasena

• Para evitar tener que introducir repetidamente lacontrasena de una clave privada cifrada se usa ssh-agent.

• Se ejecuta ssh-agent y se ejecuta su salida en el shell:eval ‘ssh-agent‘.

• El mandato ssh-add descifra las claves privadas y se laspasa al agente para que las almacene en memoria.

[email protected] Administracion UNIX: Redes en UNIX II 4/1

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 (RealVNC, TurboVNC, Remmina).

• Tambien es posible redirigir las peticiones de X a traves deuna conexion de ssh con ssh -X (X forwarding).

• Otras alternativas son NX de NoMachine, XPra, ...

[email protected] Administracion UNIX: Redes en UNIX II 5/1

Servicio de Remote Procedure Call

Remote Procedure Calls (RPCs)

• Sistema de comunicacion interproceso por reddesarrollado por Sun Microsystems.

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

funciones de un programa.

Servicios comunesDos servicios tıpicos basadas en RPC son:

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

[email protected] Administracion UNIX: Redes en UNIX II 6/1

Sistemas de ficheros en red, NFS

Conceptos basicos

• Network File System (NFS) es un protocolo de sistemasde ficheros distribuidos.

• Arquitectura cliente servidor.• Implementado sobre RPC y basado en XDR (eXternal

Data Representation)• Es una de las formas mas habituales de exportar y montar

sistemas de ficheros remotos en sistemas UNIX.

[email protected] Administracion UNIX: Redes en UNIX II 7/1

NFS, versiones

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] Administracion UNIX: Redes en UNIX II 8/1

NFS, versiones

NFS v4, version mas actual

• Servidor con estado.• Integridad, privacidad y autenticacion integradas

(RPCSEC GSS)• Los cerrojos forman parte integral del protocolo.• ACLs• Soporte para internacionalizacion• Mejor rendimiento (composicion de operaciones, cache de

cliente).• Soporte y cooperacion con firewalls y NATs• Soporte para replicacion y migracion• Solo TCP

[email protected] Administracion UNIX: Redes en UNIX II 9/1

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] Administracion UNIX: Redes en UNIX II 10/1

Sistemas de ficheros en red, NFSCuestiones de seguridad

• Los tipos de seguridad son:• AUTH NONE• AUTH SYS, basada en UIDs y GID, (el root de cualquier

cliente permitido puede hacerse pasar como cualquierusuario remoto).

• RPCSEC GSS (opcional en v3, obligatorio en v4) (necesitaKerberos, LIPKEY o SPKM-3)

• Para establecer la identidad de un cliente v2/v3 usan UID yGID, 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.

• v2 y v3 no deben ser de visibilidad publica.

[email protected] Administracion UNIX: Redes en UNIX II 11/1

Sistemas de ficheros en red: LustreSistema de ficheros de alto rendimiento, distribuido con licenciaGNU.

Arquitectura

• Uno o mas metadata servers: Almacenan nombres deficheros, directorios, permisos de acceso, etc.

• Uno o mas object storage servers: Almacenan los datos.Sulelen emplear RAIDS hardware como soporte fısico.

• Capa de red (Lustre Networlk ): Gestiona la comunicacionentre servidores y clientes.

Ventajas

• Muestra toda la informacion dentro de un unico espacio denombres usando semantica POSIX.

• Permite lecturas y escrituras concurrentes.• Fiabilidad y alta [email protected] Administracion UNIX: Redes en UNIX II 12/1

Sistemas de ficheros en red: GPFSGeneral Parallel File System, desarrolado por IBM.

• Solucion propietaria.• Orientado a HPC y muy utilizado en la actualidad.• Implementa semantica POSIX.• Permite organizar el espacio de almacenamiento en

storage pools y filesets.• Storage pools: Grupos de servidores de disco, separados

en funcion de sus prestaciones, ubicacion, fiabilidad, etc.• Filesets: Subconjuntos de ficheros, separados por criterios

administrativos como cuotas, polıticas de seguridad, etc.

• Permite acceso simultaneo a mutiples servidores, paramejorar el rendimiento.

• Metadatos distribuidos por toda la infraestructura. No hayservidores dedicados exclusivamente a metadatos.

[email protected] Administracion UNIX: Redes en UNIX II 13/1

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] Administracion UNIX: Redes en UNIX II 14/1

Autenticacion remotaAutenticacion con NIS

• Sistema comun para sistemas conectados en red.• Permite centralizar la gestion usuarios.• Basado en arquitectura cliente/servidor.• Mantiene bases de datos compartidas por varias

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

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] Administracion UNIX: Redes en UNIX II 15/1

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] Administracion UNIX: Redes en UNIX II 16/1

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] Administracion UNIX: Redes en UNIX II 17/1

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:• 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

• Puertos estandar de servicio,/etc/services:#nombre puerto/protocolo alias

telnet 23/tcp

time 37/udp timeserver

• xinetd es una version mejorada con mas opciones.

[email protected] Administracion UNIX: Redes en UNIX II 18/1

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] Administracion UNIX: Redes en UNIX II 19/1

Conectividad con Windows

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

• El protocolo SMB (Server Message Block) es utilizado porlos sistemas 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] Administracion UNIX: Redes en UNIX II 20/1

SeguridadAspectos a considerar

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

Tipos de ataques segun el objetivo.

• Acceso no privilegiado.• Acceso 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] Administracion UNIX: Redes en UNIX II 21/1

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] Administracion UNIX: Redes en UNIX II 22/1

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.• Gestionar las cuentas de usuario activas/inactivas.

[email protected] Administracion UNIX: Redes en UNIX II 23/1

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] Administracion UNIX: Redes en UNIX II 24/1

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] Administracion UNIX: Redes en UNIX II 25/1

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] Administracion UNIX: Redes en UNIX II 26/1

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 aceptan y rechazan paquetes segun origen ydestino.

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

[email protected] Administracion UNIX: Redes en UNIX II 27/1

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 habitual sea la comprobacion mas difıcil leresultara al intruso detectarla e inhabilitarla.

[email protected] Administracion UNIX: Redes en UNIX II 28/1

Autenticacion de maquinas

Suplantacion de identidad, IP spoofing

• Muchos ataques se basan en 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] Administracion UNIX: Redes en UNIX II 29/1

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] Administracion UNIX: Redes en UNIX II 30/1