Servidor SAMBA en Centos 8 con Windows 10 y Windows XP.

Como están , en este tutorial les mostrare como llevar a cabo con éxito la configuración de un SERVIDOR SAMBA CON WINDOWS 10 Y WINDOWS XP.

A menudo, y te lo digo por experiencia, vas a encontrar redes o grupos de trabajo en donde conviven Windows de todas las generaciones.

Entonces para hacer mas real nuestro laboratorio vamos a configurar SAMBA para que permita compartir archivos a todas estas plataformas.

Objetivos:

1. Crear y compartir una carpeta /usuarios donde se crearan directorios para varios usuarios con acceso libre (Usuario Anonymous) de lectura y escritura. Esta carpeta no sera explorable, con esto evitaremos que un usuario pueda ver el contenido de la carpeta de otros usuario a menos que conozcan la ruta exacta de su unidad.

2. Crear y compartir una carpeta de nombre /SERTEC con acceso restringido solo para el usuario sertec y con permisos de lectura y escritura solo para este usuario.

3. Permitir desde una misma estación acceder al servidor con diferentes usuarios: usuario “anonymous” para /usuarios y usuario “sertec” para /SERTEC

4. Se permitirá el acceso al servidor tanto desde equipos con Windows 10 y Windows Xp.

Comencemos entonces.

1. Instalando y configurando Webmin en CENTOS 8.

Yo particularmente no soy fanático de los terminales para el 100% de los procesos de configuración, por eso trato siempre apoyarme en esta herramienta visual.

Vamos a instalar Webmin y usarlo para realizar algunos pasos.

Descargamos la ultima versión en RPM desde nuestro CENTOS 8 y lo hacemos correr.

https://download.webmin.com/devel/rpm/

Webmin rpm para configurar samba

Una vez descargado e instalado, debemos configurar FIREWALLD para permitir las conexiones de Webmin.

Si haz hecho alguna modificación en las zonas de tu firewallD cambia public por la zona adecuada. De lo contrario ejecuta el comando tal como esta.

firewall-cmd --permanent --zone=public --add-port=10000/tcp

Reiniciar y recargar el Firewall:

firewall-cmd --reload
systemctl start firewalld

Ya deberíamos tener cargando Webmin desde localhots:10000

Webmin rpm para configurar samba

2. Configurando el Nombre del Servidor

Lo siguiente que haremos sera colocar un nombre adecuado a nuestro servidor para poder identificarlo dentro de la RED. En nuestro caso lo llamaremos DATASERVER

En webmin ingresamos a la configuración de RED, luego a la opción HOSTNAME AND DNS.

Webmin rpm para configurar samba
nombre del servidor SAMBA

Con estos ajustes preliminares ya podemos entrar de lleno a la configuración del servidor SAMBA.

3. Instalación de SAMBA y configuración de FirewallD

Si aun no tienes instalado los paquetes de SAMBA debes instalarlo desde yum.

yum install samba samba-client samba-common

una vez instalado, lo primero que hay que hacer es permitir el acceso al servicio desde el firewall.

Recuerda que es importante que declares correctamente las ZONAS de acceso al servicio. Si no lo haz modificado haz todo con public.

firewall-cmd --add-service=samba --zone=public --permanent

Recargar el Firewall

firewall-cmd --reload

Luego ya podemos arrancar el servicio y dejarlo habilitado desde el arranque:

systemctl start smb
systemctl enable smb

Llegado a este punto es muy importante realizar una prueba de funcionamiento del servicio samba.

Es decir revisar si ya se aperturaron los puertos 139 y 445 y si el servicio samba ya se encuentra corriendo sin problemas.

Lo hacemos con la herramienta NMAP y STATUS

nmap localhost

Vemos que ya se encuentran escuchando los puertos 139 y 445

puertos smb samba centos 8
service smb status
SERVIDOR SAMBA CON WINDOWS 10 Y WINDOWS XP
SERVIDOR SAMBA CON WINDOWS 10 Y WINDOWS XP

Vemos también que el servicio esta ejecutándose sin problemas.

En este punto incluso ya podemos realizar una prueba de conexión desde una pc con Windows y asegurarnos que el servidor responde a la solicitud.

Recuerda que debes iniciar el servicio nmb para poder acceder mediante el nombre del servidor:

service nmb start

Desde una estación con windows 10 ejecutamos la ruta del servidor:

SERVIDOR SAMBA CON WINDOWS 10 Y WINDOWS XP

