nginxinc.nginx_app_protect

Ansible Galaxy Build Status License

👾 通过参与我们的调查,帮助改善 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 角色。

许可证

Apache 许可证,第 2.0 版

作者信息

Daniel Edgar

Alessandro Fael Garcia

© F5, Inc. 2020 - 2024

关于项目

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

安装
ansible-galaxy install nginxinc.nginx_app_protect
许可证
apache-2.0
下载
3.9k
拥有者
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