Lunes, Julio 24, 2017

Restringir el acceso a un share de Samba

Samba-4-4

En este artículo voy a explicar cómo restringir el acceso a un directorio compartido (típicamente conocido como share) de Samba por usuario y por IP/subred.

Supongamos que tenemos una configuración de share como la del artículo Agregar shares y usuarios a un servidor Samba:

[Compartido]
   comment = Nuevo share
   path = /var/samba/compartido
   guest ok = no
   browseable = no
   writable = yes
   write list = cfulanito
   create mask = 0777
   directory mask = 0777

Previamente hemos creado el usuario "cfulanito" tal como explica el mencionado artículo, y deseamos restringir el acceso al share para mejorar la seguridad del servidor Samba.

Restringir acceso por usuario

Si deseamos que sólo el usuario "cfulanito" pueda acceder a "Compartido", es necesario recurrir a la opción valid users. Esta opción admite como parámetro una lista de nombres de usuarios y grupos (separados por espacios) que pueden acceder al share:

[Compartido]
   comment = Nuevo share
   path = /var/samba/compartido
   valid users = cfulanito
   guest ok = no
   browseable = no
   writable = yes
   write list = cfulanito
   create mask = 0777
   directory mask = 0777

Con esta nueva configuración, sólo "cfulanito" podrá acceder al share "Compartido".

Si se requiere permitir el acceso a un grupo de usuarios, los nombres de grupo de usuarios Unix se identifican anteponiendo un arroba, por ejemplo:

   valid users = cfulanito @wheel

Esta configuración permite el acceso a "cfulanito" y a todos los usuarios que pertenezcan al grupo "wheel".

Restringir acceso por IP/subred

Supongamos que además, deseamos que "cfulanito" sólo pueda conectarse al share desde un cliente ubicado en una subred o IP en particular, por ejemplo 192.168.37.0/24. Para ello se debe recurrir a la opción hosts:

[Compartido]
   comment = Nuevo share
   path = /var/samba/compartido
   valid users = cfulanito
   guest ok = no
   browseable = no
   writable = yes
   write list = cfulanito
   create mask = 0777
   directory mask = 0777
   hosts deny = ALL
   hosts allow = 192.168.37.0/24

Con esta configuración se niega el acceso a todas las IP, excepto aquellas que pertenezcan a la subred 192.168.37.0/24. Una vez más, la opción hosts allow permite especificar una mezcla de subredes y direcciones IP separadas por espacios.

Sin embargo, para el filtrado por IP, una opción más conveniente y segura consiste en utilizar directamente un firewall. De esta forma, el sistema operativo se encarga de permitir o denegar los accesos a los puertos de Samba para las direcciones IP y subredes en cuestión, antes de que los clientes puedan siquiera conectarse con el servidor Samba, evitando así cualquier tipo de vulnerabilidad en el demonio smbd.

Por ejemplo, para permitir el acceso al servidor Samba sólo a la subred 192.168.37.0/24, utilizar las siguientes reglas:

iptables -A INPUT -p tcp --sport 1024:65535 -s 192.168.37.0/24 --dport 139 -m state --state NEW -j ACCEPT
iptables -A INPUT -p tcp --sport 1024:65535 -s 192.168.37.0/24 --dport 445 -m state --state NEW -j ACCEPT

Referencias

 

Fuente: linuxito

¿Quién está en línea?

Hay 83 invitados y ningún miembro en línea

Contador de Visitas

8899911
Hoy Hoy 215
Ayer Ayer 1030
Esta semana Esta semana 215
Este mes Este mes 28120
Total de Visitas Total de Visitas 8899911

Día con más
visitantes

07-19-2017 : 1525

Gracias por su visita