46
1 Seguridad en: NFS Y Samba Jesús Alberto Ramírez Jesús Alberto Ramírez Viera. Viera.

1 Seguridad en: NFS Y Samba Jesús Alberto Ramírez Viera

Embed Size (px)

Citation preview

Page 1: 1 Seguridad en: NFS Y Samba Jesús Alberto Ramírez Viera

11

Seguridad en:NFS Y Samba

Jesús Alberto Ramírez Viera.Jesús Alberto Ramírez Viera.

Page 2: 1 Seguridad en: NFS Y Samba Jesús Alberto Ramírez Viera

22

Índice

Seguridad en NFS

Seguridad en Samba

Page 3: 1 Seguridad en: NFS Y Samba Jesús Alberto Ramírez Viera

33

NFS Network File system

Page 4: 1 Seguridad en: NFS Y Samba Jesús Alberto Ramírez Viera

44

Seguridad en NFS

El NFS (Network File system) es un servicio RPC (Remote Procedure Call) que se usa en conjunción con el portmap y otros servicios relacionados para proveer un sistema de ficheros en red para clientes.

NFS controla quien puede montar y exportar sistemas de ficheros basados en la máquina que lo pide, no en el usuario que utilizará el sistema de ficheros. Las máquinas tienen que tener los derechos para montar los sistemas de ficheros exportados explícitamente

Page 5: 1 Seguridad en: NFS Y Samba Jesús Alberto Ramírez Viera

55

Seguridad en NFS:Consideraciones previas. Antes de pasar a mirar los Antes de pasar a mirar los

métodos que podemos usar para métodos que podemos usar para asegurar el NFS sería asegurar el NFS sería recomendable tener en cuenta recomendable tener en cuenta los siguientes aspectos:los siguientes aspectos:

– Debemos asegurar el servicio Debemos asegurar el servicio portmap (demonio de asignación portmap (demonio de asignación dinámica de puertos) mediante: dinámica de puertos) mediante:

TCP wrappers (limitar que redes o hosts TCP wrappers (limitar que redes o hosts tienen acceso al portmap)tienen acceso al portmap)

Iptables (El servidor restringe las redes)Iptables (El servidor restringe las redes)

Page 6: 1 Seguridad en: NFS Y Samba Jesús Alberto Ramírez Viera

66

Seguridad en NFS:Consideraciones previas.

– Cuidado con los errores sintácticos. El Cuidado con los errores sintácticos. El servidor NFS determina que sistemas de servidor NFS determina que sistemas de archivos se exportan en el fichero archivos se exportan en el fichero /etc/exports, un error en éste fichero /etc/exports, un error en éste fichero puede provocar un grave agujero de puede provocar un grave agujero de seguridad.seguridad.

Ejemplo (en /etc/exports) :Ejemplo (en /etc/exports) :

La línea siguiente exporta el sistema de La línea siguiente exporta el sistema de ficheros del directorio /tmp/nfs/ al host ficheros del directorio /tmp/nfs/ al host aso.example.com con permiso de lectura aso.example.com con permiso de lectura y escritura.y escritura.

/tmp/nfs//tmp/nfs/ aso.ejemplo.com(rw)aso.ejemplo.com(rw)

Page 7: 1 Seguridad en: NFS Y Samba Jesús Alberto Ramírez Viera

77

Seguridad en NFS:Consideraciones previas.

En cambio la línea siguiente:En cambio la línea siguiente:

/tmp/nfs//tmp/nfs/ aso.ejemplo.com (rw)aso.ejemplo.com (rw)

Exporta el directorio a aso.example.com como Exporta el directorio a aso.example.com como lectura (por defecto) y al resto (todos) lo exporta lectura (por defecto) y al resto (todos) lo exporta como lectura y escritura. (Tan solo por el espacio como lectura y escritura. (Tan solo por el espacio en blanco antes de “(rw)”).en blanco antes de “(rw)”).

Podemos comprobar los sistemas compartidos con:Podemos comprobar los sistemas compartidos con:

# showmount –e <hostname># showmount –e <hostname>

– Planificar la red con cuidado Planificar la red con cuidado NFS envía NFS envía la información sin encriptar, por lo tanto la información sin encriptar, por lo tanto sería recomendable ejecutar NFS tras un sería recomendable ejecutar NFS tras un firewall o en una red segmentada y firewall o en una red segmentada y segura.segura.

Page 8: 1 Seguridad en: NFS Y Samba Jesús Alberto Ramírez Viera

88

Seguridad en NFS:Consideraciones previas.

