コンテンツにスキップ

DockerイメージからNative Nodeをデプロイ

Wallarm Native NodeはNGINXに依存せず動作し、一部のコネクタ向けにデプロイするために設計されています。公式のDockerイメージを使用して、コンテナ化されたサービス上でNative Nodeを実行できます。

ユースケース

MuleSoftCloudflareAmazon CloudFrontBroadcom 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アドレスにアクセスすること

      34.96.64.17
      34.110.183.149
      35.235.66.155
      34.102.90.100
      34.94.156.115
      35.235.115.105
      
      34.160.38.183
      34.144.227.90
      34.90.110.226
      
  • ECSインスタンス前段のロードバランサ向けに、信頼されたSSL/TLS証明書が必要です

  • 上記に加え、Wallarm ConsoleでAdministratorロールが割り当てられている必要があります

制限事項

デプロイ

1. Dockerイメージをプル

docker pull wallarm/node-native-aio:0.11.0

2. 設定ファイルを準備

Native Nodeのための最小限の設定を含むwallarm-node-conf.yamlファイルを作成します:

version: 2

mode: connector-server

connector:
  address: ":5050"

すべての設定パラメータ(DockerイメージとNative Nodeオールインワンインストーラで同一です)

3. Wallarmトークンを準備

ノードをインストールするには、Wallarm Cloudにノードを登録するためのトークンが必要です。トークンを準備するには:

  1. Wallarm Console → SettingsAPI tokensを、US CloudまたはEU Cloudで開きます

  2. Deployロールを持つAPIトークンを見つけるか、新規作成します

  3. このトークンをコピーします

4. Dockerコンテナを実行

以下のコマンドを使用してDockerイメージを実行します。wallarm-node-conf.yamlファイルをコンテナにマウントしてください。

docker run -d -e WALLARM_API_TOKEN='XXXXXXX' -e WALLARM_LABELS='group=<GROUP>' -e WALLARM_API_HOST='us1.api.wallarm.com' -v ./wallarm-node-conf.yaml:/opt/wallarm/etc/wallarm/go-node.yaml -p 80:5050 wallarm/node-native-aio:0.11.0
docker run -d -e WALLARM_API_TOKEN='XXXXXXX' -e WALLARM_LABELS='group=<GROUP>' -v ./wallarm-node-conf.yaml:/opt/wallarm/etc/wallarm/go-node.yaml -p 80:5050 wallarm/node-native-aio:0.11.0
環境変数 説明 必須
WALLARM_API_TOKEN Deployロールを持つAPIトークンです。 Yes
WALLARM_LABELS ノードインスタンスのグルーピングのためのgroupラベルを設定します。例えば、
WALLARM_LABELS="group=<GROUP>"と設定すると、ノードインスタンスが既存か新規作成される<GROUP>グループに配置されます。
Yes
WALLARM_API_HOST Wallarm APIサーバです:
  • US Cloudの場合はus1.api.wallarm.com
  • EU Cloudの場合はapi.wallarm.com
初期値: 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管理プラットフォームまたはサービスに適用します。

  1. sales@wallarm.comに連絡して、コネクタ用Wallarmコードバンドルを入手してください

  2. プラットフォーム固有の手順に従い、API管理プラットフォームにバンドルを適用します:

ノードの動作確認

ノードがトラフィックを検知しているか確認するには、ログをチェックしてください:

  • Native Nodeのログはデフォルトで/opt/wallarm/var/log/wallarm/go-node.logに出力され、stdoutにも追加出力されます

  • Wallarm Cloudへのデータ送信状況、検知された攻撃など、フィルタリングノードの標準ログ/opt/wallarm/var/log/wallarmディレクトリに格納されます

追加のデバッグには、log.levelパラメータをdebugに設定してください。

アップグレード

ノードをアップグレードするには、手順に従ってください。