Compartir archivos con #Samba de forma segura

Cierre económico a final de mes, una total locura en las empresas cubanas[en otros lados no sé].

Problemática:

Se necesita un servidor de archivos compartidos[un lugar de almacenamiento rápido] donde se puedan almacenar los «excel», los «word» y cuanto formato de documento que se necesite para que se puedan pasar entre las económicas/financistas, el jefe de departamento y director de UEB para que los revisen. Sólo eso, documentos.

Solución: Samba!!!

Pero la OSRI golpea, y sin piedad cada carpeta compartida que encuentra, por las múltiples vulnerabilidades que presentan[en sistemas Windows].

Nota: Cabe destacar acá, que Samba emula el comportamiento de la compartición de archivos y carpetas, pero no emula las vulnerabilidades. Así que ya saben OSRI-seños.

Tomaremos para este tutorial, un CT de Proxmox con base Debian/Ubuntu, y por ejemplo, con 2GB de RAM y 4 núcleos. Estas prestaciones son necesarias si vamos a compilar Samba, pero si instalamos desde el repositorio, con la mitad resolvemos el asunto. De todas formas, explicaré las dos maneras acá.

Samba desde el repositorio

Asumo que ya hayan updateado/upgradeado el sistema, y si no lo han hecho ¿Qué esperan?:

Lo primero que haremos será detener y deshabilitar NETBIOS, no lo necesitaremos[y de paso nos evitamos problemas con posibles escaners de red]:

Ahora, smbd. Estado del servicio:

Para reiniciar el servicio ante cualquier cambio, existen tres maneras, use la que usted considere mejor:

o:

o:

Entonces… Editamos según nuestras necesidades, pero primero hacemos un backup:

Un ejemplo de configuración pudiera ser:

nano /etc/samba/smb.conf

Y reiniciamos el servicio. Ya vimos como hacerlo. Para comprobar que todo está OK, ejecutamos:

Es decir, para este ejemplo, creamos un recurso compartido[Economia] que apunta a una carpeta llamada «economia» dentro de /mnt/samba donde pondremos las cosas[documentos] del Departamento. En /mnt/samba tendremos un punto de montaje de nuestro Proxmox, con espacio suficiente para las operaciones que requieren nuestros compañeros de Economía. También debemos notar que los usuarios válidos a usar este recurso, deben pertenecer al grupo «sambashare».

Samba crea, en la instalación, un grupo por defecto en sistemas Debian/Ubuntu llamado: «sambashare», el cual usaremos para agregar usuarios en el próximo paso. A esta carpeta que creamos, debemos aplicarle estos permisos. Procedemos:

Ahora crearemos un usuario que podrá trabajar en esta carpeta. Samba usa el sistema de usuarios y permisos pero tiene su propio mecanismo de autenticado, separado del que normalmente usa linux[el sistema], por lo que para que todo funcione correctamente, crearemos el usuario con el sistema de autenticado normal de linux y le pondremos la contraseña con la utilidad smbpasswd que trae samba. Una de las económicas se llama Yadira y para tomarla como ejemplo le crearemos el usuario de la siguiente forma:

Y para asignarle un password a Yadira:

Ahora sólo debemos ir al Explorador de Windows y crear una unidad mapeada en red, cosa trivial:

Configuración de la unidad:

Autenticándonos:

Y listo:

Como pudieron ver, algo ligero de configurar y llevar a cabo. Ahora veamos como hacer lo mismo, pero compilando samba.

Compilando Samba

Lo primero es obtener samba.

A día de hoy[en estoy escribiendo este tutorial 28-8-2020], la última versión estable de Samba, es la 4.12.6.

¿Updatearon/upgradearon el sistema?

Instalar las dependencias necesarias para compilar:

Extraer y compilar:

Nota: En un futuro, si quieren actualizar Samba a la última versión, descargen y compilen con las mismas opciones de configuración que lo hicieron en el primer momento, sino, les dará error. Si desean ver cómo fue compilado samba anteriormente sólo debemos ejecutar:

Archivo de configuración[puede usar el anterior, o generar uno de base]:

Habilitar el inicio Samba con systemd:

Creamos el grupo para los usuarios que deben trabajar con el recurso compartido:

Y a partir de acá es lo mismo, que si lo instalaras del repositorio, crear la carpeta:

Y crear los usuarios:

Esto es todo. Adjunto la configuración usada la cual recomiento estudiarse pues tiene opciones muy interesantes, como son:

0- Evitar que los usuarios invitados vean los recursos compartidos.

1- Habilitar autenticación de usuarios obligatoria

2- Habilitar sólo los recursos para IPs específicos

3- Mejorar el tratamiento del tráfico de red

4- Deshabilitar el uso de impresoras por Samba

5- Deshabilitar NETBIOS a nivel de configuración

6- En caso de ser necesario deshabilitar SMB1

7- Evitar que se suban archivos no permitidos al recurso compartido y de haberlos que no los muestre.

Entre otras.

[Referencias]
http://www.linuxfromscratch.org/blfs/view/svn/basicnet/samba.html
https://docs.microsoft.com/en-us/windows/desktop/FileIO/microsoft-smb-protocol-and-cifs-protocol-overview

¿De cuánta utilidad te ha parecido este contenido?

¡Haz clic en una estrella para puntuar!

Promedio de puntuación 4.6 / 5. Recuento de votos: 8

Hasta ahora, ¡no hay votos!. Sé el primero en puntuar este contenido.

4 comentarios

  1. Google Chrome 84.0.4147.135 Google Chrome 84.0.4147.135 GNU/Linux x64 GNU/Linux x64
    Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.135 Safari/537.36

    Muy bueno, gracias por el tutorial!

  2. Waterfox 56.3 Waterfox 56.3 GNU/Linux x64 GNU/Linux x64
    Mozilla/5.0 (X11; Linux x86_64; rv:56.0) Gecko/20100101 Firefox/56.0 Waterfox/56.3

    Un placer, hermano. Estamos para ayudarnos…

  3. Firefox 72.0 Firefox 72.0 Windows 10 x64 Edition Windows 10 x64 Edition
    Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:72.0) Gecko/20100101 Firefox/72.0

    Hola Leslie. Te puedo hacer llegar mi tuto para que agregues la parte de fileserver usando usuarios virtuales por LDAP.
    Tengo una variante usando OpenMediaVault y otra que es Debian puro (este último lo hizo Ariel Alvarez @Mutantix)
    SL2

  4. Firefox 68.0 Firefox 68.0 Windows 10 x64 Edition Windows 10 x64 Edition
    Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:68.0) Gecko/20100101 Firefox/68.0

    Buenas tardes amigo, he implementado su manual para una infrastrucura de dominio ,la verdad funciona genial, muy bueno su aporte ademas de que en lo personal me ahorro muchos recursos de hardware, pero tengo un problema es que cada vez que reinicio la pc o la de los demas usuarios me desconecta la unidad de red me la deja con una cruzeta en rojo y tengo que eliminarla y volverla a crear, saludos y por favor ayudeme

Dejar una contestacion

Tu dirección de correo electrónico no será publicada.