Samba


El SAMBA es de lo mejorcito desde el pan de molde, claro, siempre y cuando se tenga que compartir ficheros e impresoras entre Windows y *NIX. También está bastante incomprendido, y sufre severamente de la interacción con varios clientes Window (a veces estropeados). El SAMBA tiene muchas cosas que lo hacen parecer sano, pero puede conducir a algo que a veces pueda parecer que esté estropeado. El SAMBA simplemente da acceso al sistema de ficheros vía SMB (Servidor de Bloque de Mensajes, Server Message Block), el protocolo que utiliza Windows para compartir ficheros e impresoras. Verifica el nombre de usuario y la contraseña que se le da (si es necesaria) y después da acceso a los ficheros según los permisos de los ficheros. Sólo me voy a ocupar del Samba 2.x, el Samba 1.x es bastante viejo y obsoleto.

El Samba 2.x se controla vía smb.conf , por lo general en /etc (man smb.conf). En /etc/smb.conf hay 4 zonas de configuración: [globals], [printers], [homes], y cada [sharename] tiene su propia configuración (ya sea una impresora o un disco compartido). Hay algo así como un centenar de switches, la página del manual de smb.conf se ocupa de ellos en profundidad. Algunos de los importantes (en cuanto a seguridad) son:

security = xxxx donde xxxx es un compartido, servidor o dominio, la seguridad compartida se hace por compartimiento, con una contraseña que utiliza todo el mundo, el servidor significa que el servidor de samba autentifica él mismo a los usuarios, ya sea vía /etc/password, o smbpasswd. Si se configura por dominio, el samba autentifica al usuario vía controlador de dominio NT, integrándolo de esta elegante forma en la red NT existente (si se tiene una).

guest account = xxxx donde xxxx es el nombre de usuario de la cuenta a la que se quiere que mapear el usuario guest. Si se ha definido un compartido como público, entonces todas las peticiones que se le hagan las maneja este usuario.

hosts allow = xxxx donde xxxx es una lista separada por espacios de hosts / bloques IP a las que se permite conectar al servidor.

hosts deny = xxxx donde xxxx es una lista separada por espacios de hosts / bloques IP a las que no les está permitido conectar con el servidor.

interfaces = xxxx donde xxxx es una lista separada por espacios de bloques IP con los que enlazará samba.

El SMB utiliza una variedad de puertos, la mayoría de las veces haciendo uso de los puertos 137, 138 y 139, udp y tcp en todos salvo para el 139.

ipfwadm –I –a accept –P tcp –S 10.0.0.0/8 –D 0.0.0.0/0 137:139

ipfwadm –I –a accept –P tcp –S un.host.fiable –D 0.0.0.0/0 137:139

ipfwadm –I –a deny –P tcp –S 0.0.0.0/0 –D 0.0.0.0/0 137:139

ipfwadm –I –a accept –P udp –S 10.0.0.0/8 –D 0.0.0.0/0 137:139

ipfwadm –I –a accept –P udp –S un.host.fiable –D 0.0.0.0/0 137:139

ipfwadm –I –a deny –P udp –S 0.0.0.0/0 –D 0.0.0.0/0 137:139

o

ipchains –A input –p tcp –j ACCEPT –s 10.0.0.0/8 –d 0.0.0.0/0 137:139

ipchains –A input –p tcp –j ACCEPT –s un.host.fiable –d 0.0.0.0/0 137:139

ipchains –A input –p tcp –j DENY –s 0.0.0.0/0 –d 0.0.0.0/0 137:139

ipchains –A input –p udp –j ACCEPT –s 10.0.0.0/8 –d 0.0.0.0/0 137:139

ipchains –A input –p udp –j ACCEPT –s un.host.fiable –d 0.0.0.0/0 137:139

ipchains –A input –p udp –j DENY –s 0.0.0.0/0 –d 0.0.0.0/0 137:139

También recomendaría la instalación y el uso de SWAT (Herramienta de Administración de Web de samba) puesto que recortará los errores que se tiendan a cometer. El Samba y el SWAT se encuentran disponibles en http://www.samba.org/ y vienen con cada distribución.

SWAT

SWAT es una herramienta de administración muy interesante, para configurar smb.conf. El principal problema es que esto requiere utilizar la cuenta del root y su contraseña para acceder, y se ejecuta como un proceso separado de inetd.conf, de modo que no hay forma de cifrarlo, hasta donde yo sé no hay forma de asignar acceso administrativo a SWAT a otros usuarios. Habiendo dicho esto, sin embargo es una buena herramienta para corregir errores a la hora de editar el smb.conf. También se puede ejecutar SWAT con la opción –a, lo cual quiere decir que no se solicitará contraseña, y utilizar TCP_WRAPPERS para restringir el acceso a ciertas estaciones de trabajo (aunque todavía se seguiría siendo vulnerable a IP spoofing). En resumen, el SWAT no se pensó como una herramienta administrativa, pero es útil. El SWAT por lo general viene con el samba, y se encuentra disponible en: http://www.samba.org/, y hay una versión demo en línea en: http://anu.samba.org/cgi-bin/swat/


Volver


Copyright © 1999, Kurt Seifried, José Antonio Revilla

Todos los derechos reservados.