Fortalecer un VPS Debian nuevo en diez minutos
Un VPS nuevo recibe su primer intento de fuerza bruta SSH a los pocos minutos de arrancar. Esta es la lista de comprobación corta y directa que cierra las puertas fáciles — claves, firewall, fail2ban, actualizaciones automáticas — antes de instalar nada más.
Actualizado: 2026-06-12

Observa el registro de autenticación de cualquier servidor nuevo y la radiación de fondo de internet aparece inmediatamente: bots de relleno de credenciales recorriendo diccionarios contra root, escáneres buscando vulnerabilidades del año pasado, rastreadores identificando lo que responde en el puerto 80. Nada de eso es personal y casi todo es automatizado, que es la buena noticia — los ataques automatizados se vencen con higiene básica, aplicada antes de desplegar tu carga de trabajo real. Esta guía es esa higiene, comprimida a diez minutos en Debian 12/13 (todo se aplica a Ubuntu con ediciones menores). Deliberadamente no es un marco de auditoría de 4.000 palabras: son las puertas que prueban los bots reales, cerradas en orden de importancia. Ejecútala en cada máquina que despliegues aquí, luego sigue con la VPN, el nodo o el servidor de correo para lo que viniste.
Lo que esta lista de comprobación omite deliberadamente
Port-knocking, paredes de sysctl para el endurecimiento del kernel, ajuste de SELinux/AppArmor, suites de detección de intrusiones — todas herramientas reales, ninguna de ellas prioridad del primer día en un VPS de propósito único, y varias son fáciles de configurar mal hasta provocar bloqueos. El 80/20 aquí es honesto: claves + sin contraseñas + denegación por defecto + parches automáticos detiene esencialmente todo el compromiso no dirigido. Añade la maquinaria pesada cuando tu modelo de amenaza nombre a un adversario que derrotaría lo básico — y si la privacidad a nivel de disco importa en tu modelo, recuerda que la capa KVM te permite ejecutar cifrado de disco completo dentro del guest.
Las copias de seguridad son parte de la seguridad
El endurecimiento reduce las probabilidades; las copias de seguridad limitan el daño. Las instantáneas semanales están incluidas en todos los planes aquí, pero las instantáneas viven con el servidor — para cualquier cosa que no puedas perder, empuja también copias cifradas fuera del sitio: restic o borg a una segunda máquina (un Pup de 3,50 $ en otra región es un buen objetivo de copia de seguridad) cuesta minutos de configuración. Prueba una restauración una vez; una copia de seguridad no probada es una esperanza, no un plan.
- Inicia sesión una vez, actualiza todo
apt update && apt full-upgrade -y && rebootLas plantillas son instantáneas; la brecha entre la fecha de la instantánea y hoy es exactamente la ventana que sondean los escáneres. Parchea primero, reinicia al nuevo kernel, luego configura.
- Crea tu usuario e instala tu clave SSH
adduser ops && usermod -aG sudo ops mkdir -p /home/ops/.ssh && nano /home/ops/.ssh/authorized_keys # paste your ed25519 public key chmod 700 /home/ops/.ssh && chmod 600 /home/ops/.ssh/authorized_keys && chown -R ops:ops /home/ops/.sshGenera la clave en tu máquina local si no tienes una:
ssh-keygen -t ed25519. Pruebassh ops@tu-ipen una segunda terminal antes de continuar. - Bloquea sshd
Edita
/etc/ssh/sshd_config.d/hardening.conf:PermitRootLogin no PasswordAuthentication no KbdInteractiveAuthentication no MaxAuthTries 3 AllowUsers opsLuego
systemctl restart ssh— con tu sesión basada en claves confirmada funcionando primero. Las suposiciones de contraseña mueren aquí: no hay contraseña que adivinar. Mover el puerto a algo no estándar silencia el ruido en los logs pero es cosmético, no seguridad; hazlo por orden si quieres. - Levanta un firewall de denegación por defecto (nftables)
El firewall nativo de Debian, conjunto mínimo de reglas en
/etc/nftables.conf:table inet filter { chain input { type filter hook input priority 0; policy drop; ct state established,related accept iif lo accept tcp dport 22 accept icmp type echo-request limit rate 5/second accept icmpv6 type { echo-request, nd-neighbor-solicit, nd-neighbor-advert, nd-router-advert } accept } }systemctl enable --now nftables. Abre puertos adicionales solo cuando despliegues los servicios que los necesitan — la guía de VPN abre 51820/udp, la guía de correo 25/465/993, etc. La denegación por defecto significa que un daemon de prueba olvidado queda inaccesible en lugar de provocar una brecha. - Añade fail2ban para el ruido restante
apt install -y fail2ban printf "[sshd] enabled = true maxretry = 4 bantime = 1h " > /etc/fail2ban/jail.d/ssh.local systemctl enable --now fail2banCon las contraseñas ya desactivadas esto es defensa en profundidad más higiene de logs — los reincidentes son bloqueados en el firewall en lugar de llenar tu registro de autenticación.
- Activa las actualizaciones automáticas de seguridad
apt install -y unattended-upgrades dpkg-reconfigure -plow unattended-upgradesEl equipo de seguridad de Debian ahora parchea tu servidor mientras duermes. La línea de mayor valor de esta página medida por pulsación de tecla: la mayoría de los compromisos reales explotan parches que existían desde hacía meses.
- Verificación de dos minutos
Confirma la postura desde fuera:
ssh root@your-ip # must be refused nmap -p- your-ip # only 22 (and your service ports) open last -a; journalctl -u ssh -n 50 # familiarise yourself with normalOpcionalmente añade TOTP 2FA en tu cuenta VPSCrypto — el panel puede reconstruir o reimaginar el servidor, así que merece el mismo cuidado que root.
Preguntas frecuentes
¿Debería cambiar el puerto SSH?
Es control del ruido en logs, no seguridad — los escáneres encuentran puertos no estándar en segundos con masscan. Hazlo si los logs silenciosos te ayudan a notar anomalías reales; nunca lo cuentes como una capa de defensa. Las defensas reales son la autenticación solo con claves y MaxAuthTries.
¿Necesito fail2ban si las contraseñas están desactivadas?
Estrictamente no para SSH — no hay nada que atacar por fuerza bruta. Permanece en la lista porque también cubre otros servicios que puedes añadir más tarde (correo, paneles) y mantiene los logs legibles. Omítelo en una máquina minimalista si prefieres.
¿Es necesario un firewall en el VPS cuando el host tiene protección DDoS?
Resuelven problemas diferentes. La mitigación DDoS en sentido ascendente absorbe las inundaciones; tu política nftables controla qué servicios son accesibles en absoluto. La denegación por defecto trata sobre el daemon que olvidaste, no sobre los gigabits.
¿Qué hay de Ubuntu en lugar de Debian?
Todo aquí se aplica; Ubuntu incluye ufw como interfaz más amigable (ufw default deny incoming; ufw allow 22/tcp; ufw enable) y activa unattended-upgrades por defecto en versiones recientes. El endurecimiento de sshd es idéntico.
¿Cómo me recupero si me quedo bloqueado?
Usa el acceso por consola en tu área de cliente — es independiente de sshd, así que puedes corregir una mala configuración o restaurar una instantánea. Por eso también pruebas la nueva configuración SSH en una segunda sesión antes de cerrar la primera.
Seguir explorando.
Despliega un VPS offshore en un minuto
Sin KYC, pago en cripto, todo NVMe. Elige un plan, paga con Monero o cualquier moneda principal y obtén root en unos 60 segundos.
