Descarga %282%29

Implementación de Modsecurity en Contenedor de Wordpress


Josemoreno 300x180
José Moreno

Todos sabemos que wordpress es el CMS más utilizado en la actualidad y más aún con la pandemia la cantidad de comercios que han sido forzados a una transformación digital de su negocio, vendiendo sus productos o brindando sus servicios a través de esta plataforma. La siguiente imagen es la distribución para sitios que utilizan tecnologías ecommerce, Top 100k sitios siendo un 14% el plugin de woocomerce para wordpress, si buscamos en el sitio de kinsta encontramos que el 30% de los sitios desarrollados en el mundo utilizan wordpress.

El siguiente articulo tiene como objetivo crear un wordpress con modsecurity preinstalado para utilizar en las clases de seguridad de aplicaciones. Encontraremos el docker-compose.yml y el dockerfile que permite realizar este trabajo.

Resumen

Un WAF (Web Aplicattion Firewall) es un firewall a nivel de aplicación el cual protege tus aplicaciones web de ataques que, normalmente, son un dolor de cabeza para los administradores de las aplicaciones o para los dueños de las mismas, obviamente no es infalible pero detiene los ataques de los script kiddies y dificultad el trabajo de los cibercriminales si se mantienen las reglas actualizadas.

Uno de los WAF más utilizados es ModSecurity. Originalmente, se escribió como un módulo para el servidor web Apache, pero desde entonces se ha adaptado a NGINX e IIS. ModSecurity protege contra ataques buscando:

  • Inyección SQL.

  • Asegurarse de que el tipo de contenido coincida con los datos del cuerpo.

  • Protección contra solicitudes POST con formato incorrecto.

  • Protección del protocolo HTTP.

  • Búsquedas de listas negras en tiempo real.

  • Protecciones de denegación de servicio HTTP.

  • Protección genérica contra ataques web.

  • Detección y ocultación de errores.

En esta ocasión utilizaremos docker para crear un balanceador principal hacia dos contenedores, uno el cual contiene una imagen personalizada de wordpress con mod security (waf) y otro sin mod security para probar los ataques (vuln).

 

Requisitos

  • Un servidor vps con 55GB SSD, 1 CPU, 2048MB recomiendo usar el proveedor vultr.com

  • Instalar docker y docker-compose en el vps

  • Un Domino que podamos crear varios subdominios.

Agradecimientos

Antes de iniciar el desarrollo agradezco @srwaffles23 donde obtuve el repositorio base que luego modifique para que sea todo usando un archivo de docker-compose.yml

Instalación Básica

  1.  Vamos a instalar docker y docker-compose
apt update && apt install docker docker-compose -y

 

2. clonamos el repositorio

git clone https://github.com/jam620/wordpress-waf.git