Limpiar y mantener limpio el sitio web

Lo que necesitarás:

  • Acceso de administrador de shell/terminal a los servidores del sitio (web, base de datos, archivos)
  • Conocimientos de los comandos de shell/terminal
  • Comprension de código (como PHP o JavaScript)
  • Almacenamiento para crear copias de seguridad del sitio (archivos, base de datos, imágenes, etc.)

Pasos siguientes:

En este paso trataremos varias acciones: 

  • Dónde puedes encontrar recursos adicionales si crees que el hacker pretendía obtener información personal de los usuarios, por ejemplo, con páginas de suplantación de identidad (phishing).
  • Posibilidad de usar la función Eliminar URLs en Search Console para acelerar la eliminación de las URL completamente nuevas, no deseadas y visibles para el usuario que haya creado el hacker y que no quieras que aparezcan en los resultados de búsqueda de Google.
  • Posibilidad de usar la función Explorar como Google en Search Console para acelerar el procesamiento de Google de las páginas limpias (es decir, las páginas nuevas o actualizadas recientemente) que quieras que aparezcan en los resultados de 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 no utilizados que puedan hacer que el sitio web sea más vulnerable en el futuro.
  • Restauración del contenido válido y eliminación del contenido de los hackers.
  • Corrección de la vulnerabilidad original explotada por el hacker.
  • Cambio de todas las contraseñas.
  • Planificación para mantener tu sitio seguro.

1. Localiza recursos de asistencia para gestionar la pérdida de información confidencial, por ejemplo, con páginas de phishing

Si la información confidencial del usuario se obtuvo en tu sitio web, por ejemplo, porque fue víctima de un ataque de phishing, ten en cuenta las responsabilidades empresariales, normativas o legales antes de empezar la limpieza del sitio web o eliminar cualquier archivo. En los casos de suplantación de identidad (phishing), puedes encontrar recursos útiles en antiphishing.org como, por ejemplo, este documento sobre qué hacer si se ha pirateado tu sitio web con un ataque de este tipo.

2. Valora la posibilidad de acelerar la eliminación de las URL nuevas creadas por el hacker

Si el hacker creó URL completamente nuevas y visibles para el usuario, puedes quitarlas más fácilmente de los resultados de búsqueda de Google con la función Eliminar URLs de Search Console. Este paso es totalmente opcional. Si solo eliminas las páginas y, a continuación, configuras el servidor para que se devuelva un código de estado 404, las páginas acabarán desapareciendo de forma natural del índice de Google.

  • La decisión de utilizar la herramienta para eliminar URL probablemente dependerá del número de páginas nuevas y no deseadas que se haya creado (si hay demasiadas, pueden ser difíciles de manejar para incluirlas), así como del daño potencial que estas páginas puedan causar a los usuarios. Para asegurarte de que las páginas incluidas en esta herramienta no vuelvan a aparecer en los resultados de búsqueda, comprueba que también estén configuradas para mostrar la respuesta "404: archivo no encontrado" en las URL no deseadas o eliminadas.
  • No utilices esta herramienta para solicitar la eliminación de páginas que antes estuvieran en buenas condiciones y que el hacker haya dañado, ya que probablemente quieras que vuelvan a aparecer en los resultados de búsqueda una vez limpias. La eliminación de URL solo sirve para páginas que no quieras que aparezcan nunca más en los resultados.

3. Valora la posibilidad de acelerar el procesamiento de Google de las páginas

Si tienes páginas limpias nuevas o actualizadas, puedes utilizar la función Explorar como Google de Search Console para incluirlas en el índice de Google. Este paso es totalmente opcional; si te lo saltas, las páginas nuevas o modificadas se acabarán rastreando y procesando.

4. Inicia la limpieza de los servidores

Ahora es el momento de empezar a limpiar el sitio web siguiendo las notas que has ido tomando durante los pasos Evaluar los daños e Identificar la vulnerabilidad. El camino que tomes en este punto depende del tipo de copia de seguridad que tengas disponible:

  • Copia de seguridad limpia y actual
  • Copia de seguridad limpia pero obsoleta
  • Sin copia de seguridad disponible   

