コンテンツにスキップ

all-in-oneインストーラーを使用したWallarm Native Nodeのアップグレード

この手順では、all-in-oneインストーラーでインストールされたNative Nodeをアップグレードする手順を説明します。

all-in-oneインストーラーのリリース一覧を表示

要件

  • Linux OS。

  • x86_64/ARM64アーキテクチャ。

  • すべてのコマンドをスーパーユーザー(例: root)として実行します。

  • 以下へのアウトバウンドアクセス:

    • https://meganode.wallarm.com(Wallarmインストーラーのダウンロード用)
    • US/EU Wallarm Cloud向けのhttps://us1.api.wallarm.comまたはhttps://api.wallarm.com
    • 攻撃検知ルールおよびAPI仕様の更新をダウンロードし、さらにallowlisted、denylisted、graylistedの国・地域・データセンターの正確なIPを取得するために必要な、以下のIPアドレス

      node-data0.us1.wallarm.com - 34.96.64.17
      node-data1.us1.wallarm.com - 34.110.183.149
      us1.api.wallarm.com - 35.235.66.155
      34.102.90.100
      34.94.156.115
      35.235.115.105
      
      node-data1.eu1.wallarm.com - 34.160.38.183
      node-data0.eu1.wallarm.com - 34.144.227.90
      api.wallarm.com - 34.90.110.226
      
  • さらに、Wallarm ConsoleでAdministratorロールが割り当てられている必要があります。

1. 新しいインストーラーバージョンをダウンロードする

現在のNative Nodeが稼働しているマシンに最新のインストーラーバージョンをダウンロードします。

curl -O https://meganode.wallarm.com/native/aio-native-0.17.1.x86_64.sh
chmod +x aio-native-0.17.1.x86_64.sh
curl -O https://meganode.wallarm.com/native/aio-native-0.17.1.aarch64.sh
chmod +x aio-native-0.17.1.aarch64.sh

2. 新しいインストーラーを実行する

以下のとおり新しいインストーラーを実行します。現在稼働中のWallarmサービスを停止し、その後新バージョンのサービスを自動的に起動します。

以前に生成したNode deployment/Deployment使用タイプのAPIトークンとノードグループ名を再利用できます。

構成ファイルについては、初回インストール時に使用したものを再利用できます。必要な場合のみ新しいパラメーターを追加するか既存のものを変更してください。サポートされている構成オプションを参照してください。

connector-serverモードは、MuleSoftのMuleまたはFlex Gateway、AkamaiCloudFrontCloudflareBroadcom Layer7 API GatewayFastlyIBM DataPowerコネクタとともに自己ホスト型ノードをデプロイした場合に使用します。

Nodeバージョン0.12.x以下からアップグレードする場合

Nodeバージョン0.12.x以下からアップグレードする場合は、初期構成ファイル(デフォルトのインストール手順に従いwallarm-node-conf.yaml)のversion値が更新されていること、また(明示的に指定している場合は)セクションtarantool_exporterpostanalytics_exporterに名前変更されていることを確認してください:

-version: 2
+version: 4

-tarantool_exporter:
+postanalytics_exporter:
  address: 127.0.0.1:3313
  enabled: true

...

x86_64インストーラー版の場合:

# US Cloud
sudo env WALLARM_LABELS='group=<GROUP>' ./aio-native-0.17.1.x86_64.sh -- --batch --token <API_TOKEN> --mode=connector-server --go-node-config=<PATH_TO_CONFIG> --host us1.api.wallarm.com --preserve false

# EU Cloud
sudo env WALLARM_LABELS='group=<GROUP>' ./aio-native-0.17.1.x86_64.sh -- --batch --token <API_TOKEN> --mode=connector-server --go-node-config=<PATH_TO_CONFIG> --host api.wallarm.com --preserve false

ARM64インストーラー版の場合:

# US Cloud
sudo env WALLARM_LABELS='group=<GROUP>' ./aio-native-0.17.1.aarch64.sh -- --batch --token <API_TOKEN> --mode=connector-server --go-node-config=<PATH_TO_CONFIG> --host us1.api.wallarm.com --preserve false

# EU Cloud
sudo env WALLARM_LABELS='group=<GROUP>' ./aio-native-0.17.1.aarch64.sh -- --batch --token <API_TOKEN> --mode=connector-server --go-node-config=<PATH_TO_CONFIG> --host api.wallarm.com --preserve false

自己ホスト型ノードをTCPトラフィック解析用にデプロイした場合にtcp-captureモードを使用します。

Nodeバージョン0.12.1以下からアップグレードする場合

Nodeバージョン0.12.0以下からアップグレードする場合は、初期構成ファイル(デフォルトのインストール手順に従いwallarm-node-conf.yaml)のversion値が更新されていること、また以前にmiddlewareセクションで設定していたパラメーターをgoreplayセクションに移動していることを確認してください:

