Servicios SSH y CIFS de nuestro servidor

Una vez tenemos creados los usuarios y grupos de nuestro servidor, es el momento de activar y configurar los servicios que nos permitan ofrecer los recursos (directorios) creados, a los equipos que componen nuestra red local.

15-May-2016

Una vez tenemos creados los usuarios y grupos de nuestro servidor, es el momento de activar y configurar los servicios que nos permitan ofrecer los recursos (directorios) creados, a los equipos que componen nuestra red local.

En este sentido activaremos los servicios SSH y CIFS, donde el primero nos permitirá la conexión segura por consola al servidor para realizar tareas administrativas sobre los recursos y el segundo que publicará los recursos en la red para que sean accesibles al resto de los equipos que forman nuestra LAN.

Para poder crear las carpetas y establecer los permisos, NAS4Free nos ofrece varias alternativas:

Conexiones seguras

Conexiones seguras SSH

Compartir recursos

Compartir Recursos

Servicio SSH. Comunicaciones Seguras entre sistemas

SSH

SSH o Secure Shell, es un protocolo que facilita las comunicaciones seguras entre dos sistemas usando una arquitectura cliente/servidor y que permite a los usuarios conectarse a un host remotamente.

A diferencia de otros protocolos de comunicación remota tales como FTP o Telnet, SSH encripta la sesión de conexión, haciendo imposible que alguien pueda obtener contraseñas no encriptadas.

SSH está diseñado para reemplazar los métodos más viejos y menos seguros para registrarse remotamente en otro sistema a través de la shell de comando (terminal), tales como telnet o rsh.

El uso de métodos seguros para registrarse remotamente a otros sistemas reduce los riesgos de seguridad tanto para el sistema cliente como para el sistema remoto.

Esquema túneles ssh

Esquema de una conexión segura SSH y la utilización de los túneles SSH.

Activar servicio SSH

Para activar el servicio SSH, accederemos al menú Servicios->SSH y marcaremos la casilla 'Permitir' que se muestra en la esquina superior derecha.

Dejaremos desmarcada la opción ‘Permitir el acceso a root’, para impedir que se acceda directamente como superusuario (root). En nuestro caso accederemos con el usuario ‘super’ que creamos perteneciente al grupo ‘wheel’ que tiene permiso para ejecutar el comando ‘su’ (ver comandos FreeBSD del curso ‘Montaje de un Servidor Web’) que le ofrece la posibilidad de convertirse en root de forma temporal.

Activaremos ‘Contraseña de autenticación’ que nos permita indicar nuestra contraseña por teclado para iniciar sesión en el servidor. Si no utilizamos este método de acceso, tendremos que disponer de una clave privada SDA en formato PEN que tendremos que introducir en el recuadro ‘Clave privada’ con lo que la conexión se realizará de forma automática sin solicitar contraseña de acceso.

Como opción adicional, marcaremos el 'Permitir hacer túneles SSH'.

Servicio SSH

Clientes SSH para conectarnos al servidor de forma segura

Una vez activado el servicio SSH, desde los clientes podremos conectarnos al servidor utilizando programas capaces de utilizar este protocolo.

PuTTy: es un cliente de red que soporta los protocolos SSH, Telnet y Rlogin y sirve principalmente para iniciar una sesión remota con otra máquina o servidor.A pesar de su sencillez es muy funcional y configurable. Desarrollado originalmente por Simon Tatham para la plataforma Windows. PuTTY es un software de código abierto que está disponible con el código fuente y se desarrolla con el apoyo de un grupo de voluntarios.

Para más información podemos dirigirnos a su web oficial en http://www.putty.org/.

winscp:  es una aplicación de Software Libre. Es un cliente SFTP gráfico para Windows que emplea SSH. Su función principal es facilitar la transferencia segura de archivos entre dos sistemas informáticos, el local y el remoto que ofrezca servicios SSH.

 

Putty

Para  realizar  la mayoría de las tareas administrativas sobre los recursos del sistema (cambiar permisos, instalar nuevos servicios que no se ofrezcan de forma predeterminada, etc..) será necesario acceder  por  medio del servicio SSH de nuestro servidor .

Una vez abierto el programa cliente, indicaremos la ip del servidor, el puerto y el tipo de conexión que se utilizará. Aunque por lo general sólo será necesario indicar la IP.

Conexión al servidor utilizando Putty

La primera vez que nos conectemos al servidor, es posible que nos muestre un mensaje de aviso que nos indique que la clave del servidor no está almacenada en nuestro registro de claves.
Si estamos seguros de la ip que le hemos indicado y confiamos en el servidor, sólo tendremos que aceptar el mensaje de aviso, para que se guarde la clave del servidor para futuras conexiones.

Alerta certificado seguridad  con Putty

