La seguridad de un servidor Linux a través de Secure Shell (SSH) es un aspecto crucial para garantizar la integridad y confidencialidad de los datos en su servidor. En este artículo, abordaremos estrategias y prácticas esenciales para fortalecer la seguridad de su servidor Linux SSH, con un enfoque particular en el establecimiento de autenticación por clave y el uso de Fail2Ban. Nuestra experiencia en la gestión de servidores dedicados y VPS nos permite ofrecerle consejos fiables y probados.
 

Importancia de la seguridad SSH

SSH, o Secure Shell, es un protocolo que permite conectarse a un servidor de forma segura. Se utiliza ampliamente para administrar sistemas de forma remota, transferir archivos y gestionar redes. Sin embargo, un servidor SSH mal configurado puede ser una puerta abierta para ataques e intrusiones. Por eso, la seguridad de SSH es primordial.
 

Establecimiento de autenticación por clave

La autenticación por clave SSH ofrece una capa adicional de seguridad en comparación con la autenticación tradicional por contraseña. Se basa en el principio de criptografía asimétrica, utilizando un par de claves: una privada y una pública.

Pasos para configurar la autenticación por clave SSH:

Generación del par de claves: En su ordenador, utilice el comando ssh-keygen para generar un par de claves. Puede optar por proteger la clave privada con una contraseña para una mayor seguridad.

Transferencia de la clave pública: La clave pública debe colocarse en el servidor en el archivo ~/.ssh/authorized_keys. Esto se puede hacer manualmente o con el comando ssh-copy-id.

Configuración del servidor: En el archivo /etc/ssh/sshd_config del servidor, desactive la autenticación por contraseña modificando la línea PasswordAuthentication a no, y reinicie el servicio SSH.

 

Uso de Fail2Ban para protección contra ataques de Fuerza Bruta

Fail2Ban es una herramienta que analiza los archivos de registro en busca de signos de ataques de fuerza bruta y bloquea automáticamente las direcciones IP sospechosas.

Configuración de Fail2Ban:

Instalación: Instale Fail2Ban en su servidor (generalmente a través de un gestor de paquetes como apt o yum).

Configuración de los filtros: Configure las reglas en /etc/fail2ban/jail.local, especificando los criterios de detección y las acciones a tomar. Por ejemplo, puede definir el número de intentos de conexión fallidos permitidos antes de que una dirección IP sea bloqueada.

Monitoreo de los registros SSH: Asegúrese de que Fail2Ban esté monitoreando los intentos de conexión SSH configurando la sección [sshd] del archivo jail.local.

Prueba y activación: Después de la configuración, reinicie Fail2Ban y realice pruebas para asegurarse de que funcione como se espera.

 

Cambio del puerto SSH por defecto

Cambiar el puerto por defecto para las conexiones SSH (puerto 22) también puede ayudar a reducir los ataques automatizados. 

Para cambiar el puerto SSH:

Modifique la línea Port 22 en /etc/ssh/sshd_config por otro número de puerto.

Reinicie el servicio SSH para aplicar los cambios.

 

Actualizaciones y parches de seguridad

Es crucial mantener su sistema y software actualizados, especialmente para los componentes relacionados con SSH. Las actualizaciones de seguridad a menudo corrigen vulnerabilidades importantes.

 

Conclusión

La seguridad de su servidor Linux SSH requiere un enfoque multicapa. Al adoptar la autenticación por clave, utilizar herramientas como Fail2Ban, cambiar el puerto SSH por defecto y mantener su sistema actualizado, puede fortalecer significativamente la seguridad de su servidor.