Limpiar y mantener el sitio

Para mantener tu sitio limpio y evitar hackeos en el futuro, necesitarás lo siguiente:

  • Acceso de administrador de shell o terminal a los servidores de tu sitio: web, base de datos y archivos
  • Conocimientos de comandos de terminal o shell
  • Comprensión del código (como PHP o JavaScript)
  • Almacenamiento para crear copias de seguridad de tu sitio, como los archivos, la base de datos y las imágenes

Acciones siguientes

Abordaremos varias acciones en este paso:

  • Dónde encontrar recursos adicionales si crees que el hacker tenía la intención de obtener información personal de los usuarios (por ejemplo, páginas de phishing).
  • La opción de usar Quitar URLs de Search Console para acelerar la eliminación de URLs completamente nuevas, no deseadas y visibles para el usuario creadas por el hacker que no quieres que se muestren en los resultados de la Búsqueda de Google.
  • La opción de pedirle a Google que vuelva a rastrear tus URLs en Search Console para acelerar el procesamiento por parte de Google de las páginas limpias (es decir, las páginas nuevas o actualizadas) que quieras que aparezcan en los resultados de la Búsqueda de Google.
  • Instalación de la versión de software más reciente y segura.
  • La eliminación de las aplicaciones o los complementos innecesarios o sin usar que podrían hacer que tu sitio sea más vulnerable en el futuro.
  • Restablecer el contenido de calidad y eliminar el contenido del hacker
  • Corregir la vulnerabilidad de causa raíz que aprovecha el hacker
  • Se están cambiando todas las contraseñas.
  • Planifica para mantener tu sitio seguro.

1. Localizar recursos de asistencia

Si se obtuvo información confidencial del usuario de tu sitio (por ejemplo, si fue parte de un ataque de phishing), te recomendamos que consideres cualquier responsabilidad comercial, regulatoria o legal antes de comenzar a limpiar el sitio o a borrar archivos. En casos de suplantación de identidad (phishing), antiphishing.org cuenta con recursos útiles, como su documento Qué hacer si tu sitio fue hackeado por suplantadores de identidad.

2. Considera acelerar la eliminación de las URLs nuevas creadas por el hacker

Si el hacker creó URLs completamente nuevas y visibles para el usuario, puedes quitar esas páginas más rápido de los resultados de la Búsqueda de Google con la función Quitar URLs de Search Console. Este paso es opcional. Si solo borras las páginas y, luego, configuras el servidor para que muestre un código de estado 404, las páginas saldrán del índice de Google con el tiempo.

  • Es probable que la decisión de usar la eliminación de URLs dependa de la cantidad de páginas nuevas y no deseadas que se creen (demasiadas páginas puede ser engorrosa para incluirlas en Quitar URLs), así como del daño potencial que podrían causar a los usuarios. Para evitar que las páginas enviadas a través de la eliminación de URLs aparezcan en los resultados de la búsqueda, asegúrate de que las páginas también estén configuradas para mostrar una respuesta 404 de Archivo no encontrado para las URLs no deseadas y que se quitaron.
  • No uses esta herramienta para solicitar la eliminación de páginas que antes estaban en buen estado y que solo resultaron dañadas por el hacker. Querrás que esas páginas aparezcan en los resultados de la búsqueda una vez que se hayan limpiado. La eliminación de URLs solo se aplica a las páginas que no quieres que aparezcan en los resultados.

3. Considera acelerar el procesamiento por parte de Google de las páginas limpias

Si tienes páginas limpias nuevas o actualizadas, puedes pedirle a Google que vuelva a rastrear tus URLs en Search Console para enviarlas al índice de Google. Esto es opcional. Si omites este paso, es probable que tus páginas nuevas o modificadas se rastreen y procesen con tiempo.

4. Comienza a limpiar tus servidores

Este es el momento de comenzar a limpiar el sitio en función de las notas que tomaste durante la evaluación del daño y la identificación de la vulnerabilidad. La ruta que seguirás en este paso depende del tipo de copia de seguridad que tengas disponible:

  • Copia de seguridad limpia y actual
  • Copia de seguridad limpia pero desactualizada
  • No hay copias de seguridad disponibles

Primero, comprueba que la copia de seguridad se haya creado antes de que hackearan tu sitio.

