This article explains the legacy version of WAF Essential that will undergo end-of-life on June 30, 2021. Our new version of WAF Essentials expands upon all of the capabilities offered by the legacy version of WAF Essential with a simplified and centralized setup. Please upgrade to the latest version of WAF at your earliest convenience.
The following information is only applicable for the WAF Essential product. This security offering provides limited Web Application Firewall and Rate Limiting functionality.
WAF Essential allows customers with basic security needs to leverage our powerful security solutions to protect their origin servers. WAF Essential allows you to create up to 2 profiles, 1 instance, and 3 rate limiting rules at any given time. This is sufficient to set up a dual WAF configuration through which you may validate a new WAF configuration without compromising the security of your origin servers.
WAF Essential cannot be configured via our APIs. However, you may leverage our APIs to retrieve WAF and Rate Limiting event log data.
Enterprise customers typically find the above limitations too constrictive when tailoring security to fit their business needs. Additional profiles, instances, and rate limiting rules provide the flexibility to tailor your security configuration by traffic profile.
Please contact your CDN account manager to upgrade to the full version.
The purpose of an instance is to identify profiles which may be used to assess threats against production traffic. To this end, an instance:
Identifies how unwanted traffic, as defined by the above profile, will be handled.
Each detected threat is logged regardless of the action (i.e., block, custom response, redirect, or alert) defined within an instance.
Identifies whether the threats detected from an additional profile should be audited.
Threats detected by an audit profile may be tracked through the WAF Dashboard.
Use "Profile Type" to graph threats according to whether they were detected as a result of a production or audit profile.
Use the "Instance" and "Profile Type" filters to only display threats detected by a production or audit profile.
Auditing a profile that is already being applied to production traffic will cause the same threat to be logged twice.
All threats detected by Web Application Firewall will be logged. Logged threats may be viewed from the Web Application Firewall dashboard.
Standard security practices dictate that measures should be taken to prevent sensitive data (e.g., credit card information or passwords) from being passed as clear text from the client to your origin server. Another incentive for encrypting sensitive data is that it will be logged by our system when an alert is triggered as a result of this data. If sensitive data cannot be encrypted or obfuscated, then it is strongly recommended to contact our technical customer support to disable logging for the Matched Value field.
An instance configuration determines whether any of the following additional actions will be applied to the detected threat.
Mode | Description |
---|---|
Block Request |
Detected threats will be dropped and the client will receive a 403 Forbidden response. |
Alert Only |
Detected threats will only generate an alert. Use this mode to track detected threats through the dashboard without affecting traffic. |
Redirect (HTTP 302) |
Detected threats will be redirected to the specified URL. Key information:
|
Custom Response |
Detected threats will receive a custom response. Define the custom response that will be sent in response to a detected threat.
|
A custom response header value or a custom response body may include variables that describe the event. These variables are described below.
Variable | Description |
---|---|
EVENT_ID |
Represents the system-defined ID assigned to the request that was identified as a threat. Find out detailed information about the detected threat by passing this ID to the Get Event Log Entry endpoint (REST API). |
CLIENT_IP |
Represents the IP address of the device that submitted the detected threat. |
TIMESTAMP |
Represents the date and time at which the detected threat was submitted. |
REQUEST_URL |
Represents the URL for the request that was deemed a threat. |
Add an event variable to a custom response header value or a custom response body by enclosing it with double curly braces as shown below.
Syntax:
Example: