Fortinet black logo

Administration Guide

Configuring biometrics based detection

Configuring biometrics based detection

By checking the client events such as mouse movement, keyboard, screen touch, and scroll, etc in specified period, FortiWeb judges whether the request comes from a human or from a bot. You can configure the biometrics based detection rule to define the client event, collection period, and the request URL, etc.

To configure a biometrics based detection rule

  1. Go to Bot Mitigation > Biometrics Based Detection.
  2. Click Create New.
  3. Configure these settings:

    Name

    Type a unique name for the rule that can be referenced in other parts of the configuration.

    Monitor Client Events

    Select at least one client event according to your need.

    • Mouse Movement
    • Focus
    • Click
    • Keyboard
    • Screen Touch
    • Scroll

    The default values are Mouse Movement, Click, and Keyboard.

    FortiWeb will check the existence of the selected events.

    Please note that at least one of the Mouse Movement and Keyboard options should be selected to effectively leverage the capabilities of Bot Trait Checking for enhanced bot detection.

    Bot Trait Checking

    For the requests passing the Monitor Client Events check, you can enable Bot Trait Checking to implement an additional layer of detection to check whether the requests are generated by bots.

    Bot Trait Checking looks at the properties of the client's browser for values commonly used by bots.

    By examining these characteristics, it becomes possible to effectively identify and filter out malicious events that are artificially simulated by scripts. This is particularly useful in detecting web crawlers that leverage headless browsing techniques to simulate browser behaviors in order to bypass conventional bot detection methods.

    Bot Traits Amount

    Specify how many bot traits should be detected to identify a client as a bot.

    The valid range is 2-10.

    Event Collection period

    Specify how long FortiWeb will wait for the client to create events.

    For instance, if the value is set to 10, FortiWeb will wait for 10 seconds for the client to generate user behavior data, then run a JavaScript script to collect the traits of client behaviors.

    Report Waiting Time

    Specify after how long the JavaScript script will return data to FortiWeb.

    For instance, if the value is set to 10, the JavaScript script will run for 10 seconds to collect traits of client behaviors, and then return the data to FortiWeb.

    Bot Effective Time

    For the identified bot, choose the time period before FortiWeb tests and verifies the bot again.

    Action

    Select which action FortiWeb will take when it detects a violation of the policy:

    • Alert—Accept the connection and generate an alert email and/or log message.

    • Alert & Deny—Block the request (or reset the connection) and generate an alert and/or log message.

    • Deny (no log)—Block the request (or reset the connection).

    The default value is Alert.

    Severity

    When policy violations are recorded in the attack log, each log message contains a Severity Level (severity_level) field. Select which severity level FortiWeb will use when it logs a violation of the policy:

    • Informative
    • Low
    • Medium
    • High

    The default value is Low.

    Trigger Policy

    Select the trigger, if any, that FortiWeb will use when it logs and/or sends an alert email about a violation of the policy. For details, see Viewing log messages.

    Exception

    Select the exception policy which specifies the elements to be exempted from the attack scan.

  4. Click OK.
  5. Click Create New.
  6. Configure these settings:
    Host StatusEnable to apply this rule only to HTTP requests for specific web hosts. Also configure Host.
    HostSelect the name of a protected host that the Host: field of an HTTP request must be in to match the biometrics based rule.
    This option is available only if Host Status is enabled.

    Type

    Select whether the Configuring biometrics based detection field must contain either:

    • Simple String—The field is a string that the request URL must exactly.

    • Regular Expression—The field is a regular expression that defines a set of matching URLs.

    Request URL

    Depending on your selection in Configuring biometrics based detection, enter either:

    • The literal URL, such as /folder1/index.htm that the HTTP request must contain in order to match the rule, or use wildcards to match multiple URLs, such as /folder1/* or /folder1/*/index.htm. The URL must begin with a slash ( / ).

    • A regular expression, such as ^/*.php, matching all and only the URLs to which the input rule should apply. The pattern does not require a slash ( / ).; however, it must at least match URLs that begin with a slash, such as /index.cfm.

      When you have finished typing the regular expression, click the >> (test) icon.
      This opens the Regular Expression Validator window where you can finetune the expression. For details, see Appendix E: Regular expressions

  7. Click OK.

Configuring biometrics based detection

By checking the client events such as mouse movement, keyboard, screen touch, and scroll, etc in specified period, FortiWeb judges whether the request comes from a human or from a bot. You can configure the biometrics based detection rule to define the client event, collection period, and the request URL, etc.

To configure a biometrics based detection rule

  1. Go to Bot Mitigation > Biometrics Based Detection.
  2. Click Create New.
  3. Configure these settings:

    Name

    Type a unique name for the rule that can be referenced in other parts of the configuration.

    Monitor Client Events

    Select at least one client event according to your need.

    • Mouse Movement
    • Focus
    • Click
    • Keyboard
    • Screen Touch
    • Scroll

    The default values are Mouse Movement, Click, and Keyboard.

    FortiWeb will check the existence of the selected events.

    Please note that at least one of the Mouse Movement and Keyboard options should be selected to effectively leverage the capabilities of Bot Trait Checking for enhanced bot detection.

    Bot Trait Checking

    For the requests passing the Monitor Client Events check, you can enable Bot Trait Checking to implement an additional layer of detection to check whether the requests are generated by bots.

    Bot Trait Checking looks at the properties of the client's browser for values commonly used by bots.

    By examining these characteristics, it becomes possible to effectively identify and filter out malicious events that are artificially simulated by scripts. This is particularly useful in detecting web crawlers that leverage headless browsing techniques to simulate browser behaviors in order to bypass conventional bot detection methods.

    Bot Traits Amount

    Specify how many bot traits should be detected to identify a client as a bot.

    The valid range is 2-10.

    Event Collection period

    Specify how long FortiWeb will wait for the client to create events.

    For instance, if the value is set to 10, FortiWeb will wait for 10 seconds for the client to generate user behavior data, then run a JavaScript script to collect the traits of client behaviors.

    Report Waiting Time

    Specify after how long the JavaScript script will return data to FortiWeb.

    For instance, if the value is set to 10, the JavaScript script will run for 10 seconds to collect traits of client behaviors, and then return the data to FortiWeb.

    Bot Effective Time

    For the identified bot, choose the time period before FortiWeb tests and verifies the bot again.

    Action

    Select which action FortiWeb will take when it detects a violation of the policy:

    • Alert—Accept the connection and generate an alert email and/or log message.

    • Alert & Deny—Block the request (or reset the connection) and generate an alert and/or log message.

    • Deny (no log)—Block the request (or reset the connection).

    The default value is Alert.

    Severity

    When policy violations are recorded in the attack log, each log message contains a Severity Level (severity_level) field. Select which severity level FortiWeb will use when it logs a violation of the policy:

    • Informative
    • Low
    • Medium
    • High

    The default value is Low.

    Trigger Policy

    Select the trigger, if any, that FortiWeb will use when it logs and/or sends an alert email about a violation of the policy. For details, see Viewing log messages.

    Exception

    Select the exception policy which specifies the elements to be exempted from the attack scan.

  4. Click OK.
  5. Click Create New.
  6. Configure these settings:
    Host StatusEnable to apply this rule only to HTTP requests for specific web hosts. Also configure Host.
    HostSelect the name of a protected host that the Host: field of an HTTP request must be in to match the biometrics based rule.
    This option is available only if Host Status is enabled.

    Type

    Select whether the Configuring biometrics based detection field must contain either:

    • Simple String—The field is a string that the request URL must exactly.

    • Regular Expression—The field is a regular expression that defines a set of matching URLs.

    Request URL

    Depending on your selection in Configuring biometrics based detection, enter either:

    • The literal URL, such as /folder1/index.htm that the HTTP request must contain in order to match the rule, or use wildcards to match multiple URLs, such as /folder1/* or /folder1/*/index.htm. The URL must begin with a slash ( / ).

    • A regular expression, such as ^/*.php, matching all and only the URLs to which the input rule should apply. The pattern does not require a slash ( / ).; however, it must at least match URLs that begin with a slash, such as /index.cfm.

      When you have finished typing the regular expression, click the >> (test) icon.
      This opens the Regular Expression Validator window where you can finetune the expression. For details, see Appendix E: Regular expressions

  7. Click OK.