Copia de seguridad limpia y actual

  1. Restablece la copia de seguridad.
  2. Instala todas las actualizaciones, los parches o las actualizaciones de software disponibles. Esto incluye el software para el SO si tienes el control del servidor y todas las aplicaciones, como el sistema de administración de contenido, la plataforma de comercio electrónico, los complementos o las plantillas.
  3. Se recomienda quitar el software que el sitio ya no usa de tu servidor (como widgets, complementos o aplicaciones) .
  4. Corrige la vulnerabilidad.
  5. Asegúrate de solucionar todos los problemas que se encontraron durante la evaluación del daño.
  6. Cambia las contraseñas una vez más para todas las cuentas relacionadas con el sitio (por ejemplo, accesos para acceso FTP, acceso a bases de datos, administradores del sistema y cuentas de CMS). En sistemas basados en Unix:
passwd admin1

Copia de seguridad limpia pero desactualizada

  1. Crea una imagen de disco de tu sitio actual aunque todavía esté infectado. Esta copia es solo por motivos de seguridad. Marca la copia como infectada para distinguirla de las demás. En un sistema basado en Unix, crear una imagen de disco podría ser de la siguiente manera:
dd if=/dev/sda bs=1024 conv=noerror,sync | gzip -c -9 \
> /mirror/full-backup-20120125-infected.gz
  1. Haz una copia de seguridad del sistema de archivos de tu servidor, que incluya las imágenes y los archivos multimedia. Si tienes una base de datos, también crea una copia de seguridad de ella.
tar -pczf full-backup-20120125-infected.tar.gz www/
mysqldump -u root -p --all-databases | gzip -9 \
> fulldb_backup-20120125-infected.sql
  1. Restablece la copia de seguridad limpia pero desactualizada en tu servidor.
  2. Considera si puedes eliminar software de tu servidor (p.ej., widgets, complementos o aplicaciones) que el sitio ya no usa.
  3. Actualiza todo el software, incluido el SO si tienes el control del servidor, y todas las aplicaciones de software, como el sistema de administración de contenido, la plataforma de comercio electrónico, los complementos y las plantillas. Asegúrate de verificar y de instalar las actualizaciones y los parches de seguridad disponibles.
  4. Corrige la vulnerabilidad.
  5. Realiza un diff de sitio, ya sea de forma manual o automática, entre la copia de seguridad limpia y la copia infectada actual.
diff -qr www/ backups/full-backup-20120124/
  1. Sube cualquier contenido nuevo y limpio que desees conservar de la copia infectada en el servidor actualizado.
rsync -avz /backups/full-backup-20120124/www/clean-file.jpg /www/
  1. Verifica que se haya corregido cada URL enumerada en Evalúa el daño.
  2. Cambia las contraseñas una vez más para todas las cuentas relacionadas con el sitio (por ejemplo, accesos para acceso de FTP, acceso a la base de datos, administradores del sistema y cuentas de CMS). En sistemas basados en Unix:
$passwd admin1

No hay copias de seguridad disponibles

Haz dos copias de seguridad del sitio a pesar de que todavía está infectado. Tener una copia de seguridad adicional te ayudará a recuperar contenido borrado de forma accidental o te permitirá revertir el proceso y volver a intentarlo si no se soluciona el problema. Etiqueta cada copia de seguridad como “infectada” para futuras referencias.

Una de tus copias de seguridad será una imagen de disco o una “versión clonada” de tu sitio. Este formato facilita aún más el restablecimiento de contenido. Puedes dejar la imagen de disco a un lado en caso de emergencia. En un sistema basado en Unix, usa el siguiente código para crear una imagen de disco:

dd if=/dev/sda bs=1024 conv=noerror,sync | gzip -c -9 \
> /mirror/full-backup-20120125-infected.gz

La otra copia de seguridad será una copia del sistema de archivos de tu servidor, que incluirá imágenes y archivos multimedia. Si tienes una base de datos, también crea una copia de seguridad de ella.

tar -pczf full-backup-20120125-infected.tar.gz www/
mysqldump -u root -p --all-databases | gzip -9 \
> fulldb_backup-20120125-infected.sql

Si no tienes una imagen de disco, realiza dos copias de seguridad de la base de datos y dos del sistema de archivos.

