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
- Go to Bot Mitigation > Biometrics Based Detection.
- Click Create New.
- 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.
- Click OK.
- Click Create New.
- Configure these settings:
Host Status Enable to apply this rule only to HTTP requests for specific web hosts. Also configure Host. Host Select 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.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.
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
- Click OK.