Los primeros diez minutos en un VPS nuevo deciden en silencio mucho. Una IP pública nueva empieza a ser sondeada por bots automatizados casi de inmediato — no te apuntan a ti, simplemente lo escanean todo. No hagas nada y te fías de la suerte. Haz cuatro o cinco cosas pequeñas y has cerrado las puertas que de verdad se patean. Aquí está la lista, en orden de prioridad, con los comandos.
1. Claves SSH, y matar el login por contraseña
Esta es la que más importa. Si puedes iniciar sesión con una contraseña, también puede un bot que la adivine — y prueban miles por minuto.
Desde tu portátil, si aún no tienes una clave:
ssh-keygen -t ed25519 -C "you@laptop"
ssh-copy-id root@your-server-ip
Luego en el servidor, apaga las contraseñas:
# /etc/ssh/sshd_config.d/99-hardening.conf
PasswordAuthentication no
PermitRootLogin prohibit-password
sudo systemctl reload ssh
⚠️ Prueba una segunda sesión SSH antes de cerrar la primera — si el login por clave funciona, genial; si no, aún tienes la sesión abierta para arreglarlo. Bloquearte a ti mismo es el autogol clásico aquí.
2. Una firewall — denegar por defecto
Expón solo lo que pretendes. En Ubuntu/Debian:
sudo apt install -y ufw
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow OpenSSH # o tu puerto SSH
sudo ufw enable
Ahora un servicio perdido no puede ser alcanzado desde fuera a menos que lo abras. Esto atrapa la cosa que inevitablemente olvidarás.
Una nota para los planes tipo NAT: tu SSH aterriza en un puerto reenviado, no el 22, y no puedes abrir puertos entrantes arbitrarios — el aislamiento hace parte de este trabajo por ti. En un plan con IP dedicada posees todos los puertos, así que la firewall hace más trabajo.
3. Actualizaciones de seguridad automáticas
La mayoría de los servidores que son reventados no eran objetivos ingeniosos — ejecutaban un bug conocido que un parche ya había arreglado, en una máquina que nadie actualizó. Haz el parcheo automático:
sudo apt install -y unattended-upgrades
sudo dpkg-reconfigure -plow unattended-upgrades
Configurar-y-olvidar. Esta es la costumbre de mayor valor después de las claves SSH.
4. fail2ban (opcional, pero barato)
Con el login por contraseña ya apagado, la fuerza bruta no puede ganar — así que esto va de recortar ruido y banear IPs abusivas pronto en lugar de protección central:
sudo apt install -y fail2ban
sudo systemctl enable --now fail2ban
Vale la pena por los logs más silenciosos; sáltatelo sin culpa si mantienes las cosas al mínimo.
Lo que puedes saltarte
- Cambiar el puerto SSH — recorta el ruido de bots, no detiene a ningún atacante real. Cosmético. No lo confundas con seguridad.
- Afinado elaborado de IDS/SELinux — exceso para una máquina de un solo propósito que ejecuta un bot o un agente. Rendimientos decrecientes.
El resumen honesto
Si solo haces una cosa, haz claves SSH + sin login por contraseña. Añade la firewall y las auto-actualizaciones y has manejado la abrumadora mayoría del riesgo del mundo real en bastante menos de diez minutos. Todo lo demás es pulido.
¿Ejecutas un agente o bot siempre activo en la máquina? Combina esto con mantenerlo vivo bajo systemd para que sobreviva a los reinicios y los fallos, no solo a los atacantes.
Comentarios
Aún no hay comentarios. Sé el primero.