Un VPS recién entregado se escanea a los pocos minutos de estar en línea. No es paranoia: hay robots que barren permanentemente el espacio de direcciones en busca de un puerto 22 con contraseña débil. Esta es la lista que hay que recorrer antes que nada.
1. Cambiar la contraseña de root
El primer comando, antes incluso de instalar nada:
passwd
Una contraseña larga y única, generada por un gestor. Nada de variaciones del nombre de dominio.
2. Crear un usuario sin root
Trabajar como root de forma permanente convierte el menor error de tecleo en un incidente:
adduser artaun
usermod -aG sudo artaun
En Rocky o AlmaLinux, sustituye sudo por wheel.
3. Pasar a claves SSH
Es el cambio que aporta más seguridad con menos esfuerzo. Desde tu máquina:
ssh-keygen -t ed25519 -C "mi-equipo"
ssh-copy-id artaun@tu-ip
Prueba la conexión por clave en una segunda terminal antes de cerrar la primera. Un error aquí te deja fuera.
4. Desactivar el acceso por contraseña
En /etc/ssh/sshd_config:
PermitRootLogin no
PasswordAuthentication no
PubkeyAuthentication yes
Después systemctl restart ssh. A partir de ahí, los miles de intentos diarios por diccionario no tienen ninguna posibilidad.
5. Activar un cortafuegos
El principio es cerrarlo todo y abrir solo lo necesario:
ufw default deny incoming
ufw default allow outgoing
ufw allow OpenSSH
ufw allow 80,443/tcp
ufw enable
6. Instalar fail2ban
Bloquea automáticamente las direcciones que acumulan fallos de autenticación:
apt install fail2ban
systemctl enable --now fail2ban
La configuración por defecto ya protege SSH, que cubre lo esencial del riesgo.
7. Activar las actualizaciones de seguridad automáticas
apt install unattended-upgrades
dpkg-reconfigure --priority=low unattended-upgrades
Es la medida más rentable de toda la lista: la mayoría de las intrusiones explotan fallos corregidos hace meses.
8. Limitar los servicios expuestos
Comprueba qué escucha realmente en la red:
ss -tulpn
Una base de datos debería escuchar solo en 127.0.0.1. Un MySQL abierto en 0.0.0.0 es una invitación.
9. Montar tus propias copias de seguridad
Las copias del proveedor protegen la infraestructura, no los datos de tu aplicación. Instala restic o borg, programa una tarea diaria hacia un almacenamiento externo y — el punto esencial — prueba una restauración. Una copia nunca restaurada es solo una hipótesis.
10. Supervisar
Consulta con regularidad el espacio en disco, la memoria y la carga. Un disco al 100 % detiene un servicio con la misma seguridad que un ataque, y es mucho más frecuente.
Nuestra documentación de VPS Linux detalla cada paso comando a comando, con las variantes según la distribución.