Es posible proteger de intentos de acceso externos un servidor VPS Linux estableciendo una contraseña segura para el usuario root, sin embargo sigue siendo posible el acceso mediante fuerza bruta.
Para evitar en la medida de lo posible este tipo de ataques, una de las prácticas recomendadas es bloquear el acceso del usuario root, realizar los accesos con algún usuario que no sea habitual, y una vez dentro cambiar al usuario root si fuera necesario.
Para poder hacer estos cambios es necesario acceder mediante SSH al servidor con el usuario root:
Información adicional
Puedes encontrar más información sobre el acceso por SSH a tu servidor en el artículo: Acceder por SSH a Linux
En este ejemplo vamos a emplear el usuario tester para realizar las conexiones una vez deshabilitado el usuario root para el acceso directo por SSH, pero es posible indicar cualquier nombre. Los pasos a seguir serían los siguientes:
Crear el usuario tester con el comando adduser:
# adduser tester
Especificar una contraseña para el usuario tester con el comando
passwd.
# passwd tester
Nota
Es posible probar que la conexión es correcta mediante el comando ssh desde el mismo servidor:
# ssh tester@ip.del.servidor
Modificar la variable de PermitRootLogin yes a PermitRootLogin no en el archivo de configuración de SSH. Este está ubicado normalmente en /etc/ssh/sshd_config:
# vi /etc/ssh/sshd_config
Reiniciar el servicio para aplicar los cambios.
Para CentOS:
# /etc/init.d/sshd restart
Para Debian/Ubuntu:
# /etc/init.d/ssh restart
Una vez realizados los pasos anteriores, el acceso mediante root a SSH no será posible, y tendrás que acceder con el usuario creado para, una vez dentro, cambiar a root mediante el comando su –.