coopdevs.nginx_modsec3_crs
nginx_modsec3_crs ロール
Nginxのインストール、ModSecurity3のコンパイル、OWASP CRS v3 ルールセットのインストールのためのAnsibleロール
@perryk の ansible-role-nginx-modsec3-crs3 からフォークしました。
ModSecurity3が依存する多くのライブラリとパッケージがあり、このロールを通じてインストールされます。
このロールは、コンパイルに必要なコンパイラやその他のビルドツールもインストールします。そして、これらのツールが以前にインストールされていなかった場合は、削除します。
Nginxのサポートは、主にjdauphantによる依存ロール ansible-role-nginx
によって提供されます。
https://github.com/jdauphant/ansible-role-nginx
:warning: jdauphantのnginxロールはもはやメンテナンスされていません。
要件
このロールを呼び出すプレイブックを実行する前に:
requirements.yml
から必要な Ansible ロールをインストールしてください。ここで確認できます こちら。
ansible-galaxy install -r requirements.yml
つまり、プロジェクトのプレイブックのためのrequirements.ymlファイル(このロールのrequirements.ymlファイルではありません)に、次のようにこのロールと上記のロールの両方を含める必要があります:
- src: coopdevs.nginx_modsec3_crs
- src: jdauphant.nginx
version: v2.21.2
ロール変数
プレイブックで設定して上書きしたい内容があるかどうか、ロールの defaults/main.yml と vars/main.yml ファイルを確認してください。
特定のロール変数は以下に説明されており、デフォルト値が設定されています。
# インストールされていない場合、modsecurityのコンパイル、インストール、設定を有効にします
nginx_modsec3_enabled: True
# ルールセットのバージョンを設定します
nginx_modsec3_crs_version: v3.4/dev
# すでにインストールされている場合でもmodsecurityの再コンパイルを強制します
nginx_modsec3_crs3_force_compile: True
# ブロックモードを有効にします(Falseの場合は「検出のみ」モードになります)
nginx_modsec3_crs3_block_mode: True
nginxロールには多くの変数がありますので、最も良い説明はロールの README.md ファイルのすべての例かもしれません。
例 プレイブック
デフォルトのNginxサイトにModSecurityを追加して有効にするロールを呼び出す例プレイブック。
- 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
ライセンス
GPL-3.0-or-later
著者情報
ペリー・コルモルゲン - 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