4.6 Opciones de Red con Samba.

Si estás ejecutando Samba sobre una máquina que pertenece a varias subedes, o si quieres implementar una política de seguridad sobre tu propia subred, deberías echar un vistazo a las opciones de configuración de red:

Para los propósitos de este ejemplo, adumiremos que nuestro servidor Samba está conectado a una red con más de una subred. Concretamente, la máquina puede acceder a las subredes 192.168.220.* y 134.213.233.*. Aquí tienes unas adiciones para el fichero de configuración:

[global]
  netbios name = HYDRA
  server string = Samba %v on (%L)
  workgroup = SIMPLE

  # Networking configuration options
  hosts allow = 192.168.220. 134.213.233. localhost
  hosts deny = 192.168.220.102
  interfaces = 192.168.220.100/255.255.255.0 \ 
               134.213.233.110/255.255.255.0

  bind interfaces only = yes

[data]
  path = /home/samba/data
  guest ok = yes
  comment = Data Drive
  volume = Sample-Data-Drive
  writeable = yes

Hablaremos primero de las opciones hosts allow y hosts deny. Si te suenan familiares, estarás pensando probablemente en los ficheros hosts.allow y hosts.deny que se encuentran en los directorios /etc de muchos sistemas Unix. El propósito de estas opciones es idéntico al de dichos ficheros; proporcionan una medida de seguridad permitiendo o denegando las conexiones de otras máquinas en base a sus direcciones IP. ¿Y por qué no usamos entonces los archivos hosts.allow y hosts.deny? Porque pueden existir otros servicios en el servidor que sí quieras ofrecer a esas IPs, pero que no tengan acceso a los recursos que ofrece Samba.

Con la opción hosts allow, hemos especificado un rango de IPs: 192.168.220. (fijate en el punto al final de 220; sólo hemos obviado el cuarto número). Esto equivale a decir: "Todas las máquinas en la red 192.168.220". Sin embargo, también hemos explícitamente denegado el acceso a una IP determinada, 192.168.220.102. Esta no podrá acceder. El resto sí.

Te preguntarás ¿Por qué se denegará el acceso a 192.168.220.102 si está en la subred que autoriza la opción hosts allow? Aquí teienes cómo Samba interpreta las reglas especificadas por hosts allow y hosts deny :

  1. Si no hay opciones allow o deny definidas en smb.conf, Samba permitirá conexiones desde cualquier máquina que el propio sistema admita.
  2. Si existen opciones hosts allow o hosts deny definidas en la sección [global] del smb.conf, la aplicará a todos los recursos, excepto si los recursos tienen sus propias definiciones establecidas.
  3. Si sólo existe definida hosts allow para un recurso, sólo las máquinas listadas tendrán acceso al recurso. Las demás serán denegadas.
  4. Si sólo hay una opción hosts deny definida para un recurso, cualquier máquina que no esté en la lista tendrá acceso al recurso.
  5. Si ambas opciones hosts allow y hosts deny están definidas, una máquina deberá aparecer en la lista de aceptadas y no aparecer en la lista de denegadas. De lo contrario, se le negará el acceso.
ADVERTENCIA: cuidado con dar acceso a una máquina a un recurso, y luego denegar acceso a toda su subred.
Veamos otro ejemplo. Considera las siguientes opciones:

hosts allow = 111.222. hosts deny = 111.222.333.

En este caso, sólo las máquinas que pertenezcan a la subred 111.222.*.* tendrán acceso a los recursos de Samba. sin embargo, si un cliente pertenece a la subred 111.222.333.*, le será denegado el acceso, aunque pertenezca al rango de las aceptadas por hosts allow. El cliente debe aparecer en la lista de hosts allow y no debe aparecer en la lista de hosts deny para que pueda tener acceso a un recurso de Samba. Si una máquina intenta acceder a un recurso para el cual no se le permite el acceso, recibirá un mensaje de error.

Las otras dos opciones que podemos especificar son interfaces y bind interface only. Veamos la opción interfaces primero. Samba, por defecto, envía datos sólo desde el interfaz de red primario, el cual en nuestro ejemplo es la subred 192.168.220.100. Si queremos enviar datos a través de más de una interfaz, necesitamos especificar la lista completa con la opción interfaces. En el ejemplo anterior, hemos configurado Samba para que sirva a ambas subredes (192.168.220 y 134.213.233), y para la segunda está actuando a través de la interfaz de red 134.213.233.100. Si tienes más de una interfaz de red en tu computadora, deberías siempre establecer ésta opción, ya que no hay garantías de que que el primer interfaz de red que Samba seleccione sea el correcto.

Finalmente, la opción bind interfaces only instruye al proceso nmbd para que no acepte mensajes de difusión (broadcast) que no sean los de aquellas subredes especificadas con la opción interfaces. Advierte que es diferente a las opciones hosts allow y hosts deny, las cuales previenen sobre las máquinas que pueden conectar a servicios, pero no controlan la recepción de mensajes de difusión. Usar la opción bind interfaces only es la forma de cortar datagramas de subredes extrañas hacia el servidor Samba. En adición, esta opción instruye al proceso smbd para que enlace sólo con los interfaces listados en la opción interfaces. Esto restringe las redes a las que Samba servirá.



Subsections
TLDP-ES 03/11/2002