Using system signals
Last updated 2024-11-15
The following information provides you with details about the various system signals:
- Long name: the name of the signal that you can use to verbally reference or describe it.
- Short name: the name of the signal that is applied to matched requests and that can be used to search within the Next-Gen WAF web interface.
- Usable in: outlines where a signal can be used. The options are Lists, Rate Limit Rules, Request Rules, or Signal Exclusions. None indicates that the signal may be provided but cannot be used outside of its informational context.
- Description: an outline of what the signal means or what it indicates.
Attacks
Attack signals are labels that describe malicious requests that contain attack payloads designed to hack, destroy, disable, steal, gain unauthorized access, and otherwise take harmful actions.
Long name | Short name | Usable in | Description |
---|---|---|---|
Attack Tooling | USERAGENT | Attack Tooling is the use of automated software to identify security vulnerabilities or to attempt to exploit a discovered vulnerability. | |
AWS SSRF | AWS-SSRF | Server Side Request Forgery (SSRF) is a request which attempts to send requests made by the web application to target internal systems. AWS SSRF attacks use SSRF to obtain Amazon Web Services (AWS) keys and gain access to S3 buckets and their data. | |
Backdoor | BACKDOOR | A backdoor signal is a request that attempts to determine if a common backdoor file exists on a system. The signal generally matches known backdoor filenames. Traditionally these filenames appear with PHP file extensions like admin.php and r57.php . However, when these paths return a 200 or a larger response than expected, it may indicate that a system has been compromised or is unknowingly hosting a backdoor file. | |
Command Execution | CMDEXE | Command Execution is the attempt to gain control or damage a target system through arbitrary operating system commands. | |
Cross Site Scripting | XSS | Cross-Site Scripting is the attempt to hijack a person's account or web-browsing session through malicious JavaScript code. | |
Directory Traversal | TRAVERSAL | Directory Traversal is the attempt to navigate privileged folders throughout a system in hopes of obtaining sensitive information. | |
Log4J JNDI | LOG4J-JNDI | Log4J JNDI attacks attempt to exploit the Log4Shell vulnerability present in Log4J versions earlier than 2.16.0. | |
SQL Injection | SQLI | SQL Injection is the attempt to gain access to an application or obtain privileged information by executing arbitrary database queries. |
Anomalies
Anomaly signals are labels that describe abnormal requests. While not inherently malicious, abnormal requests may be indicative of unwanted or abusive traffic. Examples include malformed request data and requests originating from known scanners.
Long name | Short name | Usable in | Description |
---|---|---|---|
Abnormal Path | ABNORMALPATH | Abnormal Path indicates the original path differs from the normalized path (e.g., /foo/./bar is normalized to /foo/bar ). | |
API Spec Mismatch | API-SPEC-MISMATCH | Indicates a request that deviates from a provided API specification. This signal is only compatible with OpenAPI Specification v3.0 and available to Core WAF deployments of Next-Gen WAF. Contact your account manager or email sales@fastly.com to activate this feature. | |
Bad Hop Headers | BHH | Bad Hop Headers indicate an HTTP smuggling attempt through either a malformed Transfer-Encoding (TE) or Content-Length (CL) header, or a well-formed TE and CL header. | |
Blocked Requests | BLOCKED | None | Requests blocked by the Next-Gen WAF |
Code Injection PHP | CODEINJECTION | Code Injection is the attempt to gain control or damage a target system through arbitrary application code commands. | |
Compression Detected | COMPRESSED | The POST request body is compressed and cannot be inspected. For example, if a Content-Encoding: gzip request header is specified and the POST body is not plain text. | |
Fastly Unknown Backend | FASTLY-UNKNOWN-BACKEND | Indicates a request to a backend that does not exist in your edge security service. | |
Forceful Browsing | FORCEFULBROWSING | Forceful Browsing is the failed attempt to access admin pages. | |
GraphQL API Query | GRAPHQL-API | Indicates a GraphQL API request. | |
GraphQL Duplicate Variables | GRAPHQL-DUPLICATE-VARIABLES | Indicates a GraphQL request that contains duplicated variables. | |
GraphQL Max Depth | GRAPHQL-DEPTH | Indicates a request has reached or exceeded the maximum depth allowed on the server for GraphQL API queries. | |
GraphQL Missing Required Operation Name | GRAPHQL-MISSING-REQUIRED-OPERATION-NAME | Indicates a request has multiple GraphQL operations but does not define which operation to execute. | |
GraphQL Syntax | GRAPHQL-SYNTAX | Indicates a request that contains invalid GraphQL syntax. This may be related to a programming error or a malicious request. | |
GraphQL Undefined Variable | GRAPHQL-UNDEFINED-VARIABLES | Indicates a request made to a GraphQL API containing more variables than expected by a function. This can be used to obfuscate malicious requests. | |
HTTP 403 Errors | HTTP403 | Forbidden. This is commonly seen when the request for a url has been protected by the server's configuration. | |
HTTP 404 Errors | HTTP404 | Not Found. This is commonly seen when the request for a page or asset does not exist or cannot be found by the server. | |
HTTP 429 Errors | HTTP429 | Too Many Requests. This is commonly seen when rate-limiting is used to slow down the number of active connections to a server. | |
HTTP 4XX Errors | HTTP4XX | 4xx Status Codes commonly refer to client request errors. | |
HTTP 500 Errors | HTTP500 | Internal Server Error. This is commonly seen when a request generates an unhandled application error. | |
HTTP 503 Errors | HTTP503 | Service Unavailable. This is commonly seen when a web service is overloaded or sometimes taken down for maintenance. | |
HTTP 5XX Errors | HTTP5XX | 5xx Status Codes commonly refer to server related issues. | |
HTTP Response Splitting | RESPONSESPLIT | Identifies when CRLF characters are submitted as input to the application to inject headers into the HTTP response. | |
Insecure Authentication/Authorization | INSECURE-AUTH | Insecure Authentication/Authorization, such as using JSON Web Tokens with the None Algorithm. | |
Invalid Encoding | NOTUTF8 | Invalid Encoding can cause the server to translate malicious characters from a request into a response, causing either a denial of service or XSS. | |
Malformed Data in the request body | MALFORMED-DATA | A POST, PUT or PATCH request body that is malformed according to the Content-Type request header. For example, if a Content-Type: application/x-www-form-urlencoded request header is specified and contains a POST body that is json. This is often a programming error, automated or malicious request. | |
Malicious IP Traffic | SANS | The regularly imported SANS Internet Storm Center list of IP addresses that have been reported to have engaged in malicious activity. | |
SigSci Malicious IPs | SIGSCI-IP | Whenever an IP is flagged due to a malicious signal by our decision engine, that IP will be propagated to all customers. We then log subsequent requests from those IP addresses that contain any additional signal for the duration of the flag. | |
Missing Content-Type request header | NO-CONTENT-TYPE | A POST, PUT or PATCH request that does not have a Content-Type request header. By default application servers should assume Content-Type: text/plain; charset=us-ascii in this case. Many automated and malicious requests may be missing Content Type . | |
No User Agent | NOUA | Indicates a request contained no User-Agent header or the header value was not set. | |
Null Byte | NULLBYTE | Null bytes do not normally appear in a request and indicate the request is malformed and potentially malicious. | |
Out-of-Band Domain | OOB-DOMAIN | Out-of-Band domains are generally used during penetration testing to identify vulnerabilities in which network access is allowed. | |
Private Files | PRIVATEFILE | Private files are usually confidential in nature, such as an Apache .htaccess file, or a configuration file which could leak sensitive information. | |
Scanner | SCANNER | Identifies popular scanning services and tools | |
SearchBot Impostor | IMPOSTOR | Search bot impostor is someone pretending to be a Google or Bing search bot, but who is not legitimate. | |
Site Flagged IP | SITE-FLAGGED-IP | Indicates a request was received from an IP that was flagged for exceeding attack thresholds for a specific site (also known as workspace). This signal is only included with the Premier platform. |
Bots
Bot signals are labels that describe suspected and verified bot requests.
Long name | Short name | Usable in | Description |
---|---|---|---|
Accessibility | VERIFIED-BOT.ACCESSIBILITY | Tools that make content accessible (e.g., screen readers). | |
Challenge Token Invalid | CHALLENGE-TOKEN-INVALID | Indicates a request that did not include a valid bot challenge token. | |
Challenge Token Valid | CHALLENGE-TOKEN-VALID | Indicates a request that included a valid bot challenge token. | |
Challenged Request | CHALLENGED | None | Indicates a request that was issued a client challenge by the Next-Gen WAF. |
Content Fetcher | VERIFIED-BOT.CONTENT-FETCHER | Tools that extract content from websites to be used elsewhere. | |
Monitoring & Site Tools | VERIFIED-BOT.MONITORING-SITE-TOOLS | Tools that access your website to monitor things like performance, uptime, and proving domain control. | |
Online Marketing | VERIFIED-BOT.ONLINE-MARKETING | Crawlers from online marketing platforms (e.g., Facebook, Pinterest). | |
Page Preview | VERIFIED-BOT.PAGE-PREVIEW | Tools that access your website to show a preview of the page, in other online services, and social media platforms. | |
Platform Integrations | VERIFIED-BOT.PLATFORM-INTEGRATIONS | Integration with other platforms by accessing the website's API, notably Webhooks. | |
Research | VERIFIED-BOT.RESEARCH | Commercial and academic tools that collect and analyze data for research purposes. | |
Search Engine Crawler | VERIFIED-BOT.SEARCH-ENGINE-CRAWLER | Crawlers that index your website for search engines. | |
Search Engine Optimization | VERIFIED-BOT.SEARCH-ENGINE-OPTIMIZATION | Tools that support search engine optimization tasks (e.g., link analysis, ranking). | |
Security Tools | VERIFIED-BOT.SECURITY-TOOLS | Security analysis tools that inspect your website for vulnerabilities, misconfigurations and other security features. | |
Suspected Bad Bot | SUSPECTED-BAD-BOT | Indicates a request that is suspected of being a bad bot. | |
Suspected Bot | SUSPECTED-BOT | Indicates a request that is suspected of being a bot. |
Informational
Informational signals are labels that describe common request properties that aren't malicious or abnormal.
Long name | Short name | Usable in | Description |
---|---|---|---|
Allowed Requests | ALLOWED | Indicates a request that is allowed due to a rule with an allow action. Requests with this signal are never blocked. | |
Bot Analysis | BOT-ANALYSIS | None | Indicates a request that was analyzed for bots. |
Datacenter Traffic | DATACENTER | Datacenter Traffic is non-organic traffic originating from identified hosting providers. This type of traffic is not commonly associated with a real end user. | |
Double Encoding | DOUBLEENCODING | Double Encoding checks for the evasion technique of double encoding HTML characters. | |
Fail Open | FAIL-OPEN | Indicates a request was allowed because the WAF failed open. | |
GraphQL IDE | GRAPHQL-IDE | Indicates a request originating from a GraphQL Interactive Development Environment (IDE). | |
GraphQL Introspection | GRAPHQL-INTROSPECTION | Indicates an attempt to obtain the schema of a GraphQL API. The schema can be used to identify which resources are available, informing subsequent attacks. | |
JSON Encoding Error | JSON-ERROR | A POST, PUT, or PATCH request body that is specified as containing JSON within the Content-Type request header but contains JSON parsing errors. This is often related to a programming error or an automated or malicious request. | |
Tor Traffic | TORNODE | Tor is software that anonymizes and conceals location, activity, and IP address information when browsing the internet. A spike in Tor traffic can indicate an attacker trying to mask their location. | |
Weak TLS | WEAKTLS | Weak TLS. A web server's configuration allows SSL/TLS connections to be established with an obsolete cipher suite or protocol version. This signal is based on inspecting a small percent of requests. Also, some architectures and Signal Sciences' language SDK modules do not support this signal. | |
XML Encoding Error | XML-ERROR | A POST, PUT, or PATCH request body that is specified as containing XML within the Content-Type request header but contains XML parsing errors. This is often related to a programming error or an automated or malicious request. |
Do not use this form to send sensitive information. If you need assistance, contact support. This form is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.