– No usar la opción “No usar la opción “no_root_squashno_root_squash” ” Por Por defecto el NFS cambia los archivos defecto el NFS cambia los archivos compartidos pertenecientes al root al usuario compartidos pertenecientes al root al usuario nfsnobodynfsnobody, de esta forma prevenimos que , de esta forma prevenimos que puedan subir archivos con el bit setuid activo puedan subir archivos con el bit setuid activo (podrian ejecutar programas como si fueran (podrian ejecutar programas como si fueran el root del sistema).el root del sistema).

– Los comodines o metacaracteres deben ser Los comodines o metacaracteres deben ser usados lo menos posible cuando usados lo menos posible cuando garantizamos el acceso a una compartición garantizamos el acceso a una compartición NFS. El uso de los comodines puede permitir NFS. El uso de los comodines puede permitir el acceso a sistemas que puede no saber que el acceso a sistemas que puede no saber que existen y que no deberían montar el sistema existen y que no deberían montar el sistema de ficheros. de ficheros.

Page 9: 1 Seguridad en: NFS Y Samba Jesús Alberto Ramírez Viera

99

Seguridad en NFS:Seguridad en el Montaje Una vez que el sistema de ficheros es montado Una vez que el sistema de ficheros es montado

como lectura-escritura por una máquina remota, como lectura-escritura por una máquina remota, la protección de cada fichero compartida la protección de cada fichero compartida depende de sus permisos, y del ID de su usuario depende de sus permisos, y del ID de su usuario y grupo propietario. Si dos usuarios que y grupo propietario. Si dos usuarios que comparten el mismo valor ID montan el mismo comparten el mismo valor ID montan el mismo sistema de ficheros NFS, serán capaces de sistema de ficheros NFS, serán capaces de modificarse los ficheros entre sí. Además, modificarse los ficheros entre sí. Además, cualquiera que esté conectado como root en el cualquiera que esté conectado como root en el sistema cliente, puede usar el comando sistema cliente, puede usar el comando susu para para convertirse en un usuario que tenga acceso a convertirse en un usuario que tenga acceso a determinados archivos a través de la determinados archivos a través de la compartición NFS.compartición NFS.

Page 10: 1 Seguridad en: NFS Y Samba Jesús Alberto Ramírez Viera

1010

Seguridad en NFS:Seguridad en el Montaje El procedimiento predeterminado cuando El procedimiento predeterminado cuando

exportamos un sistema de ficheros a través exportamos un sistema de ficheros a través de NFS es usar de NFS es usar root squashingroot squashing (sobreponerse (sobreponerse a root). Esto cambia el ID de usuario de a root). Esto cambia el ID de usuario de cualquiera que utilize la compartición NFS, cualquiera que utilize la compartición NFS, aunque sea el root de su máquina local, al aunque sea el root de su máquina local, al valor de la cuenta nobody del servidor. valor de la cuenta nobody del servidor. Nunca debe desactivarlo a menos que no le Nunca debe desactivarlo a menos que no le importe que haya múltiples usuarios con importe que haya múltiples usuarios con acceso de root en su servidor. acceso de root en su servidor.

Si sólo está permitiendo a los usuarios que Si sólo está permitiendo a los usuarios que lean archivos de su compartición NFS, lean archivos de su compartición NFS, debería considerar usar la opción all_squash, debería considerar usar la opción all_squash, la cual hace que todos los usuarios que la cual hace que todos los usuarios que accedan a su sistema de ficheros exportado accedan a su sistema de ficheros exportado tomen la ID del usuario nobody.tomen la ID del usuario nobody.

Page 11: 1 Seguridad en: NFS Y Samba Jesús Alberto Ramírez Viera

1111

Seguridad en NFS

Podemos utilizar dos métodos para Podemos utilizar dos métodos para hacer más seguro un servidor NFS:hacer más seguro un servidor NFS:

Limitar el acceso a nuestra máquina Limitar el acceso a nuestra máquina mediante:mediante:– /etc/hosts.allow/etc/hosts.allow– /etc/hosts.deny/etc/hosts.deny– /etc/exports/etc/exports– TCP wrappers TCP wrappers (tcpd usado en (tcpd usado en

/etc/inetd.conf)/etc/inetd.conf) Usar iptables (firewall).Usar iptables (firewall).

Page 12: 1 Seguridad en: NFS Y Samba Jesús Alberto Ramírez Viera

1212

Seguridad en NFS/etc/hosts.allow En este archivo especificaremos que En este archivo especificaremos que

hosts van a poder usar los servicios:hosts van a poder usar los servicios:– Portmap (demonio de asignación Portmap (demonio de asignación

dinámica de puertos).dinámica de puertos).– Mountd (demonio para montar sistemas Mountd (demonio para montar sistemas

de ficheros remotos o locales). de ficheros remotos o locales). – Rquotad (Demonio para gestión de Rquotad (Demonio para gestión de

cuotas remotas).cuotas remotas).