En cuanto el programa consiga realizar la conexión con el servidor, se iniciara una sesión en una terminal donde tendremos que indicar el nombre y la clave del usuario con el que deseamos acceder al sistema.

Ventana de consola con Putty

Cuando deseemos finalizar la sesión en nuestra terminal escribiremos el comando exit.

WinSCP

Winscp nos conecta de forma segura a nuestro servidor, gracias al servicio SSH. A diferencia de Putty, el trabajo se realiza a modo de cliente FTP en un entorno gráfico, lo que nos posibilita una forma sencilla y segura de transferir ficheros a o desde el servidor.

Una vez abierto el programa cliente, seleccionaremos la opción ‘Nuevo sitio’ de la lista de la izquierda. Indicaremos la ip del servidor, el puerto y el usuario con el que nos vamos a conectar y el tipo protocolo (generalmente SFTP) para la transferencia segura de ficheros entre el cliente y el servidor y viceversa.

Ventana autenticación WinSCP

Pulsaremos el botón ‘Guardar’ para guardar la información del nuevo sitio y nos solicitará el nombre con el que la deseamos identificar.

Guardar sesión WinSCP

Ya estamos preparados para iniciar sesión con el servidor, pulsando el botón ‘Conectar’. Nos solicitará la contraseña del usuario que indicamos en los datos de la sesión y opcionalmente podemos solicitar que recuerde la contraseña para esta sesión.

Contraseña sesión WinSCP

La primera vez que nos conectemos al servidor, al igual que ocurre con puTTy es posible que nos muestre un mensaje de aviso que nos indique que se desconoce la clave del servidor.
Si estamos seguros de la ip que le hemos indicado y confiamos en el servidor, sólo tendremos que aceptar el mensaje de aviso, para que se guarde la clave del servidor para futuras conexiones.

Alerta certificado seguridad  con WinSCP

Cuando se haya creado la conexión con el servidor nos mostrará una ventana dividida en dos paneles. En el panel izq tendremos nuestros archivos locales y en el derecho tendremos una  vista del contenido del servidor.

Ventana WinSCP

La forma de manejarlo es similar a cualquier cliente ftp en el que arrastramos los archivos de un panel a otro.

Si deseamos copiar archivos al servidor bastará con arrastrarlos desde el panel izq → der.

Si deseamos copiarnos archivos del servidor, los arrastraremos del panel der ← izq.

Cambiar los grupos asignados a cada recurso

Aprovechando que el servicio SSH lo hemos activado, vamos a iniciar una sesión de terminal con el programa putty, para cambiar los grupos a los que pertenecen los directorios (recursos) que creamos en el módulo anterior.

Con estos cambios lo que pretendemos es que sólo puedan acceder a los directorios los miembros del grupo que le indiquemos.

Directorio accederán sólo Miembros del grupo
administrativos administrativos
colegiados colegiados
administracion administracion
publico guest
  • Iniciamos sesión indicando la ip de nuestro servidor (192.168.1.10), como usuario utilizaremos ‘super’.
  • Una vez iniciada la sesión, ejecutaremos el comando ‘su’, cambiaremos al directorio ‘hdraid’ situado en los puntos de montaje ‘/mnt’.
  • Por medio del comando ‘chgrp’ iremos cambiando el grupo al que pertenece cada directorio utilizando la sintaxis: chgrp grupo directorio.

A continuación se muestran los comandos ejecutados en la terminal.

 

login as: super
super@192.168.1.20's password:
Last login: Sat May 21 15:33:32 2016
Bienvenido al servidor NAS4Free del despacho 'Los Remedios'
--- EJECUTAMOS COMANDO ‘su’ PARA CONVERTIRNOS EN SUPERUSUARIO (CLAVE DEL USUARIO ADMIN) ---
$ su
Password:
--- NOS DESPLAZAMOS HASTA EL PUNTO DE MONTAJE HDRAID DONDE ESTAN LOS RECURSOS CREADOS ---
 nas4free: /mnt# cd hdraid
------ REALIZAMOS UN LISTADO LARGO PARA MOSTRAR LOS DIRECTORIOS -----------
 nas4free: hdraid# ll
total 32820
drwxrwxr-x  2 root  operator       512 Mar 31 23:58 .snap/
-r--------  1 root  wheel     33554432 Mar 31 23:58 .sujournal
drwxrwx---  2 root  wheel          512 May  6 18:23 administracion/
drwxrwx---  2 root  wheel          512 Apr 19 20:36 administrativos/
drwxrwx---  2 root  wheel          512 May  6 18:23 colegiados/
drwxrwxr-x  2 root  wheel          512 May 21 11:26 publico/
--- UTILIZAMOS EL COMANDO chgrp PARA CAMBIAR EL GRUPO AL QUE PERTENECE CADA DIRECTORIO ---
 nas4free: hdraid# chgrp administrativos administrativos
 nas4free: hdraid# chgrp administracion administracion
 nas4free: hdraid# chgrp administrativos administrativos
 nas4free: hdraid# chgrp guest publico
 nas4free: hdraid# chgrp colegiados colegiados
