27 abr 2011

Configuración Servidor SSH en GNU/Linux (Parte III)

 

En los artículos anteriores de la serie se han ido explicando el funcionamiento del protocolo SSH, dónde se encuentra el fichero de configuración del servidor y ciertas características que hacen a SSH de un protocolo muy interesante que nace de la necesidad de securizar ciertos servicios.

A continuación se tratarán distintas directivas, aspectos que pueden hacer nuestra configuración SSH más segura.

Cambio de puerto

Esta opción puede ser interesante siempre que el servidor SSH sea privado, entre amigos, en una empresa siempre que todos sepan el puerto nuevo y no es válida para servicios públicos o por defecto que siempre conectarán al puerto 22. Es una opción con la que se conseguirá quitar a esos ojeadores que escanean por puertos y al detectar un 22 abierto, realizan ataques de fuerza bruta... ahora si colocamos el servicio SSH en el 9465, tardarán más en saber que hay detrás, y la mayoría no tendrán conocimientos para saber que hay detrás.

Veamos como llevar a cabo el cambio de puerto en el fichero de configuración:

Hay que buscar la línea dónde se encuentra la directiva Port, y modificar el puerto 22 que vendrá por defecto por el puerto por el que el servicio quede a la escucha.

Hay que recordar que si se ejecuta está opción para conectar con el servidor desde un cliente se deberá ejecutar la siguiente orden:

ssh -p 9465 usuario@ip

Posibilidad de loguearse como root

Una opción muy interesante es no permitir loguearse a ningún usuario como root directamente a través de SSH, si alguien consigue acceder como root tendrá acceso a todo el sistema.

El objetivo será limitar este posible agujero de seguridad y decidimos que no se pueda loguear como root, de este modo para que un administrador obtenga sus privilegios necesitará autenticarse como usuario y después una vez dentro del sistema podrá cambiar a root.

En la imagen se puede observar como la directiva 'PermitRootLogin' se encuentra con no asociada.

Interesante directiva también para evitar ataques de fuerza bruta al root del sistema.

Número de intentos para loguearse

Esta directiva evita que los ataques de fuerza bruta puedan estar probando indefinidamente credenciales, limitar los intentos a un número bajo ayuda a evitar lo comentado anteriormente. Cualquier persona que conozca las credenciales no necesita más de 3 intentos, ¿no?

Para habilitar esta directiva hay que descomentar 'MaxAuthTries' y se especificará un número, por ejemplo 3, de este modo se habilita el uso de la directiva, recordad que cualquier cosa comentada en el fichero de configuración no se cargará en la ejecución del servicio.

Tiempo máximo de login

Bien, nos encontramos ahora con el tiempo máximo para introducir las credenciales, yo no creo que nadie que conozca las credenciales necesite más de 15 segundos para introducir una contraseña, si ésta es larga. Así que aconsejamos poner un tiempo entre 10 y 20 segundos. La directiva es 'LoginGraceTime' y a continuación el valor en segundos.

Esto es solo el comienzo

Si, esto es solo el comienzo, hay muchas más directivas y métodos que pueden interesarnos para fortificar nuestro servicio SSH, en siguientes artículos iremos destripando este maravilloso y bastante seguro protocolo.

 

=================================================- Configuración Servidor SSH en GNU/Linux (Parte I)Configuración Servidor SSH en GNU/Linux (Parte II)Configuración Servidor SSH en GNU/Linux (Parte III)Configuración Servidor SSH en GNU/Linux (Parte IV)Configuración Servidor SSH en GNU/Linux (Parte V)Configuración Servidor SSH en GNU/Linux (Parte VI)=================================================

 

2 comentarios:

  1. Interesante como siempre.Gracias por el aporte y espero ver que sacas con SSH.Saludos.

    ResponderEliminar
  2. [...] - Configuración Servidor SSH en GNU/Linux (Parte III) [...]

    ResponderEliminar