sshterminal 11zon

SSH (Secure Shell) es un protocolo ampliamente utilizado para acceder de forma segura a servidores y escritorios Linux a través de una conexión cifrada. Sin embargo, debido a su importancia y a la sensibilidad de los datos que se transmiten a través de él, es crucial proteger SSH contra posibles vulnerabilidades y ataques.

Aquí hay 10 consejos para ayudarte a fortalecer la seguridad de SSH en tu servidor o escritorio Linux:

1. Actualizar Regularmente

Mantén tu sistema operativo y el software relacionado con SSH actualizado con las últimas versiones y parches de seguridad. Las actualizaciones suelen incluir correcciones para vulnerabilidades conocidas que podrían ser explotadas por los atacantes.

2. Utilizar Claves SSH en lugar de Contraseñas

En lugar de depender de contraseñas, utiliza autenticación basada en claves SSH. Genera un par de claves pública y privada, y copia la clave pública en el archivo ~/.ssh/authorized_keys en el servidor. Esto mejora la seguridad y evita ataques de fuerza bruta.

3. Configurar un Firewall

Utiliza un firewall para restringir el acceso a SSH desde direcciones IP específicas o rangos de IP confiables. Esto ayuda a prevenir intentos de conexión no autorizados desde direcciones IP desconocidas.

4. Cambiar el Puerto por Defecto

Considera cambiar el puerto por defecto de SSH (puerto 22) a un número de puerto no estándar. Si bien esto no proporciona una seguridad adicional significativa, puede reducir el número de intentos de conexión automáticos realizados por bots maliciosos.

5. Limitar Acceso por Usuario

Restringe el acceso SSH solo a los usuarios que realmente lo necesitan. Utiliza la opción AllowUsers o DenyUsers en el archivo de configuración SSH (sshd_config) para especificar qué usuarios pueden o no pueden acceder al sistema a través de SSH.

6. Deshabilitar la Autenticación de Root

Desactiva la autenticación directa del usuario root a través de SSH. En su lugar, accede como un usuario regular y luego cambia al usuario root una vez que hayas iniciado sesión. Esto reduce el riesgo de ataques dirigidos directamente al usuario root.

7. Utilizar Auditoría de SSH

Habilita el registro de eventos de SSH para monitorear y registrar todas las actividades relacionadas con SSH. Esto puede ayudarte a identificar intentos de conexión no autorizados y otras actividades sospechosas.

8. Habilitar Autenticación de Dos Factores

Considera habilitar la autenticación de dos factores (2FA) para SSH. Esto agrega una capa adicional de seguridad al requerir no solo una contraseña o una clave SSH, sino también un segundo método de autenticación, como un código generado en un dispositivo móvil.

9. Configurar Tiempo de Sesión Inactiva

Establece un tiempo de sesión inactiva para desconectar automáticamente a los usuarios que no están utilizando SSH durante un período de tiempo especificado. Esto ayuda a prevenir la posibilidad de sesiones dejadas abiertas y sin supervisión.

10. Monitorizar y Mantener Logs

Monitoriza regularmente los registros de SSH en busca de actividad sospechosa o inusual. Realiza un análisis periódico de los registros y toma medidas inmediatas en caso de detectar cualquier indicio de intento de intrusión.

Aplique estas recomendaciones principales de inmediato al uso del SSH

1. Instalar fail2ban

Una de las primeras cosas que deberías hacer (especialmente en un servidor) es instalar fail2ban, que previene ataques maliciosos y de fuerza bruta de inicio de sesión y también puede utilizarse para monitorizar otros protocolos de red (como HTTP, SSH y FTP).

Con fail2ban, creas jaulas, que son configuraciones que le dicen al sistema qué hacer cuando ocurren ciertas cosas (como un intento fallido de inicio de sesión SSH). Los archivos jail (típicamente llamados jail.local) están alojados en /etc/fail2ban/ y pueden tener este aspecto:

[sshd]
enabled = true
puerto = ssh
filtro = sshd
logpath = /var/log/auth.log
maxretry = 3
tiempo de búsqueda = 300
bantime = 28800
ignoreip = 127.0.0.1

Puede instalar fail2ban en un sistema basado en Debian, con el siguiente comando:

sudo apt-get install fail2ban -y

En un sistema basado en Fedora, ese comando sería:

sudo dnf install fail2ban -y

2. Cambiar el puerto por defecto

Por defecto, SSH utiliza el puerto 22 para las conexiones entrantes. Esta conexión es de conocimiento común y puede traer problemas. En mis sistemas más importantes, siempre cambio el puerto a otro, como 2124. Es importante que cambies el puerto a algo que no esté siendo usado por otro sistema.

La configuración del puerto se establece en el archivo /etc/ssh/sshd_config y en la línea #Port 22.

Asegúrate de eliminar el carácter # y cambiar 22 por el puerto que quieras utilizar. Una vez que hayas hecho el cambio, recuerda reiniciar SSH con:

sudo systemctl restart ssh

En el caso de sistemas basados en Fedora, ese comando sería:

sudo systemctl restart sshd

3. Bloquee a los usuarios con contraseñas en blanco

Aunque probablemente no tengas usuarios en tu sistema con contraseñas en blanco, este consejo entra en la categoría de "más vale prevenir que curar". Si tienes un usuario con una contraseña en blanco, y un mal actor lo descubre, podría acceder a tu máquina con facilidad. Para evitar esa situación, abra el archivo /etc/ssh/sshd_config y busque la línea

#PermitEmptyPasswords no
Cambia esa línea por:

PermitEmptyPasswords no
Guarde y cierre el archivo y reinicie SSH.

4. Restringir el acceso a direcciones IP específicas

Otro truco muy útil es limitar el acceso SSH a direcciones IP específicas. Por ejemplo, si sólo tienes una persona que necesita acceder a una máquina, y su dirección IP es 192.168.1.11, puedes limitar el acceso SSH con la ayuda del archivo /etc/hosts.allow. Abre ese archivo con tu editor de texto favorito, como nano, y añade la siguiente línea al final:

sshd: 192.168.1.62, 192.168.1.11

Si tienes más de una dirección IP que quieres permitir, puedes añadir tantas como sea necesario, separando cada dirección con una coma, así:

sshd: 192.168.1.62, 192.168.1.11, 192.168.1.12, 192.168.1.13, 192.168.1.14

Guarda y cierra el archivo.

5. Utilizar la autenticación de claves SSH

La importancia de la autenticación de claves SSH no puede ser exagerada. Ya he mostrado en otro artículo cómo se configura esta técnica, así que asegúrate de leer ese artículo e implementar la táctica. En conjunción con fail2ban, la autenticación de claves SSH es una gran manera de prevenir inicios de sesión SSH no deseados.

Al implementar estos consejos, puedes fortalecer significativamente la seguridad de SSH en tu servidor o escritorio Linux, protegiendo tus datos y sistemas contra posibles amenazas y ataques cibernéticos. Recuerda que la seguridad es un proceso continuo, por lo que es importante revisar y actualizar regularmente tus medidas de seguridad para mantener la protección de tus sistemas.

 

Fuente: somoslibres

 

¿Quién está en línea?

Hay 30614 invitados y ningún miembro en línea