Introducción
Configurar un VPS correctamente es el primer paso para garantizar la seguridad y funcionalidad de cualquier proyecto web. En este tutorial, explicaremos cómo preparar un VPS con Ubuntu 24.04 LTS en Hetzner Cloud desde cero, cubriendo aspectos esenciales como la actualización del sistema, creación de usuarios, configuración de SSH y firewall.
Paso 1: Conexión al VPS como root
-
Conéctate al VPS utilizando el usuario
root
y tu clave SSH:ssh root@[vps.ip.address]
-
Si tienes más de una clave SSH en tu ordenador, especifica cuál usar:
ssh root@[vps.ip.address] -i ~/.ssh/[nombre-de-la-clave]
-
Al conectar por primera vez, acepta la autenticidad del servidor escribiendo
yes
y presionando Enter.
Paso 2: Actualización de paquetes del sistema
Una vez conectado, actualiza los paquetes para asegurar que el sistema esté al día:
apt update
apt upgrade -y
-
Si se requiere una actualización del kernel, reinicia el VPS con:
reboot
-
Después del reinicio, verifica que no haya actualizaciones pendientes:
ls /var/run/reboot-required
Paso 3: Protección del Servidor
Creación de un nuevo usuario
-
Crea un usuario:
adduser [nombre-usuario]
-
Asigna permisos de
sudo
al usuario:usermod -aG sudo [nombre-usuario]
-
Prueba el nuevo usuario saliendo del servidor y reconectándote:
ssh [nombre-usuario]@[vps.ip.address]
Configuración de una clave SSH para el nuevo usuario
-
Genera una clave SSH localmente. Sigue la guía de GitHub si no tienes experiencia.
-
Copia la clave al servidor:
ssh-copy-id -i ~/.ssh/[nombre-clave].pub [nombre-usuario]@[vps.ip.address]
-
Prueba que el inicio de sesión funcione sin contraseña:
ssh [nombre-usuario]@[vps.ip.address] -i ~/.ssh/[nombre-clave]
Desactivar el inicio de sesión con contraseña
-
Edita el archivo de configuración SSH:
sudo vim /etc/ssh/sshd_config
Cambia la línea
PasswordAuthentication
ano
(elimina el#
si está comentada). -
Reinicia el servicio SSH:
sudo service ssh restart
Deshabilitar el acceso root
-
Edita nuevamente el archivo de configuración SSH:
sudo vim /etc/ssh/sshd_config
Cambia la línea
PermitRootLogin
ano
. -
Reinicia SSH:
sudo service ssh restart
Paso 4: Configuración del Firewall
Activar y configurar UFW
-
Establece las políticas predeterminadas:
sudo ufw default allow outgoing
sudo ufw default deny incoming
-
Permite conexiones SSH:
sudo ufw allow ssh
sudo ufw limit ssh
-
Habilita el firewall:
sudo ufw enable
-
Verifica el estado del firewall:
sudo ufw status
Abrir puertos adicionales
Cuando necesites habilitar servicios como HTTP o HTTPS, abre los puertos correspondientes:
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
Conclusión
Con estos pasos, tu VPS estará configurado, actualizado y seguro. La combinación de usuarios limitados, claves SSH y un firewall configurado correctamente asegura que tu servidor esté protegido contra accesos no autorizados y listo para cualquier proyecto.