Después de crear un nuevo servidor, hay algunos ajustes de configuración que debe realizar para fortalecer la seguridad de su servidor.
Crea un nuevo usuario
Como usuario root, tiene privilegios para hacer lo que quiera con el servidor, sin restricciones. Debido a esto, es mejor evitar usar la cuenta de usuario root para cada tarea en su servidor. Comencemos por hacer un nuevo usuario. Reemplace username
con el nombre de usuario deseado:
adduser username
Elija una nueva contraseña segura y responda las preguntas en consecuencia (o simplemente presione ENTER para usar el valor predeterminado).
Dar privilegios de usuario root
Las nuevas cuentas de usuario no tienen privilegios fuera de su carpeta de inicio y no se pueden ejecutar comandos que alterarán el servidor (como install
, update
, o upgrade
). Para evitar el uso de la cuenta raíz, le daremos al usuario privilegios de root. Hay dos formas de hacer esto:
Agregar usuario al grupo sudo
La manera fácil es agregar al usuario al sudo
grupo. Reemplace username
con el nombre de usuario deseado:
adduser username sudo
Esto agregará al usuario al grupo sudo
. Este grupo tiene el privilegio de ejecutar los comandos con acceso sudo.
Modificando el archivo sudoers
La otra forma es poner a su usuario en el sudoers
archivo. Si su servidor tiene múltiples usuarios con privilegios de root, entonces este enfoque es algo mejor porque si alguien se mete con el sudo
grupo, aún podrá ejecutar comandos con privilegios de root para trabajar en el servidor.
Primero, ejecuta este comando:
visudo
Esto abrirá el sudoers
archivo. Este archivo contiene las definiciones de grupos y usuarios que pueden ejecutar comandos con privilegios de root.
root ALL=(ALL:ALL) ALL
Después de esta línea, escriba su nombre de usuario y otórguele todos los privilegios de root. Reemplazar en username
consecuencia:
username ALL=(ALL:ALL) ALL
Guarde y cierre el archivo ( Ctrl + O y Ctrl + X en nano).
Probar tu nuevo usuario
Para iniciar sesión en su nueva cuenta de usuario sin logout
y login
simplemente llame:
su username
Pruebe los permisos de sudo con este comando:
sudo apt-get update
El shell le pedirá su contraseña. Si sudo se configuró correctamente, sus repositorios deberían actualizarse. De lo contrario, revise los pasos anteriores.
Ahora, cierre la sesión del nuevo usuario:
exit
La configuración de sudo está completa.
Asegurando SSH
La siguiente parte de esta guía implica asegurar el inicio de sesión ssh en el servidor. Primero, cambie la contraseña de root:
passwd root
Elige algo difícil de adivinar, pero que puedas recordar.
Clave SSH
Las claves SSH son una forma más segura de iniciar sesión. Si no está interesado en las claves SSH, pase a la siguiente parte del tutorial.
Use el siguiente documento de Vultr para crear una clave SSH: ¿Cómo genero claves SSH?
Después de obtener su clave pública , inicie sesión nuevamente con su nuevo usuario.
su username
Ahora haga el .ssh
directorio y el authorized_keys
archivo en el directorio de inicio de esa cuenta de usuario.
cd ~
mkdir .ssh
chmod 700 .ssh
touch .ssh/authorized_keys
Agregue la clave pública que generó del otro tutorial al authorized_keys
archivo.
nano .ssh/authorized_keys
Guarde el archivo, luego cambie los permisos de ese archivo.
chmod 600 .ssh/authorized_keys
Regresar al usuario root.
exit
Configuración SSH
Ahora haremos que el demonio SSH sea más seguro. Comencemos con el archivo de configuración:
nano /etc/ssh/sshd_config
Cambiar puerto de entrada SSH
Este paso cambiará el puerto utilizado para acceder al servidor, es completamente opcional pero recomendado.
Encuentra la línea con la Port
configuración, debería verse así:
Port 22
Ahora cambie este puerto a cualquier puerto que desee. Debe ser mayor que 1024.
Port 4422
Deshabilitar inicio de sesión ssh raíz
Este paso deshabilitará el inicio de sesión raíz a través de SSH, es completamente opcional pero muy recomendable .
Encuentra esta línea:
PermitRootLogin yes
... y cámbielo a:
PermitRootLogin no
Esto hará que el servidor sea más seguro contra los bots que prueban la fuerza bruta y / o las contraseñas comunes con el usuario root
y el puerto 22.
Deshabilitar X11 adelante
Este paso deshabilitará el reenvío X11, no haga esto si usa algún programa de escritorio remoto para acceder a su servidor.
Encuentra la línea X11:
X11Forwarding yes
... y cambia a:
X11Forwarding no
Reiniciar el demonio SSH
Ahora que realizamos los cambios para asegurar el inicio de sesión SSH, reinicie el servicio SSH:
service ssh restart
Esto reiniciará y volverá a cargar la configuración del servidor.
Probar cambios
Sin desconectar su sesión ssh actual, abra una nueva terminal o ventana PuTTY y pruebe otro inicio de sesión SSH.
ssh -p 4422 username@SERVER_IP_OR_DOMAIN
Si todo sale bien, hemos reforzado con éxito la seguridad de su servidor. ¡Disfrutar!