Вы находитесь на странице: 1из 30

Administracion UNIX:

Servicios de red
Jesus Montes Sanchez
jmontes@fi.upm.es

Octubre 2013

jmontes@fi.upm.es Administracion UNIX: Servicios de red 1/30


Resumen

1 Acceso remoto.
2 Comparticion de recursos.
Sistemas de ficheros remotos.
Autenticacion.
3 Otros servicios.
4 Seguridad en maquinas conectadas en red.

jmontes@fi.upm.es Administracion UNIX: Servicios de red 2/30


Conexiones remotas
Herramientas 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, ...

jmontes@fi.upm.es Administracion UNIX: Servicios de red 3/30


Conexiones graficas remotas

Servidores X en remoto
Existen diversas herramientas para facilitar login grafico a una
maquina remota
XDMCP es un protocolo que permite la encapsulacion del
protocolo de X windows a traves de red y tener un login remoto
de aspecto local.
VNC es otro protocolo que permite enviar eventos de interfaz de
una maquina a otra. Tiene servidor y clientes especficos.
Otras alternativas son ssh -X (X forwarding) y NoMachine

jmontes@fi.upm.es Administracion UNIX: Servicios de red 4/30


Servicio de Remote Procedure Call

Remote Procedure Calls (RPCs)


Sistema de comunicacion interproceso por red desarrollado 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 comunes
Dos servicios tpicos basadas en RPC son:
NFS (Network File System)
NIS (Network Informatin Service)

jmontes@fi.upm.es Administracion UNIX: Servicios de red 5/30


Sistemas de ficheros en red: NFS
El Network File System (NFS) es la forma mas habitual de exportar y
montar sistemas de ficheros remotos en sistemas UNIX.
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)

jmontes@fi.upm.es Administracion UNIX: Servicios de red 6/30


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,

jmontes@fi.upm.es Administracion UNIX: Servicios de red 7/30


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 raz (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 como servidor: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

jmontes@fi.upm.es Administracion UNIX: Servicios de red 8/30


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 confa en un demonio que recibe cadenas user@domain y las
transforma a IDs en el otro extremo.
Existe un usuario nobody y el root tiene tratamiento especial.

jmontes@fi.upm.es Administracion UNIX: Servicios de red 9/30


Sistemas de ficheros en red: Lustre
Sistema de ficheros de alto rendimiento, distribuido con licencia GNU.
Arquitectura
Uno o mas metadata servers: Almacenan nombres de ficheros,
directorios, permisos de acceso, etc.
Uno o mas object storage servers: Almacenan los datos. Sulelen
emplear raids hardware como soporte fsico.
Capa de red (Lustre Networlk): Gestiona la comunicacion entre
servidores y clientes.

Ventajas
Muestra toda la informacion dentro de un unico espacio de
nombres usando semantica POSIX.
Permite lecturas y escrituras concurrentes.
Fiabilidad y alta disponibilidad.

jmontes@fi.upm.es Administracion UNIX: Servicios de red 10/30


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

Solucion propietaria, muy utilizada en la actualidad.


Orientado a clusters de alto rendimiento.
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, polticas de seguridad, etc.
Permite acceso simultaneo a mutiples servidores, para mejorar
el rendimiento.
Metadatos distribuidos por toda la infraestructura. No hay
servidores dedicados exclusivamente a metadatos.
Implementa semantica POSIX.

jmontes@fi.upm.es Administracion UNIX: Servicios de red 11/30


Montaje por ssh, sshfs

Se trata de montar un sistema de ficheros remoto a traves de un


tunel ssh usando la API de fuse (filesystem in userspace).
Proporciona mejoras de seguridad frente a NFS (NFSv4 con
AUTH SYS como unico metodo de control de acceso).
Autenticacion.
Confidencialidad.
Integridad.
Como contrapartida, esta directamente ligado a un usuario de la
maquina remota.
Para montar un directorio remoto se usa el mandato
sshfs usuario@servidor:ruta punto de montaje
El desmontado se hace con
fusermount -u punto de montaje

jmontes@fi.upm.es Administracion UNIX: Servicios de red 12/30


Autenticacion remota
Autenticacion 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.

jmontes@fi.upm.es Administracion UNIX: Servicios de red 13/30


Autenticacion remota
Configuracion de servidor NIS
Un servidor define un domino de autenticacion
(/etc/defaultdomain).
Gestiona y almacena las bases de datos de usuarios y las
publica 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 para poder
consultar la base de datos.
La autenticacion de la contrasena se resuelve localmente.
La configuracion esta en /etc/yp.conf y /etc/nsswitch.

jmontes@fi.upm.es Administracion UNIX: Servicios de red 14/30


Autenticacion remota
Autenticacion con LDAP
LDAP es un protocolo de acceso a directorios de informacion
(Lightweight Directory Access Protocol)
La informacion que puede almacenar un directorio de LDAP es
generica y se organiza jerarquicamente.
Cada objecto de la base de datos tiene un DN (Distinguished
Name) que lo identifica y una serie de clases 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.

jmontes@fi.upm.es Administracion UNIX: Servicios de red 15/30


Super-servidores inetd e xinetd

Super-servidores historicos.
Proceso unico que abre varios puertos de escucha y despacha
peticiones a esos puertos arrancando el servidor 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.

jmontes@fi.upm.es Administracion UNIX: Servicios de red 16/30


Otros servicios habituales

Demonios de envo correo


Servidores de ficheros
(SMTP)
FTP
Sendmail
TFTP
Postfix
Servidores web
Servidores de correo (IMAP, POP)
Apache (apached)
Courier
Cherokee
Cyrus
Lighttpd
Gestores de trabajos/colas

jmontes@fi.upm.es Administracion UNIX: Servicios de red 17/30


Gestores de trabajos/colas

Servicios especiales, muy habituales en supercomputacion, que


gestionan el envo y la ejecucion de trabajos en el sistema.
Caractersticas tpicas
Interfaz para configurar, enviar y monitorizar trabajos.
Mecanismos para definir workflows y dependencias entre
trabajos.
Gestion de los recursos de computo disponibles.
Prioridades o colas para organizar la ejecucion de trabajos.

Ejemplos
Moab, Oracle Grid Engine (OGE), LoadLeveler, Condor, Slurm, etc.

jmontes@fi.upm.es Administracion UNIX: Servicios de red 18/30


Configuracion IP avanzada
Configuracion como router
Un router posee al menos dos interfaces de red para encaminar
trafico entre dos o mas redes.
Un router intercambia informacion de encaminamiento con otros
routers y emite mensajes de control de red ICMP.
Reenva los paquetes IP que recibe y de los que no es
destinatario.

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.

jmontes@fi.upm.es Administracion UNIX: Servicios de red 19/30


Configuracion IP avanzada

La pila IP del nucleo permite:


IP Masquerading:
Una sola direccion IP para varias maquinas.
Vale para que varios equipos de una red compartan una unica IP
de salida.
Auditora: Estadsticas 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)

