Cómo asegurar tu VPS Linux: guía de seguridad básica para 2026

Cuando contratas un VPS Linux, tienes el control total del servidor. Eso es exactamente lo que lo hace tan potente, pero también implica una responsabilidad que no existe en el hosting compartido: la seguridad del entorno es tuya.

Un servidor mal configurado puede ser comprometido en cuestión de horas. Los bots que escanean internet en busca de servidores vulnerables no descansan. Esta guía cubre los pasos fundamentales para proteger un VPS Linux desde el primer día, sin necesidad de ser un experto en sistemas.

Antes de empezar: actualiza el sistema

El primer paso siempre es asegurarte de que el sistema está completamente actualizado. Muchos ataques explotan vulnerabilidades conocidas en versiones antiguas de software:

apt update && apt upgrade -y

En distribuciones basadas en Red Hat (AlmaLinux, Rocky Linux):

dnf update -y

Configura las actualizaciones de seguridad automáticas para que el sistema se parchee solo:

apt install unattended-upgrades -y
dpkg-reconfigure --priority=low unattended-upgrades

1. Cambiar el puerto SSH y deshabilitar el acceso root directo

El puerto 22 es el primero que escanean los bots de fuerza bruta. Cambiarlo por otro reduce drásticamente el ruido en los logs y los intentos de acceso automatizados.

Te recomendamos seguir nuestra guía detallada sobre cómo cambiar el puerto SSH en Linux para hacer este cambio de forma segura sin quedarte sin acceso.

En resumen, el proceso es:

nano /etc/ssh/sshd_config

Cambia o añade estas líneas:

Port 2222          # Elige un puerto no estándar entre 1024 y 65535
PermitRootLogin no # Deshabilita el login directo como root
PasswordAuthentication no # Desactiva contraseñas si usas claves SSH

Reinicia el servicio SSH:

systemctl restart sshd

Importante: No cierres tu sesión actual antes de abrir una nueva en el puerto nuevo para verificar que funciona. Si pierdes el acceso, necesitarás usar la consola VNC del panel de BlumHost.

2. Crear un usuario no-root para el trabajo diario

Trabajar siempre como root es un riesgo: cualquier error o comando malicioso se ejecuta con privilegios máximos. Crea un usuario normal con permisos sudo:

adduser tuusuario
usermod -aG sudo tuusuario

A partir de ahora, conéctate como ese usuario y usa sudo solo cuando lo necesites.

3. Usar autenticación por clave SSH en lugar de contraseña

Las contraseñas son vulnerables a ataques de fuerza bruta. Las claves SSH son criptográficamente mucho más seguras.

En tu ordenador local, genera un par de claves:

ssh-keygen -t ed25519 -C "tu@email.com"

Copia la clave pública al servidor:

ssh-copy-id -i ~/.ssh/id_ed25519.pub tuusuario@IP_DEL_VPS

Una vez verificado que puedes entrar con la clave, desactiva la autenticación por contraseña en /etc/ssh/sshd_config:

PasswordAuthentication no

4. Configurar el firewall UFW

UFW (Uncomplicated Firewall) es la forma más sencilla de gestionar el firewall en Ubuntu/Debian. La regla de oro es bloquear todo por defecto y abrir solo los puertos que necesitas:

apt install ufw -y# Política por defecto: denegar todo lo entrante, permitir todo lo saliente
ufw default deny incoming
ufw default allow outgoing# Abre solo los puertos que uses
ufw allow 2222/tcp # SSH (el puerto que hayas elegido)
ufw allow 80/tcp # HTTP
ufw allow 443/tcp # HTTPS# Activa el firewall
ufw enable
ufw status verbose

Si usas otros servicios (base de datos, servidor de correo, panel de control), añade sus puertos de forma específica. Nunca abras puertos innecesarios.

5. Instalar y configurar Fail2ban

Fail2ban monitoriza los logs del sistema y bloquea automáticamente las IPs que realizan demasiados intentos fallidos de acceso. Es especialmente efectivo contra ataques de fuerza bruta sobre SSH:

apt install fail2ban -y

