Eliminar malware de un sitio en Plesk
¡Hola! Soy el técnico de soporte amigable. Si estás leyendo esto, probablemente te hayas encontrado con un problema muy molesto: tu sitio web ha sido infectado con malware. No te preocupes, es más común de lo que crees y, sobre todo, tiene solución. En esta guía completa y paso a paso, te voy a enseñar cómo eliminar malware de un sitio en Plesk, devolver la seguridad a tu web y evitar que vuelva a pasar. Vamos a hacerlo juntos, de forma sencilla y clara, incluso si no eres un experto en seguridad hosting.
¿Por qué es importante actuar rápido contra el malware?
Antes de ponernos manos a la obra, entendamos por qué es crítico eliminar el malware cuanto antes. Un sitio infectado no solo es molesto, sino que puede tener consecuencias graves:
- Daño a tu reputación: Los visitantes verán anuncios extraños, redirecciones o páginas en blanco. Perderás credibilidad y clientes.
- Penalización en buscadores (SEO): Google y otros motores de búsqueda detectan malware y marcan tu sitio como "peligroso". Esto significa que desaparecerás de los resultados de búsqueda, perdiendo tráfico orgánico.
- Robo de datos: El malware puede robar información de tus usuarios (contraseñas, datos bancarios) o la tuya propia.
- Uso de tu servidor para ataques: Los hackers pueden usar tu sitio para enviar spam, atacar otras webs o minar criptomonedas, consumiendo todos los recursos de tu hosting.
En resumen: Actuar rápido es vital para proteger tu negocio, tu inversión y la confianza de tus usuarios. No lo dejes para mañana.
Señales de que tu sitio web tiene malware (¿Cómo saber si estoy infectado?)
A veces es obvio, pero otras el malware es muy silencioso. Estas son las señales más comunes:
- Redirecciones extrañas: Al hacer clic en un enlace de tu web, te lleva a sitios de apuestas, farmacias online o páginas de publicidad.
- Anuncios emergentes (pop-ups) no deseados: Aparecen ventanas con publicidad incluso cuando no estás navegando en tu web.
- Tu web se vuelve muy lenta: El malware consume recursos del servidor, haciendo que tu sitio cargue eternamente.
- Google te muestra un aviso: Al buscar tu web en Google, ves un mensaje como "Este sitio puede haber sido pirateado" o "Sitio engañoso".
- Archivos o carpetas desconocidos: En tu panel de control (Plesk) ves archivos con nombres extraños como
wp-admin.php,shell.phpo carpetas con muchos archivos.txto.jssospechosos. - Usuarios administradores no reconocidos: Aparecen nuevos usuarios con permisos de administrador en tu CMS (WordPress, Joomla, etc.).
Si has detectado al menos una de estas señales, es hora de actuar. ¡Vamos a limpiar tu sitio!
Paso 1: Preparación y Primeros Pasos antes de limpiar
Antes de empezar a eliminar archivos, debemos preparar el terreno. Esto es crucial para no empeorar las cosas.
1.1. Crea una copia de seguridad completa (¡IMPORTANTE!)
Este es el paso más importante. Una copia de seguridad te permitirá restaurar tu sitio si algo sale mal durante la limpieza. En Plesk, es muy sencillo:
- Inicia sesión en tu panel de Plesk.
- Ve a Websites & Domains (Sitios web y dominios).
- Busca tu dominio afectado y haz clic en Backup Manager (Administrador de copias de seguridad).
- Haz clic en Back Up (Crear copia de seguridad).
- Selecciona Full backup (Copia de seguridad completa) y elige dónde guardarla (local o en un repositorio remoto). Recomiendo que la guardes en tu ordenador también.
- Dale un nombre claro, por ejemplo:
backup_antes_limpieza_malware_[fecha]. - Haz clic en OK y espera a que termine.
[TIP] Guarda esta copia de seguridad en un lugar seguro fuera de tu servidor. ¡Nunca se sabe!
1.2. Cambia todas tus contraseñas inmediatamente
El malware suele entrar a través de contraseñas débiles o robadas. Cambia las siguientes contraseñas ahora mismo:
- Contraseña de Plesk (admin): En Plesk > My Profile (Mi perfil).
- Contraseña de FTP/SFTP: En Plesk > Websites & Domains > tu dominio > FTP Access (Acceso FTP).
- Contraseñas de tu CMS (WordPress, Joomla, etc.): Cambia la del administrador y la de la base de datos.
- Contraseñas de tu base de datos (MySQL/MariaDB): En Plesk > Databases (Bases de datos), selecciona tu base de datos y cambia la contraseña del usuario.
- Contraseñas de correo electrónico: Si usas correo en tu dominio, cámbialas también.
Regla de oro: Usa contraseñas largas, únicas y complejas (mayúsculas, minúsculas, números y símbolos). Un gestor de contraseñas te ayudará.
Paso 2: Identificar y Eliminar el Malware Manualmente desde Plesk
Ahora vamos a la parte práctica. Con Plesk, tienes acceso directo a los archivos de tu web. Vamos a buscar y eliminar el malware.
2.1. Accede al Administrador de Archivos de Plesk
- En Plesk, ve a Websites & Domains.
- Haz clic en File Manager (Administrador de archivos) en la fila de tu dominio.
- Se abrirá una ventana con la estructura de carpetas de tu web. Normalmente, la carpeta principal es
httpdocsopublic_html.
2.2. Busca archivos sospechosos (la "cacería" del malware)
Aquí es donde hay que tener ojo de halcón. Busca estos patrones:
- Archivos con nombres extraños:
shell.php,c99.php,r57.php,wp-admin.php,login.php,adminer.php,config.php.bak, etc. Cualquier nombre que no reconozcas. - Archivos .js (JavaScript) inyectados: Revisa los archivos JavaScript de tu tema, plugins o incluso el core de tu CMS. Busca código ofuscado (ilegible) al final del archivo, como
eval(atob('...'))odocument.write('<script>...'). - Archivos .htaccess modificados: El archivo
.htaccess(oculto, normalmente enhttpdocs) puede tener reglas maliciosas que redirigen el tráfico. Ábrelo y busca líneas comoRewriteRule ^.*$ http://sitio-malicioso.com [R=301,L]oRedirect 301 / http://sitio-malicioso.com. - Carpetas con muchos archivos: Busca carpetas con nombres como
uploads,tmp,cacheque contengan muchos archivos.phpo.txtsospechosos. Los hackers suelen esconder scripts ahí. - Archivos con fechas de modificación recientes: Si no has tocado tu web, cualquier archivo modificado en las últimas horas o días es sospechoso. Ordena los archivos por "Last modified" (Última modificación) para ver los más recientes.
¿Qué hago si encuentro un archivo sospechoso?
- No lo elimines aún. Primero, renómbralo añadiendo
.sospechosoal final (ej:shell.php.sospechoso). Esto lo desactiva sin borrarlo, por si acaso. - Revisa el código. Ábrelo y verás si es claramente malicioso (código ofuscado, funciones como
base64_decode,eval,system,exec,shell_exec,preg_replacecon el modificadore). - Elimínalo. Si estás seguro de que es malware, bórralo. Haz clic derecho sobre el archivo y selecciona Delete (Eliminar).
[WARNING] Ten mucho cuidado al eliminar archivos. Si borras un archivo legítimo de tu tema o plugin, tu web podría romperse. Si no estás seguro, renómbralo primero y comprueba si tu web sigue funcionando.
2.3. Revisa y limpia tu base de datos
El malware no solo se esconde en archivos, también puede estar en tu base de datos. Por ejemplo, inyectando scripts maliciosos en las entradas de tu blog o en las opciones de tu CMS.
- En Plesk, ve a Databases (Bases de datos).
- Haz clic en el nombre de la base de datos de tu sitio.
- Selecciona phpMyAdmin (o la herramienta de gestión de bases de datos que ofrezca Plesk).
- Una vez dentro, busca las tablas de tu CMS. Para WordPress, las tablas más comunes son
wp_posts,wp_options,wp_comments. - Busca contenido sospechoso: Usa la función de búsqueda de phpMyAdmin para buscar términos como
<script,eval(,base64_decode,iframe,http://sitio-malicioso.com. Revisa especialmente el campopost_contentde la tablawp_postsy la opciónsiteurlenwp_options. - Elimina las filas maliciosas: Si encuentras entradas o comentarios con scripts, elimínalos. También puedes ejecutar consultas SQL para limpiar campos, pero si no te sientes seguro, mejor contrata a un profesional.
Paso 3: Usa Herramientas de Seguridad en Plesk (Si están disponibles)
Algunos paneles Plesk incluyen herramientas de seguridad integradas que pueden ayudarte a escanear y limpiar tu sitio automáticamente.
- Plesk Security Advisor: Busca esta extensión en Plesk > Extensions (Extensiones). Puede analizar tu servidor y recomendarte parches de seguridad.
- ImunifyAV: Es una de las mejores herramientas de seguridad para servidores. Si tu hosting la ofrece, actívala. Escanea todos los sitios en busca de malware y, en muchos casos, puede limpiarlos automáticamente.
¿Cómo activar ImunifyAV en Plesk?
- Ve a Plesk > Extensions.
- Busca "ImunifyAV".
- Instálala (si no está ya instalada) y actívala.
- Una vez activa, ve a Websites & Domains y busca el icono de ImunifyAV. Haz clic en Scan (Escanear) para tu dominio.
- Espera a que termine. Te mostrará una lista de archivos infectados y te dará la opción de Clean (Limpiar) o Quarantine (Poner en cuarentena).
[INFO] ImunifyAV es una herramienta muy potente, pero a veces puede marcar archivos legítimos como falsos positivos. Siempre revisa los archivos en cuarentena antes de eliminarlos definitivamente.
Paso 4: Refuerza la Seguridad de tu Sitio en Plesk (Prevención)
Una vez que has eliminado el malware, es hora de blindar tu sitio para que no vuelva a pasar. La seguridad hosting es un proceso continuo.
4.1. Actualiza TODO
- Tu CMS (WordPress, Joomla, Drupal...): Ve al panel de administración de tu CMS y actualiza a la última versión.
- Tus temas y plugins: Desactiva y elimina los que no uses. Actualiza todos los que tengas activos. Los temas y plugins desactualizados son la puerta de entrada más común para el malware.
- Plesk: Asegúrate de que tu panel de Plesk esté actualizado. Normalmente, tu proveedor de hosting se encarga de esto.
4.2. Instala un Plugin de Seguridad (Para CMS)
Si usas WordPress, instala un plugin de seguridad como:
- Wordfence Security: Escanea en busca de malware, protege contra ataques de fuerza bruta y tiene un firewall.
- Sucuri Security: Ofrece escaneo de malware, monitorización de listas negras y un firewall de aplicaciones web (WAF).
- iThemes Security: Refuerza la seguridad con 30+ formas de proteger tu sitio.
Configúralo para que escanee tu sitio periódicamente y te envíe alertas por correo.
4.3. Configura un Firewall de Aplicaciones Web (WAF)
Un WAF actúa como un escudo entre tu sitio y el tráfico malicioso. Puedes configurarlo a nivel de servidor (Plesk) o mediante un servicio externo como Cloudflare.
- Plesk WAF: Ve a Plesk > Tools & Settings > Web Application Firewall (WAF). Actívalo y elige el modo de protección (recomiendo "On" con reglas de OWASP).
- Cloudflare: Es un servicio gratuito que ofrece CDN y un potente WAF. Solo tienes que cambiar los nameservers de tu dominio a los de Cloudflare.
4.4. Cambia los permisos de archivos y carpetas
Los permisos incorrectos pueden permitir que el malware se ejecute o se modifique. En Plesk, puedes configurarlos fácilmente:
- Ve a Websites & Domains > File Manager.
- Selecciona la carpeta
httpdocs(o la raíz de tu web). - Haz clic en Permissions (Permisos).
- Aplica los permisos recomendados:
- Carpetas: 755 (rwxr-xr-x)
- Archivos: 644 (rw-r--r--)
- Archivos de configuración (wp-config.php, etc.): 600 (rw-------)
[WARNING] No pongas permisos 777 en ninguna carpeta o archivo, a menos que sea estrictamente necesario (y temporalmente). Es una invitación al malware.
Preguntas Frecuentes (FAQ) sobre Eliminar Malware en Plesk
P: ¿Qué hago si no encuentro el malware yo mismo?
R: No te preocupes, es normal. El malware es cada vez más sofisticado. Puedes usar herramientas automáticas como ImunifyAV (si tu hosting lo ofrece) o contratar a un servicio profesional de limpieza de malware. Muchos proveedores de hosting ofrecen este servicio por un costo adicional.
P: Después de limpiar, ¿mi web volverá a aparecer en Google?
R: Sí, pero lleva tiempo. Una vez que hayas eliminado el malware, solicita una revisión a Google a través de Google Search Console. Ve a "Problemas de seguridad" y haz clic en "Solicitar una revisión". Google volverá a escanear tu sitio y, si está limpio, eliminará la advertencia. Puede tardar desde unos días hasta un par de semanas.
P: ¿El malware puede volver a aparecer si no cambio todas las contraseñas?
R: ¡Sí! Si el hacker aún tiene acceso a tu panel de control, FTP o base de datos, puede volver a infectar tu sitio en minutos. Cambiar todas las contraseñas es un paso obligatorio.
P: Mi hosting usa Syspanel (HestiaCP). ¿El proceso es diferente?
R: El concepto es el mismo, pero la interfaz cambia. Si usas Syspanel (HestiaCP), el puerto de acceso suele ser el 2106 (ej: https://tudominio.com:2106). Dentro, busca la sección File Manager para acceder a los archivos y Databases para gestionar la base de datos. Las herramientas de seguridad pueden variar, pero los pasos de limpieza manual son idénticos.
P: ¿Es necesario eliminar todos los archivos y reinstalar desde cero?
R: No siempre, pero es la opción más segura si la infección es muy grave o no puedes limpiarla por completo. Si decides hacerlo, asegúrate de tener una copia de seguridad de tus contenidos (posts, imágenes, etc.) y luego reinstala tu CMS desde Plesk (muchos ofrecen instaladores con un solo clic). Luego, restaura solo el contenido limpio (no los archivos del sistema, temas o plugins antigu