------ VOLVEMOS A REALIZAR UN LISTADO PARA MOSTRAR LOS CAMBIOS REALIZADOS -----------
 nas4free: hdraid# ll
total 32820
drwxrwxr-x  2 root  operator              512 Mar 31 23:58 .snap/
-r--------  1 root  wheel            33554432 Mar 31 23:58 .sujournal
drwxrwx---  2 root  administracion        512 May  6 18:23 administracion/
drwxrwx---  2 root  administrativos       512 Apr 19 20:36 administrativos/
drwxrwx---  2 root  colegiados            512 May  6 18:23 colegiados/
drwxrwxr-x  2 root  guest                 512 May 21 11:26 publico/
------ CERRAMOS LA SESION DEL COMANDO SU -----------
 nas4free: hdraid# exit
------ CERRAMOS LA SESION DE TRABAJO EN LA TERMINAL -----------
$ exit

Estos mismos pasos se describieron también en el módulo ‘Recursos del Servidor’, cuando se comentaba el comando chown.

Servicio CIFS / SAMBA

CIFS (Common Internet File Sistem): CIFS es una versión mejorada de SMB (Microsoft Server Message Block), protocolo de red que permite compartir archivos entre nodos de una red.

SAMBA: es la implementación libre de SMB. Podemos decir que es el equivalente de CIFS en entornos UNIX.

El servicio CIFS/SMB, nos permitirá compartir nuestros recursos con el resto de los miembros de la red, para ello accediendo al menú Servicios->CIFS/SMB y marcaremos la casilla 'Permitir' que se muestra en la esquina superior derecha para activar el servicio.

A continuación se muestra un resumen de cada una de las opciones de configuración que podemos establecer.

Configuraciones del servicio CIFS/SMB:

OBLIGATORIAS

Autenticación:

  • Anónimo (cualquier usuario podrá acceder a los recursos compartidos)
  • Usuario Local (sólo los usuarios creados en nuestro servidor podrán acceder a los recursos compartidos, es la que se recomienda por decfecto)
  • Active Directory  (sólo los usuarios dados de alta en un dominio de Active Directory accederán a los recursos. Utilizado cuando enlazamos nuestro servidor con un Windows Server)

Activada en nuestro servidor: Usuario Local.

Protocolo Máximo: Indica el máximo nivel de protocolo que será soportado por los clientes. Dependiendo del sistema operativo instalado en los clientes se recomienda un nivel determinado:

Nivel de protocolo Sistema Operativo
SMB3 → Windows 8 o superior
SMB2 → Windows 7 o Vista
NT1 → Versiones XP o anteriores

Activada en nuestro servidor: SMB3 (ya que nuestra red estará formada por equipos con W7, W8 y W10. Aunque se nos indica que SMB3 es para sistemas W8 o superior, no supone ningún problema para los sistemas W7)

Nombre NetBIOS: nombre con el que se va a anunciar este servicio. Es decir nombre con el que se identificará nuestro servidor NAS en la red local.
Activada en nuestro servidor: SRVNAS

Grupo de trabajo: nombre del grupo de trabajo al que pertenece. Se recomienda establecer el mismo grupo de trabajo al que pertenezcan el resto de equipos de nuestra red si no queremos tener problemas.
Activada en nuestro servidor: WORKGROUP (utilizaremos el nombre por defecto del grupo de trabajo para los SO Windows. Aunque tener en cuenta que tenéis que poner el nombre de vuestro grupo de trabajo para que sea visible para los equipos que componen la LAN.)

)

OPCIONALES

Descripción: pequeña descripción del servidor. Se puede dejar en blanco.

Conjunto de caracteres de DOS: define el juego de caracteres utilizado en los equipos cliente para mostrar los nombres de los recursos. Como nuestro idioma (ESP) dispone de caracteres especiales como la ‘ñ’ o las vocales acentuadas, activaremos el juego ‘CP850 (latin 1)’.
Esta configuración es importante a fin de evitar que se almacenen de forma incorrecta los caracteres especiales en el sistema de archivos del servidor.
Activada en nuestro servidor: CP850 (latin 1)

Conjunto de caracteres UNIX: define el juego de caracteres que utilizará el servidor para codificar los nombres de los recursos creados por los usuarios. Se mantendrá como juego el estándar UTF8.
Activada en nuestro servidor: UTF8

