Redirecting HTTP To Https FortiWeb
Redirecting HTTP To Https FortiWeb
Similar to error message cloaking, URL rewriting can prevent the disclosure of underlying
technology or web site structures to HTTP clients.
For example, when visiting a blog web page, its URL might be:
http://www.example.com/wordpress/?feed=rss2
Simply knowing the file name, that the blog uses PHP, its compatible database types, and
the names of parameters via the URL could help an attacker to craft an appropriate attack
for that platform. By rewriting the URL to something more human-readable and less
platform-specific, the details can be hidden, such as:
http://www.example.com/rss2
Aside from for security, URL rewriting can also be for aesthetic and business reasons.
Shorter URLs with easy-to-remember phrases and formatting are easier for customers to
understand, remember, and return to.
URL rewriting rules can do much more than their name implies. They can:
rewrite the HTTP location line in the header of a matching redirect response from
the web server
16
Clear all
Edit
Delete
3 In Name, type a name that can be referenced by other parts of the configuration. Do
not use spaces or special characters. The maximum length is 35 characters.
4 In Action Type, select whether this rule will rewrite HTTP requests from clients
(Request Action) or HTTP responses from the web server (Response Action).
The next step varies by your selection in this step.
5 If you selected Request Action in Action Type, in the Request Action drop-down list,
select one of the following:
17
Rewrite HTTP Header Rewrites part(s) of the header in the HTTP request before
passing it to the web server.
GUI item
Description
Host
$0: a
$1: b
$2: cd
$3: d
$4: e
$5: f
URL
18
GUI item
Description
Referer
Using Physical
Server
Redirect In Location, type a URI, such as http://www.example.com/newurl, to use in the 302 Moved Temporarily redirection HTTP response from the
FortiWeb appliance. Like Host and URL, this field supports back references.
6 If you selected Response Action in Action Type, in the Response Action drop-down list,
select one of the following:
Rewrite HTTP Body In Replacement, type the string that will replace content in
the body of HTTP responses.
7 Click Create New to add match conditions for the rule to URL Rewriting Condition
Table.
A dialog appears.
19
20
GUI item
Description
Object
Select which part of the HTTP request will be tested for a match:
Enable if you want to match this condition only for either HTTP or
HTTPS. Also configure Protocol.
For example, you could redirect clients that accidentally request the
login page by HTTP to a more secure HTTPS channel but the
redirect is not necessary for HTTPS requests.
As another example, if URLs in HTTPS requests should be exempt
from rewriting, you could configure the rewriting rule to apply only to
HTTP requests.
21
GUI item
Description
Protocol
Select which protocol will match this condition, either HTTP or HTTPS.
Meet this
Indicate how to use Regular Expression when determining whether or
condition if not this URL rewriting condition is met.
If all conditions are met, the FortiScan appliance executes the Request
Action or Response Action, whichever you selected.
9 If you selected HTTP Referer from Object, also configure the following:
GUI item
Description
If no
Referer
field in
HTTP
header
Select either:
Requests can lack a Referer: field for several reasons, such as if the
user manually types the URL, and the request does not result from a
hyperlink from another web site, or if the URL resulted from an HTTPS
connection. (See the RFC 2616 section on the Referer: field.) In
those cases, the field cannot be tested for a matching value.
This option appears only if Object is HTTP Referer.
10 Click OK.
11 Repeat the previous two steps until you have defined all matching HTTP requests or
responses that should be rewritten as defined in this rule.
12 Group the URL rewrite rule in a URL rewriting policy (see Grouping URL rewriting
rules on page 23).
22
To do this, example.com will apply a rewriting rule that matches all HTTP requests,
regardless of host name variations or URL, such as:
http://www.example.com/login
http://www.example.co.jp/
and redirects them to the requivalent URL on its secure sites:
https://www.example.com/login
https://www.example.co.jp/
This rewriting rule has 3 parts:
Regular expression that matches HTTP requests with any host name (.*)
Note: This regular expression should not match HTTPS requests, since it would
decrease performance to rewrite requests that are already in HTTPS.
Regular expression that matches requests with any URL path /(.*)
Redirect destination location that assembles the host name ($0) and URL ($1) from
the request in front of the new protocol prefix, https://
23
24
Result
^/cgi/python/ustore/payment /store/checkout
.html$
/cgi/python/ustore/pa
yment.html
/store/checkout
^/ustore*$
/store/view
/ustore/viewItem.asp? /store/view
id=1&img=2
/Wordpress/(.*)
/blog/$0
/wordpress/10/11/24
/blog/10/11/24
/(.*)\.xml
/$0
/index.xml
/index
25
URL
$0: The text that matched the first capture group (.*). In this case, because the
object is the Host: field, the matching text is the host name, www.example.com.
$1: The text that matched the second capture group, which is also (.*). In this
case, because the object is the request URL, the matching text is the file path,
news/local.
Table 2:
Example request
URL Rewriting
Condition Table
www.example.com
HTTP Host
(.*)
Host
$0
www.example.com
/news/local.asp
HTTP URL
/(.*)\.asp
URL
/$1.php
/news/local.php
To access this part of the web UI, your administrators account access profile must
have Read and Write permission to items in the Web Protection Configuration
category. For details, see Permissions on page 38.
26
Clear all
Edit
Delete
4 In Name, type a name that can be referenced by other parts of the configuration. Do
not use spaces or special characters. The maximum length is 35 characters.
5 Click OK.
6 Click Create New.
A dialog appears.
7 For Priority, enter the priority for this rule in relation to other defined rules.
Rule order affects URL rewriting rule matching and behavior. The search begins with
the highest Priority number (0 = greatest priority) rule in the list and progresses in order
towards the largest number (lowest priority) in the list. Matching rules are determined
by comparing the rule and the connections content. If no rule matches, the connection
remains unchanged.
When the FortiScan appliance finds a matching rule, it applies the matching rule's
specified actions to the connection.
8 From the Rewriting Rule Name drop-down list, select the name of an existing URL
rewriting rule to add to the policy. See Rewriting & redirecting on page 16 for more
information.
To view or change the information associated with the rule, select the Detail link. The
URL Rewriting Rule dialog appears, where you can view and edit the rules. Use the
browser Back button to return.
9 Click OK.
10 Repeat the previous steps for each rule you want to add to the URL rewriting policy.
11 To apply the URL rewriting policy, select it in an inline protection profile. For details, see
Configuring a protection profile for inline topologies on page 433.
27