nginxinc.nginx_app_protect

👾 NGINX App Protect Ansibleロールをより良くするために、私たちのアンケートに参加してください! 👾

NGINX App Protect WAFとDoS Ansibleロール

このロールは、ターゲットホストにNGINX Plus用の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または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ロールは、次のApp Protect WAFのディストリビューションのリストと交差する、NGINX Plusでサポートされているすべてのプラットフォームをサポートしています:

Amazon Linux 2:
  - どれでも
Debian:
  - buster (10)
RHEL:
  - 8.1+
Ubuntu:
  - bionic (18.04)
  - focal (20.04)

NGINX App Protect DoS

NGINX App Protect Ansibleロールは、次のApp Protect DoSのディストリビューションのリストと交差する、NGINX Plusでサポートされているすべてのプラットフォームをサポートしています:

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 NGINX App Protect WAFが「リモート」syslogサーバーにログデータを送信する高度な統合テスト
molecule/dos/converge.yml NGINX App Protect DoSをインストール
molecule/specific-version/converge.yml 特定のバージョンのNGINX App Protect WAFサインaturesをインストール
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ロールはこちらから見つけることができます。

NGINXを構成するためのAnsible NGINX構成ロールはこちらから見つけることができます。

NGINX Unitをインストールするための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.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