Nivel de registro: Establece la cantidad de mensajes de registro / depuración que se envían al archivo de registro. El valor predeterminado es 'mínimo', se recomienda mantenerla así para un mejor rendimiento a menos que se necesite más información para solucionar problemas.
Activada en nuestro servidor: mínimo

Local Master Browser: permite a NAS4Free convertirse en un examinador principal de la red (Servidor WINS), lo que nos proporciona una mayor optimización de los recursos de la red, ya que se evita el uso de paquetes de difusión (broadcast) para buscar al resto de equipos de la red.
Activada en nuestro servidor:

Posteriormente habrá que configurar el servidor WINS para cada uno de los equipos cliente con la IP de nuestro servidor NAS. Esta configuración se realiza desde la ficha ‘configuración avanzada de TCP/IP’ a la que se accede desde las propiedades del adaptador de red.

Configurar WINS en los clientes Windows

NOTA: En la mayoría de las redes basadas en Windows con grupo de trabajo, sólo tendría que haber un examinador principal. Una configuración inadecuada de este parámetro, puede provocar un descubrimiento errático de los recursos de la red, pudiendo aparecer y desaparecer de forma aleatoria.


Servidor de fecha y hora: permite a NAS4Free anunciarse como servidor de fecha al resto de los equipos de la red. De esta manera se pueden sincronizar de forma periódica las fechas de los clientes con la fecha del servidor.
Activada en nuestro servidor:

AJUSTES AVANZADOS

Cuenta de invitado: será la cuenta de usuario que se utilizará para todas las conexiones al servidor, cuando la autenticación este establecida como ‘anónimo’.

Redireccionar como invitado: acción a realizar cuando la autenticación no se haya realizado de forma correcta. Por defecto está establecida a no redireccionar a la cuenta de invitado en ningún caso.
Activada en nuestro servidor: Nunca – Por defecto

Tamaño del Buffer de envío: indica el tamaño en bytes del buffer de envío de datos. Por defecto está establecido un tamaño de 128kb.
Activada en nuestro servidor: 128480

Tamaño del Buffer de recepción: indica el tamaño en bytes del buffer de recepción de datos. Por defecto está establecido un tamaño de 128kb.
Activada en nuestro servidor: 128480

Gran lectura/escritura: utiliza un flujo de datos de 64k para la lectura y escritura.
Activada en nuestro servidor:

Soporte EA: esta opción permite a los clientes almacenar atributos extendidos en los recursos compartidos del servidor. Esta opción es aconsejable ya que permite a los sistemas operativos de los clientes, almacenar información sobre los atributos del archivo.
Activada en nuestro servidor:

Almacenar atributos DOS: Si este parámetro es configurado, Samba intenta primero leer atributos de DOS (SISTEMA, OCULTO, ARCHIVO o SOLO-LECTURA) desde un atributo de un sistema de archivo extendido, antes de mapear atributos de DOS a bits de permiso de UNIX. Cuando es configurado, los atributos de DOS serán almacenados dentro de un atributo extendido en el sistema de archivos de UNIX, asociado con el archivo o carpeta. Está opción se utiliza en combinación de ‘Soporte EA’.
Activada en nuestro servidor:

Contraseña nula: si la activamos, se permitirá el acceso a los recursos a aquellos usuarios que tengan contraseñas nulas (no tengan contraseña). Esta opción se recomienda no activarla nunca.
Activada en nuestro servidor: No

AIO Lectura/Escritura asíncrona: activa la lectura/escritura asíncrona, donde el cliente y el servidor no es necesario que estén sincronizados para que se realice el envío o la recepción de datos.
Activada en nuestro servidor:

AIO tamaño lectura: indica a partir de qué tamaño de fichero se tiene que activar la lectura asíncrona. Por defecto está establecido en 1024.
Activada en nuestro servidor: 1024

AIO tamaño escritura: indica a partir de qué tamaño de fichero se tiene que activar la escritura asíncrona. Por defecto está establecido en 1024.
Activada en nuestro servidor: 1024

Parámetros auxiliares: podemos realizar configuraciones especiales del servicio, escribiendo en el cuadro de texto el nombre de un parámetro con el valor que le deseamos establecer. Los ajustes suelen ser del tipo ‘parámetro=valor’.
Estos cambios son almacenados en el archivo de configuración de samba (smb.conf).

Para más información es aconsejable revisar la documentación sobre configuración de parámetros en la dirección: https://www.samba.org/samba/docs/man/manpages-3/smb.conf.5.html

Activada en nuestro servidor: directory mask=0770 (establecer la máscara para la creación e directorios)

Servicio CIFS/SMB

Tras realizar las configuraciones necesarias de sus parámetros, pulsaremos el botón ‘Guardar y Reiniciar’, para que el servicio este operativo en nuestro servidor.