ADC

Normalize URLs in NetScaler

URL normalization standardizes inconsistent URL formats into a single, predictable structure. The URL normalization feature ensures that security rules, search engines, and web crawlers treat different representations of the same web resource as identical. Non-normalized URLs can lead to security vulnerabilities and wasted technical resources. Attackers often exploit non-normalized URLs to bypass security filters. NetScaler provides native URL normalization using HTTP profile parameters to address this issue.

Benefits

  • Standardize inconsistent URL formats.
  • Ensure consistent treatment by security rules, search engines, and web crawlers.
  • Mitigate security vulnerabilities by preventing bypass of security filters.
  • Optimize technical resource usage by avoiding redundant processing of identical content.

Prerequisites

Make sure that an HTTP profile is configured on NetScaler.

Supported URL normalization types in NetScaler

NetScaler supports the following types of URL normalization:

  • Case Normalization: The hexadecimal digits within a percent-encoding triplet are case-insensitive. Normalize these digits to use uppercase letters for digits A-F. For example, %3a becomes %3A.

    Note:

    Only the letter case changes from lowercase to uppercase. No decoding is performed.

  • Percent-Encoding Normalization: Decodes any percent-encoded octet that corresponds to an unreserved character. Unreserved characters include ALPHA, DIGIT, -, ., _, and ~.
  • Path Segment Normalization: Removes dot-segments (. and ..).
  • Remove Duplicate Slashes: Converts paths with two adjacent slashes // to a single slash /. For example, http://abc.com/home//index.html becomes http://abc.com/home/index.html.

Limitations

Case normalization, which standardizes capitalization in a URL to treat different versions of the same web address as identical, is not supported. Only the case of hexadecimal digits within a percent-encoding triplet changes from lowercase to uppercase. Decoding does not occur.

Configure URL normalization by using CLI

  • Enable URL Normalization: When you enable normalizeURL, all incoming URLs are normalized before any other module processes them for further evaluation. When disabled, incoming URLs pass to the subsequent module as received.

    Use the set httpprofile command to enable URL normalization.

     set httpprofile <profilename> -normalizeURL ENABLED
     <!--NeedCopy-->
    
  • Forward Normalized URLs to Origin: Forwarding normalized URLs to the origin server is a security best practice. This option ensures that the origin server receives only normalized data, enhancing security and performance. When you enable this setting, NetScaler forwards normalized URLs to the origin server. When disabled, NetScaler forwards URLs to the origin server exactly as received from the client.

    Use the set httpprofile command to forward normalized URLs to the origin server.

     set httpprofile <profilename> -normalizeURLtoOrigin ENABLED
     <!--NeedCopy-->
    
Normalize URLs in NetScaler