Esta vivo ! Nuestro servidor responde de forma correcta y ya estamos listos para ir al siguiente nivel.

4.Configuración del servidor SAMBA y Creación de carpeta de usuarios.

Vamos a iniciar la configuración haciendo un backup del archivo smb.conf.

cp /etc/samba/smb.conf /etc/samba/smb.conf.back

A continuación vamos a crear un par de usuarios dentro /usuarios para llevar a cabo el objetivo numero 1.

Ejecutamos desde el terminal los siguientes comandos:

mkdir -p /usuarios
useradd -m -d /usuarios/user1 user1
chmod -R 0775 /usuarios/user1
chown -R nobody:nobody /usuarios/user1

A continuación se aplica el contexto de seguridad SELINUX a la carpeta /usuarios/user1.

chcon -t samba_share_t /usuarios/user1

A continuación realizaremos la configuración del archivo smb.conf.

vi /etc/samba/smb.conf

Escribimos el siguiente contenido:

[global]
workgroup = WORKGROUP
server string = DATA SERVER
netbios name = DATASERVER
security = user
map to guest = bad user                 
dns proxy = no

[usuarios]                            
path = /usuarios/
browsable = no                   
writable = yes
guest ok = yes
read only = no

Salvamos reiniciamos el servicio smb y llamamos al servidor desde una estación Windows 10.

Como vemos al ejecutar \\DATASERVER el servidor samba ya nos deja ingresar pero no muestra ninguna carpeta.

Eso es precisamente lo que queríamos.

servidor samba con windows 10

Sin embargo si ejecutamos la ruta completa de la carpeta del usuario user1 obtenemos este resultado:

Tenemos acceso directo y sin restricciones a la carpeta del usuario user1.

Puedes crear un acceso directo en la pc del usuario que vaya directamente a esta ruta. el objetivo es que no husmeen en las otras carpetas.

servidor samba con windows 10

Ahora puedes seguir creando usuarios utilizando los mismos comandos anteriores. Recuerda que debes aplicar el contexto de seguridad a cada una de las carpetas que crees por cada usuario.

5. Creación de carpeta /SERTEC restringida con usuario y contraseña para el usuario “sertec”.

Ahora vamos a crear una carpeta explorable es decir visible con acceso total pero solo para el usuario sertec.

Comenzamos el proceso creando el usuario sertec con su carpeta en /sertec y estableciendo los permisos.

useradd -m -d /sertec sertec
chmod -R 0755 /sertec

A continuación seteamos una contraseña para el usuario sertec para linux y para samba por comodidad usaremos la misma clave para ambos sistemas:

passwd sertec
smbpasswd -a sertec

finalmente seteamos el contexto de seguridad SELINUX para la carpeta /sertec

chcon -Rt samba_share_t /sertec

Finalmente reiniciamos el servicio smb y ya podemos probar una solicitud al servidor.

Al ejecutar la instrucción el servidor nos muestra ya efectivamente la carpeta SERTEC.

Sin embargo cuando queremos acceder a ella colocando el usuario y contraseña de sertec no nos dejara ingresar mostrándonos el siguiente error:

Te explico por que sucede esto:

No es que hayamos configurado nada mal en nuestro servidor. Lo que sucede es que los amigos de la ventana no permiten que dos usuarios distintos (recuerda que ya habíamos ingresado como anonymous a /usuarios ) accedan a un mismo servidor desde un mismo equipo en una misma sesión. Que largo fue decir todo eso!

Según ellos por razones de seguridad y lo explican de esta manera:

This is a client-side error -- Windows only allows you to connect to a server as one user at a time. (See Microsoft documentation at KB938120.) This means the Windows machine has already connected as a different user, and so your attempts to connect again, as the correct user, are failing bla bla bla .....

Entonces para resolver este pequeño problemilla usaremos un artilugio.

Vamos a colocarle un ALIAS a nuestro servidor Samba para simular 2 servidores distintos. Ya le habíamos puesto DATASERVER recuerdas ? ahora tendrá un segundo nombre, le pondremos SERTECSERVER.

Con esta sencilla solución cada vez que queramos hacer login para las carpetas de los usuarios desde una misma computadora podemos ingresar con el nombre \\DATASERVER y cada vez que queramos hacer login para el usuario sertec lo podremos hacer con el nombre \\SERTECSERVER.

Para llevar a cabo esta hazaña agregaremos la siguiente linea en el archivo smb.conf en la sección GLOBAL:

netbios aliases = SERTECSERVER

