nginxinc.nginx_app_protect
👾 通过参与我们的调查,帮助改善 NGINX App Protect Ansible 角色! 👾
NGINX App Protect WAF 和 DoS Ansible 角色 
此角色用于在目标主机上安装和配置 NGINX App Protect WAF 或 DoS。
注意: 默认情况下,此角色将安装 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 社区发行版(即“旧” 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 App Protect 版本的 NGINX Plus 版本。
示例剧本
功能正常的剧本示例可以在 molecule/default/
文件夹中的以下文件中找到:
名称 | 描述 |
---|---|
molecule/default/converge.yml |
安装和配置 NGINX App Protect WAF |
molecule/advanced/converge.yml |
高级集成测试,包括将日志数据发送到“远程”syslog 服务器的 NGINX App Protect WAF |
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 |
其他 NGINX Ansible 集合和角色
您可以在这里找到安装和配置 NGINX 开源版、NGINX Plus 以及 NGINX App Protect WAF 和 DoS 产品的 Ansible NGINX 核心集合。
您可以在这里找到安装 NGINX OSS 和 NGINX Plus 的 Ansible 角色。
您可以在这里找到配置 NGINX 的 Ansible 角色。
您可以在这里找到安装 NGINX Unit 的 Ansible 角色。
许可证
作者信息
© F5, Inc. 2020 - 2024
Official Ansible role for installing and configuring NGINX App Protect WAF and DoS
ansible-galaxy install nginxinc.nginx_app_protect