En primer lugar, asegúrate de que la copia de seguridad sea de antes de que el sitio web se piratease.

  • Copia de seguridad limpia y actual
    1. Restaura la copia de seguridad.
    2. Instala las actualizaciones de la versión de software, las actualizaciones o las correcciones disponibles. Esto incluye el software para el sistema operativo si controlas el servidor y todas las aplicaciones, tales como el sistema de gestión de contenido, la plataforma de comercio electrónico, los complementos, las plantillas, etc.
    3. Valora la posibilidad de eliminar software de tu servidor que ya no se utilice, como widgets, complementos o aplicaciones.
    4. Corrige la vulnerabilidad.
    5. Asegúrate de que se solucionen todos los problemas detectados durante el paso Evaluar los daños.
    6. Vuelve a cambiar las contraseñas de todas las cuentas relacionadas con el sitio web (por ejemplo, los inicios de sesión para el acceso al FTP, la base de datos, los administradores de sistemas y las cuentas de CMS). En los sistemas basados en Unix:
      $passwd admin1
  • Copia de seguridad limpia pero obsoleta
    1. Crea una imagen de disco de tu sitio web actual a pesar de que todavía esté infectado. Esta copia se hace solo por seguridad. Marca la copia como infectada para distinguirla de las otras. En un sistema basado en Unix, se podría hacer una imagen de disco de la siguiente forma:
      $dd if=/dev/sda bs=1024 conv=noerror,sync | gzip -c -9
        > /mirror/full-backup-20120125-infected.gz
    2. Haz una copia de seguridad del sistema de archivos de tu servidor, incluidos imágenes y archivos multimedia. Si tienes una base de datos, hazle también una copia de seguridad.
      $tar -pczf full-backup-20120125-infected.tar.gz www/ $ mysqldump -u root
        -p --all-databases | gzip -9 > fulldb_backup-20120125-infected.sql
    3. Restaura la copia de seguridad limpia pero obsoleta en tu servidor.
    4. Valora la posibilidad de eliminar software de tu servidor que ya no se utilice, como widgets, complementos o aplicaciones.
    5. Actualiza todo el software, incluido el sistema operativo, si tienes el control del servidor y de todas las aplicaciones de software, como el sistema de gestión de contenido, la plataforma de comercio electrónico, los complementos, las plantillas, etc. Debes comprobar si hay actualizaciones de seguridad y parches disponibles e instalarlos.
    6. Corrige la vulnerabilidad.
    7. Realiza un proceso diff en el sitio web de forma manual o automática entre la copia de seguridad limpia y la que está infectada actualmente.
      $diff -qr www/ backups/full-backup-20120124/
    8. Sube al servidor actualizado cualquier contenido nuevo y limpio que desees conservar de la copia infectada.
      $rsync -avz /backups/full-backup-20120124/www/clean-file.jpg /www/
    9. Comprueba que se hayan corregido todas las URL que aparecían en el paso Evaluar los daños.
    10. Vuelve a cambiar las contraseñas de todas las cuentas relacionadas con el sitio web (por ejemplo, los inicios de sesión para el acceso al FTP, la base de datos, los administradores de sistemas y las cuentas de CMS). En los sistemas basados en Unix:
      $passwd admin1
  • Sin copia de seguridad disponible
    1. Haz dos copias de seguridad del sitio web a pesar de que todavía esté infectado. La copia adicional te permitirá recuperar el contenido que hayas eliminado por error o volver a empezar la limpieza desde cero si algo no va bien. Asígnales un nombre descriptivo que las etiquete como copias infectadas para poder identificarlas más adelante.
      • Una de las copias de seguridad será una imagen de disco o "versión clon" del sitio web. Con este formato, restaurar el contenido es aún más sencillo. Puedes reservar la imagen de disco para una emergencia. En un sistema basado en Unix, se podría hacer una imagen de disco de la siguiente forma:
        $dd if=/dev/sda bs=1024 conv=noerror,sync | gzip -c -9 >
          /mirror/full-backup-20120125-infected.gz
      • La otra copia de seguridad es una copia del sistema de archivos del servidor, que incluye imágenes y archivos multimedia. Si tienes una base de datos, hazle también una copia de seguridad.
        $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 ninguna imagen de disco, haz dos copias de seguridad de la base de datos y dos del sistema de archivos.
    2. Limpia el contenido del sitio web que haya en la copia de seguridad del sistema de archivos nuevo (no del servidor).
      1. Si durante el análisis anterior has encontrado permisos de archivo demasiado flexibles, corrígelos. Debes corregirlos en la copia de seguridad, no en el servidor.
      2. También en la copia de seguridad, limpia todos los archivos correspondientes a las URL pirateadas encontradas en el paso Evaluar los daños. Pueden ser archivos de configuración del servidor, JavaScript, HTML o PHP.
      3. Quita también (devuelve una respuesta 404) los nuevos archivos creados por el hacker (es posible que los hayas quitado antes utilizando la herramienta para eliminar URL de Search Console).
      4. Si la vulnerabilidad se encuentra en el código o en contraseñas descifradas, corrígela. Las bibliotecas de validación de entrada o las auditorías de seguridad pueden serte de ayuda.
      5. Si tu sitio web tiene base de datos, empieza por limpiar los registros que haya modificado el hacker en la copia de seguridad. Antes de dar esta tarea por terminada, realiza una comprobación en más registros para asegurarte de que esté todo limpio.
      6. Vuelve a cambiar las contraseñas de todas las cuentas relacionadas con el sitio web (por ejemplo, los inicios de sesión para el acceso al FTP, la base de datos, los administradores de sistemas y las cuentas de CMS). En los sistemas basados en Unix:
        $passwd admin1
      7. Llegado este punto, la copia de seguridad de tu sitio web, antes infectada, debe contener solo datos limpios. Guarda la copia limpia y procede con la acción 5.