-version: 2
+version: 4

-middleware:
+goreplay:
  parse_responses: true
  response_timeout: 5s
  url_normalize: true

...

x86_64インストーラー版のアップグレードコマンド:

# US Cloud
sudo env WALLARM_LABELS='group=<GROUP>' ./aio-native-0.17.1.x86_64.sh -- --batch --token <API_TOKEN> --mode=tcp-capture --go-node-config=<PATH_TO_CONFIG> --host us1.api.wallarm.com --preserve false

# EU Cloud
sudo env WALLARM_LABELS='group=<GROUP>' ./aio-native-0.17.1.x86_64.sh -- --batch --token <API_TOKEN> --mode=tcp-capture --go-node-config=<PATH_TO_CONFIG> --host api.wallarm.com --preserve false

ARM64インストーラー版のアップグレードコマンド:

# US Cloud
sudo env WALLARM_LABELS='group=<GROUP>' ./aio-native-0.17.1.aarch64.sh -- --batch --token <API_TOKEN> --mode=tcp-capture --go-node-config=<PATH_TO_CONFIG> --host us1.api.wallarm.com --preserve false

# EU Cloud
sudo env WALLARM_LABELS='group=<GROUP>' ./aio-native-0.17.1.aarch64.sh -- --batch --token <API_TOKEN> --mode=tcp-capture --go-node-config=<PATH_TO_CONFIG> --host api.wallarm.com --preserve false

envoy-external-filterモードは、Istioで管理されるAPI向けのgRPCベースの外部処理フィルターに使用します。

x86_64インストーラー版のアップグレードコマンド:

# US Cloud
sudo env WALLARM_LABELS='group=<GROUP>' ./aio-native-0.17.1.x86_64.sh -- --batch --token <API_TOKEN> --mode=envoy-external-filter --go-node-config=<PATH_TO_CONFIG> --host us1.api.wallarm.com --preserve false

# EU Cloud
sudo env WALLARM_LABELS='group=<GROUP>' ./aio-native-0.17.1.x86_64.sh -- --batch --token <API_TOKEN> --mode=envoy-external-filter --go-node-config=<PATH_TO_CONFIG> --host api.wallarm.com --preserve false

ARM64インストーラー版のアップグレードコマンド:

# US Cloud
sudo env WALLARM_LABELS='group=<GROUP>' ./aio-native-0.17.1.aarch64.sh -- --batch --token <API_TOKEN> --mode=envoy-external-filter --go-node-config=<PATH_TO_CONFIG> --host us1.api.wallarm.com --preserve false

# EU Cloud
sudo env WALLARM_LABELS='group=<GROUP>' ./aio-native-0.17.1.aarch64.sh -- --batch --token <API_TOKEN> --mode=envoy-external-filter --go-node-config=<PATH_TO_CONFIG> --host api.wallarm.com --preserve false

  • WALLARM_LABELS変数は、ノードが追加されるgroupを設定します(Wallarm Console UIでのノードの論理的なグルーピングに使用されます)。

  • <API_TOKEN>は、Node deployment/Deployment使用タイプで生成したAPIトークンを指定します。

  • <PATH_TO_CONFIG>は、構成ファイルへのパスを指定します。

現在の/opt/wallarm/etc/wallarm/go-node.yaml/opt/wallarm/etc/wallarm/node.yamlおよびログファイルは、ディレクトリ/opt/wallarm/aio-backups/<timestamp>にバックアップされます。

3. アップグレードを検証する

ノードが正しく動作していることを確認するには、次を実行します。

  1. ログにエラーがないか確認します:

    • デフォルトでは/opt/wallarm/var/log/wallarm/go-node.logにログが書き込まれます。そこで確認できます。
    • データがWallarm Cloudに送信されているか、検出された攻撃など、フィルタリングノードの標準ログはディレクトリ/opt/wallarm/var/log/wallarmにあります。
  2. 保護対象リソースのアドレスにテスト用のパストラバーサル攻撃リクエストを送信します:

    curl http://localhost/etc/passwd
    

    トラフィックがexample.comへのプロキシに構成されている場合は、リクエストに-H "Host: example.com"ヘッダーを含めます。

  3. アップグレードしたノードが前のバージョンと比較して期待どおりに動作していることを確認します。

問題が発生した場合

アップグレードまたは再インストールの過程で問題が発生した場合:

  1. 現在のインストールを削除します:

    sudo systemctl stop wallarm && sudo rm -rf /opt/wallarm
    

  2. TCPトラフィック解析用、またはMuleSoftのMuleFlex Gateway、AkamaiCloudFrontCloudflareBroadcom Layer7 API GatewayFastlyIBM DataPowerの各コネクタ向けに、通常どおりノードを再インストールします。

    または、上記のアップグレード手順に従ってください。