Un VPS recién estrenado es escaneado y sondeado en cuestión de minutos desde que entra en línea. La buena noticia: una hora de hardening ordenado detiene la inmensa mayoría de los ataques oportunistas. Esta es la checklist, en el orden que importa, para un servidor nuevo centrado en la privacidad.
1. Asegura SSH primero
Crea un usuario no root con sudo, añade tu clave pública y luego desactiva la autenticación por contraseña y el login de root en sshd_config (PasswordAuthentication no, PermitRootLogin no). El SSH solo con claves basta por sí solo para vencer la fuerza bruta de contraseñas, que es la mayor parte del ruido que golpea tu servidor. Reinicia SSH y confirma que una sesión nueva funciona antes de cerrar la actual.

2. Pon un firewall por delante
Deniega por defecto el tráfico entrante, permite solo lo que necesitas. Con ufw: deniega lo entrante, permite lo saliente, y luego abre tu puerto SSH y los puertos concretos de los servicios que ejecutas. Un firewall convierte «todo puerto abierto es un objetivo» en «solo existen las puertas que yo elegí», lo que reduce muchísimo la superficie de ataque.
3. Añade fail2ban
Instala fail2ban para vigilar los logs de autenticación y bloquear temporalmente las IP que fallan repetidamente. Incluso con SSH solo por claves, reduce el ruido en los logs y frena los intentos de fuerza bruta contra cualquier servicio que expongas. Los valores por defecto son sensatos; activa el jail de sshd y cualquier jail para los servicios que ejecutes.
4. Activa las actualizaciones de seguridad automáticas
Activa unattended-upgrades (Debian/Ubuntu) para que los parches de seguridad lleguen sin que tengas que acordarte. La forma más habitual, con diferencia, en que se comprometen los servidores es una vulnerabilidad conocida para la que ya había un parche disponible — automatizar las actualizaciones cierra esa ventana mientras duermes.
5. Reduce la superficie de ataque
Desinstala los servicios que no uses, ata los daemons de uso local a 127.0.0.1, y revisa qué está escuchando con ss -tlnp. Cada servicio a la escucha es un posible punto de entrada; cuantos menos ejecutes y expongas, menos hay que atacar. Después, configura copias de seguridad fuera del servidor para que un compromiso sea recuperable y no una catástrofe.
La hora, resumida
SSH solo con claves, un firewall que deniega por defecto, fail2ban, actualizaciones automáticas y una superficie de escucha mínima. Nada de esto es exótico, todo es rápido, y juntos detienen los ataques automatizados responsables de casi todos los compromisos reales. Hazlo antes de desplegar nada que importe.