jmontes@fi.upm.es Administracion UNIX: Servicios de red 20/30


Configuracion IP avanzada
IP tables
En Linux, muchas reglas de redireccion y filtrado se aplican
usando la herramienta iptables.
iptables actua sobre las tablas de reglas de filtrado de
paquetes del protocolo IP a nivel de nucleo.

Ejemplo:
NAT y encaminamiento en un nodo con dos interfaces, una ethx
conectada a Internet u otra ethy a una LAN, para permitir a 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

jmontes@fi.upm.es Administracion UNIX: Servicios de red 21/30


Conectividad con Windows

Samba (http://www.samba.org)
El protocolo SMB (Server Message Block) los utilizan los
sistemas Windows para compartir discos e impresoras.
La implementacion UNIX del protocolo se denomina Samba.
Samba permite a una maquina UNIX acceder a recursos
compartidos de una red Windows.
Cuentas de usuarios.
Carpetas compartidas.
Impresoras.

jmontes@fi.upm.es Administracion UNIX: Servicios de red 22/30


Seguridad
Aspectos que 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.

jmontes@fi.upm.es Administracion UNIX: Servicios de red 23/30


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.

jmontes@fi.upm.es Administracion UNIX: Servicios de red 24/30


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 las conexiones
activas de cualquier protocolo. Para TCP/IP se usa 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

jmontes@fi.upm.es Administracion UNIX: Servicios de red 25/30


Filtrado de conexiones
TCP wrappers
Se trata de un sistema de seguridad basado en el filtrado de
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 de login


y genera reglas para hosts.deny automaticamente.

jmontes@fi.upm.es Administracion UNIX: Servicios de red 26/30


Cortafuegos

La mejor opcion de seguridad externa son los cortafuegos o


firewalls.
Filtran conexiones pero a un nivel inferior en la pila de protocolos
que TCP wrappers.
Se pueden configurar con iptables y reglas en la tabla de
filtrado que aceptar y rechazar paquetes segun origen y destino.
Para facilitar la escritura de reglas existen herramientas que se
apoyan en iptables.

jmontes@fi.upm.es Administracion UNIX: Servicios de red 27/30


Integridad del sistema

Rootkits
Antes de salir de un sistema hay borrar las huellas de la
intrusion (borrar logs, historiales, ...).
Pero los troyanos solo pueden pasar desapercibidos si se
ocultan a s mismos.

Verificaciones de integridad
Existen aplicaciones que comprueban periodicamente la
integridad del sistema:
rkhunter: verifica la integridad de los ficheros de sistema.
unhide: detecta procesos ocultos.
Cuanto menos estandar sea la comprobacion mas difcil le
resultara al intruso detectarla.

jmontes@fi.upm.es Administracion UNIX: Servicios de red 28/30


Autenticacion de maquinas

Suplantacion de identidad, IP spoofing


Muchos ataques se basan un suplantar la identidad de
maquinas en las que se confa (man-in-the-middle).
La unica solucion es implantar autenticacion entre maquinas.

ssh fingerprints
Es un modo de autenticacion rudimentario para conexiones ssh.
Se trata de un resumen de la clave publica.

jmontes@fi.upm.es Administracion UNIX: Servicios de red 29/30


Autenticacion de maquinas
IPsec
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 confiables desarrollado
en el MIT.
Centraliza la autenticacion en un servidor (KDC, Key Distribution
Center).
El sistema de concesion de permisos se basa en testigos
autenticados.

jmontes@fi.upm.es Administracion UNIX: Servicios de red 30/30

Вам также может понравиться