Seguridad
Qué hacer si tu sitio ha sido hackeado
A compromised website needs three things in order: contain it, find out how they got in, then rebuild it clean. Doing those out of order is how sites get reinfected within a day.
Un sitio web comprometido necesita tres cosas en orden: contenerlo, averiguar cómo entraron, luego reconstruirlo limpio. Hacer eso fuera de orden es cómo los sitios se reinfectan en un día.
Trabajar a través de esta página desde el principio. No asume nada sobre cómo sucedió el ataque.
No simplemente elimine los archivos sospechosos y continúe. Casi cada compromiso deja más de una forma de volver a entrar: una segunda puerta trasera, una cuenta de administrador fraudulenta, una tarea programada, o un archivo central modificado. Eliminar el síntoma visible y parar ahí es la razón más común por la que un sitio es atacado nuevamente la misma semana.
Signos de que realmente está comprometido
- Los resultados de búsqueda muestran páginas farmacéuticas, de apuestas o en idiomas extranjeros que nunca escribió.
- Los visitantes son redirigidos a otro lugar, a menudo solo en dispositivos móviles o solo desde motores de búsqueda.
- Un navegador o motor de búsqueda muestra una advertencia para su dominio.
- Los archivos aparecen con nombres o fechas de modificación que no puede justificar.
- Su sitio envía spam, o su dominio comienza a ser rechazado por proveedores de correo.
- Existe una cuenta de administrador que nadie creó.
No todos estos significan un hackeo. Un sitio que es simplemente lento o que arroja errores es más a menudo un conflicto de complemento o un límite de recursos. Consulte Sitio Web No Carga primero si eso es todo lo que tiene.
Paso 1: Contenerlo
Desconecte el sitio antes de investigar. Cada minuto que permanece público es más daño a su reputación, su clasificación en búsqueda y sus visitantes.
La forma más rápida de hacerlo sin eliminar nada es la protección por contraseña, que coloca un inicio de sesión frente a todo el sitio a nivel de servidor web:
- Vaya a Websites y abra el sitio.
- Abra la pestaña Password protect.
- Actívela y establezca un nombre de usuario y contraseña.
El sitio ahora devuelve una solicitud a cada visitante, incluido el atacante, mientras mantiene acceso total a través del panel, SFTP y SSH.

