Uno de los pasos básicos de fortalecimiento de SSH es deshabilitar el inicio de sesión SSH basado en contraseña.
Sabe que puede usar ssh con la contraseña raíz o de otra cuenta para iniciar sesión de forma remota en un servidor Linux.
Pero esto representa un riesgo de seguridad porque una gran cantidad de bots siempre intentan iniciar sesión en su sistema con contraseñas aleatorias. Esto se llama ataque de fuerza bruta.
¿No me crees? Puede verificar los inicios de sesión en su servidor Linux. Te sorprenderá ver tantos intentos fallidos en tu servidor.
[email protected]:~# lastb | tail
root ssh:notty 49.235.87.213 Wed Apr 1 06:25 - 06:25 (00:00)
root ssh:notty 95.128.137.176 Wed Apr 1 06:25 - 06:25 (00:00)
aw ssh:notty 36.108.175.68 Wed Apr 1 06:25 - 06:25 (00:00)
aw ssh:notty 36.108.175.68 Wed Apr 1 06:25 - 06:25 (00:00)
fx ssh:notty 113.88.164.53 Wed Apr 1 06:25 - 06:25 (00:00)
fx ssh:notty 113.88.164.53 Wed Apr 1 06:25 - 06:25 (00:00)
root ssh:notty 112.215.113.10 Wed Apr 1 06:25 - 06:25 (00:00)
root ssh:notty 152.32.173.74 Wed Apr 1 06:25 - 06:25 (00:00)
Es por eso que debe usar una contraseña segura. La forma correcta de lidiar con ellos es usar una herramienta como fail2ban. Otra forma es deshabilitar la autenticación basada en contraseña para que nadie pueda conectarse a través de la contraseña de inicio de sesión.
De esta forma, solo aquellos sistemas que tengan sus claves ssh públicas agregadas al servidor (llamadas autenticación basada en claves) podrán conectarse al servidor. Lea acerca de la configuración de ssh.
Deshabilitar autenticación de contraseña SSH
Antes de hacerlo, debe tener en cuenta lo siguiente:
- Asegúrese de crear su par de claves ssh en su computadora personal/del trabajo y agregue esta clave SSH pública al servidor para que al menos pueda iniciar sesión en el servidor.
- Deshabilitar la autenticación basada en contraseña significa que no puede ingresar a su servidor desde computadoras aleatorias.
- No debe perder sus claves ssh. Si formatea su computadora personal y pierde las claves ssh, nunca podrá acceder al servidor.
- Si está bloqueado, no podrá acceder a su servidor nunca.
Algunos proveedores de servidores en la nube como Linode y UpCloud brindan una consola VNC que aún podría ayudarlo.
Solo deshabilite la autenticación SSH basada en contraseña si está familiarizado con SSH y otros conceptos de administrador de sistemas. También debe saber cómo usar un editor de texto basado en terminal como Vim o Nano.
Bueno. Entonces, ahora conoce los riesgos asociados con deshabilitar los inicios de sesión SSH mediante contraseña. Veamos cómo hacerlo.
Inicie sesión como root en su servidor Linux utilizando autenticación basada en clave. Use un editor como Nano o Vim para editar el siguiente archivo:
/etc/ssh/sshd_config
Busque la siguiente línea:
PasswordAuthentication yes
Y cámbialo a:
PasswordAuthentication no
Si hay un # (significa comentado) al comienzo de esa línea, elimínelo.
Guarde el archivo después de realizar estos cambios y reinicie el servicio SSH con este comando:
systemctl restart ssh
Eso es todo. Ha deshabilitado con éxito la autenticación basada en contraseña en SSH.
Las preguntas y sugerencias son siempre bienvenidas.