Page 13: 1 Seguridad en: NFS Y Samba Jesús Alberto Ramírez Viera

1313

Seguridad en NFS/etc/hosts.allow Ejemplo Ejemplo En /etc/hosts.allow En /etc/hosts.allow

portmap:192.168.0.0/255.255.255.0portmap:192.168.0.0/255.255.255.0

mountd:192.168.0.0/255.255.255.0mountd:192.168.0.0/255.255.255.0

rquotad:192.168.0.0/255.255.255.0rquotad:192.168.0.0/255.255.255.0

Page 14: 1 Seguridad en: NFS Y Samba Jesús Alberto Ramírez Viera

1414

Seguridad en NFS/etc/hosts.deny En este archivo especificaremos que En este archivo especificaremos que

hosts no van a poder usar los hosts no van a poder usar los servicios:servicios:– Portmap (demonio de asignación Portmap (demonio de asignación

dinámica de puertos).dinámica de puertos).– Mountd (demonio para montar sistemas Mountd (demonio para montar sistemas

de ficheros remotos o locales). de ficheros remotos o locales). – Rquotad (Demonio para gestión de Rquotad (Demonio para gestión de

cuotas remotas).cuotas remotas). Lo más recomendable es denegar el Lo más recomendable es denegar el

acceso por completo.acceso por completo.

Page 15: 1 Seguridad en: NFS Y Samba Jesús Alberto Ramírez Viera

1515

Seguridad en NFS/etc/hosts.deny Ejemplo Ejemplo En /etc/hosts.deny En /etc/hosts.deny

portmap:ALL portmap:ALL //Nadie puede acceder al //Nadie puede acceder al portmapportmap

mountd:ALL mountd:ALL //No deja que monten particiones//No deja que monten particiones

rquotad:ALL rquotad:ALL // No da información de cuotas.// No da información de cuotas.

Page 16: 1 Seguridad en: NFS Y Samba Jesús Alberto Ramírez Viera

1616

Seguridad en NFS/etc/exports La estructura del fichero exports es bastante La estructura del fichero exports es bastante

simple:simple:– Directorio que se quiere exportarDirectorio que se quiere exportar– Cliente (utilizar siempre IP’s, los nombres de hosts se Cliente (utilizar siempre IP’s, los nombres de hosts se

pueden falsear) pueden falsear) – Opciones. Opciones. NOTA: El cliente puede tener una única IP (10.0.0.1), nombre NOTA: El cliente puede tener una única IP (10.0.0.1), nombre

de host (aso.com), una subred (10.0.0.0/255.255.255.0), o de host (aso.com), una subred (10.0.0.0/255.255.255.0), o un metacaracter (*.aso. com).un metacaracter (*.aso. com).

Algunas de las directivas más interesantes (y Algunas de las directivas más interesantes (y útiles) del fichero de configuración son: útiles) del fichero de configuración son: – secure secure la sesión nfs se debe originar desde un puerto la sesión nfs se debe originar desde un puerto

privilegiado, es decir, el root privilegiado, es decir, el root TIENETIENE que ser el que esté que ser el que esté intentando montar el directorio. Esto es útil si el servidor intentando montar el directorio. Esto es útil si el servidor que se está exportando también está asegurado.que se está exportando también está asegurado.

– ro ro Sólo Lectura, solo permite que el cliente lea. Sólo Lectura, solo permite que el cliente lea.– noaccess noaccess Utilizado para cortar el acceso, p. ej. Utilizado para cortar el acceso, p. ej.

exportar /home/ pero poner como noaccess el /home/rootexportar /home/ pero poner como noaccess el /home/root

Page 17: 1 Seguridad en: NFS Y Samba Jesús Alberto Ramírez Viera

1717

Seguridad en NFS/etc/exports root_squash root_squash limita el UID del root a la UID/GID del usuario limita el UID del root a la UID/GID del usuario

anónimo (normalmente "nobody"), muy útil si se están anónimo (normalmente "nobody"), muy útil si se están exportando los directorios a servidores de administradores en exportando los directorios a servidores de administradores en los que no se confía al 100% (el root casi siempre puede leer los que no se confía al 100% (el root casi siempre puede leer cualquier fichero cualquier fichero ”OJO”OJO incuido el /etc/passwd” incuido el /etc/passwd”))

no_root_squash no_root_squash Útil si se quiere perder el tiempo en Útil si se quiere perder el tiempo en directorios exportados como root para arreglar cosas (como directorios exportados como root para arreglar cosas (como los permisos del site www). los permisos del site www). Se recomienda no usarla.Se recomienda no usarla.

