digitaldemocratic/dd-waf/README.md

2.5 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.
  • En la instalación el ModSecurity se encuentra deshabilitado para no interferir en el proceso de setup inicial del DD.
  • La instalación se puede realizar con o sin la parte WAF.
  • Si tenemos instalado el WAF podemos tenerlo activo o en modo bypass

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. Todo el tráfico que pasa por el haproxy se enruta al Apache2-ModSecurity.

El servicio de HAProxy se encarga de negociar y configurar el certicado del dominio de instalación

La comunicación desde fuera del stack de la aplicación 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 WAF

Podemos hacer la intalación del proyecto con o sin servico waf.

Instalación

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

  • Instalación del servicio WAF
BEHIND_PROXY=true
  • No se instala el servicio WAF
BEHIND_PROXY=true

Enable/Disable

Si tenemos instalado la parte del WAF en nuestro proyecto podemos tenerlo activo o desactivado.

  • HAProxy activado
DISABLE_WAF=false
  • HAProxy desactivado
DISABLE_WAF=true

Configuración

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

./dd-ctl update