Skip to content

Quick start with Wallarm API Security

These instructions describe how to quickly deploy the first Wallarm NGINX‑based filtering node and learn its basic features. This approach is recommended to be used only to try the product. To deploy the Wallarm node in the production environment, please refer to separate guides for supported platforms.

Wallarm API Security quick start is performed using the provided Shell script to be run on a server with a supported Linux‑based operating system (OS).

How the quick start script works

The Shell script getwallarm.sh used for Wallarm API Security quick start performs the following steps:

  1. Disable the SELinux mechanism if it is installed on the OS. Wallarm quick deployment is not compatible with active SELinux.

  2. Install the latest stable version of NGINX from the NGINX official repository.

  3. Install the Wallarm packages for both the Wallarm NGINX and postanalytics modules.

  4. Register the new Wallarm node in the Wallarm Cloud.

  5. Configure the local NGINX instance to act as a reverse proxy for the specified domain with Wallarm node filtering requests in the blocking mode.

  6. Send the following test requests:

    • GET request to http://127.0.0.8/wallarm-status to check the accessibility of the Wallarm statistics service.
    • GET request to the NGINX instance address (port 80/TCP) to check the accessibility of the domain protected by Wallarm.
    • GET request containing signs of the SQLi and XSS attacks to the NGINX instance address:

      curl -H "Host: $DOMAIN_NAME" http://localhost/?id='or+1=1--a-<script>prompt(1)</script>'
      

      The request should be blocked by the Wallarm node (the HTTP response code should be 403).

    If the actual response is different from the expected one, the script returns the corresponding message.

Quickstart procedure

  1. Create an account in Wallarm Console using the link for the EU or US Wallarm Cloud.

    More details on Wallarm Clouds →

  2. Install one of the supported OS listed below on your server. For the Wallarm node deployment to be completed successfully, please install the OS from the image/distributive with the basic package set and do not apply any additional configurations to the installed OS. The quick start script may not be able to handle the OS customizations (e.g. security hardening or additional configurations fitting your internal server management standards).

    • Debian 10.x (buster)
    • Ubuntu 18.04 LTS (bionic)
    • Ubuntu 20.04 LTS (focal)
    • CentOS 7.x
    • CentOS 8.x
  3. Connect to the server and become root user (e.g. by using command sudo -i).

  4. Download the script getwallarm.sh by using one of the following commands:

    curl -o getwallarm.sh https://raw.githubusercontent.com/wallarm/quick-start/stable/3.2/getwallarm.sh
    
    wget -O getwallarm.sh https://raw.githubusercontent.com/wallarm/quick-start/stable/3.2/getwallarm.sh
    
  5. Run the script passing the proper parameters:

    sh getwallarm.sh -u <YOUR_WALLARM_USERNAME> -p <YOUR_WALLARM_PASSWORD> -S <WALLARM_CLOUD> -n <WALLARM_NODE_NAME> -d <DOMAIN_NAME> -o <ORIGIN_SERVER>
    
    Parameter Description Required?
    <YOUR_WALLARM_USERNAME> Email to the Deploy or Administrator user account in Wallarm Console. Yes
    <YOUR_WALLARM_PASSWORD> Password to the Deploy or Administrator user account in Wallarm Console. Yes
    <WALLARM_CLOUD> Wallarm Cloud name being used. Possible values are eu (by default) and us1. No
    <WALLARM_NODE_NAME> Wallarm node name. By default, the script assigns the host name to the node.

    The specified name can be changed in Wallarm Console → Nodes later.
    No
    <DOMAIN_NAME> The Wallarm filtering node will be configured to handle traffic for this domain. The value can be your company website or public API endpoint. If not sure about which domain name to use, you can always experiment with any public site (e.g. example.com).

    Default value is localhost.
    No
    <ORIGIN_SERVER> The Wallarm filtering node will be configured to send upstream requests to the specified IP address or domain name. If this parameter is not specified explicitly, the script uses the value of <DOMAIN_NAME>. No
  6. Ensure the script returned the message We've completed the Wallarm node deployment process.

    If any errors occurred during the script execution, the script would return appropriate error messages.

  7. Open Wallarm Console → Events section in the EU Cloud or US Cloud and ensure the SQLi and XSS attacks are displayed in the list.

    Attacks in the interface

Next steps

Wallarm node quick deployment is successfully completed!

To continue the product exploring, we recommend learning more about the following Wallarm API Security features:

Wallarm node production deployment

When the Wallarm quick start is completed and basic API Security features are explored, you are recommended to proceed to the production deployment.

Wallarm production deployment options →