Sequence of scans
FortiWeb Cloud applies protection rules and performs scans according to orders in the table below (from the top to the bottom).
You may find that the actual scan sequence sometimes is different from that listed in the following scan sequence table. Various reasons may explain this, for example, for the scans involving the whole request or response packet, its sequence may vary depending on when the packet is fully transferred to FortiWeb Cloud. File Protection is one of the scan items that involve scanning the whole packet. FortiWeb Cloud scans Content-Type:
and the body of the file for File Protection. While the Content-Type:
is scanned instantly, the body of the file may be postponed after the subsequent scans until the whole body of the file is done uploading to FortiWeb Cloud.
Please also note that the scan sequence refers to the sequence within the same packet. For example, TCP Connection Number Limit precedes HTTP Request Limit in the scan sequence table. However, if there are two packets containing HTTP traffic and TCP traffic respectively, and the HTTP packet arrives first, FortiWeb Cloud thus checks the HTTP Connection Number Limit first.
To improve performance, block attackers using the earliest possible technique in the execution sequence and/or the least memory-consuming technique. The blocking style varies by feature and configuration. For example, when detecting Syntax-based SQL injection, instead of blocking the SQL injection by its syntax, you could log and block the injection by the blocklist defined in IP List. For details, see each specific feature. |
Scan/action | Involves |
---|---|
Request from client to server
|
|
TCP Connection Number Limit (TCP Flood Prevention) |
|
Add X-Forwarded-For: |
|
IP List |
Note: If a source IP is in allowlist, subsequent checks will be skipped. |
IP Reputation |
Source IP address of the client depending on your configuration of X-header rules. This could be derived from either the |
Geo IP |
|
WebSocket security |
|
|
|
HTTP Request Limit (HTTP Flood Prevention) |
|
TCP Connection Number Limit (Malicious IP) |
|
HTTP Request Limit (HTTP Access Limit) |
|
URL Access |
|
Mobile API Protection |
|
Protocol Limits |
|
File Protection |
|
|
|
|
|
|
|
Cross-site request forgery (CSRF) attacks |
|
Protection for Man-in-the-Browser (MITB) attacks |
|
|
|
|
|
|
|
Signature Based Detection |
|
|
|
Custom Rule |
|
|
|
Account Takeover |
|
|
|
OpenAPI Validation |
|
URL Rewriting (rewriting & redirection) |
|
Machine Learning - Anomaly Detection |
|
Compression | Accept-Encoding:
|
Cookie Security |
|
|
|
Reply from server to client
|
|
Web Socket Protocol |
|
Caching |
|
|
|
Protection for Man-in-the-Browser (MiTB) attacks |
|
|
|
Signature Based Detection (Information Leakage) |
|
Custom Rule |
|
Account Takeover |
|
URL Rewriting (rewriting) |
|
HTTP Header Security |
|