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 sobre comandos de shell o terminal
  • Conocimientos de código (como PHP o JavaScript)
  • Storage para crear copias de seguridad de tu sitio, incluidos los archivos, la base de datos y las imágenes

Acciones siguientes

En este paso, abordaremos varias acciones:

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

1. Encuentra recursos de asistencia

Si se obtuvo información confidencial del usuario desde tu sitio (por ejemplo, porque formó parte de un ataque de phishing), te recomendamos que consideres las responsabilidades comerciales, regulatorias o legales antes de comenzar a limpiar tu sitio o borrar archivos. En casos de phishing, antiphishing.org tiene recursos útiles, como su documento Qué hacer si los phishers hackearon tu sitio.

2. Considera acelerar la eliminación de las URLs nuevas que creó el hacker

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

  • Es probable que la decisión de usar la eliminación de URLs dependa de la cantidad de páginas nuevas no deseadas que se hayan creado (incluir demasiadas páginas en la eliminación de URLs puede ser engorroso) y del daño potencial que estas páginas puedan 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 también estén configuradas para mostrar una respuesta de archivo no encontrado (404) para las URLs no deseadas y quitadas.
  • No uses esta herramienta para solicitar la eliminación de páginas que estaban bien y que solo el hacker dañó. Te recomendamos que estas páginas aparezcan en los resultados de la búsqueda después de que se limpien. La eliminación de URLs es solo para las páginas que nunca deseas que aparezcan en los resultados.

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

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 el tiempo.

4. Comienza a limpiar tus servidores

Ahora es el momento de comenzar a limpiar tu sitio según las notas que tomaste durante Evaluar el daño y Identificar 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, verifica que la copia de seguridad se haya creado antes de que se hackeara tu sitio.

Copia de seguridad actual y limpia

  1. Restablece la copia de seguridad.
  2. Instala las actualizaciones, parches o mejoras de software disponibles. Esto incluye el software para el SO si tienes el control del servidor y de todas las aplicaciones, como el sistema de administración de contenido, la plataforma de comercio electrónico, los complementos o las plantillas.
  3. Considera quitar del servidor el software que el sitio ya no usa (como widgets, complementos o aplicaciones) .
  4. Corrige la vulnerabilidad.
  5. Asegúrate de que se hayan solucionado todos los problemas que se encontraron durante Evalúa el daño.
  6. Cambia las contraseñas una vez más para todas las cuentas relacionadas con el sitio (p.ej., accesos de 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 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 lo siguiente:
dd if=/dev/sda bs=1024 conv=noerror,sync | gzip -c -9 \
> /mirror/full-backup-20120125-infected.gz
  1. Crea una copia de seguridad del sistema de archivos de tu servidor, incluidas las imágenes y los archivos multimedia. Si tienes una base de datos, crea una copia de seguridad de ella también.
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, luego, instalar los parches y las actualizaciones de seguridad disponibles.
  4. Corrige la vulnerabilidad.
  5. Realiza un diff del sitio 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 el contenido nuevo y limpio que quieras conservar de la copia infectada al servidor actualizado.
rsync -avz /backups/full-backup-20120124/www/clean-file.jpg /www/
  1. Comprueba que se haya corregido cada URL que se indica 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 de FTP, acceso a bases de datos, administradores del sistema y cuentas de CMS). En sistemas basados en Unix:
$passwd admin1

No hay copias de seguridad disponibles

Crea dos copias de seguridad de tu sitio, aunque siga infectado. Tener una copia de seguridad adicional te ayudará a recuperar contenido borrado por accidente o te permitirá revertirlo y volver a intentarlo si algo sale mal. Etiqueta cada copia de seguridad como “infectada” para futuras consultas.

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 la restauración del contenido. Puedes dejar la imagen del disco a un lado para una 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, incluidas las imágenes y los archivos multimedia. Si tienes una base de datos, también crea una copia de seguridad de la base de datos.

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, crea 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 la copia de seguridad (no el servidor en sí), haz lo siguiente:

  1. Si tu investigación anterior encontró permisos de archivo demasiado flexibles, corrígelos. Asegúrate de hacerlo en la copia de seguridad, no en el servidor.
  2. También en la copia de seguridad, limpia todos los archivos correspondientes a las URLs descubiertas como comprometidas en Evaluar el daño. Estos pueden ser archivos de configuración del servidor, JavaScript, HTML o PHP.
  3. Asegúrate de quitar (publicar una respuesta 404) los archivos nuevos que creó el hacker, que es posible que hayas enviado o no con la herramienta de eliminación de URLs de Search Console.
  4. Corrige la vulnerabilidad si existe en tu código o contraseñas rotas. Las bibliotecas de validación de entradas o las auditorías de seguridad pueden ser de ayuda.
  5. Si tu sitio tiene una base de datos, comienza a limpiar los registros modificados por hackers que se encuentren en la copia de seguridad. Antes de pensar que terminaste, verifica más de los 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 de FTP, acceso a la base de datos, administradores del sistema y cuentas del CMS). En sistemas basados en Unix, usa el siguiente código:
$passwd admin1

En este punto, la copia de seguridad infectada de tu sitio debería contener solo datos limpios. Mantén esta copia limpia a un lado y pasa a 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 usa. 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 sea hackeado de nuevo.
    • La instalación nueva debe incluir el SO si tienes el control del servidor y de 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 bueno de la copia del sistema de archivos de copia de seguridad limpia a los servidores recién instalados. Sube y restablece solo los archivos o la base de datos limpios conocidos. Asegúrate de mantener los permisos de archivo adecuados y de no reemplazar los archivos del sistema recién instalados.
  3. Realiza un último cambio de contraseñas para todas las cuentas relacionadas con el sitio (p.ej., accesos para el acceso de FTP, acceso a la base de datos, administradores del sistema y cuentas del 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 del sitio de forma automática y periódica.
  • Mantén el software actualizado.
  • Comprende las prácticas de seguridad de todas las aplicaciones, los complementos y otros 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 tu sitio.
  • Aplica la creación de contraseñas seguras de manera forzosa.
  • Mantén la seguridad de todos los dispositivos que se usen para acceder a la máquina (sistema operativo y navegador actualizados).

8. Vuelve a verificar que se haya completado la limpieza

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

  • ¿Seguí los pasos adecuados si el hacker obtuvo información personal de los usuarios?
  • ¿Mi sitio ejecuta la versión más reciente y segura del software?
  • ¿Quité todas las aplicaciones o los complementos innecesarios o que no se usan que podrían hacer que mi sitio sea más vulnerable en el futuro?
  • ¿Restablecí mi contenido y borré el del hacker?
  • ¿Corregí la vulnerabilidad de la causa raíz que permitió que hackearan mi sitio?
  • ¿Tengo un plan para mantener la seguridad de mi sitio?

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