vi /etc/samba/smb.conf
[global]
workgroup = WORKGROUP
server string = DATA SERVER
netbios name = DATASERVER
netbios aliases = SERTECSERVER
security = user
map to guest = bad user                 
dns proxy = no

[usuarios]                            
path = /usuarios/
browsable = no                   
writable = yes
guest ok = yes
read only = no

[SERTEC]
path = /sertec
valid users = sertec
guest ok = no
writable = yes
browsable = yes

Guardamos los cambios reiniciamos los servicios smb y nmb y probamos con el nuevo nombre de nuestro servidor:

service smb restart
service nmb restart

La conexión al servidor con el nuevo nombre es exitosa :

SERVIDOR SAMBA CON WINDOWS 10 Y WINDOWS XP

Ingresamos colocando el nombre de usuario y contraseña y …

Perfecto, luego de colocar el alias al servidor SAMBA ya tenemos la conexión a la carpeta /sertec mediante usuario y contraseña desde la misma estación de trabajo.

SERVIDOR SAMBA CON WINDOWS 10 Y WINDOWS XP

En este punto el objetivo 2 y 3 ya esta cumplido !

Vamos por el ultimo objetivo del tutorial: como configurar un SERVIDOR SAMBA CON WINDOWS 10 Y WINDOWS XP

6. Conectar Windows XP al servidor SAMBA con CENTOS 8.

Windows XP es un viejo amigo y a pesar de sus innumerables fallas puedo decir que es un sistema viejito pero aun eficiente y estable. Es por eso que aun en la actualidad se sigue utilizando en algunas compañías.

Vamos a ver como hacemos para permitirle a XP hacer login a samba en nuestro Centos 8, pero antes veamos un poco de cultura general.

Windows Xp es un dinosaurio que utiliza el protocolo de autenticación de red SMB 1. Sin embargo en la actualidad ese protocolo ya no es soportado por la mayoría de nuevas plataformas incluyendo LINUX.

Esto debido a que este protocolo presenta un alto riesgo de vulnerabilidad para la comunicación en entornos de red donde se comparte información critica.

En la actualidad se maneja el protocolo de autenticacion SMB 3.1 dejando fuera de la fiesta a nuestro viejo amigo.

La autenticacion mediante el protocolo SMB es un complejo proceso de ida y retorno de información donde se validan una serie de datos entre un servidor y un cliente.

Como vemos a en la tablita a partir de Windows Vista se dejo sepultado a SMB1.

Pues bien para superar este royo de los protocolos lo que vamos a hacer y bajo nuestra propia responsabilidad, sera darle la instrucción al servidor para que aun responda las solicitudes de SMB1 con NTLM.

Esto lo logramos agregando estas lineas en smb.conf en la sección GLOBAL:

min protocol = NT1                           
lanman auth = yes
ntlm auth = yes

Debería quedar de esta manera:

[global]
workgroup = WORKGROUP
server string = DATA SERVER
netbios name = DATASERVER
security = user
map to guest = bad user                 
dns proxy = no
min protocol = NT1                            
lanman auth = yes
ntlm auth = yes

[usuarios]                            
path = /usuarios/
browsable = no                   
writable = yes
guest ok = yes
read only = no

[SERTEC]
path = /sertec
valid users = sertec
guest ok = no
writable = yes
browsable = yes

Salvamos, guardamos, recargamos smb y nmb y probamos haciendo un llamado al servidor desde una estación con Windows XP.

SERVIDOR SAMBA CON WINDOWS 10 Y WINDOWS XP

Ejecutamos y vemos la carpeta sertec, la carpeta /usuarios ya sabemos que no es visible pero existe. (es un secreto)

SERVIDOR SAMBA CON WINDOWS 10 Y WINDOWS XP

Ingresamos a la carpeta sertec y nos solicita usuario y contraseña:

SERVIDOR SAMBA CON WINDOWS 10 Y WINDOWS XP

El servidor valida nuestra solicitud y Listo estamos dentro.

SERVIDOR SAMBA CON WINDOWS 10 Y WINDOWS XP

Uff.. eso ha sido todo amigos espero que realmente este tutorial de como configurar un SERVIDOR SAMBA CON WINDOWS 10 Y WINDOWS XP te sea en algun momento de utilidad.

Recuerda que puedes visitar todas las entradas de nuestro blog en :

https://www.tecnocienciaperu.com/blog/

También puedes visitar nuestro canal de youtube en:

CANAL YOUTUBE TECNOCIENCIA

Agregue un comentario

Su dirección de correo no se hará público. Los campos requeridos están marcados *