Securizar acceso SSH

1 estrella2 estrellas3 estrellas4 estrellas5 estrellas (Ninguna valoración todavía)
Cargando…

Es muy cómodo tener un servidor con SSH habilitado para realizar las gestiones, pero debemos tener en cuenta que es un riesgo que debemos tener en cuenta.

Como cualquier acceso que esté abierto en el exterior vamos a tener en cuenta una serie de cuestiones que nos ayudarán a securizar nuestro servidor.

¿Necesitamos siempre habilitado SSH?

Esta es la primera pregunta que debemos hacernos a la hora de instalar un servidor SSH en nuestro servidor. La respuesta obviamente depende de cada caso y lo que puede ser un Sí rotundo en mi caso, puede ser un No en el tuyo.

Si no lo necesitas páralo y enciéndelo solo cuando lo necesites, lógicamente necesitarás una forma de arrancarlo de nuevo. Esto funciona bien si accedes de uvas a peras y estás en un entorno virtualizado y puedes entrar desde una consola o KVM.

Si no es tu caso, vamos a ponernos manos a la obra y busquemos el fichero de configuración del demonio SSH. Normalmente está en /etc/ssh/sshd_config

 

Cambiemos el puerto por defecto

Todo el mundo espera que nuestro servidor SSH esté en el puerto 22, así que seamos originales y no gastemos este puerto. Hay bots que intentan conectarse automatizadamente a los puertos 22 de toda aquella IP que se les cruza en el camino.

Si editamos el fichero que he indicado arriba, debemos buscar la directiva Port 22:

Vamos a editarla y cambiar el número de puerto por 5231 (por ejemplo), y quedará de la siguiente forma:

Recordar guardar los cambios en el fichero y reiniciar el servicio: service ssh reload

 

¿Acceder con root? Nunca!

Si bien para el uso de nuestro servidor no se recomienda usar root como norma general, mucho menos para acceder mediante SSH. La primera parte va dedicada únicamente a aquellas personas que quieran crear un usuario nuevo:

 useradd remoto

Le pondremos contraseña

passwd remoto

Ahora lo incluiremos en el grupo sudoers

sudo adduser remoto sudo

Ahora lo que vamos a hacer es editar el fichero de configuración y buscar la siguiente directiva: PermitRootLogin. Por defecto tiene el valor yes, y lo que haremos será cambiarlo por no.

Ahora una vez hemos hecho todos los cambios deberemos reiniciar el servicio SSH. Para ello haremos:

sudo service sshd restart

Si ahora probamos a intentar acceder como usuario root desde ssh veremos que tendremos un error «Permision denied» que es el mismo error que cuando nos equivocamos de contraseña.

 


Este artículo está en constante evolución, por ello se incluye aquí un control de cambios:

16/12/2017 – Artículo original

23/12/2017 – Añadida la forma de crear un nuevo usuario y añadirlo a sudoers

3/8/2018 – Se añade el comando para reiniciar el servicio sshd