Los blogs son, sin duda, una de las maneras de expresión más extendidas en la web. Mientras algunos bloggers optan por alojar su blog en una plataforma desarrollada por una empresa, otros eligen desarrollar su propia bitácora en una dirección web de su propiedad, lo que, si bien da más flexibilidad, también obliga a tener más cuidado para evitar “accidentes”.
Tanto Blogspot como WordPress ofrecen cuentas gratuitas que dan acceso al uso de Blogger y WordPress CMS, respectivamente. Se ofrecen como un servicio mantenido por el proveedor. Esto significa que los usuarios no deben preocuparse por parches u otro tipo de medidas de seguridad, dado que éstas son provistas automáticamente por los desarrolladores del servicio.
La mayoría de las violaciones de la seguridad suelen ocurrir en blogs alojados en dominios propios y tienen como principales causas las vulnerabilidades sin descubrir en el script del blog y la mala configuración (u otros defectos en el software del servidor web).
Recuperarse de la entrada de un hacker en nuestro blog es una experiencia laboriosa y los efectos de un ataque exitoso pueden sentirse a lo largo de mucho tiempo, pero cuanto más rápido seamos en identificar y solventar los problemas, menos daño habrá en nuestro blog. Aquí os ofrecemos una lista de acciones inmediatas que pueden ser tomadas después de descubrir que nuestro blog ha sido hackeado:
1. Lo primero y más importante, es hacer que nuestro dominio sea inaccesible tanto para usuarios humanos como para los rastreadores de los buscadores. Puesto que todos los archivos de la web requerirán un análisis y (probablemente) una restauración, borrar alguno de ellos no es recomendable. Es más fácil bloquear todo el tráfico poniendo un archivo .htaccess en el directorio raíz de la web. Si nuestro servidor no soporta archivos .htaccess o no está funcionando con Appache, lo mejor es cambiar nombre del archivo index.php y crear uno en blanco en su lugar. Es importante recordar que hay que crear la falsa página index.php, pues en caso contrario corremos el riesgo de exponer otros archivos en nuestra cuenta FTP.
El archivo .htaccess debería contener una sóla linea: denegar todo (deny from all)
Detener el tráfico y la entrada de los motores de búsqueda es una parte esencial del proceso. No queremos llevar a más usuarios a infectarse con malware ni tampoco ser marcados por Google ® como un sitio malicioso.
2. Hacer una copia de seguridad completa de la carpeta de inicio. Por lo general, ésta incluye no sólo todos los archivos de nuestra cuenta de alojamiento, sino también las bases de datos SQL que podamos tener. Si no podemos crear una copia de seguridad completa, lo mejor es descargar el contenido de nuestra cuenta usando un cliente FTP y, a continuación, exportar manualmente la base de datos como un archivo de SQL. Es posible que deseemos ejecutar un escaneo profundo con nuestro antivirus favorito en los archivos descargados, ya que algunos de los scripts maliciosos inyectados por los ciber-criminales son detectados por los escáneres.
3. Retirar los registros de acceso de nuestro servidor web y almacenarlos en un lugar seguro. Cuanto más rápido lo hagamos, mejor, la mayoría de los proveedores de webhosting los conservan durante un período limitado de tiempo (generalmente 12 horas o 24). Necesitaremos los registros para investigar qué es exactamente lo que los atacantes han hecho en nuestro sitio web. Este análisis forense en nuestra cuenta de hosting probablemente será capaz de revelar el lugar exacto de nuestro sitio web que ha sido atacado y, posteriormente, nos permitirá resolver definitivamente el problema de una manera más fácil.
4. Hay que hacer una copia de todos los archives modificados que encontremos. Estos podrían incluir plantillas, plugins y archivos subidos como contenido (prácticamente, todo lo que no puede ser descargado desde la web de nuevo). Deberemos almacenar sólo aquellos necesarios para comenzar de nuevo, sin perder ningún contenido.
5. Comenzar a buscar dentro de cada plugin y cada archivo fragmentos de texto sospechosos. Tendremos que prestar especial atención a líneas de texto como “eval(base64_decode)” seguidas de una serie de números y letras ilegibles, así como cualquier secuencia de comandos incluidas desde dominios que no conocemos (como src=”http://www.cioal.com/http://[dominiodesconocido]/scriptname.php“>. Base64 es el método de ofuscación elegido para ocultar códigos maliciosos al ojo humano. Si encontramos algo así, significará, necesariamente, que sea dañino, ya que algunos diseñadores de plantillas (temas) usan Base64 para proteger sus composiciones con copyright de ser alteradas. Ante una situación así, debemos comparar el tema modificado con el original: si no hay código base64 en el último, deberíamos limpiar los archivos modificados
6. Ir a través de la base de datos tabla por tabla buscando cualquier link sospechoso. Hay que poner especial atención a las tablas de los administradores, los parámetros de configuración y los artículos del blog. Si encuentras un administrador desconocido, elimínalo. Las dos últimas tablas podrían contener un redirección basada en Javascript.
7. Después de que el proceso de inspección y limpieza termine, tendremos que eliminar los archivos de nuestro servidor web. Si la base de datos también se vio afectada, debemos dejarla de lado y restaurar la copia que se ha revisado de manualmente.
8. Empezar a cargar el script del blog en el servidor. Tendremos que asegurarnos de que lo hemos descargado desde el repositorio oficial y el archivo MD5 es idéntico al que se muestra en la página web oficial. Es obligatorio descarguemos la última versión del script. Modificar el archivo de configuración para que coincida con los datos de nuestro servidor web (usuario de SQL, base de datos, contraseña, ruta del archivo y el resto de la configuración)
Como nota al margen, muchos de los scripts CMS comerciales se pueden descargar desde páginas de software pirateado, con su protección comercial “rota”. Hay que tener en cuenta que el uso de este tipo de scripts es extremadamente peligroso, ya que suelen contener código “bombed” (backdoors) establecido por el “anulador” (el que pirateó el software original) para poder tomar el control de sitio web de la víctima.
9. Asegurarse de que no se establecen permisos sobre archivos y carpetas más altos que los que realmente necesitamos. Tendremos que configurar los archivos y carpetas a CHMOD 777 lo que podría permitir a un atacante escribir en ellos y volver a inyectar código malicioso. Por eso, tendremos que consultar la documentación técnica del guión y establecer los permisos adecuados para cada archivo y carpeta. Finalmente, deberemos cambiar las contraseñas de los administradores, del blog y de los FTP.
10. Subir los archivos modificados de nuevo a su lugar correcto a través de FTP. Si tenemos bloqueado el acceso a la raíz del sitio con un archivo .htaccess, tendremos que eliminarlo ahora. Además, buscaremos nuestro blog en un motor de búsqueda usando su nombre o el título del blog como palabras clave y accederemos a los resultados principales mostrados por el motor. La mayoría de las veces, el malware comprueba si la visita se produce desde un motor de búsqueda o si el visitante ha accedido directamente y sólo se muestra en el primer caso.
El bloqueo por culpa de un hackeo podría ocurrir debido a varios factores y algunos de ellos, incluso, escapan a nuestro control. Por ejemplo, una pobre configuración del servidor o el uso en éste de software vulnerable pueden permitir el acceso a nuestra web a un ciberdelincuente. Para minimizar estos riesgos, aconsejamos:
• Nunca usar scripts modificados o procedentes de webs poco fiables.
• Mantener la cuenta FTP limpia: no hay que mezclar la cuenta de un blog con otros scripts que casualmente estemos probando en línea. Una pequeña vulnerabilidad en un script puede poner nuestro blog en manos ajenas. Las pruebas deben realizarse siempre en un servidor web instalado localmente
• No añadir extensiones innecesarias o temas al blog. Hay que usar sólo lo que realmente necesitamos y reducir al mínimo la probabilidad de tener un plugin o tema defectuoso. Además, tenemos que asegurarnos de que cualquier plugin proviene de una fuente de confianza, en caso de duda, preguntaremos a la comunidad.
• Generar y almacenar copias de seguridad de SQL con regularidad
• Utilizar contraseñas Fuertes para las cuentas FTP y las cuentas de los administradores. No debemos reveler esas claves bajo ninguna circunstancia. Podríamos, además, instalar una solución antimalware para asegurarnos de que el sistema está limpio de troyanos. Muchos ataques exitosos proceden de claves robadas mediante el uso de keyloggers y troyanos.
• Hay que poner especial interés en seleccionar un buen proveedor de hosting. Tenemos que asegurarnos de que ofrecen backups automáticos diarios, registro de acceso y una configuración adecuada del servidor web para acoger nuestro blog