squash_uids y squash_gids squash_uids y squash_gids limitar ciertos UID(s) o GID(s) a limitar ciertos UID(s) o GID(s) a los del usuario anónimo, en Red Hat un buen ejemplo sería los del usuario anónimo, en Red Hat un buen ejemplo sería 500-10000 (por defecto, Red Hat comienza a añadir usuarios y 500-10000 (por defecto, Red Hat comienza a añadir usuarios y grupos en el 500), permitiendo a cualquier usuario con UID’s grupos en el 500), permitiendo a cualquier usuario con UID’s más bajas (p. ej. cuentas especiales) acceder a cosas en más bajas (p. ej. cuentas especiales) acceder a cosas en especial.especial.

all_squash all_squash todos los privilegios se eliminan y todo el mundo todos los privilegios se eliminan y todo el mundo es guest (invitado). es guest (invitado). Es recomendable usarlo.Es recomendable usarlo.

anonuid y anongid – configuran específicamente el UID / GID anonuid y anongid – configuran específicamente el UID / GID del usuario anónimo (quizás se quiera algo especial como del usuario anónimo (quizás se quiera algo especial como "anonnfs")."anonnfs").

Page 18: 1 Seguridad en: NFS Y Samba Jesús Alberto Ramírez Viera

1818

Seguridad en NFSIntroducción a IPTABLES. Iptables permite configurar un firewall de Iptables permite configurar un firewall de

forma que tengamos controlado quien forma que tengamos controlado quien entra, sale y/o enruta a través de entra, sale y/o enruta a través de nuestro servidor.nuestro servidor.

Es una aplicación en línea de comandos Es una aplicación en línea de comandos que gestiona el filtrado de paquetes en que gestiona el filtrado de paquetes en sistemas linux (kernels 2.4.x), en base a sistemas linux (kernels 2.4.x), en base a las reglas que hayamos definido. las reglas que hayamos definido. Iptables es mucho más potente que su Iptables es mucho más potente que su antecesor Ipchains (kernels 2.2.x).antecesor Ipchains (kernels 2.2.x).

Page 19: 1 Seguridad en: NFS Y Samba Jesús Alberto Ramírez Viera

1919

Seguridad en NFSIntroducción a IPTABLES. La estructura de Iptables es La estructura de Iptables es

básicamente una cola: cuando un básicamente una cola: cuando un paquete llega, éste es validado paquete llega, éste es validado contra cada una de las reglas del contra cada una de las reglas del firewall, en el momento que alguna firewall, en el momento que alguna regla coincide (match), se ejecuta la regla coincide (match), se ejecuta la acción que haya sido definida en la acción que haya sido definida en la regla (descartar el paquete, regla (descartar el paquete, aceptarlo, enrutarlo, etc.).aceptarlo, enrutarlo, etc.).

Page 20: 1 Seguridad en: NFS Y Samba Jesús Alberto Ramírez Viera

2020

Seguridad en NFSIntroducción a IPTABLES. ESTRUCTURA DE IPTABLESESTRUCTURA DE IPTABLES

– #iptables –t [tabla] –[AIRDLFZNXP] #iptables –t [tabla] –[AIRDLFZNXP] [regla] [criterio] –j [accion][regla] [criterio] –j [accion]

-t -t Tabla en la que se quiere añadir la regla. Tabla en la que se quiere añadir la regla. Hay tres:Hay tres:– NAT: enmascarar conexiones, realizar NAT: enmascarar conexiones, realizar

redirecciones de puertos, etc.redirecciones de puertos, etc.– Filter: Tabla donde se añaden las reglas Filter: Tabla donde se añaden las reglas

relacionadas con el filtrado.relacionadas con el filtrado.– Mangler: Podemos modificar cualquier Mangler: Podemos modificar cualquier

aspecto del paquete (flags, TTL, etc).aspecto del paquete (flags, TTL, etc).

Page 21: 1 Seguridad en: NFS Y Samba Jesús Alberto Ramírez Viera

2121

Seguridad en NFSIntroducción a IPTABLES. - [AIRDLFZNXP] [regla]:- [AIRDLFZNXP] [regla]:

– A A Añade una regla al final. Añade una regla al final.– I I Inserta una regla en el orden Inserta una regla en el orden

especificado.especificado.– R R Reemplaza una regla. Reemplaza una regla.– D D Borra una regla. Borra una regla.– L L Lista una regla. Lista una regla.– F F Borra todas las reglas o las reglas Borra todas las reglas o las reglas

asociadas a una clase.asociadas a una clase.– P P Política por defecto (aceptar todas las Política por defecto (aceptar todas las

conexiones)conexiones)

Page 22: 1 Seguridad en: NFS Y Samba Jesús Alberto Ramírez Viera

2222

Seguridad en NFSIntroducción a IPTABLES. - [criterio] : Especifica las características del tipo - [criterio] : Especifica las características del tipo

