Los «Papeles de Panamá», la mayor filtración periodística de toda la historia, tuvieron su origen en un plugin de WordPress. Una falta de actualización y el popular Revolution Slider jugaron un papel clave en la publicación de los datos de Mossack Fonseca que destapaban uno de los mayores casos de evasión de impuestos de los últimos años.
Aunque de enorme repercusión, este no es, ni mucho menos, el único caso. Basta con indagar un poco en internet para encontrar muchas más historias reales de vulnerabilidades de seguridad informática (todas ellas con graves consecuencias para los implicados) relacionadas con el gestor de contenidos más popular en la actualidad: WordPress. No en vano más de una de cada cuatro páginas —en concreto el 27,4% según W3Techs— que existen en la web hoy en día están hechas con dicho CMS. Vamos, que si estás leyendo esto y tu empresa tiene una página web, es más que probable que estéis expuestos a los problemas derivados de una securización poco profesional de WordPress.
Llegados a este punto es probable que algunos de vosotros penséis: «Interesante, pero en realidad, ¿quién va a querer hackear mi web? He aquí un error de base. La cuestión es que muchos ataques no son dirigidos a una web concreta, sino que se trata de bots que buscan versiones concretas de una herramienta con un set de vulnerabilidades. Cuando detectan una, infectan ese servidor para utilizarlo como host-zombie, para un ataque masivo de DDoS, máquina para enviar spam, máquina para saltar a ella y desde ella hackear otro sitio, almacenamiento gratis para cualquier cosa prohibida en internet... Sobran, pues, los motivos para aseverar que la seguridad debería ser una premisa básica en todo proyecto web.
El caso de éxito que os contamos hoy está, como no podía ser de otra manera, relacionado con la eliminación de vulnerabilidades de proyectos web desarrollados en WordPress. En concreto, os vamos a explicar lo que hicimos para securizar el sitio web de nuestro cliente IMQ Prevención.
Una de las problemáticas que nos encontramos con relativa asiduidad hoy en día es la siguiente: un equipo de desarrollo hace un proyecto web «outofthebox». Es decir, instala el software, crea la plantilla, genera contenidos y se va del proyecto, sin preocuparse de la seguridad o del mantenimiento evolutivo del proyecto.
Esta situación en softwares tan extendidos como WordPress puede suponer un riesgo de recibir ataques informáticos. Y no precisamente por la falta de seguridad del popular gestor de contenidos open source. De hecho la comunidad WordPress es una de las más activas y rápidas en la detección y resolución de vulnerabilidades, por delante de big players que en ocasiones han tardado años en publicar un parche específico.
A pesar de ello, una descuidada labor de mantenimiento y actualización del software puede desembocar en problemas que comprometen la seguridad y la integridad del sitio web.
El reto al que se enfrentaba nuestro equipo de desarrollo Web y Sistemas era securizar un proyecto de WordPress desarrollado por terceros para un cliente de la talla de IMQ Prevención. Un proyecto que nos llega a través de una relación comercial madura con la empresa del Grupo IMQ y un sólido background técnico.
IMQ Prevención requiere de un entorno seguro para relacionarse con sus clientes. Bajo esta premisa, Irontec es consultado para llevar a cabo un análisis de implantación posterior de un paquete de medidas que mejoren el nivel de seguridad del sitio web de la compañía.
El primer paso se centra en tomar el control de un desarrollo de terceros. Para ello incorporamos todo el código a nuestro sistema de control de versiones y preparamos un entorno de desarrollo controlado sobre el que realizar pruebas.
De esta forma podíamos llevar a cabo un desarrollo evolutivo controlado y contar con una versión «limpia» del software, que nos serviría en el caso de recibir un ataque. Además, se actualizó la versión de WordPress. Quizá este punto suene un poco evidente, pero la falta de actualización de WordPress produce la mayoría de los ataques recibidos.
Una vez que adquirimos el control del desarrollo, llevamos a cabo un proceso de securización global de la herramienta. En esta fase se aplicaron parches de seguridad, se instaló un firewall específico, se actualizaron determinados plugins, y se montó la infraestructura adecuada para una completa monitorización que nos permitiría actuar con la máxima premura en el caso de recibir ataques. Es importante destacar que, aunque en este tipo de proyectos la prioridad es maximizar la seguridad, también lo es preparer la solución, la infraestructura y los propios procesos de la empresa para una rápida detección de ataques y posterior actuación ad hoc.
Por otra parte, cabe añadir que se intervino en el core de WordPress (llevar a cabo acciones en el núcleo del CMS requiere de una alto grado de especialización; de hecho es motivo frecuente de errores cuya solución supone a veces importantes contratiempos) para redireccionar todo el tráfico a la versión https del sitio web. Esta acción tenía importantes implicaciones tanto para la seguridad de la comunicación entre el cliente y el servidor, como de cara al posicionamiento en motores de búsquedas.
Además, y dado que en el contenido de la base de datos de WordPress no se gestionan directamente los enlaces, tuvimos que llevar a cabo la actualización de las URLs de los contenidos para que hiciesen uso del protocolo HTTPS.
En la actualidad el sitio web de IMQ Prevención cuenta con las máximas garantías de seguridad. Se puede afirmar sin ambages que se trata de una versión de WordPress optimizada en lo que a securización se refiere.
Tanto nuestro cliente, como los clientes de nuestro cliente navegan y publican información en un entorno web seguro.
El reto de este proyecto radicaba en eliminar las vulnerabilidades de seguridad informática relacionadas con el gestor de contenidos Wordpress. Para dar respuesta al mismo, en Irontec nos hemos encargado de la optimización del desarrollo de terceros del sitio web del Servicio de Prevención de Riesgos Laborales del Grupo IMQ Prevención. El objetivo era maximizar su seguridad y establecer los mecanismos necesarios para proteger los flujos de información, algo que hemos logrado gracias a nuestra experiencia en el desarrollo de dicha plataforma.