nginx_app_protect

Ansible Galaxy Build Status License

👾 Помогите сделать роль NGINX App Protect Ansible лучше, участвуя в нашем опросе! 👾

Роль Ansible для NGINX App Protect WAF и DoS

Эта роль устанавливает и настраивает NGINX App Protect WAF или DoS для NGINX Plus на вашем целевом хосте.

Примечание: По умолчанию эта роль устанавливает NGINX App Protect WAF. Чтобы установить NGINX App Protect DoS, вам нужно установить переменную nginx_app_protect_dos_enable в true.

Примечание: Эта роль все еще активно разрабатывается. Могут быть невыясненные проблемы, и переменные роли могут измениться по мере дальнейшей разработки.

Требования

NGINX App Protect

Если вы хотите установить NGINX App Protect WAF или NGINX App Protect DoS с помощью этой роли, вам нужно заранее получить соответствующую лицензию NGINX App Protect.

Ansible

  • Эта роль разработана и протестирована с поддерживаемыми версиями ядра Ansible (выше 2.12).

  • При использовании ядра Ansible вам также потребуется установить следующие коллекции:

    ---
    collections:
      - name: ansible.posix
        version: 1.4.0
      - name: community.crypto
        version: 2.10.0
      - name: community.general
        version: 6.2.0
      - name: community.docker  # Только требуется, если вы планируете использовать Molecule (см. ниже)
        version: 3.4.0
    

    Примечание: Вы также можете установить Ansible community distribution (так называемый "старый" Ansible), если не хотите управлять отдельными коллекциями.

  • Инструкции по установке Ansible можно найти на сайте Ansible.

Jinja2

  • Эта роль использует шаблоны Jinja2. Ядро Ansible по умолчанию устанавливает Jinja2, но в зависимости от вашего метода установки и/или обновления у вас может быть устаревшая версия Jinja2. Минимальная версия Jinja2, необходимая для корректного функционирования роли, составляет 3.1.
  • Инструкции по установке Jinja2 можно найти на сайте Jinja2.

Molecule (необязательно)

  • Molecule используется для тестирования различных функций роли. Рекомендуемая версия Molecule для тестирования этой роли — 4.x.

  • Инструкции по установке Molecule можно найти на сайте Molecule. Вам также нужно будет установить драйвер Molecule для Docker.

  • Чтобы запустить тесты Molecule, вам нужно скопировать вашу лицензию NGINX App Protect в папку роли files/license.

    Вы также можете добавить сертификат и ключ вашего репозитория NGINX App Protect в локальную среду. Выполните следующие команды, чтобы экспортировать эти файлы как переменные в формате base64 и запустить тесты Molecule:

    export NGINX_CRT=$( cat <путь к вашему файлу сертификата> | base64 )
    export NGINX_KEY=$( cat <путь к вашему файлу ключа> | base64 )
    molecule test
    

Установка

Ansible Galaxy

Чтобы установить последнюю стабильную версию роли на вашей системе, используйте:

ansible-galaxy install nginxinc.nginx_app_protect

В качестве альтернативы, если вы уже установили роль, обновите ее до последней версии:

ansible-galaxy install -f nginxinc.nginx_app_protect

Git

Чтобы получить последний коммит роли с GitHub, используйте:

git clone https://github.com/nginxinc/ansible-role-nginx-app-protect.git

Платформы

NGINX App Protect WAF

Роль NGINX App Protect Ansible поддерживает все платформы, поддерживаемые NGINX Plus, которые пересекаются со следующим списком дистрибутивов App Protect WAF:

Amazon Linux 2:
  - любой
Debian:
  - buster (10)
RHEL:
  - 8.1+
Ubuntu:
  - bionic (18.04)
  - focal (20.04)

NGINX App Protect DoS

Роль NGINX App Protect Ansible поддерживает все платформы, поддерживаемые NGINX Plus, которые пересекаются со следующим списком дистрибутивов App Protect DoS:

Debian:
  - buster (10)
  - bullseye (11)
RHEL:
  - 8.0+
Ubuntu:
  - bionic (18.04)
  - focal (20.04)

Переменные роли

Эта роль имеет несколько переменных. Описания и значения по умолчанию для всех этих переменных можно найти в папке defaults/ в следующих файлах:

Имя Описание
main.yml Переменные установки и настройки NGINX App Protect

Аналогично, описания и значения по умолчанию для заданных переменных можно найти в папке vars/ в следующих файлах:

Имя Описание
main.yml Список поддерживаемых платформ NGINX App Protect

Зависимости

Если NGINX Plus не установлен на системе, эта роль установит версию NGINX Plus, которая зависит от версии NGINX App Protect, которую вы устанавливаете.

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

Рабочий функциональный пример плейбука можно найти в папке molecule/default/ в следующем файле:

Имя Описание
molecule/default/converge.yml Установка и настройка NGINX App Protect WAF
molecule/advanced/converge.yml Расширенное интеграционное тестирование, включая передачу журналов NGINX App Protect на "удаленный" сервер syslog
molecule/dos/converge.yml Установка NGINX App Protect DoS
molecule/specific-version/converge.yml Установка конкретной версии подписей NGINX App Protect WAF
molecule/uninstall/converge.yml Удаление NGINX App Protect WAF/DoS

Другие коллекции и роли Ansible для NGINX

Вы можете найти основную коллекцию ролей Ansible для установки и настройки NGINX Open Source, NGINX Plus и продуктов NGINX App Protect WAF и DoS здесь.

Вы можете найти роль Ansible для установки NGINX OSS и NGINX Plus здесь.

Вы можете найти роль Ansible для настройки NGINX здесь.

Вы можете найти роль Ansible для установки NGINX Unit здесь.

Лицензия

Лицензия Apache, версия 2.0

Информация об авторе

Даниэль Эдгар

Алессандро Фаэл Гарсия

© F5, Inc. 2020 - 2024

О проекте

Official Ansible role for installing and configuring NGINX App Protect WAF and DoS

Установить
ansible-galaxy install nginxinc/ansible-role-nginx-app-protect
Лицензия
apache-2.0
Загрузки
3856
Владелец
Welcome to this part of the NGINX open source world. We're constantly expanding our ecosystem designed to help you create the best web and app experience around