Servidor OpenSSH en Linux

De Base de conocimiento
Ir a la navegación Ir a la búsqueda

Manual de configuración para máxima seguridad

SSH o también conocido como Secure Shell, es un protocolo y el nombre del programa que lo implementa. SSH es ampliamente conocido por ser el protocolo seguro para la administración remota de servidores, routers, switches y un largo etcétera de equipos. El protocolo SSH permite manejar por completo el servidor o dispositivo de red mediante un intérprete de órdenes, además, también podemos redirigir el tráfico de X para ejecutar programas gráficos a través de la propia sesión SSH.

Otras características fundamentales de SSH son que nos va a permitir copiar datos de manera segura, tanto archivos como carpetas, a través del protocolo SFTP (SSH FTP), un protocolo hecho desde cero y que no tiene nada que ver con FTPS o FTPES (FTP sobre SSL/TLS). El protocolo SSH es fundamental en el ámbito de las redes y sistemas, además, podremos configurarlo en detalle para dotar a nuestro sistema de la máxima seguridad posible.

El protocolo SSH proporciona confidencialidad (los datos van cifrados punto a punto), autenticación (podremos autenticarnos frente al servidor SSH de múltiples maneras, con usuario/clave, criptografía de clave pública e incluso podremos configurar un segundo factor de autenticación), integridad (si los datos se modifican o los modifica un usuario malintencionado se podrá detectar, ya que usa HMAC para comprobar la integridad de todos y cada uno de los datos).

Existen dos versiones de SSH, la versión 1 no se recomienda hoy en día usarla, de hecho, por defecto siempre se utiliza ya la versión SSHv2. Por defecto SSH utiliza el protocolo TCP de la capa de transporte, y el número de puerto es el 22, no obstante, podremos cambiar el número de puerto para mitigar posibles escaneos de bots al servicio SSH.

En este manual que hoy os presentamos, os vamos a enseñar a configurar el servidor SSH de OpenSSH, un programa que está disponible para sistemas operativos basados en Unix y Linux, como por ejemplo FreeBSD, OpenBSD, Debian, Red Hat Enterprise Linux y un largo etcétera de distribuciones. En esta guía no solo aprenderemos a configurar correctamente el archivo de configuración sshd_config, sino que usaremos programas adicionales para dotar al sistema de la máxima seguridad posible. En este manual todas las configuraciones las realizaremos con Debian, no obstante, todas las medidas de seguridad pueden ser implementadas en cualquier sistema operativo basado en Linux y Unix.

Instalación de OpenSSH y puesta en marcha

  sudo apt install openssh-server

Una vez instalado, debemos tener en cuenta ciertos directorios y órdenes para iniciar, parar y reiniciar el servicio SSH.

Para editar la configuración del servidor SSH debemos hacer en consola:

  sudo nano /etc/ssh/sshd_config

Otro directorio que tenemos que tener muy en cuenta es la de host conocidos, ya que aquí también es donde configuraremos las claves criptográficas RSA/DSA. El directorio donde se encuentran los hosts conocidos y las claves públicas es el siguiente:

  /home/usuario/.ssh/

Este directorio por defecto está oculto (.ssh) y hay un directorio por cada usuario que haya en el sistema operativo y que se conecte a un servidor remoto.


fuente: https://www.redeszone.net/tutoriales/servidores/servidor-openssh-linux-configuracion-maxima-seguridad/