Welcome, and thank you for selecting Fortinet products for your network.
FortiWeb hardware and FortiWeb-VM virtual appliance models are available that are suitable for
medium and lar
Benefits
FortiWeb is designed specifically to protect web servers.
ge enterprises, as well as service providers.
FortiWeb web application firewalls (WAF)
and protection for HTTP or HTTPS services such as:
• Apache Tomcat
•ngi
nx
•Microsoft IIS
• JBoss
•IBM Lotus Domino
• Microsoft SharePoint
• Microsoft Outlook Web App (OWA)
• RPC and ActiveSync for Microsoft Exchange Server
• Joomla
•WordPress
• and many others
FortiWeb’s integrated web-specific
associated with protecting regulated and confidential data by detecting your exposure to the
latest threats, especially the OWASP Top 10.
In addition, FortiWeb’s HTTP firewall and denial-of-service (DoS) attack-prevention protect your
net-facing web-based applications from attack and data theft. Using advanced techniques
Inter
to provide bidirectional protection against sophisticated threats like SQL injection and
cross-site scripting (XSS), FortiWeb helps you prevent identity theft, financial fraud, and
corporate espionage. FortiWeb delivers the technology you need to monitor and enforce
government regulations, industry best practices, and internal security policies, including
firewalling and patching requirements from PCI DSS.
provide specialized application layer threat detection
vulnerability scanner can drastically r
educes challenges
FortiWeb’s application-aware firewalling and load balancing engine can:
• Secure HTTP applications that are often gateways into valuable databases
Pr
* On VM models, acceleration is due to offloading the cryptography burden from the back-end
server. On hardware models, cryptography is also hardware-accelerated via ASIC chips.
FortiWeb significantly reduces deployment costs by consolidating WAF, hardware acceleration,
load balancing, and vulnerability s
features drastically reduce the time required to protect your regulated, Internet-facing data and
eases the challenges associated with policy enforcement and regulatory compliance.
Figure 1: Basic topology
canning into a single device with no per-user pricing. Those
Scope
FortiWeb can be deployed in a one-arm topology, but is more commonly positioned inline to
intercept all incoming clients’ connections and redistribute them to your servers. FortiWeb has
TCP- and HTTP-specific firewalling capability. Because it is not designed to provide security to
non-HTTP applications, it should be deployed behind a firewall such as FortiGate that focuses
on security for other protocols that may be forwarded to your back-end servers, such as FTP
and SSH.
Once the appliance is deployed, you can configure FortiWeb via its web UI and CLI, from a web
ow
ser and terminal emulator on your management computer.
br
This document describes how to set up your FortiWeb appliance. For both the hardware and
virtual appliance versions of FortiWeb, it describes how to complete first-time system
deployment, including planning the network topology.
It also describes how to use the web user interface (web UI), and contains
port numbers, configuration limits, and supported standards.
This document assumes, if you have inst
you have already followed the instructions in the FortiWeb-VM Install Guide.
alled the virtual appliance version (FortiWeb-VM), that
The list below contains features new or changed since FortiWeb 5.0. For upgrade information,
see the Release Notes available with the firmware and “Updating the firmware” on page 77.
FortiWeb 5.0 Patch 6
• No ne
FortiWeb 5.0 Patch 5
• RADIUS vendor-specific attributes for access profiles — If your administrator accounts
FortiWeb 5.0 Patch 4
• Bulk edits for parameter validation rules — Rather than individually editing each rule, you
• Namibian time zone support — System time and date settings now support the Namibian
w features. Bug fixes only.
authenticate via a RADIUS query, you can assign their access profile using RFC 2548
Microsoft Vendor-specific RADIUS Attributes. See Access Profile in “Administrators” on
page 212 and “Configuring RADIUS queries” on page 233.
can now replace the Action, Trigger Policy, and/or Severity of multiple rules simultaneously.
See “Bulk changes to input validation rules” on page 428.
time zone. See “Setting the system time & date” on page 91.
FortiWeb 5.0 Patch 3
• No new features. Bug fixes only.
FortiWeb 5.0 Patch 2
• Hidden fields protection for HTTPS — You can now use the Fetch URL dialog in the GUI to
help you tamper-proof hidden inputs in HTTPS requests. See “Preventing tampering with
hidden inputs” on page 430.
• Indicating original service to back-end servers— When offloading SSL/TLS, you can now
use an HTTP X-header to indicate to back-end web servers that the original client’s request
was, in fact, encrypted. See “Indicating to back-end web servers that the client’s request
was HTTPS” on page 269.
• More Microsoft file types for file upload restrictions — There are now signatures
specifically for Microsoft Office Open XML file types such as .docx. See “Limiting file
uploads” on page 451.
• Per CPU SNMP queries— You can now monitor the usage of each CPU in multi-CPU
appliances. See “MIB support” on page 586.
• NMI and COMlog support — FortiWeb 3000D, 3000DFsx, and 4000D models that have
NMI buttons now have firmware support. This can be useful for carriers that require
extensive debugging capabilities. See your model’s QuickStart Guide and the FortiWeb NMI
& COMlog Technical Note.
• RAM-only traffic log support — To reduce wear and tear on your hard disks when you
require traffic logs, you can now disable hard disk storage of traffic logs and use RAM only.
See the FortiWeb CLI Reference.
• Site publishing— You can now easily publish Microsoft Outlook Web Access (OWA),
SharePoint, Lync and other web applications. FortiWeb streamlines access to the
applications by providing offloaded authentication with optional single sign-on (SSO)
functionality. See Site Publish and “Single sign-on (SSO)” on page 243.
• “Alert Only” action for individual signatures — To provide better flexibility, you can now
choose an Alert Only action for individual attack signatures. When configuring a protection
profile, save it, then return to it and click the Advanced Mode button. Select a signature
category from the menu. When individual signatures appear in the pane on the right, click
the signature’s row to select it, then mark the Alert Only check box in the Signature tab. See
“Configuring action overrides or exceptions to data leak & attack detection signatures” on
page 398.
• Attack signature filters — In the Advanced mode while configuring attack signatures, in the
bottom of the navigation tree on the left, new categories have been added that display
individual signatures that have been disabled, or whose Alert Only check box is marked.
Previously, the Search item in the tree only enabled you to search for signature IDs. See
“Finding signatures that are disabled or “Alert Only”” on page 401.
• Custom global white list objects— You can now add your own URLs, parameters, and
cookies that you don’t want FortiWeb to inspect. Previously, you could only white list
predefined objects. See “Configuring the global object white list” on page 464.
• Advanced/combination access control rule enhancement— When configuring HTTP
header conditions for combination access control rules, regular expressions are now
supported. See “Combination access control & rate limiting” on page 325.
• Performance enhancements— Memory utilization and other performance enhancements
have been made. For example, the antivirus database now loads into memory only while
antivirus is enabled in a policy.
• New geo-to-IP database format supported
FortiWeb 5.0
Back up all parts of the configuration and data before updating the firmware to FortiWeb 5.0.
Some backup types do not include the full configuration. For full backup instructions, see
“Backups” on page 206.
FortiWeb 5.0 configuration files are not compatible with previous firmware versions. Many
fundamental changes have been made to its configuration file structure. If you later decide to
downgrade to FortiWeb 4.4.7 or earlier, your FortiWeb appliance will lose its configuration.
To restore the configuration, you will need a backup that is compatible with the older
firmware.
• FortiWeb 3000D, 3000DFsx, and 4000D support — All three models support SSL/TLS
acceleration with CP8 ASIC chips and have bypass/fail-to-wire port pairs. For hardware
details, see your model’s QuickStart Guide and “Fail-to-wire for power loss/reboots” on
page 520. For specifications of maximum supported objects, see “Appendix B: Maximum
configuration values” on page 669.
• Password recovery — If you have forgotten the password, but have physical access to your
FortiWeb, you can now reset the password for the admin administrator account. See
• IPv6 support— If FortiWeb is operating in reverse proxy mode, the following features now
support IPv6-to-IPv6 forwarding, as well as NAT64, to support environments where legacy
back-end equipment only supports IPv4.
• IP/Netmask for all types of network interfaces, DNS settings, and Gateway and
Destination IP/Mask for IP-layer static routes
• Virtual Server/V-zone
• Physical Server/Domain Server/Server Farm
• Server Health Check
• Protected Servers
• Session Management
• Cookie Poisoning Detection
• Signatures
• Custom Access
• Parameter Validation
• Hidden Fields Protection
• File Upload Restriction
• HTTP Protocol Constraints
• Brute Force Login
• URL Access
• Page Access (page order)
• Start Pages
• Allow Method
• IP List (manual, individual IP blacklisting/whitelisting)
• File Compress/File Uncompress
• Auto-learning
• Vulnerability scans
• Global white list objects
• Chunk decoding
• FortiGuard server IP overrides
These are not yet supported:
If a policy has any virtual servers, server farms, physical servers, or domain servers with IPv6
addresses, it will not apply these features, even if they are selected.
• HTTP Authentication and LDAP, RADIUS, and NTLM profiles
• Data Analytics
• Log-based reports
• Alert email
• Syslog and FortiAnalyzer IP addresses
•NTP
• FTP immediate/scheduled
• OCSP/SCEP
•Anti-defacement
• HA/Configuration sync
• exec restore
• exec backup
• exec traceroute
• exec telnet
• Challenge action for application-level anti-DoS — Rather than simply blocking all clients
that exceed your rate limit or trigger other DoS sensors, you can now choose to test the
client first — to return a web page that uses a script to assess whether the client is a web
browser or an automated tool favored by attackers. In this way, you can allow higher rate
limits for people than automated tools. See “Limiting the total HTTP request rate from an IP”
on page 339 and “Preventing an HTTP request flood” on page 347.
• Search engine access improved — You can now allow known search engines such as
Google, Yahoo!, Baidu and Bing to be exempt from DoS sensors, brute force login sensors,
HTTP protocol constraints, and combination rate & access control (called “advanced
protection” and “custom policies” in the web UI). See Allow Known Search Engines in
“Configuring a protection profile for inline topologies” on page 468 or “Configuring a
protection profile for an out-of-band topology or asynchronous mode of operation” on
page 477.
• Robot control simplified — Control of known malicious automated tools has been
simplified, and custom robot definitions removed. See Bad Robot in “Blocking known
attacks & data leaks” on page 387.
• Robot monitoring report — To monitor search engines that may be abusing access, you
can monitor throughput and transactions per second for each crawler from your GUI’s
reports area. See “Bot analysis” on page 605.
• Dynamic rate threshold in Real Time Monitor widget — The Policy Summary widget has
been renamed, and now scales its graph dynamically to best show you differences based
upon your normal levels of traffic. See “Real Time Monitor widget” on page 537.
• HTTP status code customization — To prevent WAF fingerprinting that can be a precursor
for evasive APT attackers, you can now modify the return codes such as 200 OK that
FortiWeb returns to clients when blocking violation traffic. See Error Page Return Code in
“Configuring a server policy” on page 483.
• Seamless FortiWeb-VM vCPU license upgrades— Now you can increase the capacity of
FortiWeb-VM to 2, 4, or 8 vCPUs without first invalidating the license. Previously, a new
license could be uploaded only while the current license was invalid, thereby temporarily
interrupting service. See the FortiWeb-VM Install Guide.
• Maximum physical servers increased — FortiWeb now supports up to 255 physical
servers. Previously only 128 were possible. See “Defining your web server by its IP address”
on page 251.
• Maximum input validation rules increased — FortiWeb now supports up to 1,024
parameters in the URL validation rule. See “Validating parameters (“input rules”)” on
page 421.
• Erasure without alerts — A very high volume of attack logs, alert email, and that can be
generated while blocking information disclosure when many protected web servers are
misconfigured. To prevent this and allow you to focus on severe attacks, you can now
choose to erase server information such as X-Powered-By: without generating any log
messages. See Action in “Blocking known attacks & data leaks” on page 387.
• Support for subnets in URL access rules & manual blacklists/white lists— When
specifying which source IP addresses are allowed to access your web apps, you can now
specify multiple IP addresses by entering a subnet, rather than creating many individual
rules. See “Restricting access to specific URLs” on page 321 and “Blacklisting & whitelisting
clients individually by source IP” on page 335.
• RADIUS realm support— RADIUS accounts on servers that require the realm (e.g.
admin@example.com or user@example.com) are now supported. No change to the
FortiWeb configuration is required for end-user accounts. For administrators, modify the
Administrator setting to include the realm name (e.g. @example.com).
• Fail-to-wire during reboot/shutdown— Previously, fail-to-wire only engaged during
unexpected power loss, without a graceful shutdown. See “Fail-to-wire for power
loss/reboots” on page 520.
• Threshold for shared IPs configurable — Previously, shared IP analysis was not
configurable. See “Shared IP” on page 522.
• Reports like FortiGate 5.0 — Reports have been updated, and now reflect the same styles
also found in FortiGate 5.0 firewalls. See “Reports” on page 586.
• Debugging commands on HA standby — You can now use the active FortiWeb HA
appliance’s CLI to send diagnose debug commands through the HA link to the standby.
Previously, you could only connect to standby appliances through the local console, or by
triggering a failover so that the standby became active — network connectivity was only
possible with the active appliance. See the FortiWeb CLI Reference.
• XML protection profiles removed
rs should now use the Illegal XML Format setting (see “Configuring a protection
stome
cu
— For protection against XML-related attacks,
profile for inline topologies” on page 468 or “Configuring a protection profile for an
out-of-band topology or asynchronous mode of operation” on page 477). Legacy
configuration data related to XML protection profiles from FortiWeb 4.0 MR4 Patch 6 or
previous versions of the firmware will be deleted during upgrade.
If your back-end web servers require extensive protection for a vulnerable XML parser, you
rd
should add 3
-party XML protection to your security architecture. Unlike XML protection
profiles in previous versions of FortiWeb, Illegal XML Format does not scan for conformity
with the document object model (DOM)/DTD/W3C Schema, recursive payloads, Schema
poisoning, or other advanced XML attacks. Failure to provide adequate XML protection could allow attackers to penetrate your network.
• Static routes moved— It is now located under the System > Network menu. See “Adding a
gateway” on page 125.
• FortiGuard updates moved— It is now located under the System > Config menu, similar to
FortiGate 5.0. Configuration of the antivirus database has also moved. See “Choosing the
virus signature database & decompression buffer” on page 138.
• LDAP, RADIUS, NTLM profiles moved— They are now located under the new User > Remote Server menu to make obvious the dichotomy versus local authentication. See
“Grouping remote authentication queries for administrators” on page 218 and “Configuring
queries for remote end-user accounts” on page 228.
• Anti-defacement moved— It is now located under the Web Protection menu. See
This chapter defines basic FortiWeb concepts and terms.
If you are new to FortiWeb, or new to security, this chapter can help you to quickly understand.
See also
• Appliance vs. VMware
Workflow
Begin with “How to set up your FortiWeb” on page 60 for your initial deployment. These
instructions will guide you to the point where you have a simple, verifiably working installation.
Ongoing use is located in the chapters after “How to set up your FortiWeb”. Once you
have
successfully deployed, ongoing use involves:
• Backups
• Updates
•
Configuring optional features
• Adjusting policies if:
• New attack signatures become available
• Requirements change
• Fine-tuning performance
• Periodic web vulnerability scans if required by your compliance regime
• Monitoring for defacement or focused, innovative attack attempts from advanced persistent
threats (APTs)
• Monitoring for accidentally blacklisted client IPs
Except for features
independent of
policies such as
ti-defacement,
an
most features are
configured before
policies. Policies
link protection
components
together and apply
them. As such,
policies usually
should be
configured last,
not first.
Sequence of scans
FortiWeb appliances apply protection rules and perform protection profile scans in the following
order of execution, which varies by whether you have applied a web protection profile. To
understand the scan sequence, read from the top of the table (the first scan/action) towards the
bottom (the last scan/action). Disabled scans are skipped.
To improve performance, block attackers using the earliest possible technique in the execution
sequence and/or the least memory-consuming technique.
The blocking style varies by feature and configuration. For example, when detecting cookie
poisoning, instead of resetting the TCP connection or blocking the HTTP request, you could log
and remove the offending cookie. For details, see each specific feature.
Tab l e 1 : Execution sequence (web protection profile)
Scan/actionInvolves
Request from client to server
TCP Connection Number Limit
(TCP Flood Prevention)
Sour
ce IP address of the client (depending on your
configura
proxies, clients, & X-headers” on page 266) this could be
derived from either the SRC f
HTTP header such as X-Forwarded-For: or
X-Real-IP:)
Tab l e 1 : Execution sequence (web protection profile)
Scan/actionInvolves
URL Rewriting
(re
writing)
File Compress Accept-Encoding:
* If a source IP is white listed, su
Solutions for specific web attacks
The types of attacks that web servers are vulnerable to are varied, and evolve as attackers try
new strategies.
FortiWeb appliances offer numerous configurable features for preventing web-related attacks,
includin
Early in your deployment of FortiWeb, configure and run web vulnerability scans to detect the
most common attack vulnerabilities. You can use this to discover attacks that you may be
vulnerable to. For more information, see
g denial-of-service (DoS) assaults, brute-force logins, data theft, and more.
• Host:
• Referer:
• Location:
•
URL in HTTP
• HTTP body
bsequent checks will be skipped.
“Vulnerability scans” on page 505.
header
HTTP/HTTPS threats
Servers are increasingly being targeted by exploits at the application layer or higher. These
attacks use HTTP/HTTPS and aim to compromise the target web server, either to steal
information, deface it, or to post malicious files on a trusted site to further exploit visitors to the
site, using the web server to create botnets.
Among its many threat management features, FortiWeb’s fends off attacks that use cross-site
scripting
standards for:
• credit-card data, such as PCI DSS 6.6
• per
Ta bl e 2 lists several HTTP-related threats and describes how FortiWeb appliances protect
servers from them. FortiWeb can also protect against threats at higher layers (HTML, Flash or
XML applications).
, state-based, and various injection attacks. This helps you comply with protection
An attacker attempts to gain
authorization by repeatedly trying
ID and password combinations
until one works.
Clickjacking Code such as <IFRAME> HT
tags
superimposes buttons or
other DOM/inputs of the
attacker’s choice over a normal
form, causing the victim to
unwittingly provide data such as
bank or login credentials to the
attacker’s server instead of the
legitimate web server when the
victim clicks to submit the form.
Cookie
ta
mper
ing
Attackers alter cookies originally
established by the server to inject
overflows, shell code, and other
attacks, or to commit identity
fraud, hijacking the HTTP
sessions of other clients.
Require strong
words for users,
pass
and throttle login
attempts.
ML
Scan for illegal inputs to
event the initial
pr
injection, then apply
rewrites to scrub any
web pages that have
already been affected.
Validate cookies
eturned by the client to
r
ensure that they have
not been altered from
the previous response
from the web server for
that HTTP session.
Attackers read users’ credit card
information in replies from a web
server.
Detect and sanitize
credit card data leaks.
Helps you comply with
credit car
d protection
Credit Card
Detection
standards, such as PCI
DSS 6.6.
A script causes a browser to
cess a web site on which the
ac
browser has already been
authenticated, giving a third party
access to a user’s session on that
Enforce web application
iness logic to prevent
bus
access to URLs from the
same IP but different
client.
Page Access
site. Classic examples include
hijacking other peoples’ sessions
at coffee shops or Internet cafés.
ckers cause a browser to
Atta
execute a client-side script,
allowing them to bypass security.
An
attacker uses one or more
techniques to flood a host with
HTTP requests, TCP
connections, and/or TCP SYN
signals. These use up available
sockets and consume resources
on the server, and can lead to a
temporary but complete loss of
service for legitimate users.
TC
arriving in a short time
frame, especially from a
single source, and close
suspicious connections.
Detect increased SYN
signals, close half-open
connections before
Cross Site
Scripting
DoS Protection
resources are
exhausted.
HTTP
ade
r
he
overflow
Attackers use specially crafted
HTTP/HTTPS requests to target
web server vulnerabilities (such
Limit the length of HTTP
otocol header fields,
pr
bodies, and parameters.
HTTP Protocol
Constraints
as a buffer overflow) to execute
malicious code, escalating to
administrator privileges.
LFI is a type of injection attack.
However, unlike SQL injection
Block directory traversal
commands.
Generic Attacks
attacks, a database is not always
involved. In an LFI, a client
includes directory traversal
commands (such as ../../for
web servers on Linux, Apple Mac
OS X, or Unix distributions) when
submitting input. This causes
vulnerable web servers to use
one of the computer’s own files
(or a file previously installed via
another attack mechanism) to
either execute it or be included in
its own web pages.
This could be used for many
es, including direct
urpos
p
attacks of other servers,
installation of malware, and data
theft of /etc/passwd, display of
database query caches, creation
of administrator accounts, and
use of any other files on the
server’s file system.
Malicious
bo
ts
ro
Many platforms have been
able to these types of
ulner
v
attacks, including Microsoft .NET
and Joomla.
Misbehaving web crawlers ignore
the robots.txt file, and
consume server resources and
bandwidth on a site.
Ban bad robots by
ce IP or
sour
User-Agent: field, as
well as rate limiting
clients that fail a test that
detects web browsers