Si conoce la dirección IP del atacante, agréguela también a la IP block list en la pestaña Security del sitio.
No elimine el sitio, y no restaure nada todavía. El estado actual es su única evidencia de cómo funcionó el ataque. Realice una copia de seguridad del sitio comprometido ahora, etiquétela claramente como infectada, y guárdela en un lugar separado. Puede que la necesite.
Paso 2: Descubra cómo entraron
Solo hay pocas respuestas realistas, y cada una cambia lo que hace a continuación.
Verifique el registro de auditoría del panel. Vaya a Settings, luego Account, luego View log. Las acciones atribuidas a su equipo desde una dirección IP que ninguno de ustedes usa significa que se alcanzó la cuenta de Kapsule. Ese es un incidente mucho más grave: consulte Account Security y trate la cuenta como comprometida también. La pestaña Activity del sitio cubre cambios realizados a través del panel.
Verifique sus registros de errores y acceso en la pestaña Logs del sitio. Las solicitudes repetidas a una ruta de complemento única, o una ráfaga de POSTs a un punto final de carga, generalmente nombran la forma. Consulte Reading Error Logs.
Ejecute un escaneo de malware en la pestaña Security del sitio. Consulte Scanning For and Removing Malware para saber cómo leer el resultado.
Verifique qué estaba desactualizado. Un complemento, tema o versión central desactualizado es, con mucho, el punto de entrada más común. Consulte Keeping WordPress Updated.
Paso 3: Reconstruir limpio
Hay dos formas de terminar con un sitio limpio, y solo una de ellas es confiable.
La forma confiable: restaurar desde una copia de seguridad tomada antes del compromiso
Calcule aproximadamente cuándo comenzó el compromiso desde sus registros, luego restaure desde una copia de seguridad tomada cómodamente antes de esa fecha.
- Vaya a la pestaña Backups del sitio.
- Elija una copia de seguridad anterior a la infección.
- Restáurela a staging primero. El diálogo de restauración usa staging por defecto deliberadamente.
- Verifique la copia de staging: sin archivos desconocidos, sin usuarios administradores desconocidos, sin redirecciones.
- Cuando esté satisfecho, restaure a live. Restaurar a live requiere que escriba el nombre de dominio para confirmar.
Consulte Restoring From a Backup para más detalles, incluido cómo restaurar archivos y la base de datos por separado.
En sitios WordPress y WooCommerce con bases de datos administradas, la recuperación de punto en tiempo en la pestaña PITR del sitio puede restaurar la base de datos a un minuto específico en lugar de a la última copia de seguridad nocturna. Eso importa cuando de lo contrario perdería un día de pedidos.
Una restauración revierte todo, incluido el contenido legítimo y los pedidos creados después de esa copia de seguridad. Antes de restaurar, exporte los datos que necesita conservar del sitio actual, y sea consciente de que el contenido exportado de un sitio comprometido puede llevar código inyectado. Inspeccione antes de importar.
La forma poco confiable: limpiar en el lugar
Si no tiene una copia de seguridad limpia, tiene que limpiar el sitio manualmente. Sea honesto consigo mismo sobre lo meticulosa que necesita ser esta limpieza.
- Ponga en cuarentena cada archivo que el escaneo de malware marca. Consulte Scanning For and Removing Malware.
- Reemplace WordPress core, cada complemento y cada tema con copias frescas de la fuente en lugar de actualizar en el lugar.
- Elimine cualquier complemento o tema que no use activamente. El código inactivo aún se ejecuta cuando es accesible.
- Inspeccione archivos que el escáner no cubre:
.htaccess,wp-config.php, y cualquier cosa en su carpeta uploads que no sea una imagen. - Verifique las tareas programadas en la pestaña Cron jobs del sitio para trabajos que no creó.
- Verifique la base de datos para contenido inyectado, particularmente en opciones y contenido de publicación.
Paso 4: Cambiar cada credencial
Asuma que todo lo que el sitio podría alcanzar ha sido tomado.
- Contraseñas de administrador de WordPress. Restablezca cada una desde la pestaña WordPress del sitio, obligue a cada usuario a cerrar sesión para que las cookies de sesión robadas dejen de funcionar, y elimine las contraseñas de aplicación que no creó. Consulte Resetting a WordPress Password.
- Cuentas de administrador desconocidas. Elimínelas, y degradue cualquier cuenta que no necesite derechos de administrador.
- Credenciales de base de datos, en la pestaña Database del sitio.
- Cuentas SFTP en la pestaña SFTP del sitio. Eliminar una termina sus sesiones abiertas.
- Claves SSH en la pestaña SSH access del sitio. Retire cualquier clave que no reconozca.
- Su contraseña de Kapsule, y revoque las claves API que no creó. Consulte API Keys and Developer Access.
Paso 5: Traerlo de vuelta y reforzarlo
Una vez que esté seguro de que el sitio es limpio, desactive la protección por contraseña y deje entrar al mundo nuevamente.
Luego cierre la puerta que estaba abierta:
- Mantenga todo actualizado. Consulte Keeping WordPress Updated y Managing Plugins.
- Active las protecciones de seguridad en la pestaña Security del sitio: protección contra ataques de fuerza bruta, filtrado de países y lista de bloqueo de IP.
- Habilite la autenticación de dos factores en su cuenta de Kapsule y en las cuentas de administrador del sitio.
- Realice una copia de seguridad nueva del sitio en buen estado. Consulte Taking a Backup.
- Considere una retención de copia de seguridad extendida, para que un compromiso que no note durante semanas siga siendo recuperable.
Cuándo involucrar al soporte
Abra un ticket de soporte si alguno de estos se aplica:
- El compromiso vino a través de su cuenta de Kapsule en lugar del sitio.
- Su sitio envía spam, o su reputación de envío se ha visto afectada.
- No tiene ninguna copia de seguridad útil y no puede limpiar el sitio.
- Su cuenta o sitio ha sido suspendido. Consulte Why Your Account Was Suspended.
- Cree que el sitio de otro cliente está atacando el suyo. Consulte Reporting Abuse.
Incluya lo que encontró, cuándo lo notó primero y qué ha cambiado. Cuanta más de su propia investigación pueda compartir, más rápida será la respuesta.
Resolución de problemas
Los motores de búsqueda aún advierten sobre el sitio. Solicite una revisión a través de sus propias herramientas para webmasters una vez que el sitio sea genuinamente limpio. Eso está fuera de nuestro control.
Volvió después de que lo limpié. Se perdió una puerta trasera, o una credencial que no cambió sigue siendo válida. Restaure desde una copia de seguridad limpia en su lugar, y cambie cada credencial en el Paso 4.
El escaneo dice limpio pero el sitio es claramente comprometido. El escaneo de archivos detecta código malicioso conocido, no registros de base de datos inyectados. Compare con una copia de seguridad y verifique la base de datos.
No puedo entrar para solucionarlo. Use SFTP o SSH en lugar del propio inicio de sesión de la aplicación, que el atacante puede haber cambiado. Consulte SFTP Access y File Manager.