de paquete que casará con una regla. Opciones:de paquete que casará con una regla. Opciones:– s s ip/red fuente. ip/red fuente.– d d ip/red destino. ip/red destino.– sport sport puerto fuente. puerto fuente. (también --source-port)(también --source-port)– dport dport puerto destino. puerto destino. (también --(también --

destination-port)destination-port)– p p protocolo. protocolo.– i [!] [nombre] i [!] [nombre] nombre de la interfaz por la nombre de la interfaz por la

que se recibe el paquete. El “!” indica la que se recibe el paquete. El “!” indica la negación.negación.

– o [!] [nombre] o [!] [nombre] nombre de la interfaz por la nombre de la interfaz por la qu se envía el paquete. El “!” indica la qu se envía el paquete. El “!” indica la negación.negación.

Page 23: 1 Seguridad en: NFS Y Samba Jesús Alberto Ramírez Viera

2323

Seguridad en NFSIntroducción a IPTABLES. -j [accion] -j [accion] Establece lo que hay que hacer Establece lo que hay que hacer

en/con el paquete:en/con el paquete:– ACCEPT ACCEPT Aceptará el paquete. Aceptará el paquete.– REJECT o DROP REJECT o DROP Rechazará el paquete. Rechazará el paquete.– REDIRECT REDIRECT Redirecciona el paquete. Redirecciona el paquete.– LOG LOG Logueará el paquete para analizarlo Logueará el paquete para analizarlo

después.después. Ejemplo de la estructura de Iptebles:Ejemplo de la estructura de Iptebles:

# iptables –A FORWARD –p [protocolo] –s [ip/red # iptables –A FORWARD –p [protocolo] –s [ip/red fuente] --sport [puerto fuente] –d [ip/red destino] --fuente] --sport [puerto fuente] –d [ip/red destino] --dport [puerto destino] -j DROPdport [puerto destino] -j DROP

Page 24: 1 Seguridad en: NFS Y Samba Jesús Alberto Ramírez Viera

2424

Seguridad en NFSSeguridad con IPTABLES. Hay que establecer reglas, para controlar el Hay que establecer reglas, para controlar el

flujo de los paquetes, del tipo:flujo de los paquetes, del tipo:– iptables –t filter –A input –p tcp –s 192.168.200.1 –d iptables –t filter –A input –p tcp –s 192.168.200.1 –d

192.168.200.5 --destination-port sunrpc –j ACCEPT192.168.200.5 --destination-port sunrpc –j ACCEPT– iptables –t filter –A input –p udp –s 192.168.200.1 –iptables –t filter –A input –p udp –s 192.168.200.1 –

d 192.168.200.5 --destination-port sunrpc –j d 192.168.200.5 --destination-port sunrpc –j ACCEPTACCEPT

– iptables –t filter –A input –p udp –s 192.168.200.1 –iptables –t filter –A input –p udp –s 192.168.200.1 –d 192.168.200.5 --destination-port 2049:2050 –j d 192.168.200.5 --destination-port 2049:2050 –j ACCEPTACCEPT

– iptables –t filter –A input –i! lo –d 192.168.200.5 iptables –t filter –A input –i! lo –d 192.168.200.5 --destination-port sunrpc –j DROP--destination-port sunrpc –j DROP

– iptables –t filter –A input –i! lo –d 192.168.200.5 iptables –t filter –A input –i! lo –d 192.168.200.5 --destination-port 2049:2050 –j DROP--destination-port 2049:2050 –j DROP

Page 25: 1 Seguridad en: NFS Y Samba Jesús Alberto Ramírez Viera

2525

Samba

Page 26: 1 Seguridad en: NFS Y Samba Jesús Alberto Ramírez Viera

2626

Introducción

¿Qué es Samba? ¿Qué es Samba? – Es un sistema de compartición de Es un sistema de compartición de

archivos e impresoras en red.archivos e impresoras en red.– Permite la interconexión de sistemas Permite la interconexión de sistemas

heterogéneos entre sí (Linux y heterogéneos entre sí (Linux y Windows).Windows). Los clientes windows tendrán la sensación Los clientes windows tendrán la sensación

de estar ante un servidor Windows NT.de estar ante un servidor Windows NT. Controlar el acceso de clientes Windows a Controlar el acceso de clientes Windows a

servicios de red Windows o Unix.servicios de red Windows o Unix.

Page 27: 1 Seguridad en: NFS Y Samba Jesús Alberto Ramírez Viera

2727

Introducción

¿Qué protocolo usa?¿Qué protocolo usa?– SMB (Server Message Block) SMB (Server Message Block)

Compartir los recursos.Compartir los recursos.– CIFS (Common Internet File System) CIFS (Common Internet File System)

Implementación mejorada de Implementación mejorada de internet.internet.

