Conceptos básicos de seguridad en VPS
Los pasos esenciales para proteger tu servidor virtual de ataques y malware.
Tu VPS es tu servidor — la seguridad depende completamente de ti. La mayoría de las intrusiones no provienen de vulnerabilidades del proveedor, sino de software desactualizado, contraseñas débiles o código malicioso introducido a través de FTP, plugins o equipos locales comprometidos.
Cómo se comprometen los servidores habitualmente
-
CMS/plugins desactualizados Escáneres automatizados rastrean la web en busca de instalaciones de WordPress, Joomla, OpenCart, etc. con versiones antiguas o plugins vulnerables. Al encontrarlas → se inyecta código malicioso (iframes, redirecciones, mineros).
-
Credenciales FTP comprometidas Un malware en tu equipo local roba las credenciales FTP → el atacante inicia sesión y deposita código directamente en los archivos.
-
Manipulación del .htaccess Los atacantes reescriben el .htaccess para redirigir a los visitantes hacia sitios de phishing o malware, o para ejecutar scripts ocultos.
-
Archivos maliciosos subidos Archivos PHP disfrazados de imágenes se suben a
/uploads,/images, etc. → y se ejecutan al ser accedidos.
Medidas de seguridad fundamentales (aplícalas de inmediato)
-
Solo contraseñas fuertes y claves SSH
- Contraseña de root/admin: 16 o más caracteres aleatorios
- Deshabilita el acceso por contraseña en SSH — usa exclusivamente claves:
sudo nano /etc/ssh/sshd_config # Cambia o añade: PasswordAuthentication no PermitRootLogin prohibit-password # o no sudo systemctl restart ssh
-
Mantén todo actualizado Ejecuta a diario:
sudo apt update && sudo apt upgrade -y && sudo apt autoremove -y -
Permisos de archivo correctos
- Archivos: 644
- Carpetas: 755
- wp-config.php / configuration.php: 600
find /var/www/ -type f -exec chmod 644 {} \; find /var/www/ -type d -exec chmod 755 {} \;
-
Cortafuegos — permite solo lo necesario Ejemplo con UFW (22/SSH, 80/HTTP, 443/HTTPS):
sudo ufw allow OpenSSH sudo ufw allow 80/tcp sudo ufw allow 443/tcp sudo ufw enable sudo ufw status -
Fail2Ban — detén los ataques de fuerza bruta Instalación:
sudo apt install fail2ban -yFail2Ban bloquea automáticamente las IPs tras varios intentos de acceso fallidos (funciona sin configuración adicional para SSH).
-
Escáneres de malware y detectores de rootkits
- ClamAV — escáner de archivos:
sudo apt install clamav clamav-daemon -y sudo freshclam sudo clamscan -r /var/www- Rkhunter — detección de rootkits y malware:
sudo apt install rkhunter -y sudo rkhunter --update sudo rkhunter --check- Lynis — auditoría de seguridad:
sudo apt install lynis -y sudo lynis audit system -
Copias de seguridad — tu red de protección
- Copias de seguridad automatizadas diarias (no solo en el servidor — cópialas en local o en la nube)
- Prueba las restauraciones regularmente
- En caso de infección → restaurar una copia limpia es más rápido que una limpieza manual
Si tu sitio/servidor ya está comprometido
- Aísla — desactiva el sitio temporalmente (renombra index.php o bloquéalo mediante .htaccess)
- Cambia todas las contraseñas (FTP, admin del CMS, SSH, base de datos, panel de control)
- Realiza un escaneo (ClamAV + Rkhunter + revisión manual)
- Inspección manual:
- Archivos modificados recientemente:
find /var/www/tu_sitio/ -type f -mtime -7 -ls- Archivos PHP en carpetas de uploads/images:
find /var/www/tu_sitio/uploads/ -type f -iname "*.php"- Patrones de código sospechosos:
grep -ril "base64_decode\|eval\|gzinflate\|fromCharCode" /var/www/tu_sitio/ - Restaura desde una copia de seguridad limpia
- Actualiza el CMS, los plugins y los temas
- Revisa el .htaccess en busca de redirecciones e iframes
Ayuda
¿Tienes dudas o necesitas ayuda? Escríbenos a través del sistema de tickets — siempre estamos aquí para ayudarte!