DockerイメージからNative Nodeをデプロイ¶
Wallarm Native NodeはNGINXに依存せず動作し、一部のコネクタ向けにデプロイするために設計されています。公式のDockerイメージを使用して、コンテナ化されたサービス上でNative Nodeを実行できます。
ユースケース¶
MuleSoft、Cloudflare、Amazon CloudFront、Broadcom Layer7 API GatewayおよびFastly向けのWallarmコネクタをセットアップする際、セルフホストノードが必要な場合にNative Nodeをデプロイします。
Native NodeのDockerイメージは、AWS ECSなどのコンテナオーケストレーションプラットフォームやその他のDockerベースの環境をご利用の場合に最適です。Wallarmノードは、サービス内でDockerコンテナとして稼働し、API管理プラットフォームに対してセキュリティフィルタリングおよびトラフィック検査を実現します。
要件¶
-
ご利用のホストシステムにDockerがインストール済みであること
-
API管理プラットフォームからコンテナ化された環境へのインバウンドアクセスが可能であること
-
コンテナ化された環境から以下へのアウトバウンドアクセスが可能であること:
- デプロイに必要なDockerイメージをダウンロードするために
https://hub.docker.com/r/wallarm
へアクセスすること - US/EU Wallarm Cloudの場合、
https://us1.api.wallarm.com
またはhttps://api.wallarm.com
へアクセスすること -
攻撃検知ルールおよびAPI仕様書の更新をダウンロードするため、またallowlisted, denylisted, or graylistedの国、地域、またはデータセンターに対する正確なIPを取得するため、下記IPアドレスにアクセスすること
- デプロイに必要なDockerイメージをダウンロードするために
-
ECSインスタンス前段のロードバランサ向けに、信頼されたSSL/TLS証明書が必要です
-
上記に加え、Wallarm ConsoleでAdministratorロールが割り当てられている必要があります
制限事項¶
-
ロードバランサの保護には自己署名SSL証明書は使用できません
-
カスタムブロッキングページおよびブロッキングコードの設定はまだサポートされていません
-
Wallarmルールによるレート制限はサポートされていません
-
マルチテナンシーはまだサポートされていません
デプロイ¶
1. Dockerイメージをプル¶
2. 設定ファイルを準備¶
Native Nodeのための最小限の設定を含むwallarm-node-conf.yaml
ファイルを作成します:
すべての設定パラメータ(DockerイメージとNative Nodeオールインワンインストーラで同一です)
3. Wallarmトークンを準備¶
ノードをインストールするには、Wallarm Cloudにノードを登録するためのトークンが必要です。トークンを準備するには:
-
Wallarm Console → Settings → API tokensを、US CloudまたはEU Cloudで開きます
-
Deploy
ロールを持つAPIトークンを見つけるか、新規作成します -
このトークンをコピーします
4. Dockerコンテナを実行¶
以下のコマンドを使用してDockerイメージを実行します。wallarm-node-conf.yaml
ファイルをコンテナにマウントしてください。
環境変数 | 説明 | 必須 |
---|---|---|
WALLARM_API_TOKEN | Deploy ロールを持つAPIトークンです。 | Yes |
WALLARM_LABELS | ノードインスタンスのグルーピングのためのgroup ラベルを設定します。例えば、WALLARM_LABELS="group=<GROUP>" と設定すると、ノードインスタンスが既存か新規作成される<GROUP> グループに配置されます。 | Yes |
WALLARM_API_HOST | Wallarm APIサーバです:
api.wallarm.com 。 | No |
WALLARM_APID_ONLY (0.11.0以上) | このモードでは、トラフィックで検知された攻撃が(有効な場合)ノード内でローカルにブロックされますが、Wallarm Cloudへエクスポートされません。同時に、API Discoveryおよびその他の機能はフルに稼働し、APIインベントリを検知してCloudへアップロードし、視覚化を実現します。このモードは、APIインベントリを確認し、センシティブなデータを識別したうえで、制御された攻撃データのエクスポートを計画するためのものです。ただし、攻撃エクスポートの無効化は稀です。なぜなら、Wallarmは攻撃データを安全に処理し、必要に応じてセンシティブな攻撃データのマスキングを提供するからです。詳細 初期値: false 。 | No |
-
オプション
-p
はホストとコンテナのポートをマッピングします:- 最初の値(
80
)はホストのポートで、外部トラフィックに公開されます。 - 2番目の値(
5050
)はコンテナのポートで、wallarm-node-conf.yaml
ファイル内のconnector.address
設定と一致している必要があります。
- 最初の値(
-
設定ファイルはコンテナ内部で
/opt/wallarm/etc/wallarm/go-node.yaml
としてマウントする必要があります。
5. API管理サービスにWallarmコードを適用¶
ノードのデプロイ後、デプロイされたノードにトラフィックをルーティングするため、WallarmコードをAPI管理プラットフォームまたはサービスに適用します。
-
sales@wallarm.comに連絡して、コネクタ用Wallarmコードバンドルを入手してください
-
プラットフォーム固有の手順に従い、API管理プラットフォームにバンドルを適用します:
ノードの動作確認¶
ノードがトラフィックを検知しているか確認するには、ログをチェックしてください:
-
Native Nodeのログはデフォルトで
/opt/wallarm/var/log/wallarm/go-node.log
に出力され、stdoutにも追加出力されます -
Wallarm Cloudへのデータ送信状況、検知された攻撃など、フィルタリングノードの標準ログは
/opt/wallarm/var/log/wallarm
ディレクトリに格納されます
追加のデバッグには、log.level
パラメータをdebug
に設定してください。
アップグレード¶
ノードをアップグレードするには、手順に従ってください。