perryk.nginx_modsec3_crs3

Nginxのインストール、ModSecurity3のコンパイル、OWASP CRS v3ルールセットのインストールのためのAnsibleロール

ModSecurity3は強力なオープンソースのクロスプラットフォームWebアプリケーションファイアウォール(WAF)です。

以前は:https://modsecurity.org/ でしたが、現在は https://owasp.org/ が保有しています。

これはOWASP CRSというルールセットと密接に関連しています。このロールではCRS3と呼ぶことが多いですが、現在はCRSのバージョン4もリリースされています。

以前は:https://modsecurity.org/crs/ でしたが、現在は https://owasp.org/www-project-modsecurity-core-rule-set/ です。 その他の参考リンク: https://coreruleset.org/https://github.com/coreruleset/coreruleset/。

さらに、これらはApacheまたはNginxのいずれかのWebサーバーと一緒に使用されますが、このロールはNginxのみをサポートしています。

https://www.nginx.com

ModSecurity3は多くのライブラリやパッケージに依存しており、これらはこのロールを通じてインストールされます。

このロールは、コンパイルに必要なコンパイラやその他のビルドツールもインストールします。それらのツールが以前にインストールされていない場合は削除します。

Nginxのサポートは、jdauphantによる依存ロールansible-role-nginxによって主に提供されます。

https://github.com/jdauphant/ansible-role-nginx

デフォルトでは、このロールはOS提供のリポジトリからNginxパッケージをインストールしますが、公式のNginxリポジトリからインストールすることを推奨します。

これは以下の変数を設定することで実行できます:

nginx_official_repo: true

オプションで、GeoIPやMaxMindのNginxモジュールをビルドすることができます。MaxMindを使用したい場合は、ここから最新のデータベースのライセンスコピーが必要になるでしょう: https://www.maxmind.com/en/geoip-databases

以下の変数からこれを有効にできます:

nginx_modsec3_crs3_geoip_enabled: false nginx_modsec3_crs3_maxmind_enabled: true

注意:このロールは、出力ファイルが存在する場合、configureとmakeのステップを再実行しないので、上記の異なるモジュールなどのオプションを変更したい場合は、Makefileを削除し、objs/フォルダから任意の.soファイルを削除する必要があります。

必要条件

このロールを呼び出すプレイブックを実行する前に:

requirements.ymlから必要なAnsibleロールをインストールしてください。ここでビューできます:requirements.yml

ansible-galaxy install -r requirements.yml

特に、このロールはnginxロールから特定のタスクを呼び出すため、このロールと同じ場所に、特定の名前である「ansible-role-nginx」をインストールしておく必要があります。

すなわち、あなたのプロジェクトのプレイブック(このロールのrequirements.ymlファイルではなく)のrequirements.ymlファイルに、以下のようにこのロールと上記のロールの両方を含める必要があります:

- src: perryk.nginx_modsec3_crs3

- src: https://github.com/jdauphant/ansible-role-nginx
  version: master

ロール変数

あなたのプレイブックで変更したい、または上書きする必要がある項目がないか、ロールのdefaults/main.ymlvars/main.ymlファイルをチェックしてください。

現在、特に設定するべき変数はありません。

しかし、nginxロールにはたくさんの変数があります。それらの最良の説明は、ロールのREADME.mdファイルのすべての例にあります。

例プレイブック

デフォルトのNginxサイト用にModSecurityを追加して有効にするロールを呼び出す例のプレイブック。

- hosts: servers

  vars:

    nginx_pkgs:
      - nginx
    nginx_install_epel_repo: false
    nginx_official_repo: true
    nginx_official_repo_mainline: true
    nginx_module_configs:
      - ngx_http_modsecurity_module
      - ngx_http_geoip2_module
    nginx_modules_disable:
      - ngx_http_geoip_module
    nginx_sites:
      default:
       - listen 80
       - server_name _
       - "modsecurity on"
       - "modsecurity_rules_file /etc/nginx/modsec/main.conf"
       - root "/usr/share/nginx/html"
       - index index.html

  roles:
    - perryk.nginx-modsec3-crs3

ライセンス

MIT

著者情報

ペリー・コルモルゲン - https://github.com/perryk

プロジェクトについて

Installs Nginx, Compiles ModSecurity3, and downloads the OWASP CRS ruleset (https://nginx.com, https://owasp.org/, https://coreruleset.org/)

インストール
ansible-galaxy install perryk.nginx_modsec3_crs3
ライセンス
mit
ダウンロード
364
所有者