Eliminar malware de WordPress en DirectAdmin
¿Qué hago si mi WordPress tiene malware en DirectAdmin?
Encontrar un mensaje de "Sitio hackeado" en Google, ver redirecciones extrañas o notar que tu web de repente va lentísima es una de las peores sensaciones para cualquier propietario de un sitio. Respira hondo. No estás solo y, sobre todo, tiene solución. En esta guía te voy a explicar, paso a paso y sin tecnicismos absurdos, cómo eliminar malware WordPress y dejar tu sitio limpio y seguro, todo ello gestionado desde el panel de control DirectAdmin.
Vamos a ir desde lo más básico (identificar el problema) hasta la limpieza profunda y la prevención. No necesitas ser un desarrollador experto, solo seguir el orden de los pasos y tener un poco de paciencia.
Primeros auxilios: Antes de tocar nada
Cuando sospechas que tu web está infectada, la tentación es entrar a toda prisa a borrar archivos. No lo hagas todavía. Actuar sin un plan puede empeorar las cosas o destruir pruebas que te ayuden a entender qué ha pasado.
1. Diagnóstico inicial: ¿Está realmente infectado?
A veces, el problema no es malware, sino un plugin o tema desactualizado que da error. Para confirmar la presencia de código malicioso, busca estas señales:
- Avisos del navegador: Chrome o Firefox te muestran una página de advertencia de "Sitio engañoso" o "Contenido malicioso".
- Redirecciones raras: Al entrar a tu web, te lleva a páginas de farmacias online, casinos o webs desconocidas, especialmente desde el móvil.
- Anuncios extraños: Ves banners o pop-ups que tú no has puesto en tu web.
- Usuarios nuevos: En tu panel de WordPress (wp-admin) aparecen usuarios llamados "admin" o similares que no has creado tú.
- Código sospechoso: Al editar una entrada, ves código PHP o JavaScript incrustado que no reconoces.
2. Haz una copia de seguridad (Sí o sí)
Este es el paso más importante de todos. Antes de borrar un solo archivo, necesitas una copia del sitio. Esto te permitirá restaurar si algo sale mal durante la limpieza.
Para hacer la copia en DirectAdmin, tienes dos opciones:
- Desde el Administrador de Archivos: Comprime las carpetas
public_html,wp-contenty el archivowp-config.phpen un ZIP. - Desde MySQL Management: Exporta tu base de datos. Ve a
MySQL Managementy selecciona "Dump" o "Exportar" en tu base de datos.
[WARNING] Guarda esta copia en tu ordenador o en un servicio de nube (Google Drive, Dropbox...). No la dejes en el mismo servidor, porque si el hacker tiene acceso al panel, podría borrarla también.
La limpieza manual: Manos a la obra en DirectAdmin
Ahora sí, vamos a por ello. Este proceso se divide en limpiar los archivos y limpiar la base de datos. Ambos son igual de importantes.
3. Identificar la fecha del ataque
Antes de buscar el malware, necesitas saber cuándo empezó el problema. Revisa la fecha de los mensajes de Google Search Console o la fecha de la última modificación de los archivos que crees que están infectados. Esto te ayudará a filtrar en el Administrador de Archivos.
4. Revisar el archivo .htaccess (el punto de entrada favorito)
El archivo .htaccess es un archivo de configuración que controla las redirecciones y la seguridad de tu servidor. Es el primer lugar donde los atacantes inyectan código.
- En DirectAdmin, ve a
File Managery asegúrate de tener activada la opción de "Mostrar archivos ocultos" (suele ser un botón en la parte superior derecha). - Busca el archivo
.htaccessen la raíz depublic_html. - Ábrelo con el editor de texto. Un
.htaccesslimpio de WordPress suele tener líneas que empiezan con# BEGIN WordPressy# END WordPress. - Si ves líneas con código extraño como
RewriteRulehacia dominios que no reconoces, o código PHP, estás ante un caso claro. Puedes eliminar todo lo que no esté entre las marcas# BEGIN WordPressy# END WordPress.
5. Buscar archivos PHP maliciosos
El malware a menudo viene en forma de archivos PHP con nombres que parecen legítimos pero no lo son. Busca en tu public_html y en wp-content/uploads (sí, los hackers esconden archivos ahí) archivos con nombres extraños:
wp-login.php.bak0day.phpshell.phps.phpwp-admin-old.php- Archivos con nombres aleatorios como
a1b2c3d4.php.
[INFO] Los archivos con extensiones dobles como file.php.jpg o imagen.jpg.php son una señal de alerta casi segura.
6. Revisar el núcleo de WordPress, temas y plugins
La forma más segura de limpiar el núcleo es sobrescribirlo con archivos limpios.
- Descarga la misma versión de WordPress que tienes instalada desde wordpress.org.
- Descomprime el ZIP en tu ordenador.
- Borra las carpetas
wp-adminywp-includesde tu servidor (¡no las descargues, bórralas!). - Sube las carpetas
wp-adminywp-includeslimpias desde el ZIP a tu servidor, reemplazando las que acabas de borrar.
Esto elimina cualquier archivo del núcleo que haya sido modificado. Para los temas y plugins, la cosa es más sencilla: ve a tu panel de WordPress, y si puedes, desactiva todos los plugins y cambia a un tema por defecto (Twenty Twenty-Four, por ejemplo). Si no puedes entrar al panel, hazlo desde el Administrador de archivos de DirectAdmin renombrando las carpetas wp-content/plugins y wp-content/themes.
Limpiar la base de datos: El malware invisible
El malware no solo se esconde en archivos. También puede estar en tu base de datos, inyectando scripts en tus entradas o creando tablas nuevas. Para limpiar wordpress directadmin de forma efectiva, hay que revisar esto.
7. Acceder a phpMyAdmin
- En DirectAdmin, ve a la sección
MySQL Management. - Busca tu base de datos y haz clic en
phpMyAdmin. - Selecciona tu base de datos en el panel izquierdo.
8. Buscar inyecciones de código
- Haz clic en la tabla
wp_posts(o el prefijo que uses, podría serwp_u otro). - Ve a la pestaña
Search(Buscar). - Busca términos como
<script,eval(base64_decode,iframe, odocument.write. Estos son códigos que los atacantes inyectan. - Si encuentras resultados, tendrás que editar esas entradas y eliminar el código malicioso, dejando solo el contenido legítimo.
[WARNING] Editar la base de datos es delicado. Si no te sientes seguro, copia el contenido de la columna post_content en un editor de texto, elimina el código malicioso y pégalo de nuevo.
9. Revisar usuarios y opciones
En la tabla wp_users, asegúrate de que no hay usuarios que no reconozcas. Si hay alguno, bórralo. En la tabla wp_options, busca la opción siteurl y home. Asegúrate de que apuntan a tu dominio correcto (por ejemplo, https://tudominio.com y no a una web rusa o de spam).
Refuerzo de seguridad: Evitar futuros ataques
Una vez que tu sitio está limpio, es hora de blindarlo. Limpiar sin asegurar es como dejar la puerta de casa abierta después de que te hayan robado.
10. Cambiar todas las contraseñas
- Cambia la contraseña de tu usuario administrador de WordPress.
- Cambia la contraseña de la base de datos desde DirectAdmin (en
MySQL Management). - Cambia la contraseña de tu cuenta de DirectAdmin y de tu correo electrónico.
11. Actualizar todo
Asegúrate de que tienes la última versión de WordPress, de todos tus plugins y de tu tema. Las actualizaciones suelen parchear vulnerabilidades conocidas que son la puerta de entrada del malware.
12. Instalar un plugin de seguridad
Un buen plugin de seguridad escanea tu sitio en busca de cambios y bloquea intentos de acceso maliciosos. Algunos buenos y gratuitos son:
- Wordfence
- Sucuri Scanner (solo escáner)
- iThemes Security
[TIP] Configura el escaneo para que se ejecute automáticamente una vez al día y te envíe un correo si encuentra algo raro.
Preguntas frecuentes (FAQ)
¿Qué es el malware en WordPress?
Es cualquier código malicioso (scripts, archivos PHP, enlaces) que se inyecta en tu sitio sin tu permiso para robar información, redirigir a los visitantes o usar tu servidor para otros fines ilegales.
¿Cómo ha podido entrar el hacker si mi contraseña era fuerte?
El 90% de las veces, la entrada se produce por un plugin o tema desactualizado con una vulnerabilidad conocida. No siempre es culpa de tu contraseña.
¿Puedo eliminar malware WordPress sin acceso al panel de administración?
Sí, todo el proceso que te he descrito se puede hacer desde el File Manager y MySQL Management de DirectAdmin, sin necesidad de entrar a wp-admin.
¿Merece la pena pagar por un servicio de limpieza profesional?
Si después de seguir esta guía te sientes perdido o el malware es muy sofisticado, sí. A veces sale más rentable pagar 50-100€ a un profesional que perder horas y arriesgar la reputación de tu negocio.
¿Qué es Syspanel?
Es un panel de control de hosting, similar a DirectAdmin o cPanel. Si en algún manual o guía ves que se menciona "Syspanel", ten en cuenta que el acceso a este panel se realiza a través del puerto 2106 (ejemplo: https://tudominio.com:2106). El proceso de limpieza de malware en Syspanel es muy similar al de DirectAdmin, ya que ambos gestionan archivos y bases de datos de forma parecida.
¿Cada cuánto debo hacer una copia de seguridad?
Idealmente, cada vez que actualices un plugin o publiques contenido importante. Si tu hosting lo permite, activa copias automáticas diarias. Es tu red de seguridad más valiosa.
Conclusión: Un sitio limpio, un sitio feliz
Eliminar el malware de WordPress en DirectAdmin es un proceso meticuloso pero totalmente abordable si sigues estos pasos con calma. La clave está en la prevención: mantener todo actualizado, usar contraseñas robustas y tener un buen plugin de seguridad activo.
Espero que esta guía te haya sido de gran ayuda. Si te ha quedado alguna duda, revisa los pasos de nuevo y, si es necesario, no dudes en contactar con tu proveedor de hosting. Ellos suelen tener herramientas de escaneo en el servidor que pueden ayudarte a localizar el archivo malicioso exacto.
Recuerda: la seguridad de tu web es un trabajo continuo, no una tarea de un solo día. Con estos hábitos, mantendrás tu sitio y a tus visitantes a salvo. ¡Mucha suerte con la limpieza!