– NetBIOS (Network Basic Input/Output NetBIOS (Network Basic Input/Output System) System) Servicio de nombres: Servicio de nombres: Nombres lógicos en la red.Nombres lógicos en la red. Sesiones entre los nombres.Sesiones entre los nombres.

Page 28: 1 Seguridad en: NFS Y Samba Jesús Alberto Ramírez Viera

2828

Introducción

¿Cuándo es útil?¿Cuándo es útil?– No quieres pagar un servidor No quieres pagar un servidor

Windows NT para obtener las Windows NT para obtener las funcionalidades que este funcionalidades que este proporciona.proporciona.

– Homogeneizar la red local ante Homogeneizar la red local ante clientes Windows y Unix.clientes Windows y Unix.

– Compartir impresora entre clientes Compartir impresora entre clientes Windows y Unix.Windows y Unix.

Page 29: 1 Seguridad en: NFS Y Samba Jesús Alberto Ramírez Viera

2929

Configuración

Utiliza dos demonios:Utiliza dos demonios:– Smbd Smbd Permite la compartición de Permite la compartición de

archivos e impresoras sobre una red SMB archivos e impresoras sobre una red SMB y proporciona y proporciona autentificaciónautentificación y y autorización de accesoautorización de acceso para clientes SMB. para clientes SMB.

– Nmbd Nmbd Se ocupa de anunciar servicios, Se ocupa de anunciar servicios, es decir, informa a las máquinas en la red es decir, informa a las máquinas en la red de cuales son los servicios disponibles.de cuales son los servicios disponibles.

Podemos configurar mediante:Podemos configurar mediante:– El fichero smb.confEl fichero smb.conf– El front-end El front-end SWAT SWAT

Page 30: 1 Seguridad en: NFS Y Samba Jesús Alberto Ramírez Viera

3030

Configuración smb.conf

Smb.confSmb.conf– Se puede encontrar en /etc/ o en Se puede encontrar en /etc/ o en

/usr/local/samba/lib//usr/local/samba/lib/– Este archivo determina que recursos del Este archivo determina que recursos del

sistemas vas a compartir y que sistemas vas a compartir y que restricciones deseas poner en ellos.restricciones deseas poner en ellos.

– Consta de varias secciones distintas que Consta de varias secciones distintas que empiezan por [nombre-recurso]. Tiene una empiezan por [nombre-recurso]. Tiene una sección general y común sección general y común [global] [global]

– Iniciar y parar con: /etc/init.d/samba Iniciar y parar con: /etc/init.d/samba {start/stop}{start/stop}

Page 31: 1 Seguridad en: NFS Y Samba Jesús Alberto Ramírez Viera

3131

Configuración smb.conf

Secciones:Secciones:– [global] [global] Define variables de carácter Define variables de carácter

general y aplicables a todos los recursos.general y aplicables a todos los recursos.– [homes] [homes] Permite a los usuarios Permite a los usuarios

remotos acceder a su directorio personal remotos acceder a su directorio personal desde su máquina local (Ya sean clientes desde su máquina local (Ya sean clientes Windows o Linux), pero han de tener Windows o Linux), pero han de tener cuenta en la máquina servidora.cuenta en la máquina servidora.

– [printers] [printers] Para compartir impresoras. Para compartir impresoras.

Page 32: 1 Seguridad en: NFS Y Samba Jesús Alberto Ramírez Viera

3232

Configuración smb.conf

Ejemplo:Ejemplo:[global]workgroup = grupo8server string = Samba Server; hosts allow = 192.168.1. 192.168.2. 127.printcap name = /etc/printcapload printers = yeslog file = /var/log/samba/log.%mmax log size = 50encrypt passwords = yessmb passwd file = /etc/smbpasswd

[DATGRUP]comment = espacio para grupo red8path = /usr/local/datgrupwritable = yesprintable = nopublic = novalid users = @red8

Page 33: 1 Seguridad en: NFS Y Samba Jesús Alberto Ramírez Viera

3333

Configuración SWAT

SWAT (Samba Web SWAT (Samba Web Administration Tool).Administration Tool).

Es una aplicación que puede Es una aplicación que puede acceder desde cualquier acceder desde cualquier explorador Web desde cualquier explorador Web desde cualquier máquina de su red local.máquina de su red local.

Utiliza el puerto 901.Utiliza el puerto 901.

Page 34: 1 Seguridad en: NFS Y Samba Jesús Alberto Ramírez Viera

3434

Configuración SWAT

acceda con el navegador web, a la dirección IP acceda con el navegador web, a la dirección IP del servidor SAMBA en el puerto 901. del servidor SAMBA en el puerto 901. – por ejemplo, a por ejemplo, a http://localhost.localdomain:901http://localhost.localdomain:901

