seguridad en nfs - La web de Sistemas Operativos (SOPA)

Anuncio
ÍNDICE
●
●
SEGURIDAD EN NFS
–
Ficheros /etc/hosts.deny y /etc/hosts.allow
–
Introducción a iptables
–
Seguridad con iptables
SEGURIDAD EN SAMBA
–
Introducción a Samba
–
Configuración de Samba
–
Seguridad en Samba
SEGURIDAD EN NFS
●
Existen dos formas de hacer más seguro
nuestro servidor NFS:
1.Modificando los ficheros /etc/hosts.deny y
/etc/hosts.allow
2.Mediante el uso de iptables
1.FICHERO /etc/hosts.deny
●
Indica qué hosts no pueden acceder a los
servicios, lo más recomendable en este
fichero es denegar el acceso por completo:
portmap:ALL //nadie puede usar nuestro portmap
mountd:ALL //nadie puede una partición
rquotad:ALL //no doy información de cuotas
1.FICHERO /etc/hosts.allow
●
Especificamos qué hosts van a poder usar
los servicios:
portmap:192.168.0.0/255.255.255.0
mountd:192.168.0.0/255.255.255.0
rquotad:192.168.0.0/255.255.255.0
2. INTRODUCCIÓN IPTABLES
●
●
●
Iptables nos permite configurar un Firewall de
forma que tengamos controlado quién entra, sale y/o
enruta a través de nuestra máquina Linux.
Es una aplicación en línea de comandos que
gestiona el filtrado de paquetes en sistemas Linux
(kernels 2.4.x), en base a las reglas que hayamos
definido. Iptables es mucho más potente que su
antecesor Ipchains (kernels 2.2.x).
La estructura de Iptables es básicamente una cola :
cuando un paquete llega, éste es validado contra
cada una de las reglas del firewall, en el momento
que alguna regla casa (match) , se ejecuta la acción
que haya sido definida en la regla (descartar el
paquete, acceptarlo, enrutarlo, etc).
2. INTRODUCCIÓN IPTABLES
●
ESTRUCTURA DE UN COMANDO IPTABLES
iptables -t [tabla] -[AIRDLFZNXP] [regla]
[criterio] -j [acción]
●
-t: Tabla en la que se quiere añadir la regla. Hay 3:
–
Nat:
enmascarar
conexiones,
redirecciones de puertos, etc.
realizar
–
Filter: tabla donde se añaden
relacionadas con el filtrado.
–
Mangler: podemos modificar cualquier aspecto
del paquete (flags, TTL, etc).
las
reglas
2. INTRODUCCIÓN IPTABLES
●
-[AIRDLFZNXP] [regla]: Tiene 4 opciones básicas:
–
A: Añade una regla.
–
L: Lista las reglas.
–
F: Borra todas las reglas o las reglas asociadas a
una clase.
–
P: Política por defecto (aceptar todas las
conexiones).
2. INTRODUCCIÓN IPTABLES
●
[criterio]: Especifica las características del tipo de
paquete que casarán con una regla.Opciones:
✗
-s: ip/red fuente
✗
-d: ip/red destino
✗
--sport: puerto fuente
✗
--dport: puerto destino
✗
-p: protocolo
Ejemplo: iptables -A FORWARD -p [protocolo] -s
[ip/red fuente] --sport [puerto fuente] -d
[ip/red destino] --dport [puerto destino] -j
DROP
2. INTRODUCCIÓN IPTABLES
●
-j [action]: Establece lo que hay que hacer con el
paquete:
–
ACCEPT: Aceptará el paquete.
–
REJECT o DROP: Rechazará el paquete.
–
REDIRECT: Redirigirá el paquete.
–
LOG: Logeará el paquete para analizarlo después.
2. INTRODUCCIÓN IPTABLES
EJEMPLOS
●
iptables -A INPUT -s 195.65.34.234 -j ACCEPT
●
iptables -A INPUT -p tcp -i eth0 --dport 80 -j DROP
●
iptables -A INPUT -p tcp -i eth0 -m state
--state NEW,ESTABLISHED,RELATED --dport 22
-j ACCEPT
3. SEGURIDAD CON IPTABLES
●
●
●
●
●
iptables -t filter -A INPUT -p tcp -s 192.168.25.5 -d
192.168.25.1 - -destination-port sunrpc -j ACCEPT
iptables -t filter -A INPUT -p udp -s 192.168.25.5 -d
192.168.25.1 - -destination-port sunrpc -j ACCEPT
iptables -t filter -A INPUT -p udp -s 192.168.25.5 -d
192.168.25.1 - -destination-port 2049:2050 -j ACCEPT
iptables -t filter -A INPUT -i ! lo -d 192.168.25.1
- -destination-port sunrpc -j DROP
iptables -t filter -A INPUT -i ! lo -d 192.168.25.1
- -destination-port 2049:2050 -j DROP
Samba-Introducción
●
¿Qué es Samba?
–
Sistema de compartición de archivos/impresoras
en red.
–
Permite conexión de sistemas heterogéneos entre
si (Windows y Unix).
–
Los clientes windows tendrían la sensación de
estar ante un servidor Windows NT.
–
Controlar el acceso de clientes Windows a
servicios de red Windows, UNIX, etc.
Samba-Introducción
●
¿Qué Protocolo usa?
–
SMB (Server Message Block) = Compartir los
recursos.
–
CIFS (Common Internet File
Implementación mejorada de SMB.
–
NetBIOS (Network Basic Input/Output System)
sobre TCP/IP (NBT) = Servicio de Nombres:
●
●
nombres lógicos en la red
Sessiones entre los nombres
System)
=
Samba-Introducción
●
¿Cuándo es útil?
–
No quieres pagar un servidorWindows NT para
obtener las funcionalidades que este proporciona.
–
Homogeneizar la red local ante clientes unix y
Windows.
–
Compartir impresoras a/entre clientes Windows y
unix.
SAMBA .vs. NFS
●
●
●
●
NFS está prácticamente limitado a
máquinas Unix, pues no existe una buena
implemtación en Windows.
NFS presenta problemas de seguridad, sólo
para LAN's bien definidas y bien seguras.
NFS no permite compartir impresoras.
SAMBA nos dá una buena solución para
todos estos problemas.
Samba-Configuración
●
●
Dos demonios:
–
smbd= Un demonio que permite compartición de
archivos e impresoras sobre una red SMB y
proporciona autentificación y autorización de
acceso para clientes SMB.
–
nmbd= Un demonio que se ocupa de anunciar
servicios, es decir, informa a las máquinas
presentes en la red sobre cuales son los recursos
disponibles.
Configuración:
–
Fichero “smb.conf” ó frontend “SWAT”
Samba-Configuración
●
smb.conf:
–
Se puede encontrar en “/usr/local/samba/lib/” ó
en ”/etc/”.
–
Este fichero determina qué recursos del sistema
quieres compartir con el mundo exterior y que
restricciones deseas poner en ellos.
–
Consta de varias secciones distintas, las cuales
comienzan “[nombre-recurso]”
–
Una sección general y común: [global]
–
Iniciar y parar: /etc/init.d/samba {start|stop}
Samba-Configuración
●
●
●
[global] = Define variables de carácter
general y aplicables a todos los recursos.
[homes] = Permite a los usuarios remotos
acceder a su directorio personal desde su
máquina local (ya sean clientes Windows o
Linux), pero han de tener cuenta en la
máquina servidora.
[printers] =
impresoras.
Para
la
compartición
de
Samba-Configuración
●
Ejemplo simple:
; /etc/smb.conf
[global]
; guest account = nobody
log file = /var/log/samba-log.%m
lock directory = /var/lock/samba
share modes = yes
Samba-Configuración
[homes]
comment = Directorios principales
browseable = no
read only = no
create mode = 0750
[tmp]
comment = Espacio de ficheros temporales
path = /tmp
read only = no
public = yes
Samba-Configuración
●
SWAT (Samba Web Administration Tool) 901:
Samba-Cliente
●
Windows = Transparente, como siempre
●
Unix = smbclient
–
Búsqueda de recursos en un host:
●
–
#smbclient -L [host]
Conexión a un recurso
●
#smbclient servicio <password>
–
–
–
Servicio: máquina y servicio
Password: literal con la clave
El resultado es un prompt al estilo ftp.
Samba-Seguridad
●
Actualmente hay cuatro niveles de
seguridad utilizados por Samba en sus
redes: share, user, server y domain:
–
Seguridad a nivel de recurso (share) = Cada
recurso compartido tiene asociada una o varias
contraseñas, y cualquiera que la conozca puede
acceder al recurso
–
Seguridad a nivel de usuario (user) = Cada
recurso se configura para permitir acceso a
determinados usuarios.
Samba-Seguridad
–
Seguridad a nivel de servidor (server) = igual
que a nivel de usuario (user), pero en este caso el
servidor Samba utiliza otro servidor SMB para
validar los usuarios y contraseñas antes de
concederles el acceso.
–
Seguridad a nivel de dominio (domain) = En
este caso Samba se convierte en un miembro de
un dominio Windows y se valida al usuario
primero en el dominio para luego darle un atributo
especial que le permite acceso a todos los
recursos que tenga derecho.
Samba-Seguridad
●
●
Contraseñas = Pueden ser encriptadas o
no. Por defecto no se encriptan por
compatibilidad con sistemas windows tales
como win 95 o NT 3.x.
Mejor opción que sean encriptadas, para
ello basta poner en la sección [globlal] lo
siguiente:
[global]
security = user
encrypt passwords = yes
smb passwd file = /usr/local/samba/private/smbpasswd
Samba-Seguridad
●
El fichero “smbpasswd”:
–
Estructura parecida al passwd el cual hay que
guardar y proteger muy bien y no permitir ni
siquiera lectura para los usuarios.
–
Añadir usuarios:
●
●
–
#smbpasswd -a usuario
#smbpasswd usuario (para cambiar o poner la clave)
NOTA: el
usuario ya tiene que existir en
“/etc/passwd”
Samba-Seguridad
●
Usando iptables para el filtrado de paquetes
en samba:
–
Iptables -t filter -A INPUT -p tcp -s 195.168.25.5 \
-d 195.168.25.1 - -destination-port 137:139 \
-j ACCEPT
–
Iptables -t filter -A INPUT -p udp -s 195.168.25.5 \
-d 195.168.25.1 - -destination-port 137:139 \
-j ACCEPT
–
Iptables -t filter -A INPUT -i ! lo -d 195.168.25.1
- -destination-port 137:139 -j DROP
Descargar