Guía para eliminar malware de WordPress desde Plesk
¿Tu sitio web en WordPress ha sido infectado con malware? No entres en pánico. Es una situación más común de lo que piensas, y lo bueno es que, si tienes acceso a Plesk, puedes limpiarlo tú mismo sin necesidad de ser un experto en seguridad. Esta guía paso a paso está diseñada para usuarios sin experiencia técnica, usando herramientas que ya tienes en tu panel de control.
Aquí aprenderás a identificar los síntomas, aislar la infección, eliminar el malware de WordPress desde Plesk y, lo más importante, prevenir futuros ataques. Al final, responderemos las preguntas más frecuentes para que no te quede ninguna duda.
¿Por qué se infecta un WordPress? Síntomas comunes
Antes de actuar, es clave saber qué estás buscando. El malware en WordPress puede manifestarse de muchas formas:
- Redirecciones extrañas: Al entrar a tu web, eres llevado a sitios de spam o farmacias online.
- Anuncios emergentes: Aparecen ventanas publicitarias que tú no has puesto.
- Rendimiento lento: Tu web carga muy despacio porque el malware está usando recursos del servidor.
- Archivos sospechosos: En tu panel de archivos ves scripts con nombres como
wp-update.php,cgi-bin, o archivos con código ofuscado. - Enlaces ocultos: En el código fuente hay enlaces a sitios externos (esto se detecta con herramientas como VirusTotal o Sucuri SiteCheck).
- Problemas con Google: Tu web aparece marcada como "sitio engañoso" o "peligroso" en los resultados de búsqueda.
Si experimentas uno o varios de estos síntomas, es hora de actuar.
Preparación: Lo que necesitas antes de empezar
No te lances a eliminar archivos sin un plan. Sigue estos pasos previos:
- Haz una copia de seguridad completa. En Plesk, ve a Sitios web y dominios > tu dominio > Copias de seguridad. Crea una copia manual del sitio y la base de datos. Si algo sale mal, podrás restaurarlo.
- Cambia todas las contraseñas. Esto incluye: contraseña de WordPress (admin, usuarios), contraseña de la base de datos, contraseña de acceso a Plesk y contraseña de FTP. Usa contraseñas largas y únicas.
- Revisa los registros de acceso. En Plesk, ve a Sitios web y dominios > Registros. Busca peticiones extrañas a archivos como
wp-admin/admin-ajax.phpo intentos de login masivos. Esto te da pistas sobre cómo entró el malware.
[INFO] Si no te sientes seguro haciendo esto manualmente, existen plugins de seguridad como Wordfence o iThemes Security que pueden ayudarte, pero en esta guía nos enfocamos en la limpieza manual desde Plesk.
Paso 1: Aislar el sitio infectado
Para evitar que el malware se propague a otros sitios en tu servidor, es mejor poner tu web en modo mantenimiento mientras la limpias.
- En Plesk, ve a Sitios web y dominios > tu dominio.
- Activa Modo mantenimiento (a veces llamado "Modo de mantenimiento" o "Página de mantenimiento"). Esto muestra un mensaje a los visitantes mientras trabajas.
- También puedes añadir manualmente un archivo
.maintenanceen la raíz de WordPress con el contenido<?php $upgrading = time(); ?>. Esto detiene el acceso público.
[WARNING] No desactives el modo mantenimiento hasta que hayas terminado la limpieza y verificado que todo está bien.
Paso 2: Identificar y eliminar archivos maliciosos desde el Administrador de Archivos de Plesk
Aquí es donde empieza la limpieza real. Usaremos el Administrador de Archivos de Plesk, que es como un explorador de archivos dentro de tu panel.
- En Plesk, ve a Sitios web y dominios > tu dominio > Administrador de Archivos.
- Navega a la carpeta
httpdocs(opublic_html), que es la raíz de tu WordPress. - Busca archivos sospechosos. Los más comunes son:
- Archivos PHP con nombres extraños:
wp-update.php,wp-cache.php,cgi-bin.php,0x1.php, etc. - Archivos con extensión
.phpen carpetas que no deberían tenerlos, como/wp-content/uploads/o/wp-content/themes/. - Archivos ocultos (empiezan con un punto, como
.htaccessmalicioso). En el Administrador de Archivos, activa "Mostrar archivos ocultos".
- Archivos PHP con nombres extraños:
- No borres nada aún. Primero, descarga una copia de esos archivos sospechosos a tu computadora (por si necesitas analizarlos después). Luego, renómbralos añadiendo
.oldal final (ejemplo:wp-update.php.old). Si tu web deja de funcionar, sabrás que ese archivo era crítico y podrás restaurarlo. - Elimina los archivos maliciosos confirmados. Si estás seguro de que un archivo es malware (por ejemplo, tiene código ofuscado o enlaces a sitios extraños), bórralo definitivamente.
[TIP] Presta especial atención a la carpeta
/wp-content/uploads/. Los hackers suelen subir archivos PHP aquí porque creen que nadie los revisa.
Paso 3: Limpiar la base de datos
El malware no solo está en archivos; también puede inyectar código en tu base de datos. Por ejemplo, puede añadir enlaces ocultos en las entradas, páginas o comentarios.
- En Plesk, ve a Sitios web y dominios > tu dominio > Bases de datos.
- Selecciona tu base de datos de WordPress y haz clic en phpMyAdmin.
- Una vez dentro, selecciona la base de datos (a la izquierda).
- Busca en las tablas
wp_posts,wp_options,wp_commentsywp_postmeta(el prefijo puede ser diferente, comowpx_). - Ejecuta consultas SQL para encontrar contenido sospechoso. Por ejemplo:
- Para buscar enlaces extraños en entradas:
SELECT * FROM wp_posts WHERE post_content LIKE '%http://sitio-malicioso.com%'; - Para buscar scripts embebidos:
SELECT * FROM wp_posts WHERE post_content LIKE '%<script>%';
- Para buscar enlaces extraños en entradas:
- Si encuentras filas infectadas, puedes:
- Editar la entrada y eliminar manualmente el código malicioso.
- Eliminar la fila si es un comentario spam o un post vacío creado por el malware.
[WARNING] Ten cuidado al eliminar filas en
wp_options. Algunas opciones son críticas para el funcionamiento de WordPress. Si no estás seguro, mejor consulta a un experto.
Paso 4: Restablecer archivos principales de WordPress
Los hackers suelen modificar archivos del núcleo de WordPress para ocultar su malware. La forma más segura de limpiarlos es reemplazarlos con archivos originales.
- Descarga la última versión de WordPress desde wordpress.org.
- Descomprime el archivo en tu computadora.
- En Plesk, ve al Administrador de Archivos y sube los archivos de la carpeta
wp-adminywp-includes(sin incluirwp-content) a tu servidor, sobrescribiendo los existentes. - También puedes reemplazar los archivos
wp-config.phpy.htaccess(pero cuidado: el.htaccessoriginal puede tener reglas de seguridad que necesites conservar). Es mejor descargar una copia de tu.htaccessactual antes de reemplazarlo.
[TIP] No reemplaces la carpeta
wp-contentporque ahí están tus temas, plugins y subidas. Solo toca el núcleo.
Paso 5: Verificar y limpiar temas y plugins
El malware a menudo se esconde en temas y plugins, especialmente si están desactualizados o son nulled (versiones pirateadas).
- En tu panel de WordPress (si puedes acceder), ve a Apariencia > Temas y Plugins.
- Desactiva y elimina cualquier tema o plugin que no uses o que sea sospechoso.
- Si tienes un tema o plugin que necesitas pero sospechas que está infectado, descárgalo desde la fuente oficial (desarrollador o repositorio de WordPress) y sustitúyelo manualmente desde el Administrador de Archivos de Plesk.
- Busca en las carpetas de temas (por ejemplo,
/wp-content/themes/tu-tema/) archivos PHP que no deberían estar ahí, comofunctions.phpmodificado con código malicioso.
Paso 6: Revisar y limpiar el archivo .htaccess
El archivo .htaccess es un blanco común para los hackers porque puede redirigir el tráfico sin que te des cuenta.
- En el Administrador de Archivos de Plesk, localiza el archivo
.htaccessen la raíz de tu sitio (carpetahttpdocs). - Descárgalo y ábrelo con un editor de texto (como Notepad++).
- Busca líneas sospechosas, como:
RewriteRuleque redirijan a dominios extraños.SetEnvIfophp_valuecon código malicioso.- Líneas que bloqueen el acceso a archivos legítimos (como
wp-login.php).
- Si ves algo extraño, reemplaza el contenido con el
.htaccesspredeterminado de WordPress:# BEGIN WordPress <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] </IfModule> # END WordPress
Paso 7: Escanear con herramientas de seguridad
Una vez que hayas hecho la limpieza manual, es buena idea usar herramientas automáticas para asegurarte de que no quedó nada.
- Desde Plesk: Algunos paneles tienen extensiones de seguridad. Ve a Extensiones y busca "WordPress Toolkit" o "Security Scanner". Ejecuta un escaneo.
- Desde WordPress: Instala un plugin como Wordfence o iThemes Security y haz un escaneo completo.
- Servicios externos: Usa Sucuri SiteCheck (gratuito) o VirusTotal para escanear tu URL.
[INFO] Si el escaneo encuentra algo, repite los pasos 2 a 6 enfocándote en los archivos o bases de datos señalados.
Paso 8: Fortalecer la seguridad para evitar futuras infecciones
La limpieza es solo la mitad del trabajo. Ahora debes blindar tu sitio.
- Actualiza todo: WordPress, temas y plugins deben estar en su última versión. En Plesk, puedes usar WordPress Toolkit para actualizar todo con un clic.
- Cambia las contraseñas nuevamente después de la limpieza.
- Elimina usuarios inactivos y no uses el usuario "admin" (mejor crea uno con nombre único).
- Activa la autenticación de dos factores (2FA) en WordPress.
- Configura un firewall de aplicación web (WAF). Plesk tiene extensiones como ModSecurity que puedes activar.
- Deshabilita la edición de archivos desde el panel de WordPress añadiendo esta línea a
wp-config.php:define('DISALLOW_FILE_EDIT', true); - Haz copias de seguridad periódicas (diarias o semanales) desde Plesk.
[TIP] Si tu sitio es crítico, considera contratar un servicio de monitoreo de seguridad como Sucuri o Wordfence Premium.
Preguntas frecuentes (FAQ)
¿Cómo sé si mi WordPress tiene malware?
Usa herramientas como Sucuri SiteCheck, VirusTotal o el escáner de Wordfence. También busca síntomas como redirecciones, lentitud o archivos extraños en el Administrador de Archivos de Plesk.
¿Puedo limpiar el malware sin perder mis datos?
Sí, siguiendo esta guía. La clave es hacer una copia de seguridad antes y no eliminar archivos críticos como wp-config.php sin tener un respaldo.
¿Qué hago si no puedo acceder a mi WordPress?
Desde Plesk, puedes restablecer la contraseña de administrador en WordPress Toolkit o directamente en la tabla wp_users de la base de datos usando phpMyAdmin.
¿El malware puede afectar a otros sitios en el mismo servidor?
Sí, especialmente si están en el mismo hosting compartido. Por eso es importante aislar el sitio infectado (modo mantenimiento) y limpiarlo rápido.
¿Debo pagar por un servicio de limpieza profesional?
Si no te sientes cómodo con los pasos anteriores o la infección es muy grave (como un backdoor persistente), vale la pena contratar a un experto. Pero esta guía cubre el 90% de los casos comunes.
Conclusión
Eliminar malware de WordPress desde Plesk no es tan complicado como parece. Con un poco de paciencia y siguiendo estos pasos, puedes recuperar tu sitio web y dejarlo más seguro que antes. Recuerda: la prevención es clave. Mantén todo actualizado, usa contraseñas fuertes y haz copias de seguridad regulares.
Si en algún momento te sientes abrumado, no dudes en contactar al soporte de tu hosting o a un profesional de seguridad. ¡Tu sitio web merece estar limpio y protegido!