Acto seguido se le pedirá un login y una Acto seguido se le pedirá un login y una contraseña. Ponga los de contraseña. Ponga los de root para configurar.root para configurar.

Page 35: 1 Seguridad en: NFS Y Samba Jesús Alberto Ramírez Viera

3535

Configuración SWAT

Tan solo quedará rellenar cada uno de los Tan solo quedará rellenar cada uno de los campos (muy intuitivo).campos (muy intuitivo).

Page 36: 1 Seguridad en: NFS Y Samba Jesús Alberto Ramírez Viera

3636

Configuración SWAT

Page 37: 1 Seguridad en: NFS Y Samba Jesús Alberto Ramírez Viera

3737

Cliente de Samba

En Windows En Windows Es transparente Es transparente para el usuario.para el usuario.

En Linux En Linux usaremos el usaremos el smbclientsmbclient::– Podemos buscar recursos en un host:Podemos buscar recursos en un host:

#smbclient –L host#smbclient –L host– Conexión a un recurso:Conexión a un recurso:

#smbclient servicio <password>#smbclient servicio <password> Servicio Servicio Máquina y servicio. Máquina y servicio. Password Password Es un literal con la clave Es un literal con la clave El resultado es un prompt (estilo ftp).El resultado es un prompt (estilo ftp).

Page 38: 1 Seguridad en: NFS Y Samba Jesús Alberto Ramírez Viera

3838

Seguridad en Samba

Actualmente Samba utiliza cuatro Actualmente Samba utiliza cuatro niveles de seguridad:niveles de seguridad:– Seguridad a nivel de recursos (share)Seguridad a nivel de recursos (share)

Cada recurso compartido tiene asociada Cada recurso compartido tiene asociada una o varias contraseñas y cualquiera una o varias contraseñas y cualquiera que las conozca puede acceder al que las conozca puede acceder al recurso.recurso.

– Seguridad a nivel de usuario (user)Seguridad a nivel de usuario (user) Cada recurso se configura para permitir Cada recurso se configura para permitir el acceso a determinados usuarios.el acceso a determinados usuarios.

Page 39: 1 Seguridad en: NFS Y Samba Jesús Alberto Ramírez Viera

3939

Seguridad en Samba

– Seguridad a nivel de servidor (server)Seguridad a nivel de servidor (server) Igual que a nivel de usuario, pero en Igual que a nivel de usuario, pero en este caso el servidor Samba utiliza otro este caso el servidor Samba utiliza otro servidor SMB para validar los usuarios servidor SMB para validar los usuarios y contraseñas antes de conceder el y contraseñas antes de conceder el acceso.acceso.

– Seguridad a nivel de dominio (domain)Seguridad a nivel de dominio (domain) En este caso Samba se convierte en En este caso Samba se convierte en un miembro de un dominio Windows y un miembro de un dominio Windows y se valida primero al usuario en el se valida primero al usuario en el dominio para luego darle un atributo dominio para luego darle un atributo especial que le da el acceso a todos los especial que le da el acceso a todos los recursos a los que tenga derecho.recursos a los que tenga derecho.

Page 40: 1 Seguridad en: NFS Y Samba Jesús Alberto Ramírez Viera

4040

Seguridad en Samba

Contraseñas Contraseñas Pueden ser encriptadas Pueden ser encriptadas o no. Por defecto no se encriptan, para o no. Por defecto no se encriptan, para compatibilidad con sistemas windows compatibilidad con sistemas windows tales como Win95 o NT 3.x.tales como Win95 o NT 3.x.

Más seguridad si están encriptadas. Más seguridad si están encriptadas. Para ello añadimos a la sección global:Para ello añadimos a la sección global:[global][global]security = usersecurity = userencrypt passwords = yesencrypt passwords = yessmb passwd file = smb passwd file = /usr/local/samba/private/smbpasswd/usr/local/samba/private/smbpasswd

Page 41: 1 Seguridad en: NFS Y Samba Jesús Alberto Ramírez Viera

4141

Seguridad en Samba

El fichero El fichero smbpasswdsmbpasswd : :– Estructura parecida al passwdEstructura parecida al passwd– Hay que guardarlo muy bien y no Hay que guardarlo muy bien y no

permitir a los usuarios ni siquiera su permitir a los usuarios ni siquiera su lectura.lectura.

– Para añadir usuarios:Para añadir usuarios: #smbpasswd –a usuario#smbpasswd –a usuario

– Para añadir o cambiar la clave:Para añadir o cambiar la clave: #smbpasswd usuario#smbpasswd usuario

– NOTA: El usuario ya debe existir en NOTA: El usuario ya debe existir en /etc/passwd./etc/passwd.

Page 42: 1 Seguridad en: NFS Y Samba Jesús Alberto Ramírez Viera

4242

Seguridad en Samba