5. Elimina software innecesario

Valora si puedes eliminar software de tu servidor que ya no se utilice, como widgets, complementos o aplicaciones. Esto puede aumentar la seguridad y facilitar el posterior mantenimiento del servidor.

6. Limpia todos los servidores

  1. Realiza una instalación limpia, no solo una actualización. Con las actualizaciones, podrían quedar en el servidor archivos de una versión anterior. Además, si uno de los archivos está infectado, es más probable que el servidor se infecte de nuevo.
    • La nueva instalación debería incluir el sistema operativo, si tienes el control del servidor, así como todas las aplicaciones de software, como el sistema de gestión de contenido, la plataforma de comercio electrónico, los complementos, las plantillas, etc. Debes comprobar si hay actualizaciones de seguridad y parches disponibles.
  2. Transfiere el contenido deseado de la copia de seguridad limpia del sistema de archivos a los servidores que acabas de instalar. Sube o restaura únicamente los archivos o las bases de datos limpios. Asegúrate de mantener los permisos de archivo adecuados y de no sobrescribir los archivos del sistema que acabas de instalar.
  3. Cambia, por última vez, las contraseñas de todas las cuentas relacionadas con el sitio web (por ejemplo, los inicios de sesión para el acceso al FTP, la base de datos, los administradores de sistemas y las cuentas CMS). En los sistemas basados en Unix:
    $passwd admin1

7. Crea un plan de mantenimiento a largo plazo

Hay muchos recursos informativos en la Web sobre la creación de un buen plan de mantenimiento del sitio web, como este con los conceptos básicos para prevenir el software malicioso de StopBadware. También te recomendamos que sigas los consejos que encontrarás a continuación:

  • Haz copias de seguridad automáticas del sitio web con regularidad.
  • Intenta mantener el software actualizado.
  • Lee cuidadosamente las prácticas de seguridad de todas las aplicaciones, los complementos, el software de terceros, etc., antes de instalarlos en el servidor. Una vulnerabilidad de seguridad en una aplicación de software puede afectar a la seguridad de todo el sitio web.
  • Exige la creación de contraseñas seguras.
  • Asegúrate de que todos los dispositivos que se utilizan para iniciar sesión en el equipo sean seguros (sistema operativo y navegador actualizados).

8. Comprueba que la limpieza se haya completado

Asegúrate de que la respuesta a las siguientes preguntas es afirmativa:

  • ¿He tomado las medidas que deben seguirse si el hacker obtiene información personal de los usuarios? 
  • ¿Se utiliza en mi sitio la versión más nueva y segura del software? 
  • ¿He eliminado todas las aplicaciones o todos los complementos innecesarios o no utilizados que podrían hacer que mi sitio web fuera más vulnerable en el futuro? 
  • ¿He restaurado mi contenido y he eliminado el contenido del hacker? 
  • ¿He solucionado la vulnerabilidad original que permitió que se pirateara mi sitio web? 
  • ¿Tengo un plan para mantener la seguridad del sitio?

9. Haz que el sitio web vuelva a estar online

Paso siguiente

Ya casi has terminado. La última fase del proceso es solicitar una revisión.