Para limpiar el contenido del sitio en la nueva copia del sistema de archivos de copia de seguridad (no en el servidor), haz lo siguiente:

  1. Si en tu investigación anterior se detectaron permisos de archivo demasiado flexibles, corrígelos. Asegúrate de hacer esto en la copia de seguridad, no en el servidor.
  2. Además, en la copia de seguridad, limpia todos los archivos correspondientes a las URLs que se detectaron como vulneradas en Evaluar el daño. Pueden ser archivos de configuración del servidor, JavaScript, HTML o PHP.
  3. Asegúrate de quitar también (publicar una respuesta 404) para los archivos nuevos creados por el hacker, que hayas enviado o no con la herramienta Eliminaciones de URL de Search Console.
  4. Corrige la vulnerabilidad si existe en tu código o en contraseñas rotas. Las bibliotecas de validación de entrada o las auditorías de seguridad pueden ser útiles.
  5. Si tu sitio tiene una base de datos, comienza a limpiar los registros modificados por hackeres en tu copia de seguridad. Justo antes de que creas que terminaste, revisa más registros para asegurarte de que la base de datos se vea limpia.
  6. Cambia las contraseñas una vez más para todas las cuentas relacionadas con el sitio (por ejemplo, accesos para acceso FTP, acceso a la base de datos, administradores del sistema y cuentas de CMS). En los sistemas basados en Unix, usa el siguiente código:
$passwd admin1

En este punto, la copia de seguridad de tu sitio que se haya infectado solo debe contener datos limpios. Deja esta copia limpia en un lado y continúa con la acción 5.

5. Quita el software innecesario

Considera si puedes quitar software de tu servidor, como widgets, complementos o aplicaciones, que el sitio ya no use. Esto puede aumentar la seguridad y simplificar el mantenimiento futuro.

6. Limpiar todos los servidores

  1. Realiza una instalación limpia, no solo una actualización. Las actualizaciones pueden dejar archivos de una versión anterior. Si un archivo infectado permanece en el servidor, es más probable que tu sitio vuelva a ser hackeado.
    • La instalación nueva debe incluir el SO si tienes el control del servidor y todas las aplicaciones de software, como el sistema de administración de contenido, la plataforma de comercio electrónico, los complementos y las plantillas. Asegúrate de verificar si hay actualizaciones y parches de seguridad disponibles.
  2. Transfiere el contenido correcto desde la copia limpia del sistema de archivos de copia de seguridad a los servidores instalados recientemente. Sube y restablece solo los archivos limpios o la base de datos conocidos. Asegúrate de mantener los permisos de archivo adecuados y no reemplazar los archivos del sistema instalados recientemente.
  3. Realiza un último cambio de contraseñas para todas las cuentas relacionadas con el sitio (por ejemplo, accesos para acceso FTP, acceso a bases de datos, administradores del sistema y cuentas de CMS). En los sistemas basados en Unix, usa el siguiente código:
passwd admin1

7. Crea un plan de mantenimiento a largo plazo

Te recomendamos que hagas lo siguiente:

  • Realiza copias de seguridad automáticas y periódicas de tu sitio.
  • Permanecer alerta con respecto a mantener el software actualizado.
  • Comprende las prácticas de seguridad de todas las aplicaciones, complementos y software de terceros antes de instalarlos en tu servidor. Una vulnerabilidad de seguridad en una aplicación de software puede afectar la seguridad de todo el sitio.
  • Fuerza la creación de contraseñas seguras.
  • Mantén protegidos todos los dispositivos que se usan para acceder a la máquina (sistema operativo y navegador actualizados).

8. Vuelve a verificar que se haya completado la limpieza

Asegúrate de que puedes responder "sí" a las siguientes preguntas:

  • ¿Tomé las medidas adecuadas si el hacker obtuvo información personal de los usuarios?
  • ¿Mi sitio ejecuta la versión de software más reciente y segura?
  • ¿Quité todas las aplicaciones o los complementos innecesarios o sin usar que podrían hacer que mi sitio sea más vulnerable en el futuro?
  • ¿Restablecí mi contenido y eliminé el contenido del hacker?
  • ¿Corregí la vulnerabilidad de la causa raíz que permitió que hackearan mi sitio?
  • ¿Tengo un plan para mantener mi sitio seguro?

Ahora puedes volver a poner tu sitio en línea.