El acceso SSH (Secure Shell) es una herramienta crucial para la administración remota de servidores, permitiendo a los administradores de sistemas interactuar con el servidor de manera segura y realizar tareas de mantenimiento, configuración y gestión. Sin embargo, el acceso SSH también puede ser un vector de ataque si no se configura correctamente. Afortunadamente, CloudLinux ofrece características avanzadas que ayudan a proteger tu servidor y a mejorar la seguridad de las conexiones SSH.
En este artículo, te guiaremos a través del proceso de configuración del acceso SSH y cómo CloudLinux puede mejorar la seguridad de tu servidor.
1. Configurar el acceso SSH en tu servidor #
Antes de abordar cómo proteger el acceso SSH, es importante asegurarse de que SSH esté correctamente configurado en tu servidor. Sigue estos pasos para configurar el acceso SSH:
Paso 1: Verificar la instalación de OpenSSH #
Asegúrate de que el servicio OpenSSH esté instalado en tu servidor. En servidores basados en Linux, OpenSSH suele estar preinstalado. Si no lo está, puedes instalarlo con el siguiente comando:
sudo apt-get install openssh-server # En distribuciones basadas en Debian/Ubuntu
sudo yum install openssh-server # En distribuciones basadas en CentOS/RHELPaso 2: Configurar el archivo SSHD #
El archivo de configuración de SSH en Linux es /etc/ssh/sshd_config. Accede a este archivo para ajustar algunas configuraciones básicas:
sudo nano /etc/ssh/sshd_configAlgunas configuraciones clave que debes considerar son:
- Permitir solo autenticación con clave pública:
PasswordAuthentication noEsto deshabilita la autenticación con contraseña y obliga a usar clave pública para la autenticación SSH, lo cual es mucho más seguro.
- Deshabilitar el acceso al usuario root:
PermitRootLogin noEsto evita que el usuario root inicie sesión directamente a través de SSH, lo que reduce el riesgo de ataques de fuerza bruta.
- Cambiar el puerto SSH (opcional): Cambiar el puerto predeterminado (22) puede ayudar a reducir los intentos de ataques automatizados.
Port 2222 # O el puerto de tu elecciónPaso 3: Reiniciar el servicio SSH #
Después de realizar los cambios en el archivo de configuración, debes reiniciar el servicio SSH para aplicar los cambios:
sudo systemctl restart sshd2. Proteger el acceso SSH con CloudLinux #
Ahora que tienes SSH configurado correctamente, es hora de aplicar las medidas de seguridad adicionales que CloudLinux proporciona para proteger tu servidor.
1. Aislar los recursos con LVE (Lightweight Virtual Environment) #
LVE es una tecnología de CloudLinux que permite aislar los recursos del servidor entre los diferentes usuarios, evitando que un usuario con privilegios de SSH pueda sobrecargar el servidor o ejecutar procesos maliciosos. Esto es especialmente útil si tu servidor tiene varios usuarios y quieres asegurarte de que ninguno de ellos pueda comprometer el servidor entero a través de SSH.
Con LVE, puedes limitar el uso de CPU, memoria, y otras métricas para cada usuario, incluyendo aquellos que tienen acceso SSH. Esto agrega una capa de seguridad adicional al prevenir abusos.
2. Usar CageFS para proteger los usuarios del servidor #
CageFS es otra característica de CloudLinux que ayuda a mejorar la seguridad de los usuarios en el servidor al proporcionar un entorno virtualizado, aislado y seguro. Esto significa que incluso si un atacante compromete una cuenta en el servidor, el acceso se limita solo a los archivos de esa cuenta, sin la capacidad de afectar a otros usuarios o al sistema.
CageFS también es útil para proteger las sesiones SSH de usuarios limitados, asegurando que no puedan explorar ni modificar las configuraciones del servidor o acceder a archivos sensibles.
3. Monitorización de intentos de acceso SSH con Imunify360 #
Imunify360 es una herramienta de seguridad avanzada incluida en CloudLinux que ofrece protección proactiva contra intentos de ataque, incluidas las intentos de acceso SSH no autorizados.
Imunify360 monitorea continuamente los intentos de acceso SSH y puede bloquear automáticamente las IPs sospechosas que intenten acceder al servidor a través de contraseñas débiles o intentos de fuerza bruta. Además, Imunify360 proporciona un firewall avanzado que filtra las conexiones maliciosas antes de que puedan afectar a tu servidor.
4. Reforzar el acceso SSH con Two-Factor Authentication (2FA) #
El uso de autenticación de dos factores (2FA) puede agregar una capa adicional de seguridad a tu acceso SSH. Aunque CloudLinux no implementa 2FA directamente, puedes instalar herramientas como Google Authenticator para habilitar esta función en tu servidor.
La autenticación de dos factores requerirá que los usuarios ingresen un código adicional (que cambia periódicamente) además de su contraseña o clave SSH. Esto ayuda a prevenir accesos no autorizados incluso si un atacante obtiene la contraseña o clave SSH de un usuario.
5. Asegurar el acceso SSH con Fail2Ban #
Fail2Ban es una herramienta popular que puedes usar junto con CloudLinux para proteger el acceso SSH de tu servidor contra ataques de fuerza bruta. Fail2Ban monitorea los registros de acceso y bloquea las IPs que intentan iniciar sesión con credenciales incorrectas repetidamente.
Para instalar Fail2Ban en tu servidor:
sudo apt-get install fail2ban # En Debian/Ubuntu
sudo yum install fail2ban # En CentOS/RHELConfigura Fail2Ban para que observe los registros de SSH y bloquee las IPs maliciosas:
sudo nano /etc/fail2ban/jail.localAgrega o ajusta las siguientes líneas para activar la protección SSH:
[sshd]
enabled = true
port = ssh
logpath = /var/log/auth.log
maxretry = 3Reinicia Fail2Ban para aplicar la configuración:
sudo systemctl restart fail2ban3. Conclusión #
Configurar y proteger el acceso SSH es una de las medidas más críticas para la seguridad de tu servidor. Con CloudLinux, puedes añadir múltiples capas de protección, como LVE, CageFS, Imunify360, y otras herramientas para fortalecer la seguridad de las conexiones SSH y proteger tu servidor contra ataques.
Asegúrate de seguir las mejores prácticas, como deshabilitar el acceso SSH con contraseña, limitar el acceso a usuarios específicos, y usar autenticación de dos factores, para reducir el riesgo de acceso no autorizado.
Si tienes alguna pregunta o necesitas ayuda con la configuración de tu servidor y CloudLinux, no dudes en ponerte en contacto con nuestro equipo de soporte.