Para proteger su alojamiento VPS, habilitar un firewall de host (UFW/FirewallD), endurecer SSH Con claves, desactive el acceso root y las contraseñas, mantenga actualizados el sistema operativo y los paquetes, aplique el principio de mínimo privilegio, instale fail2ban, programe copias de seguridad y instantáneas externas, supervise los registros y las alertas, y añada protección DDoS/WAF. Revise las configuraciones periódicamente, aplique parches rápidamente y pruebe las restauraciones de copias de seguridad.
Proteger un VPS no es una tarea que se realiza una sola vez, es un proceso continuo. En esta guía, le mostraré cómo proteger el alojamiento VPS con un enfoque práctico y paso a paso: configuración del firewall, SSH Refuerzo de la seguridad, copias de seguridad automatizadas, monitorización y mejores prácticas del sector.
El objetivo es sencillo: reducir la superficie de ataque, detectar las amenazas con antelación y recuperarse rápidamente si algo sale mal.
¿Qué es la seguridad de un VPS y por qué es importante?
La seguridad de un VPS es el conjunto de controles que protegen su servidor virtual privado contra el acceso no autorizado, la pérdida de datos y el tiempo de inactividad.

Los atacantes automatizan escaneos en busca de puertos abiertos, contraseñas débiles, software obsoleto y aplicaciones mal configuradas. Una configuración segura de alojamiento VPS minimiza el riesgo al separar las funciones, limitar los puntos de entrada y crear copias de seguridad y monitoreo confiables.
Lista de verificación rápida de seguridad para VPS (Empiece aquí)
- Actualiza el sistema operativo y los paquetes inmediatamente.
- Habilite un cortafuegos (UFW/FirewallD/CSF) y permita únicamente los puertos necesarios.
- Crear SSH clavesDeshabilitar el inicio de sesión como root y desactivar la autenticación por contraseña.
- Instalar fail2ban para bloquear los intentos de fuerza bruta.
- Programe copias de seguridad automatizadas externas y instantáneas del proveedor.
- Habilitar las actualizaciones de seguridad automáticas.
- Servicios de auditoría; elimine o desactive lo que no utilice.
- Reforzar la pila web (Nginx/Apache, PHP, base de datos) y establecer los permisos de archivo adecuados.
- Configurar la monitorización, las alertas y la revisión de registros.
- Agregue protección DDoS/WAF para sitios o API accesibles al público.
Configurar un firewall VPS (UFW, FirewallD, CSF)
Un firewall de host es su primera línea de defensa. Permita solo los puertos que necesita (normalmente SSH, HTTP/HTTPS) y descarta todo lo demás.
UFW (Ubuntu/Debian)
# Update first
sudo apt update && sudo apt -y upgrade
# Default policies
sudo ufw default deny incoming
sudo ufw default allow outgoing
# Allow SSH (adjust port if changed)
sudo ufw allow 22/tcp comment 'SSH'
# Allow web
sudo ufw allow 80,443/tcp comment 'Web'
# Rate-limit SSH to slow brute-force
sudo ufw limit 22/tcp
# Enable and check
sudo ufw enable
sudo ufw status verboseCortafuegos D (AlmaLinux/Rocky/RHEL)
sudo dnf -y update
# Allow needed services
sudo firewall-cmd --permanent --add-service=ssh
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
# Apply
sudo firewall-cmd --reload
sudo firewall-cmd --list-allSi necesita un control más preciso (limitación de velocidad, bloqueo por país), considere usar CSF o directamente iptables/nftables. Mantenga las reglas simples y auditables.
Endurecer SSH Acceso
La mayoría de las brechas de seguridad de VPS involucran SSHSustituya las contraseñas por claves, desactive el inicio de sesión como superusuario y reduzca el ruido cambiando el puerto predeterminado.
Crear SSH Claves y copia al servidor
# On your local machine
ssh-keygen -t ed25519 -a 100 -C "[email protected]"
ssh-copy-id -i ~/.ssh/id_ed25519.pub user@server_ipSeguro SSH demonio
sudo nano /etc/ssh/sshd_config
# Recommended options
Port 2222
PermitRootLogin no
PasswordAuthentication no
PubkeyAuthentication yes
ChallengeResponseAuthentication no
UsePAM yes
AllowUsers user1 user2
# Apply changes
sudo systemctl reload sshdCambiando el SSH El puerto no es la solución definitiva, pero reduce el ruido de los bots. Nunca confíes únicamente en la oscuridad; las claves y el principio de mínimo privilegio son más importantes.
Instalar Fail2ban para Brute Protección de fuerza
# Ubuntu/Debian
sudo apt install -y fail2ban
# Basic jail
sudo tee /etc/fail2ban/jail.local >/dev/null <<'EOF'
[sshd]
enabled = true
port = 2222
maxretry = 5
bantime = 1h
findtime = 10m
EOF
sudo systemctl enable --now fail2ban
sudo fail2ban-client status sshdMantenga el software actualizado y minimice la superficie de ataque.
El software sin parchear es un objetivo fácil de solucionar. Automatice las actualizaciones de seguridad y elimine todo lo que no necesite.
Habilitar las actualizaciones de seguridad automáticas
# Ubuntu/Debian
sudo apt install -y unattended-upgrades
sudo dpkg-reconfigure -plow unattended-upgrades
# AlmaLinux/Rocky/RHEL
sudo dnf install -y dnf-automatic
sudo sed -i 's/apply_updates = no/apply_updates = yes/' /etc/dnf/automatic.conf
sudo systemctl enable --now dnf-automatic.timerReduzca los servicios y bloquee el sistema.
- Desinstale los paquetes que no utilice, detenga y desactive los servicios innecesarios.
- Utilice SELinux (familia RHEL, mantenga la configuración de aplicación) o AppArmor (Ubuntu) para restringir los procesos.
- Prefiera los servicios que no sean de administrador; utilice usuarios del sistema y políticas de sudo estrictas.
- Rote los registros y establezca un período de retención adecuado; envíe los registros críticos a un sistema remoto o SIEM.
Copias de seguridad, instantáneas y recuperación ante desastres
La seguridad incluye la recuperación. Siga la regla 3-2-1: tres copias de sus datos, en dos soportes diferentes y una fuera de las instalaciones. Combine las instantáneas del proveedor con las copias de seguridad externas para mayor resiliencia.
Qué respaldar y con qué frecuencia
- Archivos: /etc, directorios raíz web (/var/www), datos de la aplicación, scripts personalizados.
- Bases de datos: Utilice instantáneas consistentes (por ejemplo, mysqldump con –single transaction).
- Frecuencia: Incrementos diarios + retención semanal/mensual; alinearse con su RPO/RTO.
- Realice pruebas de restauración trimestralmente; una copia de seguridad que no haya probado supone un riesgo.
Ejemplos prácticos de copias de seguridad (rsync, Borg, Restic)
# Rsync files to a remote backup server
rsync -aHAX --delete /var/www/ backupuser@backup-host:/backups/server01/www/
rsync -aHAX --delete /etc/ backupuser@backup-host:/backups/server01/etc/
# Dump and compress a MySQL/MariaDB database
mysqldump --single-transaction -u root -p mydb | gzip > /backups/mydb-$(date +%F).sql.gz
# Cron example (daily at 2:15)
15 2 * * * /usr/bin/rsync -aHAX --delete /var/www/ backupuser@backup-host:/backups/server01/www/# Borg (deduplicated, encrypted backups)
borg init --encryption=repokey-blake2 backupuser@backup-host:repo
borg create -v --stats --compression lz4 backupuser@backup-host:repo::'{now}' /etc /var/www
borg prune -v --keep-daily=7 --keep-weekly=4 --keep-monthly=6 backupuser@backup-host:repo# Restic to S3-compatible storage
export RESTIC_REPOSITORY="s3:s3.amazonaws.com/your-bucket"
export RESTIC_PASSWORD="change-me"
export AWS_ACCESS_KEY_ID=xxx
export AWS_SECRET_ACCESS_KEY=yyy
restic init
restic backup /etc /var/www
restic forget --prune --keep-daily 7 --keep-weekly 4 --keep-monthly 6Monitoreo, registro y detección de intrusiones
Las amenazas ocurren. Detectarlas a tiempo y responder con rapidez.
- Monitoreo del sistema: tiempo de actividad CPU/RAM/alertas de disco (Netdata, Prometheus o monitorización del proveedor).
- Revisión del registro: Utilice Logwatch o goaccess para los registros web; reenvíe los registros críticos fuera del servidor.
- Detección de intrusos: AIDE para la integridad de archivos; Wazuh/OSSEC para sistemas de detección de intrusiones basados en el host.
- Alertas por correo electrónico/Slack: fracasado SSH Inicios de sesión fallidos, disco casi lleno, servicios caídos.
Lea también: Monitoreo y seguridad de Kubernetes en servidores Linux
Ataques DDoS y fortalecimiento de la red
Los servidores públicos deben prepararse para ataques volumétricos y a la capa de aplicación.
- Utilice una CDN/WAF (por ejemplo, Cloudflare) para absorber ataques DDoS y filtrar el tráfico malicioso.
- Límite de velocidad o limitación por IP en el proxy inverso (Nginx/Apache) para los puntos finales de inicio de sesión.
- Aplique ajustes seguros de sysctl para TCP y el manejo de paquetes.
# Basic sysctl hardening (Linux)
sudo tee /etc/sysctl.d/99-security.conf >/dev/null <<'EOF'
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_max_syn_backlog = 4096
net.ipv4.conf.all.rp_filter = 1
net.ipv4.ip_forward = 0
kernel.randomize_va_space = 2
EOF
sudo sysctl --systemEndurecimiento a nivel de aplicación (web, PHP, Base de datos)
Consejos para servidores web (Nginx/Apache)
- Servir solo HTTPS (TLS gratuito a través de Let's Encrypt), redirigir HTTP a HTTPS.
- Agregar encabezados de seguridad: HSTS, X-Frame-Options, X-Content-Type-Options, Referrer-Policy, CSP.
- Deshabilitar directorio Listado y puntos finales sensibles.
# Nginx snippet for headers (adjust CSP for your app)
add_header X-Frame-Options "SAMEORIGIN" always;
add_header X-Content-Type-Options "nosniff" always;
add_header Referrer-Policy "strict-origin-when-cross-origin" always;
add_header Content-Security-Policy "default-src 'self' https:" always;PHP y seguridad en tiempo de ejecución
- Ejecutar PHP-FPM como usuario no root; aislar los grupos por aplicación si es posible.
- Desactive las funciones peligrosas cuando no sean necesarias y limite su uso. cargas de archivos.
- Mantén Composer y sus dependencias actualizados; evita los plugins obsoletos.
# php.ini example adjustments
expose_php = Off
file_uploads = On
upload_max_filesize = 10M
post_max_size = 12M
disable_functions = exec,passthru,shell_exec,system,proc_open,popen,show_sourceSeguridad de la base de datos
- Vincular a localhost si la base de datos solo la utilizan las aplicaciones locales.
- Cree usuarios de base de datos independientes para cada aplicación con privilegios mínimos.
- Utilice contraseñas seguras y únicas, y cámbielas periódicamente.
# MySQL/MariaDB (my.cnf)
[mysqld]
bind-address = 127.0.0.1WordPress en un VPS: Consejos específicos
- Habilita las actualizaciones automáticas del núcleo y de los complementos, si es posible; evita los temas demasiado pesados.
- Utilice un proveedor de confianza complemento de seguridad (por ejemplo, Wordfence) para cortafuegos y escaneos a nivel de aplicación.
- Establezca la propiedad y los permisos adecuados.
# Common permissions (adjust user/group to your stack)
sudo chown -R www-data:www-data /var/www/html
find /var/www/html -type d -exec chmod 755 {} ;
find /var/www/html -type f -exec chmod 644 {} ;Control de acceso y gestión de secretos
- Utilice sudo con privilegios mínimos; evite iniciar sesión como root.
- Autenticación de dos factores para SSH La combinación de PAM y TOTP en las cuentas de administrador añade una capa de seguridad robusta.
- Mantén los secretos fuera de los repositorios; usa variables de entorno o una bóveda (HashiCorp Vault, AWS Secrets Manager).
- Cambie las claves API y las contraseñas periódicamente; revoque el acceso rápidamente cuando haya cambios de personal.
Auditoría y automatización de la seguridad
- Auditoría de referencia: Ejecuta Lynis para obtener un informe de endurecimiento útil.
- Codifique su proceso de endurecimiento con Ansible/Chef utilizando roles de "endurecimiento" de la comunidad.
- Alinear con los estándares comunes (CIS) siempre que sea posible.
# Lynis quick audit
sudo apt install -y lynis || sudo dnf -y install lynis
sudo lynis audit systemCuándo tiene sentido usar un VPS administrado
Si el tiempo de actividad es crítico y no tiene tiempo para el mantenimiento de la seguridad, manageUn VPS merece la pena. At YouStable, nuestros manageplanes VPS Incluimos firewalls reforzados, actualizaciones proactivas, análisis de malware, protección contra ataques DDoS y copias de seguridad externas automatizadas, además de soporte experto para auditar su infraestructura y ayudarle a superar las auditorías de cumplimiento. Usted se centra en el crecimiento; nosotros nos encargamos de la infraestructura de seguridad.
Preguntas Frecuentes
¿Qué debo hacer primero después de crear un nuevo VPS?
Actualiza el SO, crear un usuario sudo, configurar SSH claves, deshabilitar inicios de sesión de root y contraseña, y habilitar un firewall que permita solo SSH y puertos web. Luego, instale fail2ban y programe copias de seguridad. Esta secuencia elimina de inmediato las vías de ataque más comunes.
¿Está cambiando el? SSH ¿Puerto necesario?
Es útil para reducir el ruido de los bots, pero no es estrictamente necesario. La protección real proviene de la autenticación basada en claves, deshabilitando el acceso de root y las contraseñas, y utilizando fail2ban. Si realiza algún cambio, documente el puerto y actualice las reglas de su firewall.
¿Con qué frecuencia debo hacer copias de seguridad de mi VPS?
Base la frecuencia de las copias de seguridad en su Objetivo de Punto de Recuperación (RPO). Para la mayoría de los sitios, las copias incrementales diarias y la retención semanal/mensual funcionan bien, además de las instantáneas bajo demanda antes de cambios importantes. Pruebe siempre las restauraciones para asegurarse de que las copias de seguridad sean utilizables.
¿Es suficiente con UFW/FirewallD, o necesito un WAF?
Un firewall de host bloquea los puertos no deseados (capa de red). Un WAF filtra el tráfico HTTP malicioso (capa de aplicación). Para sitios web públicos, combine ambos: UFW/FirewallD en el servidor y una CDN/WAF (como Cloudflare) delante de su sitio para una defensa en profundidad.
¿Debería elegir una? managed o unmanage¿y VPS?
Si tienes experiencia en Linux y tiempo para mantener la seguridad,managed puede ser rentable. Si prefiere parches garantizados, monitoreo, copias de seguridad y ayuda experta, un managed VPS (como YouStable, manageLos planes d) reducen el riesgo y liberan a su equipo.
Conclusión
Seguro VPS es un ciclo continuo: endurecer, monitorear, hacer copias de seguridad y mejorar. Comience con lo esencial, cortafuegos, SSH clavesActualizaciones, fail2ban y copias de seguridad, y luego implementa medidas avanzadas como IDS, WAF y automatización. Documenta tu configuración, revísala trimestralmente y prueba tu plan de recuperación. Te lo agradecerás en el futuro.
