nginx_modsec3_crs3

Ansible роль для установки Nginx, компиляции ModSecurity3 и установки набора правил OWASP CRS v3

ModSecurity3 — мощный межсетевой экран (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, однако эта роль поддерживает только Nginx.

https://www.nginx.com

Существует множество библиотек и пакетов, от которых зависит ModSecurity3, и они будут установлены с помощью этой роли.

Эта роль также установит все компиляторы и другие инструменты сборки, необходимые для компиляции. Затем она удалит эти инструменты, если они ранее не были установлены.

Поддержка Nginx в основном предоставляется зависимой ролью ansible-role-nginx от jdauphant.

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

По умолчанию эта роль установит пакеты 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

Примечание: эта роль не повторит шаги конфигурации и сборки, если их вывод уже существует, поэтому, если вы измените параметры, такие как различные модули, возможно, вам придется удалить Makefile и удалить любые .so файлы из папки objs/.

Требования

Перед запуском плейбука, который вызывает эту роль:

Установите необходимые 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.yml и vars/main.yml, чтобы увидеть, что вы хотели бы изменить или переопределить, установив в вашем плейбуке.

В данный момент нет значимых переменных, которые нужно установить.

Тем не менее, в роли nginx есть много переменных, возможно, лучшее объяснение этих переменных — это все примеры в файле README.md.

Пример плейбука

Пример плейбука, вызывающего роль, добавляющую и включающую ModSecurity для сайта по умолчанию в Nginx.

- 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/ansible-role-nginx-modsec3-crs3
Лицензия
mit
Загрузки
154
Владелец