Un VPS nuevo recibe 1.000+ intentos de fuerza bruta SSH diarios de botnets. Esta configuración de 10 minutos los bloquea todos. Probada en Ubuntu 22.04/24.04 — el OS por defecto de Hostiger VPS Hosting.
1. Crear un usuario no-root (2 min)
adduser deploy
usermod -aG sudo deploy
mkdir -p /home/deploy/.ssh
chmod 700 /home/deploy/.ssh
# copia tu clave pública
echo "ssh-ed25519 AAAA... you@laptop" > /home/deploy/.ssh/authorized_keys
chmod 600 /home/deploy/.ssh/authorized_keys
chown -R deploy:deploy /home/deploy/.ssh
2. Deshabilitar login por contraseña y SSH root (2 min)
Edita /etc/ssh/sshd_config:
PermitRootLogin no
PasswordAuthentication no
PubkeyAuthentication yes
X11Forwarding no
ClientAliveInterval 300
Luego reinicia SSH — pero mantén la sesión actual abierta en otra terminal por si te bloqueas:
systemctl restart ssh
3. Habilitar el firewall ufw (1 min)
ufw default deny incoming
ufw default allow outgoing
ufw allow 22/tcp # SSH
ufw allow 80/tcp # HTTP
ufw allow 443/tcp # HTTPS
ufw enable
ufw status verbose
4. Instalar fail2ban (2 min)
Fail2ban vigila logs de autenticación y banea IPs tras intentos fallidos.
apt install fail2ban -y
cat > /etc/fail2ban/jail.local << EOF
[DEFAULT]
bantime = 24h
findtime = 10m
maxretry = 5
[sshd]
enabled = true
EOF
systemctl restart fail2ban
fail2ban-client status sshd
5. Actualizaciones automáticas de seguridad (2 min)
apt install unattended-upgrades -y
dpkg-reconfigure --priority=low unattended-upgrades
Responde "Sí" para habilitar. Solo las actualizaciones de seguridad se instalan automáticamente — nunca cambios de versión mayor.
6. Cambiar el puerto SSH por defecto (opcional, 1 min)
No aporta seguridad real pero reduce ruido de logs. En sshd_config:
Port 2222
Luego actualiza ufw: ufw allow 2222/tcp && ufw delete allow 22/tcp.
Verificar todo
ss -tlnp— solo debería mostrar servicios que esperasfail2ban-client status sshd— muestra "Currently failed" y "Total banned"ufw status— muestra tus puertos permitidos
Si la seguridad es alta prioridad, considera Servidores Dedicados Hostiger — aislamiento total de hardware sin hipervisor compartido.