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.