leogallego.apache_modsecurity
Ansible 角色: apache-modsecurity
用于在 Ubuntu、Debian 或 Red Hat 系统上安装和配置 Apache mod_security2 的 Ansible 角色。
要求
无。
角色变量
下面列出了最常用的变量,(大部分) 不可更改的变量在 defaults/main.yml
中,推荐的设置在 var/main.yml
中,最后一个文件是需要编辑的地方。还有几个 modsecurity.conf
文件的模板,一个是最简单的,另一个是 mod_security 自身推荐的。
每个发行版的 Apache 配置文件夹在 default/main.yml
中:
apache_conf_dir_debian: "/etc/apache2/conf-available"
apache_conf_dir_redhat: "/etc/httpd/conf.d"
在 var/main.yml
中的设置:
在仅检测模式下启用 mod_security,确保一切正常工作后可以将其改为 On:
SecRuleEngine: DetectionOnly
请求规则:
SecRequestBodyAccess: On
SecRequestBodyLimit: 13107200
SecRequestBodyNoFilesLimit: 131072
SecRequestBodyInMemoryLimit: 131072
SecRequestBodyLimitAction: Reject
SecResponseBodyAccess: On
SecResponseBodyMimeType: "text/plain text/html text/xml"
SecResponseBodyLimit: 524288
SecResponseBodyLimitAction: ProcessPartial
临时和永久数据存储:
SecTmpDir: /tmp/
SecDataDir: /tmp/
日志设置:
SecAuditEngine: RelevantOnly
SecAuditLogParts: ABIJDEFHZ
SecAuditLogType: Serial
SecAuditLog: /var/log/modsec_audit.log
与 mod_security 开发者共享状态:
SecStatusEngine: On
依赖
必须安装 Apache。建议使用的角色:
geerlingguy.apache
对于 Red Hat 和 CentOS,需要 EPEL 仓库:
geerlingguy.epel
示例剧本
- hosts: all
roles:
- leogallego.apache-modsecurity
许可证
GPLv3
作者信息
由 Leonardo Gallego 针对 Debian 和 Red Hat 编写,基于 Apollo Clark 的工作。