nginx_app_protect
👾 Помогите сделать роль 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 здесь.
Лицензия
Информация об авторе
© 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