OffshoreVps
Seguridad25 sept 20269 min de lecturaPor el equipo de OffshoreVps

Cómo proteger un VPS Linux nuevo en 15 minutos

Una lista de verificación de copiar y pegar para un VPS Ubuntu o Debian recién creado: claves SSH, un usuario sin privilegios de root, un cortafuegos, fail2ban, actualizaciones automáticas y monitorización básica.

Un VPS nuevo con una dirección IP pública empieza a recibir intentos de inicio de sesión automatizados a los pocos minutos. Nada de eso es personal; los bots simplemente escanean todas las direcciones. Unos pocos pasos básicos detienen casi todo. Esta lista asume un servidor recién instalado con Ubuntu 24.04 o Debian 12/13 y lleva unos quince minutos.

Ventana de terminal en un VPS que muestra los comandos usados para proteger un VPS nuevo, empezando por “apt update && apt full-upgrade -y”
El tipo de comandos que ejecutarás en tu servidor en esta guía.

1. Actualiza todo primero

apt update && apt full-upgrade -y
reboot

Vuelve a iniciar sesión tras el reinicio. Empieza siempre desde un sistema totalmente parcheado.

2. Crea un usuario no root

Trabajar siempre como root hace peligrosa cualquier errata. Crea un usuario normal con permisos de sudo:

adduser deploy
usermod -aG sudo deploy

3. Configura las claves SSH

En tu propio ordenador, crea un par de claves si no tienes uno y copia la mitad pública al servidor:

ssh-keygen -t ed25519 -C "my-vps"
ssh-copy-id deploy@YOUR_SERVER_IP

Abre un segundo terminal y confirma que puedes iniciar sesión como deploy con la clave antes de continuar. No cierres tu sesión original hasta que lo hayas hecho.

4. Desactiva el acceso por contraseña y como root

Edita la configuración del demonio SSH:

sudo nano /etc/ssh/sshd_config.d/99-hardening.conf

Pon estas líneas en el archivo:

PermitRootLogin no
PasswordAuthentication no
KbdInteractiveAuthentication no
PubkeyAuthentication yes
MaxAuthTries 3

Comprueba la sintaxis y recarga:

sudo sshd -t && sudo systemctl reload ssh

5. Activa un firewall

UFW es la opción más sencilla. Permite SSH primero y luego activa el firewall:

sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow OpenSSH
sudo ufw allow 80,443/tcp   # only if you run a web server
sudo ufw enable
sudo ufw status verbose

Abre puertos solo para los servicios que realmente ejecutes. Todo lo demás permanece cerrado por defecto.

Los pasos de esta guía en orden: 1. 1. Actualiza todo primero; 2. 3. Configura las claves SSH; 3. 5. Activa un cortafuegos; 4. 6. Añade fail2ban; 5. 8. Comprueba qué está escuchando; 6. Qué hacer después
Los pasos de esta guía, en orden.

6. Añade fail2ban

Fail2ban vigila los registros y bloquea temporalmente las direcciones que fallan repetidamente al iniciar sesión.

sudo apt install -y fail2ban
sudo systemctl enable --now fail2ban
sudo fail2ban-client status sshd

Los valores por defecto son adecuados para SSH. Como ya desactivaste las contraseñas, esto sobre todo reduce el ruido en los registros y el gasto inútil de CPU.

7. Activa las actualizaciones de seguridad automáticas

sudo apt install -y unattended-upgrades
sudo dpkg-reconfigure -plow unattended-upgrades

Esto instala los parches de seguridad automáticamente. Reinicia de vez en cuando para las actualizaciones del kernel, o deja que la herramienta lo haga en una hora tranquila.

8. Comprueba qué está escuchando

sudo ss -tulpn

Todo lo que escuche en 0.0.0.0 y que no esperabas merece investigarse. Los servicios pensados solo para uso local (bases de datos, cachés, paneles de administración) deben escuchar en 127.0.0.1.

9. Monitorización básica y copias de seguridad

  • Vigila los registros con journalctl -u ssh --since today de vez en cuando.
  • Comprueba los recursos con htop y df -h para que un disco lleno o un proceso descontrolado no te sorprenda.
  • Haz copias de seguridad. Haz una instantánea del servidor antes de cambios importantes y guarda una copia fuera del servidor de todo lo que no puedas recrear.

Qué hacer a continuación

Ahora tienes un servidor mucho más difícil de vulnerar que el predeterminado. A partir de aquí, mantén el software actualizado, ejecuta cada servicio como su propio usuario sin privilegios y expón solo lo que necesites. Si quieres un túnel privado hacia el servidor, nuestra guía sobre cómo configurar WireGuard es un buen siguiente paso.

Preguntas frecuentes

¿Qué debo hacer primero en un VPS nuevo?

Actualizar los paquetes, crear un usuario sin privilegios de root, cambiar a claves SSH, desactivar el acceso por contraseña y activar un cortafuegos.

¿Debo cambiar el puerto SSH?

Reduce el ruido en los registros, pero no es seguridad real. Las claves y un cortafuegos importan mucho más.