# rm-rf.es

ModSecurity: No matches for the wildcard use IncludeOptional if required

El siguiente error se puede presentar al iniciar el servicio web Apache con el módulo de Mod_Security activado:

Oct 09 12:11:17 foobar httpd[11749]: httpd: Syntax error on line 414 of /etc/httpd/conf/httpd.conf: Syntax error on line 13 of /etc/httpd/conf.d/00_mod_security.conf: No matches for the wildcard '00*exclude.conf' in '/etc/httpd/modsecurity.d', failing (use IncludeOptional if required)

El error indica que algunos de los archivos de configuración especificados como inclusión, no existen. En este caso los especificados utilizando comodines/wildcards:

00*exclude.conf

La solución, como el propio mensaje de error indica en el log, es utilizar la directiva IncludeOptional en lugar de Include para evitar este error fatal al arrancar el servicio si algún archivo no existe. Especialmente útil al utilizar wildcards.

Antes:

Include modsecurity.d/00*exclude.conf
       Include modsecurity.d/*asl*.conf
       Include modsecurity.d/99*exclude.conf

Después:

       IncludeOptional modsecurity.d/00*exclude.conf
       IncludeOptional modsecurity.d/*asl*.conf
       IncludeOptional Include modsecurity.d/99*exclude.conf

Tras hacer el cambio, ejecutad un configtest de Apache antes de reiniciar el servicio para confirmar que la sintaxis de vuestra configuración es correcta y validada.

Salir de la versión móvil