Click the Monitor Only check box to see the match activity of the rule without Click Apply to save the rule settings. Configuring Rules for the Query String Request Filter

Configuring Request Filtering 4-15

f. In the URL field, based on the URL Type you select, enter an optional URL

string. If no URLs are specified, then all requests are checked. It is equivalent to specifying a URL with a prefix . - Path Prefix: Enter the path prefix of the objects. Start the path with ; do not start the path with http:host_name:port. The prefix is interpreted literally, including reserved regular expression characters. These characters include periods ., question marks ?, asterisks , brackets [], curly braces {}, carets , dollar signs , and backslashes \. - File Extension: Enter the file extension. Because Oracle Web Cache internally starts the file extension with a period ., it is not necessary to enter it. - Regular Expression: Enter the regular expression of the objects. Remember to use to denote the start of the URL and to denote the end of the URL.

g. From the URL Type list, select an option to determine how the rules URL are

compared to the requests URL: - Path Prefix: Select to allow or deny access to requests matching a path prefix. - File Extension: Select to allow or deny access to requests matching a particular file extension. - Regular Expression: Select to allow or deny access to requests matching regular expression syntax.

h. Click the Case Insensitive Match check box to match requests regardless of

the case. If you do not select this check box, the rule bases the match on the case.

i. Click the Monitor Only check box to see the match activity of the rule without

enforcing the rule. When results are expected, then disable Monitor Only to enforce the rule. See Section 4.4 for further information about the Monitor Only option.

j. Click Apply to save the rule settings.

8. Perform Step 7 for any additional rules.

9. Use the Move Up and Move Down icons to change the order in which the rules

are matched against requests. The order of the rules is important. Oracle Web Cache matches higher priority rules first.

10. Click the Request Filters Summary breadcrumb at the top of the page, or from the

Web Cache menu, select Administration and then Request Filters to navigate back to the Request Filters Summary page.

11. In the Query String row, click Enable to enable the filter.

If you do not click Enable, Oracle Web Cache ignores any configured filter rules for this filter.

12. Click Apply to save the configuration for the request filter.

4.11 Configuring Rules for the Format Request Filter

The format request filter enables Oracle Web Cache to deny access based on well-formed and valid URLs. See Section 4.2 for further information about the format request filter. 4-16 Oracle Fusion Middleware Administrators Guide for Oracle Web Cache To configure rules for the format request filter: 1. Navigate to the Web Cache Home page in Fusion Middleware Control. See Section 2.6.2 .

2. From the Web Cache menu, select Administration and then Request Filters.

The Request Filters Summary page displays.

3. From the Site list, select the site to apply the filter. See

Section 2.11.3 and Section 2.11.4 to create additional sites. You can configure filters and filter rules for specific sites or Undefined Sites. Oracle Web Cache directs client requests that do not match a defined site to the request filters configured for Undefined Sites.

4. Click the Query String link.

The Query String Request Filter page displays.

5. From the Audit list, select the level of action for Oracle Web Cache to include in its

audit log for the request filter.

6. From the Response to deny list, select the HTTP response for Oracle Web Cache to

return to browsers for requests that are denied by this request filter. The Close Connection option does not return any HTTP responses. It just closes the connection. 7. Define a rule for the validation type:

a. Click the Enable check box to enable the validation check:

- Null Byte: This validation checks for encoding as a null byte as 00. Most applications do not expect null bytes in the URL. This may cause a string which contains tricks after a null byte to pass an application check because the application stops checking when it hits the null byte, thinking that it is the end of string marker. - Valid Unicode: This validation checks for Unicode characters, either encoded or raw in the URL for an application that is not set up to handle Unicode. - Strict Encoding: This validation checks for unencoded characters, such as a space, backslash \, or non-printable characters. - Double Encoding: This validation checks for XY sequences using XY encoding, in an attempt to get the XY sequence to be passed to the application. This could allow the hacker to specify a character that would otherwise be rejected. - Uencoded Unicode Characters: This validation checks for Unicode characters, either encoded or raw in the URL for an application that is not set up to handle Unicode.

b. Click the Check Query String check box to verify the format of the URL, as

well as the query string or request body for a POST request; leave this option unchecked to verify only the format of the URL.

c. Click the Allow check box for Oracle Web Cache to allow requests containing

the invalid format; deselect the check box for Oracle Web Cache to deny requests containing the invalid format.

d. Click the Monitor Only check box to see the match activity of the rule without

enforcing the rule.