Applies To:
Show VersionsBIG-IP ASM
- 11.6.5, 11.6.4, 11.6.3, 11.6.2, 11.6.1
Adding URLs to a Security Policy
About adding URLs
In a security policy, you can manually specify the file types that are allowed (or disallowed) in traffic to the web application being protected. This is only if you are not using automatic policy building which F5 recommends doing. When using automatic policy building, Application Security Manager™ determines which file types to add, based on legitimate traffic.
When you create a security policy, a wildcard file type of *, representing all file types, is added to the file type list. During the enforcement readiness period, the system examines the file types in the traffic and makes learning suggestions that you can review and add the file types to the policy as needed. This way, the security policy includes the file types that are typically used. When you think all the file types are included in the security policy, you can remove the * wildcard from the allowed file types list.
About referrer URLs
Referrer URLs are web pages that request other URLs within a web application. For example, an HTML page can request a GIF, JPG, or PNG image file. The HTML page is the referrer, and the GIF, JPG, and PNG files are non-referrers. In lists of URLs, non-referrer URLs appear in blue and referrer URLs appear in gold.
A referrer in Application Security Manager™ is similar to the HTTP Referer header. Use referrers for complex objects, such as HTML pages, but not for embedded objects, such as GIF files.
Adding allowed URLs
Wildcard syntax
The syntax for wildcard entities is based on shell-style wildcard characters. This table lists the wildcard characters that you can use in the names of file types, URLs, parameters, or cookies so that the entity name can match multiple objects.
Wildcard Character | Matches |
---|---|
* | All characters |
? | Any single character |
[abcde] | Exactly one of the characters listed |
[!abcde] | Any character not listed |
[a-e] | Exactly one character in the range |
[!a-e] | Any character not in the range |
Allowed URL properties
These tables describe the allowed URL properties (both Basic and Advanced settings) that appear on different parts of the screen.
Create New Allowed URL properties
Property | Description |
---|---|
URL | Specifies a URL that the security policy allows. The available types are:
|
Protocol | Specifies whether the protocol for the URL is HTTP or HTTPS. |
Perform Staging | Specifies that the system places this URL in staging. Learning suggestions produced by requesting staged URLs are logged in the Learning screens. Review staging status on the URL List screen. If a URL is in staging, point to the icon to display staging information.When you are no longer getting learning suggestions, you can disable this setting. If you enforce a URL, this setting is cleared. |
Learn Explicit Entities | Specifies how to add or suggests you add URLs to the security policy if you are
creating a wildcard URL.
|
Check Flows to this URL | Specifies that the security policy validates flows to the URL (if configured). If this setting is disabled, the system ignores the flows to the URL. When you select this check box, additional settings appear. |
URL is Entry Point | (Visible when Check Flows to this URL is selected.) Specifies that this URL is a page through which a visitor can enter the web application. |
URL is Referrer | (Visible when Check Flows to this URL is selected.) Specifies that the URL is a URL from which a user can access other URLs in the web application. |
URL can change Domain Cookie | Specifies that the security policy does not block an HTTP request where the domain cookie was modified on the client side. Note that this setting is applicable only if the URL is a referrer. |
URL with Navigation Parameter | Specifies that you want to associate a navigation parameter with this URL. You must have a navigation parameter defined in the security policy to view this option. |
Select Navigation Parameter | Specifies a list of navigation parameters that you can associate with this URL. |
Navigation Parameter Value | Indicates the value of the navigation parameter. |
Clickjacking Protection | Specifies that the system adds the X-Frame-Options header to the domain cookie’s response header. This is done to protect the web application against clickjacking. Clickjacking occurs when attacker lures a user to click illegitimate frames and iframes because the attacker hid them on legitimate visible website buttons. Therefore, enabling this option protects the web application from other web sites hiding malicious code behind them. The default is disabled. After you enable this option, you can select whether, and under what conditions, the browser should allow this URL to be rendered in a frame or iframe. |
Allow Rendering in Frames | Specifies the conditions for when the browser should allow this URL to be
rendered in a frame or iframe.
|
Wildcard Match Includes Slashes | Specifies that an asterisk in a wildcard URL matches any number of path segments (separated by slashes); when cleared, specifies that an asterisk matches at most one segment. For example: the wildcard /art/* matches /art/abc/index.html if the wildcard match includes slashes (default value), but does not match it if the check box is cleared. In that case, it matches /art/go.html (only one segment below /art). |
HTML5 Cross-Domain Request Enforcement | CORS (Cross-Origin Resource Sharing) lets one website access the resources of another website using JavaScript (within the browser). Web applications may share resources with other websites hosted on a different domain. When the option is selected, the system protects a specific URL in your web application from cross-origin resource sharing. You can configure which domains can access the response generated by requesting this URL (the resource), and how to overwrite CORS response headers returned by the web server. |
URL Description | Describes the URL (optional). |
Header-Based Content Profiles
Property | Description |
---|---|
Request Header Name | Specifies an explicit header name that must appear in requests for this URL. This field is not case-sensitive. |
Request Header Value | Specifies a simple pattern string (glob pattern matching) for the header value that must appear in legal requests for this URL; for example, *json*, xml_method?, or method[0-9]. If the header includes this pattern, the system assumes the request contains the type of data you select in the Request Body Handling setting. This field is case-sensitive. |
Request Body Handling | Indicates how the system parses the content of requests for the allowed URL:
|
Profile Name | Specifies the XML, JSON, or GWT profile the security policy uses when examining requests for this URL if the header content is parsed as XML, JSON, or GWT. You can also create or view the XML, JSON, or GWT profile from this option. |
HTML5 Cross-Domain Request Enforcement
Property | Description |
---|---|
Allow HTML5 Cross-Origin Requests | Allows all CORS requests to this URL, and displays additional settings. |
Allowed Origins | Allows you to specify a list of origins allowed to share data returned by this URL. |
Allowed Methods | Allows you to specify a list of methods that other web applications hosted in different domains can use when requesting this URL. |
Allowed Headers | Allows you to specify a list of request headers that other web applications hosted in different domains can use when requesting this URL. Or you can delete non-simple headers returned in response to requests. |
Exposed Headers | Allows you to specify a list of response headers that are safe to expose to JavaScript, and can be shared with web applications hosted in different domains.Or you can allow only simple headers to be exposed. |
Allow Credentials | Specifies whether requests from other web applications hosted in different domains may include user credentials. |
Maximum Age | Specifies how long (in seconds) to cache in the browser the results of a preflight request (a special request that the browser sends to your web application to determine if JavaScript from another domain may access your resource). |
Meta Characters
Property | Description |
---|---|
Check characters on this URL | Specifies that the system verifies meta characters on this URL. You can change which meta characters are allowed or disallowed. |
Adding disallowed URLs
Enforcing requests for URLs based on header content
You can use header-based content profiles to configure how the system recognizes and enforces requests for this URL according to the header content in the request. You can also use header-based content profiles to block traffic based on the type of header and header value in requests for a URL.
Specifying characters legal in URLs
Configuring flows to URLs
Creating flow parameters
Configuring dynamic flows to URLs
Configuring dynamic session IDs in URLs
Normally, if the system receives a request in which the dynamic session information does not match the settings in the security policy, the system issues the Illegal session ID in URL violation. When you allow dynamic session IDs in URLs, ASM extracts the dynamic session information from requests or responses, based on the pattern that you configure. For requests, the system applies the pattern to the URI up to, but not including, the question mark (?) character in a query string.