Skip to content

Upgrading the Docker NGINX- or Envoy-based image of Wallarm node 2.18 or lower

These instructions describe the steps to upgrade the running Docker NGINX- or Envoy-based image 2.18 or lower to the version 3.6.

Using credentials of already existing Wallarm node

We do not recommend using the already existing Wallarm node of the previous version. Please follow these instructions to create a new filtering node of the version 3.6 and deploy it as the Docker container.

Wallarm nodes 2.18 and lower have been deprecated

You are recommended to upgrade the Wallarm nodes 2.18 and lower since these versions are fully deprecated.

Node configuration and traffic filtration have been significantly simplified in the Wallarm node of version 3.6. Before upgrading the modules, please carefully review the list of changes and general recommendations. Please note that some settings of node 3.6 are incompatible with the nodes 2.18 and lower.

Requirements

  • Access to the account with the Deploy or Administrator role and two‑factor authentication disabled in Wallarm Console in the EU Cloud or US Cloud

  • Access to https://api.wallarm.com:444 if working with EU Wallarm Cloud or to https://us1.api.wallarm.com:444 if working with US Wallarm Cloud. Please ensure the access is not blocked by a firewall

Step 1: Inform Wallarm technical support that you are upgrading filtering node modules

Please inform Wallarm technical support that you are upgrading filtering node modules up to 3.6 and ask to enable new IP list logic for your Wallarm account. When new IP list logic is enabled, please ensure the section IP lists of Wallarm Console is available.

Step 2: Disable the Active threat verification module (if upgrading node 2.16 or lower)

If upgrading Wallarm node 2.16 or lower, please disable the Active threat verification module in Wallarm Console → Scanner → Settings.

The module operation can cause false positives during the upgrade process. Disabling the module minimizes this risk.

Step 3: Download the updated filtering node image

docker pull wallarm/node:3.6.2-1
docker pull wallarm/envoy:3.6.1-1

Step 4: Stop the running container

docker stop <RUNNING_CONTAINER_NAME>

Step 5: Migrate whitelists and blacklists from the previous Wallarm node version to 3.6

Migrate whitelist and blacklist configuration from previous Wallarm node version to 3.6.

Step 6: Switch from deprecated configuration options

There are the following deprecated configuration options:

  • The WALLARM_ACL_ENABLE environment variable has been deprecated. If IP lists are migrated to the new node version, remove this variable from the docker run command.

  • The following NGINX directives have been renamed:

    We only changed the names of the directives, their logic remains the same. Directives with former names will be deprecated soon, so you are recommended to rename them before.

    Please check if the directives with former names are explicitly specified in the mounted configuration files. If so, rename them.

  • The following Envoy parameters have been renamed:

    We only changed the names of the directives, their logic remains the same. Directives with former names will be deprecated soon, so you are recommended to rename them before.

    Please check if the directives with former names are explicitly specified in the mounted configuration files. If so, rename them.

Step 7: Update the Wallarm blocking page (if upgrading NGINX-based image)

In new node version, the Wallarm sample blocking page has been changed. The logo and support email on the page are now empty by default.

If the Docker container 2.18 or lower was configured to return the &/usr/share/nginx/html/wallarm_blocked.html page to blocked requests, change this configuration as follows:

  1. Copy and customize the new version of a sample page.

  2. Mount the customized page and the NGINX configuration file to a new Docker container in the next step.

Step 8: Run the container using the updated image

Run the container using the updated image. You can pass the same configuration parameters that were passed when running a previous image version except for the ones listed in the previous step.

There are two options for running the container using the updated image:

Step 9: Adjust Wallarm node filtration mode settings to changes released in the latest versions

  1. Ensure that the expected behavior of settings listed below corresponds to the changed logic of the off and monitoring filtration modes:

  2. If the expected behavior does not correspond to the changed filtration mode logic, please adjust the filtration mode settings to released changes using the instructions.

Step 10: Test the filtering node operation

  1. Send the request with test SQLI and XSS attacks to the protected resource address:

    curl http://localhost/?id='or+1=1--a-<script>prompt(1)</script>'
    
  2. Open the Wallarm Console → Events section in the EU Cloud or US Cloud and ensure attacks are displayed in the list.

    Attacks in the interface

Step 11: Delete the filtering node of the previous version

If the deployed image of the version 3.6 operates correctly, you can delete the filtering node of the previous version in the Wallarm Console → Nodes section.

Step 12: Re-enable the Active threat verification module (if upgrading node 2.16 or lower)

Learn the recommendation on the Active threat verification module setup and re-enable it if required.

After a while, ensure the module operation does not cause false positives. If discovering false positives, please contact the Wallarm technical support.

Back to top