seguridad-SSH

Tips de seguridad básicos para tu servidor SSH

No hace falta explicar mucho sobre las consecuencias que puede tener un servidor ssh mal protegido, puerto 22 por defecto, reintentos ilimitados, acceso root… son algunas características que vienen configuradas por defecto en tu servidor openssh y que debes de cambiar. En este artículo vamos a explicar cómo modificar la configuración de tu servidor ssh para darle un plus de seguridad.

Configuración de Seguridad en un Servidor SSH

Todas las configuraciones que vamos a realizar las haremos sobre el archivo de configuración de openssh, su localización en Debian 8 que es la distribución que vamos a utilizar se encuentra en /etc/ssh/sshd_config.

Cambia el puerto 22.

Cambiar el puerto 22 por otro distinto es lo primero que tienes que hacer, ten en cuenta que tener este puerto configurado en tu servidor y abierto es como indicarle a un atacante donde está la puerta de acceso. (Está claro que alguien realmente malintencionado podría hacer un escaneo de puertos y averiguar el nuevo puerto, pero es un primer paso). Para cambiarlo modificamos en el fichero de configuración la línea “Port” indicando el nuevo puerto, para este ejemplo yo he utilizado el puerto 22090.

Seguridad ssh

Deniega el acceso root, limita por usuario.

A no ser que sea indispensable, es aconsejable deshabilitar el usuario root para que no pueda acceder directamente por SSH, para ello basta con añadir la línea PermitRootLogin no en el fichero de configuración.

root

Además de denegar el usuario root, también podemos limitar los demás usuarios a través de AllowUser, de esta manera podemos indicarle al servidor ssh los usuarios que queremos que accedan vía ssh.

users

De esta forma sólo los usuarios saave y pruebas podrán acceder, una vez dentro del sistema y si lo deseamos, podemos hacer un “su -” para pasar a root.

Limita los reintentos y pantallas de login.

El número de reintentos se configura con la variable MaxAuthTries y con ella se pueden establecer el número de veces que nos podemos equivocar antes de que la conexión sea denegada. Con MaxStartups establecemos el número de pantallas de login simultáneas para una misma IP. Para ejemplo he configurado un máximo de 4 reintentos y sólo una pantalla de login a través de una misma IP.

reintentos

Y aquí un ejemplo de lo que muestra al realizar un intento de login incorrecto más de 4 veces:

ejemplo

Limita el tiempo de conexión inactiva.

Limitar el tiempo que una conexión ssh puede estar inactiva también es aconsejable y aunque a veces sea algo desquiciante, es aconsejable tenerlo configurado por si algún usuario deja su sesión desatendida.

Para cambiar el límite, basta con cambiar la directiva ClientAliveInterval, para este ejemplo he establecido unos 500 segundos antes de que la conexión finalice:

alive

Para aplicar toda la configuración anterior tendremos que reiniciar el servicio ssh: /etc/init.d/ssh restart.

Las configuraciones que hemos visto son las que considero básicas para proteger tu servidor ssh, en futuros artículos profundizaremos más sobre lo que podemos hacer para mejorar todavía más la seguridad ssh.

 
0 comentarios

Dejar un comentario

¿Quieres unirte a la conversación?
Siéntete libre de contribuir