coopdevs.nginx_modsec3_crs
Rôle nginx_modsec3_crs
Rôle Ansible pour installer Nginx, compiler ModSecurity3 et installer le jeu de règles OWASP CRS v3
Dérivé du @perryk ansible-role-nginx-modsec3-crs3
Il existe plusieurs bibliothèques et paquets dont ModSecurity3 dépend et qui seront installés via ce rôle.
Ce rôle installera également les compilateurs et autres outils de construction nécessaires pour la compilation. Ensuite, ces outils seront supprimés s'ils n'étaient pas déjà installés.
Le support pour Nginx est principalement assuré par le rôle dépendant ansible-role-nginx
de jdauphant.
https://github.com/jdauphant/ansible-role-nginx
:warning: Le rôle nginx de jdauphant n'est plus maintenu.
Exigences
Avant d'exécuter un playbook qui appelle ce rôle :
Installez tous les rôles Ansible requis depuis requirements.yml
. Voir ici.
ansible-galaxy install -r requirements.yml
C'est-à-dire que dans le fichier requirements.yml pour le playbook de votre projet (et non dans le fichier requirements.yml pour ce rôle), vous devrez inclure à la fois ce rôle et le rôle mentionné ci-dessus comme ceci :
- src: coopdevs.nginx_modsec3_crs
- src: jdauphant.nginx
version: v2.21.2
Variables du rôle
Parcourez les fichiers defaults/main.yml et vars/main.yml du rôle pour voir s'il y a quelque chose que vous aimeriez changer ou que vous devez remplacer en le définissant dans votre playbook.
Les variables spécifiques au rôle sont expliquées ci-dessous, avec leur valeur par défaut.
# Active la compilation, l'installation et la configuration de modsecurity s'il n'est pas déjà installé
nginx_modsec3_enabled: True
# Définit la version du jeu de règles
nginx_modsec3_crs_version: v3.4/dev
# Force la recompilation de modsecurity même s'il est déjà installé
nginx_modsec3_crs3_force_compile: True
# Active le mode blocage (si False, alors le mode "Détection uniquement" est défini)
nginx_modsec3_crs3_block_mode: True
Il y a beaucoup d'autres variables dans le rôle nginx, peut-être que la meilleure explication de celles-ci se trouve dans tous les exemples du fichier README.md du rôle.
Exemple de Playbook
Exemple de playbook appelant le rôle pour ajouter et activer ModSecurity pour le site Nginx par défaut.
- hosts: servers
vars:
nginx_modsec3_enabled: True
nginx_modsec3_crs_version: v4.0/dev
nginx_pkgs:
- nginx
nginx_module_configs:
- ngx_http_modsecurity_module
nginx_sites:
default:
- |
...
modsecurity on;
modsecurity_rules_file /etc/nginx/modsec/main.conf;
...
roles:
- coopdevs.nginx_modsec3_crs
Licence
GPL-3.0-or-later
Informations sur l'auteur
Perry Kollmorgen - https://github.com/perryk
Coopdevs - https://github.com/coopdevs
Installs Nginx, Compiles ModSecurity3, and downloads the OWASP CRS v3 ruleset. Forked from Perry Kollmorgen's role (https://github.com/perryk)
ansible-galaxy install coopdevs.nginx_modsec3_crs