nginxinc.nginx_app_protect
👾 ¡Ayuda a mejorar el rol de Ansible de NGINX App Protect participando en nuestra encuesta! 👾
Rol de Ansible NGINX App Protect WAF y DoS 
Este rol instala y configura NGINX App Protect WAF o DoS para NGINX Plus en tu host objetivo.
Nota: Por defecto, este rol instalará NGINX App Protect WAF. Para instalar NGINX App Protect DoS, necesitas establecer la variable nginx_app_protect_dos_enable
en true
.
Nota: Este rol aún está en desarrollo activo. Puede haber problemas no identificados y las variables del rol pueden cambiar a medida que continúe el desarrollo.
Requisitos
NGINX App Protect
Si deseas instalar NGINX App Protect WAF o NGINX App Protect DoS usando este rol, necesitarás obtener la licencia de NGINX App Protect correspondiente de antemano.
Ansible
Este rol se desarrolla y prueba con versiones mantenidas de Ansible core (superiores a
2.12
).Al usar Ansible core, también necesitarás instalar las siguientes colecciones:
--- 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 # Solo necesario si planeas usar Molecule (ver abajo) version: 3.4.0
Nota: Alternativamente, puedes instalar la distribución de comunidad de Ansible (lo que se conoce como el "viejo" Ansible) si no deseas gestionar colecciones individuales.
Las instrucciones sobre cómo instalar Ansible se pueden encontrar en el sitio web de Ansible.
Jinja2
- Este rol utiliza plantillas Jinja2. Ansible core instala Jinja2 de forma predeterminada, pero dependiendo de tu instalación y/o ruta de actualización, podrías estar usando una versión desactualizada de Jinja2. La versión mínima de Jinja2 requerida para que el rol funcione adecuadamente es
3.1
. - Las instrucciones sobre cómo instalar Jinja2 se pueden encontrar en el sitio web de Jinja2.
Molecule (Opcional)
Molecule se utiliza para probar las diversas funcionalidades del rol. La versión recomendada de Molecule para probar este rol es
4.x
.Las instrucciones sobre cómo instalar Molecule se pueden encontrar en el sitio web de Molecule. También necesitarás instalar el controlador de Docker para Molecule.
Para ejecutar las pruebas de Molecule, debes copiar tu licencia de NGINX App Protect a la carpeta
files/license
del rol.Alternativamente, puedes agregar tu certificado y clave del repositorio de NGINX App Protect al entorno local. Ejecuta los siguientes comandos para exportar estos archivos como variables codificadas en base64 y ejecutar las pruebas de Molecule:
export NGINX_CRT=$( cat <ruta a tu archivo de certificado> | base64 ) export NGINX_KEY=$( cat <ruta a tu archivo de clave> | base64 ) molecule test
Instalación
Ansible Galaxy
Para instalar la última versión estable del rol en tu sistema, usa:
ansible-galaxy install nginxinc.nginx_app_protect
Alternativamente, si ya has instalado el rol, actualiza el rol a la última versión:
ansible-galaxy install -f nginxinc.nginx_app_protect
Git
Para obtener el último commit de la versión más reciente del rol desde GitHub, usa:
git clone https://github.com/nginxinc/ansible-role-nginx-app-protect.git
Plataformas
NGINX App Protect WAF
El rol de Ansible NGINX App Protect es compatible con todas las plataformas soportadas por NGINX Plus que se intersectan con la siguiente lista de distribuciones de App Protect WAF:
Amazon Linux 2:
- cualquier
Debian:
- buster (10)
RHEL:
- 8.1+
Ubuntu:
- bionic (18.04)
- focal (20.04)
NGINX App Protect DoS
El rol de Ansible NGINX App Protect es compatible con todas las plataformas soportadas por NGINX Plus que se intersectan con la siguiente lista de distribuciones de App Protect DoS:
Debian:
- buster (10)
- bullseye (11)
RHEL:
- 8.0+
Ubuntu:
- bionic (18.04)
- focal (20.04)
Variables del Rol
Este rol tiene múltiples variables. Las descripciones y los valores predeterminados para todas estas variables se pueden encontrar en la carpeta defaults/
en los siguientes archivos:
Nombre | Descripción |
---|---|
main.yml |
Variables de instalación y configuración de NGINX App Protect |
De manera similar, las descripciones y valores predeterminados para las variables predefinidas se pueden encontrar en la carpeta vars/
en los siguientes archivos:
Nombre | Descripción |
---|---|
main.yml |
Lista de plataformas soportadas por NGINX App Protect |
Dependencias
Si NGINX Plus no está ya instalado en el sistema, este rol instalará la versión de NGINX Plus que depende de la versión de NGINX App Protect que se está instalando.
Ejemplo de Playbook
Un ejemplo funcional de playbook se puede encontrar en la carpeta molecule/default/
en el siguiente archivo:
Nombre | Descripción |
---|---|
molecule/default/converge.yml |
Instalar y configurar NGINX App Protect WAF |
molecule/advanced/converge.yml |
Prueba de integración avanzada que incluye NGINX App Protect WAF enviando datos de registro a un servidor syslog "remoto" |
molecule/dos/converge.yml |
Instalar NGINX App Protect DoS |
molecule/specific-version/converge.yml |
Instalar una versión específica de las firmas de NGINX App Protect WAF |
molecule/uninstall/converge.yml |
Desinstalar NGINX App Protect WAF/DoS |
Otras Colecciones y Roles de NGINX para Ansible
Puedes encontrar la colección principal de roles de Ansible NGINX para instalar y configurar NGINX Open Source, NGINX Plus y los productos NGINX App Protect WAF y DoS aquí.
Puedes encontrar el rol de Ansible NGINX para instalar NGINX OSS y NGINX Plus aquí.
Puedes encontrar el rol de configuración de Ansible NGINX para configurar NGINX aquí.
Puedes encontrar el rol de Ansible NGINX Unit para instalar NGINX Unit aquí.
Licencia
Información del Autor
© F5, Inc. 2020 - 2024
Official Ansible role for installing and configuring NGINX App Protect WAF and DoS
ansible-galaxy install nginxinc.nginx_app_protect