Crea un archivo de configuración local para que no se sobreescriba en actualizaciones:

cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
nano /etc/fail2ban/jail.local

Ajusta la sección [sshd]:

[sshd]
enabled = true
port = 2222 # El puerto SSH que hayas elegido
filter = sshd
logpath = /var/log/auth.log
maxretry = 5 # Intentos fallidos antes del bloqueo
bantime = 3600 # Tiempo de bloqueo en segundos (1 hora)
findtime = 600 # Ventana de tiempo para contar intentos

Activa y arranca Fail2ban:

systemctl enable fail2ban
systemctl start fail2ban

Comprueba el estado y las IPs baneadas:

fail2ban-client status sshd

6. Deshabilitar servicios innecesarios

Cada servicio activo es una superficie de ataque potencial. Lista los servicios en ejecución y deshabilita los que no necesites:

systemctl list-units --type=service --state=running

Por ejemplo, si tu VPS solo sirve webs, no necesitas servicios como Bluetooth, CUPS (impresión) o similares. Desactívalos:

systemctl disable --now nombre_del_servicio

7. Monitorizar los logs del sistema

Los logs son la primera señal de que algo va mal. Acostúmbrate a revisarlos regularmente:

# Intentos de acceso SSH
journalctl -u sshd --since "1 hour ago"# Logs generales del sistema
journalctl -p err -b# Accesos web (si usas Nginx)
tail -f /var/log/nginx/access.log
tail -f /var/log/nginx/error.log

Para una monitorización más cómoda, puedes instalar herramientas como Logwatch o GoAccess (para logs web).

8. Configurar copias de seguridad

Ninguna medida de seguridad es infalible. Las copias de seguridad son tu red de seguridad definitiva.

En BlumHost, todos los VPS incluyen backups automáticos diarios en segunda ubicación. Eso significa que aunque ocurra algo grave en el datacenter principal, tus datos están protegidos en una infraestructura independiente.

Aun así, es recomendable configurar también backups propios para tener un control adicional:

# Instalar rsync para sincronización de archivos
apt install rsync -y# Ejemplo de backup de un directorio a otro servidor
rsync -avz /var/www/ usuario@backup-server:/backups/web/

También puedes usar herramientas más completas como BorgBackup o Restic para backups cifrados y comprimidos con retención configurable.

9. Protección Anti-DDoS en la capa de red

Más allá de la configuración del servidor, la protección Anti-DDoS debe empezar en la capa de red, antes de que el tráfico malicioso llegue a tu servidor.

Los VPS de BlumHost incluyen protección Anti-DDoS avanzada a nivel de infraestructura, lo que significa que los ataques volumétricos se filtran antes de alcanzar tu servidor. Puedes ver más detalles en nuestra página de servicios Anti-DDoS.

Resumen: checklist de seguridad para tu VPS

  • Sistema actualizado con parches de seguridad automáticos
  • Puerto SSH cambiado (no usar el 22)
  • Login root directo deshabilitado
  • Usuario no-root creado con sudo
  • Autenticación por clave SSH configurada, contraseñas desactivadas
  • Firewall UFW activo con solo los puertos necesarios abiertos
  • Fail2ban instalado y configurado para SSH
  • Servicios innecesarios deshabilitados
  • Monitorización de logs activa
  • Copias de seguridad automáticas configuradas

Seguir estos pasos no convierte tu servidor en invulnerable, pero sí elimina la gran mayoría de vectores de ataque comunes. Un VPS bien configurado es significativamente más difícil de comprometer que uno instalado con la configuración por defecto.

Si necesitas ayuda con la configuración de tu VPS, el equipo de soporte de BlumHost está disponible para asesorarte. Contacta con nosotros por ticket o WhatsApp.

¿Aún no tienes tu VPS? Consulta nuestros planes VPS NVMe en España, con Anti-DDoS incluido, backups en segunda ubicación y entrega automática.

Miguel Taboada

Ingeniero en Telecomunicaciones e Informática. Creé BlumHost para ofrecer un hosting distinto a los demás, que ofrezca la mejor atención al cliente, al menor precio y con la mejor calidad.

Ver todas las entradas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *