leogallego.apache_modsecurity
Rol de Ansible: apache-modsecurity
Rol de Ansible para instalar y configurar Apache mod_security2 en distribuciones basadas en Ubuntu, Debian o Red Hat.
Requisitos
Ninguno.
Variables del Rol
Las variables más comunes se enumeran a continuación; las que son (en su mayoría) inmutables están en defaults/main.yml
y las configuraciones recomendadas están en var/main.yml
. Este último archivo es el que se debe editar. También hay un par de plantillas para el archivo modsecurity.conf
, una mínima y otra recomendada por mod_security.
La carpeta de configuración de Apache para cada distribución según default/main.yml
:
apache_conf_dir_debian: "/etc/apache2/conf-available"
apache_conf_dir_redhat: "/etc/httpd/conf.d"
Las configuraciones en var/main.yml
:
Habilitar mod_security en modo solo detección; debes cambiar esto a On una vez que estés seguro de que todo está funcionando como se espera:
SecRuleEngine: DetectionOnly
Reglas de solicitud:
SecRequestBodyAccess: On
SecRequestBodyLimit: 13107200
SecRequestBodyNoFilesLimit: 131072
SecRequestBodyInMemoryLimit: 131072
SecRequestBodyLimitAction: Reject
SecResponseBodyAccess: On
SecResponseBodyMimeType: "text/plain text/html text/xml"
SecResponseBodyLimit: 524288
SecResponseBodyLimitAction: ProcessPartial
Almacenes de datos temporales y permanentes:
SecTmpDir: /tmp/
SecDataDir: /tmp/
Configuraciones de registro:
SecAuditEngine: RelevantOnly
SecAuditLogParts: ABIJDEFHZ
SecAuditLogType: Serial
SecAuditLog: /var/log/modsec_audit.log
Compartir estado con los desarrolladores de mod_security:
SecStatusEngine: On
Dependencias
Debes tener instalado Apache. Rol sugerido:
geerlingguy.apache
Para Red Hat y CentOS, es necesario el repositorio EPEL:
geerlingguy.epel
Ejemplo de Playbook
- hosts: all
roles:
- leogallego.apache-modsecurity
Licencia
GPLv3
Información del Autor
Por Leonardo Gallego para Debian y Red Hat, basado en el trabajo de Apollo Clark.
Install and configure Apache mod_security2 module
ansible-galaxy install leogallego.apache_modsecurity