Asegura tu VPS: una lista de verificación para los primeros 10 minutos
Escrito por el equipo de ApexVPS · Última actualización: julio de 2026 · 9 min de lectura
Un VPS Linux nuevo es probado por bots automatizados en cuestión de minutos después de estar en línea, por lo que el primer movimiento más inteligente es seguir una lista de verificación para asegurar un VPS corta y repetible antes de instalar cualquier otra cosa. Esta guía es esa lista: una rutina práctica de primeros 10 minutos que puedes seguir en cualquier servidor Ubuntu o Debian nuevo para crear un usuario no root, bloquear SSH, activar un firewall y cerrar la puerta a los intentos de acceso por fuerza bruta. Todos los comandos a continuación son estándar y seguros de copiar, y ninguno necesita herramientas especiales: solo tu terminal y unos minutos.
Sigue los pasos en orden. Cada uno se basa en el anterior, y al final tendrás un servidor que es mucho más difícil de vulnerar que la imagen predeterminada con la que empezaste.
¿Por qué la prisa? El espacio IPv4 público se escanea continuamente. Los motores de búsqueda de dispositivos conectados a Internet, junto con innumerables botnets, catalogan nuevos hosts e intentan credenciales predeterminadas las 24 horas. La brecha entre "el servidor está en línea" y "el servidor está siendo atacado" se mide en minutos, no en días. Dedicar diez minutos concentrados a estos conceptos básicos te saca del grupo de objetivos fáciles del que se alimentan las herramientas automatizadas, y cuesta nada más que tu atención.
Antes de empezar
Necesitarás acceso SSH a tu nuevo servidor y la dirección IP que tu proveedor te envió por correo electrónico. En ApexVPS, todos los planes incluyen acceso root completo, por lo que puedes completar todo este proceso de endurecimiento por ti mismo. Abre una terminal y conéctate como root (o el usuario predeterminado que creó tu imagen):
ssh root@your_server_ip
Hay una regla que importa más que cualquier otra: nunca deshabilites un método de inicio de sesión hasta que hayas confirmado que el reemplazo funciona. Mantén tu primera sesión SSH abierta mientras pruebas una segunda. Si algo sale mal, esa sesión abierta es tu red de seguridad.
Paso 1: actualiza el sistema
El software parcheado es la base de toda lista de verificación de seguridad para VPS. Comienza actualizando el índice de paquetes e instalando las últimas correcciones de seguridad:
sudo apt update && sudo apt upgrade -y
En una imagen nueva, esto suele traer docenas de actualizaciones, incluidos parches del kernel y de OpenSSH. Si el kernel se actualiza, planea un reinicio con sudo reboot una vez que el resto de la lista esté completa.
Paso 2: crea un usuario no root con sudo
Iniciar sesión directamente como root es arriesgado: un solo comando equivocado se ejecuta con privilegios ilimitados, y root es la primera cuenta que todo atacante intenta. Crea un usuario dedicado y concédele derechos administrativos a través de sudo en su lugar:
adduser deploy
usermod -aG sudo deploy
El primer comando crea la cuenta y solicita una contraseña; el segundo lo agrega al grupo sudo. Cambia deploy por el nombre que quieras. De ahora en adelante, iniciarás sesión como este usuario y solo te elevarás a root cuando un comando específico lo necesite.
Paso 3: configura la autenticación con clave SSH
Las contraseñas se pueden adivinar; las claves SSH, prácticamente no. Genera un par de claves Ed25519 moderno en tu máquina local (no en el servidor):
ssh-keygen -t ed25519 -C "[email protected]"
Acepta la ubicación predeterminada y, idealmente, establece una frase de contraseña. Luego copia la mitad pública a tu nuevo usuario en el servidor:
ssh-copy-id deploy@your_server_ip
Si ssh-copy-id no está disponible, crea el directorio y el archivo manualmente en el servidor, pega tu clave pública en ~/.ssh/authorized_keys y corrige los permisos:
mkdir -p ~/.ssh
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
Ahora abre una terminal nueva y confirma que puedes iniciar sesión sin contraseña: ssh deploy@your_server_ip. No continúes hasta que funcione; el siguiente paso depende de ello.
Paso 4: asegura SSH: deshabilita el inicio de sesión root y las contraseñas
Con el inicio de sesión por clave comprobado, desactiva las opciones más débiles. Edita la configuración del demonio SSH:
sudo nano /etc/ssh/sshd_config
Establece (o descomenta y cambia) estas tres directivas:
PermitRootLogin no
PasswordAuthentication no
PubkeyAuthentication yes
Valida el archivo antes de aplicarlo y luego reinicia el servicio:
sudo sshd -t
sudo systemctl restart ssh
La comprobación sshd -t detecta errores tipográficos que podrían bloquearte. Después del reinicio, prueba una nueva conexión en otra terminal. El inicio de sesión root a través de SSH y la adivinación de contraseñas ya no son posibles.
Cambia el puerto SSH (opcional)
Mover SSH fuera del puerto 22 no detendrá a un atacante decidido, pero te oculta del ruido de fondo constante de los bots que solo escanean el puerto predeterminado. Si lo deseas, agrega una línea como Port 2222 a /etc/ssh/sshd_config. Es fundamental que abras el nuevo puerto en tu firewall (siguiente paso) antes de reiniciar SSH, o te quedarás bloqueado.
Paso 5: activa un firewall con UFW
Un firewall garantiza que solo los puertos que pretendes exponer sean accesibles. Ubuntu y Debian incluyen UFW (Uncomplicated Firewall), que cumple exactamente lo que promete. Establece un valor predeterminado sensato y permite SSH antes de habilitarlo:
sudo apt install ufw -y
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow OpenSSH
sudo ufw enable
sudo ufw status verbose
El perfil OpenSSH abre el puerto 22. Si moviste SSH en el paso anterior, permite el nuevo puerto con sudo ufw allow 2222/tcp. ¿Tienes un sitio web? Agrega HTTP y HTTPS:
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
Todo lo demás permanece cerrado por defecto, que es exactamente lo que quieres en un servidor público.
Paso 6: instala fail2ban para detener la fuerza bruta
Incluso con claves obligatorias, los atacantes seguirán atacando tu puerto SSH. fail2ban monitorea tus registros y bloquea temporalmente cualquier IP que falle demasiadas veces. Instálalo y actívalo:
sudo apt install fail2ban -y
sudo systemctl enable --now fail2ban
Para personalizar las reglas, copia la configuración por defecto a una sobrescritura local para que las actualizaciones nunca destruyan tus cambios, y luego edítala:
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
sudo nano /etc/fail2ban/jail.local
En la sección [sshd] puedes ajustar valores como maxretry y bantime. Recarga con sudo systemctl restart fail2ban y comprueba quién está actualmente en la lista de bloqueados usando sudo fail2ban-client status sshd.
Paso 7: Activa las actualizaciones automáticas de seguridad
Se descubren fallos de seguridad constantemente, y los que duelen son los parches que nunca aplicaste. El paquete unattended-upgrades instala automáticamente las actualizaciones importantes programadas:
sudo apt install unattended-upgrades -y
sudo dpkg-reconfigure -plow unattended-upgrades
Elige "Sí" cuando se te pregunte, y Ubuntu o Debian aplicarán las actualizaciones de seguridad en segundo plano. Este único paso cierra la brecha entre la divulgación de una vulnerabilidad y la protección de tu servidor.
Paso 8: Deshabilita servicios no utilizados y refuerzo básico
Cada servicio que escucha en la red es una posible vía de acceso, así que elimina todo lo que no necesites. Lista lo que realmente está en ejecución y lo que está vinculado a un puerto:
sudo systemctl list-units --type=service --state=running
sudo ss -tulpn
Si ves un servicio que no usas, deshabilítalo y detenlo:
sudo systemctl disable --now <service-name>
Algunas mejoras más rápidas completan la lista:
- Mantén el reloj preciso — las marcas de tiempo fiables hacen que tus registros sean confiables;
timedatectlconfirma que la sincronización horaria está activa. - Revisa el acceso sudo — solo las cuentas que realmente necesitan root deben estar en el grupo
sudo. - Lee tus registros —
sudo journalctl -u sshmuestra exactamente quién ha estado llamando a tu puerta.
Para una visión más profunda a nivel de marco, la Fundación OWASP publica guías de refuerzo y seguridad ampliamente respetadas que vale la pena marcar como favoritas a medida que tu configuración crezca.
Tu lista de verificación de 10 minutos de un vistazo
Guarda este resumen en un lugar práctico: es la rutina completa para asegurar una VPS en forma de lista, para que puedas repetirla en un par de minutos en cada nuevo servidor que implementes:
- Actualiza todos los paquetes y reinicia si el kernel cambió.
- Crea un usuario no root y añádelo al grupo
sudo. - Genera una clave SSH Ed25519 y copia la clave pública al servidor.
- Confirma que el inicio de sesión con clave funciona en una segunda terminal.
- Deshabilita el inicio de sesión root y la autenticación por contraseña en
sshd_config. - Opcionalmente, mueve SSH a un puerto no estándar.
- Activa UFW, deniega las conexiones entrantes por defecto y permite solo los puertos que uses.
- Instala fail2ban para bloquear automáticamente los intentos de fuerza bruta.
- Activa las actualizaciones de seguridad automáticas.
- Deshabilita los servicios no utilizados y revisa qué está escuchando.
Ninguno de estos pasos es difícil por sí solo, pero omitir cualquiera deja un vacío evidente. Realizados juntos forman una base sólida que detiene la gran mayoría de los ataques oportunistas. Desde aquí puedes añadir extras a medida que tus necesidades crezcan: un proxy inverso con TLS, una herramienta de detección de intrusiones, aislamiento por servicio con contenedores o una copia de seguridad externa además de las instantáneas del proveedor.
Cómo ApexVPS complementa tu refuerzo
La lista anterior refuerza el sistema operativo, pero algunas amenazas viven por debajo. Los ataques volumétricos y los fallos de hardware se manejan en la capa de infraestructura, y ahí es donde tu proveedor importa. Cada plan de ApexVPS incluye protección DDoS siempre activa, para que una avalancha de tráfico se absorba antes de que llegue a tu cortafuegos, además de copias de seguridad automatizadas: diarias en Starter Pro y por hora en Business y Enterprise, para que un error o compromiso nunca signifique empezar desde cero. El monitoreo las 24 horas y la CPU y RAM verdaderamente dedicadas significan que un vecino ruidoso no puede ni frenarte ni convertirse en tu problema.
Puedes ver el conjunto completo de protecciones en la descripción general de las funciones de ApexVPS y comparar lo que incluye cada nivel en la página de planes y precios de VPS. Si estás asegurando un servidor específicamente para ejecutar tus propias aplicaciones, nuestra guía de VPS para autoalojamiento complementa perfectamente esta lista. El registro es solo por correo electrónico y el pago se realiza únicamente en criptomonedas a través de OxaPay: Bitcoin, Ethereum, USDT y más de 30 monedas, sin tarjeta de crédito, sin cuenta bancaria y sin KYC.
Preguntas frecuentes
¿Cuál es lo primero que se debe hacer para asegurar un VPS nuevo?
Actualiza todos los paquetes con sudo apt update && sudo apt upgrade -y, luego crea un usuario sin privilegios de root con derechos de sudo para dejar de iniciar sesión como root. Estos dos pasos cierran las rutas de ataque más comunes y más dañinas antes de configurar cualquier otra cosa.
¿Debo cambiar el puerto SSH predeterminado?
Es opcional. Mover SSH fuera del puerto 22 reduce el volumen de escaneos automáticos en tus registros, pero no es seguridad real por sí solo: la autenticación basada en claves, un firewall y fail2ban hacen el trabajo pesado. Si cambias el puerto, abre el nuevo en UFW antes de reiniciar SSH para no quedarte bloqueado.
¿Todavía necesito un firewall si uso claves SSH?
Sí. Las claves SSH solo protegen el servicio SSH; un firewall como UFW controla todos los demás puertos de la máquina. Denegar todo el tráfico entrante por defecto y permitir solo los puertos que realmente usas es una parte fundamental de cualquier lista de verificación para asegurar un VPS, con o sin claves.
¿Es necesario fail2ban en un VPS?
Es muy recomendado. Incluso con los inicios de sesión por contraseña deshabilitados, los bots seguirán probando tu puerto SSH y saturando tus registros. fail2ban bloquea automáticamente a los infractores reincidentes, reduciendo el ruido y evitando la pequeña posibilidad de un ataque de fuerza bruta exitoso contra cualquier servicio.
¿ApexVPS incluye protección DDoS y copias de seguridad?
Sí. Todos los planes incluyen protección DDoS siempre activa y copias de seguridad automatizadas: diarias en Starter Pro y instantáneas por hora en Business y Enterprise, junto con monitoreo 24/7. Estos complementan el endurecimiento del sistema operativo al cubrir la capa de infraestructura que no puedes asegurar desde dentro del servidor.