1. Overview

WAAS bot protection provides visibility into bots and other automation frameworks accessing protected web applications and APIs.

waas bot protection

2. Bot Categories

WAAS detects known good bots as well as other bots, headless browsers and automation frameworks. WAAS is also able to fend off cookie-dropping clients and other primitive clients by mandating the use of cookies and javascript in order for the client to reach the protected origin.

Bots are categorized into the following Categories:

Known bots
  • Search Engine Crawlers - Bots systematically crawling and indexing the world wide web to index pages for online searching. Also known as spider bots or web crawlers.

  • Business Analytics Bots - Bots that crawl, extract and index business related information.

  • Educational Bots - Bots that crawl, extract and index information for educational purposes, such as academic search engines.

  • News Bots - Bots that crawl, extract and index the latest news articles, usually for news aggregation services.

  • Financial Bots - Bots that crawl, extract and index financial related data.

  • Content Feed Clients - Automated tools, services or end-user clients that fetch web contents for feed readers.

  • Archiving Bots - Bots that crawl, extract and archive web site information.

  • Career Search Bots - Automated tools or online services that extract and index job related postings.

  • Media Search Bots - Bots that crawl, extract and index media contents for search engine purposes.

Unknown bots

This category contains various bots and other automation frameworks which cannot be classified by their activity or origin

  • Generic Bots - Clients with attributes that indicate an automated bot.

  • Web Automation Tools - Scriptable headless web browsers and similar web automation tools.

  • Web Scrapers - Automated tools or services that scrape web site contents.

  • API Libraries - Software code libraries for Web API communications.

  • HTTP Libraries - Software code libraries for HTTP transactions.

  • Request Anomalies - HTTP requests with anomalies that are not expected from common web browsers.

  • Bot Impersonators - Bots and automation tools impersonating as known good bots to evade rate limitation and other restrictions.

  • Browser Impersonators - Automated tools or services that impersonate common web browser software.

User-defined bots

Users can create custom signatures to be used based on HTTP headers and source IPs. User-defined signatures are useful for tracking customer specific bots, self-developed automation clients and traffic that appears suspicious.

3. Detection methods

WAAS uses static and active methods for detecting bots.

Static detections

Static detection examines each incoming HTTP request and analyzes it to determine whether it was sent by a bot.

Active detections

Active detections make use of javascript and Prisma Sessions Cookies to detect and classify bots.

When enabled, WAAS will set a Prisma Session cookie in each client.
Prisma Session Cookies set by WAAS are encrypted and signed to prevent cookie tampering. In addition, cookies include advanced protections against cookie replay attacks where cookies are harvested and re-used in other clients.

Prisma sessions are intended to address the problem of "Cookie Droppers" by validating clients support of cookies and Javascript before allowing them to reach the origin server.¬†Once enabled, WAAS serves an interstitial page for any request that does not include a valid Prisma Session Cookie. The interstitial page sets a cookie and redirects the client to the requested page using Javascript. A client that doesn’t support cookies and Javascript will keep receiving the interstitial page. Browsers can easily proceed to the requested page, and once they possess a valid cookie they will not encounter the interstitial page.

In addition to Prisma Sessions Cookies, active detections also include javascript-based detections.
When enabled, javascript will be injected periodically in server responses to collect browser attributes and flag anomalies typical to various bot frameworks. Javascript fingerprint results are received and processed asynchronously and are used to classify session for future requests.

3.1. Detection workflow

waas bot flowchart

4. Deploying Bot Protection

4.1. Known bots

  1. Click on Bot protection tab.

    waas bot protection tab
  2. Click on Known Bots.

    waas known bots
  3. Choose actions for each bot category.

4.2. Unknown bots

  1. Click on Bot protection tab.

    waas bot protection tab
  2. Click on Unknown Bots.

    waas unknown bots
  3. Choose actions for each bot category.

    1. If Request anomalies are enabled, choose sensitivity threshold

      waas request anomalies
      1. Strict enforcement - high sensitivity (a few anomalies suffice for classifying as bot).

      2. Moderate enforcement - medium sensitivity.

      3. Lax enforcement - low sensitivity.

4.3. User-defined bots

  1. Click on Bot protection tab.

    waas bot protection tab
  2. Click on User-defined bots.

    waas user defined bots
  3. Click on Define new bot button.

  4. Create bot signature by using a combination of the following fields:

    waas add user bot

    1. HTTP Header name - specify HTTP header name to include in the signature

    2. Header Values - comma separated list of values to be matched on in the HTTP header. Wildcard is allowed.

    3. Inbound IP sources - specify Network list of IP addresses from which the bot originates.

  5. Choose an action to apply.

4.4. Enabling active detections

  1. Click on Bot protection tab.

    waas bot protection tab
  2. Click on Active bot detections.

    waas active bot detections
Active Bot detection requires Prisma Sessions Cookies to be enabled in the advanced settings tab.
  1. Choose actions to apply.

    1. Session Validation - action to apply when WAAS is unable to validate the session, either due to cookie tampering or cookie replay.

    2. Javascript-based detection - enable periodic injection of javascript to collect browser attributes and flag anomalies typical to various bot frameworks.

    3. Javascript injection timeout - once javascript is enabled, choose action to apply when the browser does not send a response to the javascript injection in a timely manner.

    4. reCAPTCHA v2 integration - enable Google’s reCAPTCHA v2 integration by specifying the site key, secret key and challenge type. For more details please refer to elaborated section on reCAPTCHA below.

5. reCAPTCHA v2 integration

waas recaptcha options

WAAS Users can enable Google’s reCAPTCHA v2 integration by specifying the site key, secret key and challenge type. According to the user’s preference and settings, WAAS will serve a reCAPTCHA challenge at the beginning of each new session, or when a request is suspected of being sent by an unknown bot.

reCAPTCHA v3 is NOT supported (v2 only).

5.1. Deploy reCAPTCHA

Deploy reCAPTCHA.

  1. Enter the Site key provided during the site registration

  2. Enter the Secret key provided during the site registration

  3. Select the Challenge type specified during the site registration

    Challenge type MUST match the challenge type selected on the reCAPTCHA site registration form (invisible or checkbox) in order for the reCAPTCHA integration to function properly.
    WAAS reCAPTCHA v2 integration does NOT support "reCAPTCHA Android" type
  4. Choose a preferred friction.

    reCAPTCHA will ONLY be served for GET HTTP requests. WAAS will block requests sent using other methods until a reCAPTCHA challenge is solved and the success result is encoded into the Prisma Session Cookie.
    • By policy (reCAPTCHA as an action) - when selected, a new effect will be available in the Unknown bot category

      waas captcha action

      When the reCAPTCHA is selected, WAAS will serve an interstitial page with a reCAPTCHA challenge whenever the protection is triggered.