digitaldemocratic/dd-waf/README.md

2.6 KiB

DD - Apache2 ModSecurity + HAProxy

Instalación de los servicios Apache2 ModSecurity y HAProxy.

  • En el servicio de Apache2 con ModSecurity V3 se incluyen las reglas OWASP
  • En servicio HAProxy actua de frontend de la aplicación, gestiona y negocia el certificado del dominio a través de letsencrypt.

HAProxy

Podemos encontrar la configuración del servicio en dd-waf/haproxy

La versión por defecto que se usara en HAProxy es haproxy:2.4.12-alpine3.15 pero podemos definir usar otra versión definiendo el valor de la variable HAPROXY_IMG en nuestro fichero dd.conf

La configuración del servicio se encuentra en fichero haproxy.cfg. El fichero ya esta configurado para enrutar todo el tráfico a través del servicio Apache2-ModSecurity.

El servicio de HAProxy se encarga de negociar y configurar el certicado del dominio de instalación La comunicación externa es cifrada, pero internamente la comunción usa el protocolo http

Apache - ModSecurity

Podemos encontrar la configuración del servicio en dd-waf/haproxy

Tenemos diferentes ficheros para configurar este servicio

  • En el fichero 000-default.conf tendremos la configuración del servidor web Apache2.
  • En el fichero crs-setup.conf configuramos OWASP ModSecurity Core Rule Set ver.3.2.0
  • En el fichero modsec_rules.conf incluimos los ficheros necesarios del owasp servicio de Apache2
  • En el fichero rules_apps.conf se configuran los falsos positivos, de las diferentes aplicaciones, que se tienen idenficados hasta el momento.

Instalación

Para la instalación del haproxy + modsecurity debemos que definir a true la variable BEHIND_PROXY en el fichero dd.conf

BEHIND_PROXY=true

Ahora tenemos que desplegar el modsecurity + haproxy ejecutando el comando update del dd-ctl

./dd-ctl update

Configuración

En la instalación el ModSecurity se encuentra deshabilitado para no interferir en el proceso de setup inicial del DD.

Una vez finalizada la parte de setup, podemos activarlo o desactivarlo según necesitemos,

Se configuran los siguientes directorios como volumen para persistir la configuración.

  • En el directorio dd-waf/haproxy podemos añadir las reglas que necesitemos para excluir los falsos positivos que nos da el modsecurity. El nombre de los ficheros debe terminar en .conf i* En del directorio dd-waf/haproxy se encuentra el fichero de configuración del Virtual Host del Apache2

Activar ModSecurity con las reglas OWASP

./dd-ctl enable_waf

Desactivar ModSecurity con las reglas OWASP

./dd-ctl disable_waf