Guía práctica: limpieza y blindaje de un WordPress comprometido

Durante la primera semana de septiembre realizamos una intervención completa al sitio de maquita.fin.ec, tras detectar actividad sospechosa y posible malware en el servidor. Este artículo resume los pasos ejecutados, las medidas de seguridad implementadas y cómo dejamos el sitio más robusto frente a futuros ataques.

1. Detección inicial

  • Se encontraron archivos .php dentro de wp-content/uploads, lo cual no es normal.
  • Plugins de terceros mostraban uso de funciones peligrosas (base64_decode, eval, shell_exec).
  • Los plugins nulled (copias no oficiales) representaban un alto riesgo.

2. Limpieza

  • Eliminamos archivos maliciosos en /uploads con comandos find + rm.
  • Borramos carpetas residuales de plugins antiguos (wpcf7_uploads, wp-file-manager-pro, etc.).
  • Se revisaron los hits de grep para localizar patrones peligrosos.

3. Blindaje

  • Bloqueo de ejecución de PHP en uploads con reglas en .htaccess:
    <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{REQUEST_URI} ^/wp-content/uploads/.*\.php$ [NC]
    RewriteRule .* - [F,L]
    </IfModule>
    
  • Permisos restrictivos (chmod 444) para plugins inseguros, evitando su modificación.
  • Reconfiguración de permisos correctos para plugins confiables (w3-total-cache, wordpress-seo).
  • Propietario de archivos corregido con chown.

4. Monitorización automática

Se configuró un cron job en cPanel para revisar diariamente las carpetas críticas en busca de patrones sospechosos y enviar alertas por correo:

0 3 * * * grep -R --include="*.php" -E "base64_decode|shell_exec|eval|system|passthru" \
/home/maquitafin/public_html/wp-content/{plugins,uploads} | \
mail -s "ALERTA: posible malware en maquita" tu-correo@dominio.com

5. Próximos pasos

  • Evitar el uso de plugins nulled.
  • Actualizar regularmente WordPress y plugins.
  • Considerar la instalación de un firewall de aplicaciones (Wordfence o AIOS).
  • Monitorear logs y reforzar reglas en .htaccess.

Conclusión

Después de una semana de análisis, eliminación de archivos y refuerzo de seguridad, el sitio quedó limpio y con medidas de blindaje activas. Aunque ningún sistema es 100% invulnerable, ahora se cuenta con alertas proactivas, permisos controlados y mayor seguridad para prevenir intrusiones futuras.