Podemos usar Iptables para filtrar Podemos usar Iptables para filtrar los paquetes con Samba, usando los paquetes con Samba, usando los puertos de Samba (137:139).los puertos de Samba (137:139).

Ejemplos:Ejemplos:– #Iptables –t filter –A INPUT –p tcp #Iptables –t filter –A INPUT –p tcp

–s 192.168.200.1 –d 192.168.200.5 –s 192.168.200.1 –d 192.168.200.5 --destination-port 137:139 –j ACCEPT--destination-port 137:139 –j ACCEPT

– #Iptables –t filter –A INPUT –i ! lo#Iptables –t filter –A INPUT –i ! lo –s 192.168.200.1 –d 192.168.200.5 –s 192.168.200.1 –d 192.168.200.5 --destination-port 137:139 –j DROP--destination-port 137:139 –j DROP

Page 43: 1 Seguridad en: NFS Y Samba Jesús Alberto Ramírez Viera

4343

Seguridad en SambaVulnerabilidades Las versiones de Samba anteriores a la Las versiones de Samba anteriores a la

3.0.7 son susceptibles a dos ataques 3.0.7 son susceptibles a dos ataques remotos de denegación de servicio remotos de denegación de servicio (DoS).(DoS).– Un bug en el código del servidor "smbd" Un bug en el código del servidor "smbd"

permite que un usuario remoto, sin permite que un usuario remoto, sin necesidad de autentificarse, lance un número necesidad de autentificarse, lance un número de instancias ilimitado, provocando un de instancias ilimitado, provocando un consumo de recursos que puede ocasionar la consumo de recursos que puede ocasionar la propia caída de la máquina servidor. propia caída de la máquina servidor.

– Un bug en el código del servidor "nmbd" Un bug en el código del servidor "nmbd" permite que un usuario remoto mate el permite que un usuario remoto mate el servicio, impidiendo el correcto servicio, impidiendo el correcto funcionamiento del sistema Samba.funcionamiento del sistema Samba.

Page 44: 1 Seguridad en: NFS Y Samba Jesús Alberto Ramírez Viera

4444

Seguridad en SambaVulnerabilidades

– (17-11-2004)(17-11-2004) e-Matters comunicó que las e-Matters comunicó que las versiones 3.0.x de Samba, incluyendo la versiones 3.0.x de Samba, incluyendo la 3.0.7, tienen un desbordamiento de buffer 3.0.7, tienen un desbordamiento de buffer que podría permitir a un atacante remoto que podría permitir a un atacante remoto ejecutar código en el sistema. El ejecutar código en el sistema. El desbordamiento se da cuando reciben un desbordamiento se da cuando reciben un paquete de solicitud especialmente paquete de solicitud especialmente diseñado. El equipo de desarrolladores de diseñado. El equipo de desarrolladores de Samba indicaron que esta falla no está Samba indicaron que esta falla no está presente en la versión 3.0.8, disponible presente en la versión 3.0.8, disponible desde la semana pasada.desde la semana pasada.

Page 45: 1 Seguridad en: NFS Y Samba Jesús Alberto Ramírez Viera

4545

Samba Vs NFSSamba Vs NFS

NFS está limitado practicamente a NFS está limitado practicamente a máquinas Unix, ya que no existe una máquinas Unix, ya que no existe una buena implementación en Windows.buena implementación en Windows.

NFS presenta problemas de seguridad NFS presenta problemas de seguridad Solo para LAN’s bien definidas y Solo para LAN’s bien definidas y bien seguras.bien seguras.

NFS no permite compartir impresoras.NFS no permite compartir impresoras. Samba se presenta como una buena Samba se presenta como una buena

solución a todos estos problemas.solución a todos estos problemas.

Page 46: 1 Seguridad en: NFS Y Samba Jesús Alberto Ramírez Viera

4646

BibliografiaBibliografia

Manual de referencia de Red Hat Linux.Manual de referencia de Red Hat Linux. Red Hat Linux Security Guide.Red Hat Linux Security Guide. SAMS Linux Máxima seguridad. Anónimo. SAMS Linux Máxima seguridad. Anónimo.

Editorial Prentice Hall.Editorial Prentice Hall. ManMan http://www.europe.redhat.comhttp://www.europe.redhat.com www.samba.orgwww.samba.org Diversos foros sobre vulnerabilidades.Diversos foros sobre vulnerabilidades. Guía de Seguridad del Administrador de Guía de Seguridad del Administrador de

LinuxLinuxPor Kurt Seifried -Traducción al español de Por Kurt Seifried -Traducción al español de José Antonio Revilla. José Antonio Revilla. httphttp://://www.tau.org.arwww.tau.org.ar/base//base/computacioncomputacion//gsalgsal-19991128--19991128-htmhtm//default.htmdefault.htm