Network Security
Policy-Based Forwarding
Table of Contents
Expand All
|
Collapse All
Network Security Docs
Policy-Based Forwarding
Learn how policy-based forwarding allows override the routing table and
send packets through a specified egress port.
Where Can I Use This? | What Do I Need? |
---|---|
|
|
Normally, the firewall uses the destination IP address
in a packet to determine the outgoing interface. The firewall uses
the routing table associated with the virtual router to which the
interface is connected to perform the route lookup. Policy-Based Forwarding
(PBF) allows you to override the routing table, and specify the
outgoing or egress interface based on specific parameters
such as source or destination IP address, or type of traffic.
PBF rules allow traffic to take an alternative path from the next
hop specified in the route table, and are typically
used to specify an egress interface for security or
performance reasons. Let's say your company has two
links between the corporate office and the branch
office: a cheaper internet link and a more expensive
leased line. The leased line is a high-bandwidth,
low-latency link. For enhanced security, you can use
PBF to send applications that aren’t encrypted
traffic, such as FTP traffic, over the private
leased line and all other traffic over the internet
link. Or, for performance, you can choose to route
business-critical applications over the leased line
while sending all other traffic, such as web
browsing, over the cheaper link.
Egress Path and Symmetric Return
Using PBF, you can direct traffic to a specific
interface on the firewall, drop the traffic, or
direct traffic to another virtual system (on
systems enabled for multiple virtual systems).
In networks with asymmetric routes, such as in a
dual ISP environment, connectivity issues occur
when traffic arrives at one interface on the
firewall and leaves from another interface. If the
route is asymmetrical, where the forward (SYN
packet) and return (SYN/ACK) paths are different,
the firewall is unable to track the state of the
entire session and this causes a connection
failure. To ensure that the traffic uses a
symmetrical path, which means that the traffic
arrives at and leaves from the same interface on
which the session was created, you can enable the
Symmetric Return option.
With symmetric return, the virtual router
overrides a routing lookup for return traffic and
instead directs the flow back to the MAC address
from which it received the SYN packet (or first
packet). However, if the destination IP address is
on the same subnet as the ingress/egress
interface’s IP address, a route lookup is
performed and symmetric return is not enforced.
This behavior prevents traffic from being silently
discarded.
To determine the next hop for symmetric
returns, the firewall uses an Address Resolution
Protocol (ARP) table. The maximum number of
entries that this ARP table supports is limited by
the firewall model and the value is not user
configurable. To determine the limit for your
model, use the CLI command: show pbf
return-mac all.
Path Monitoring for PBF
Path monitoring allows you to verify connectivity
to an IP address so that the firewall can direct
traffic through an alternate route, when needed.
The firewall uses ICMP pings as
heartbeats to verify that the
specified IP address is reachable.
A monitoring profile allows you to specify the
threshold number of heartbeats to determine
whether the IP address is reachable. When the
monitored IP address is unreachable, you can
either disable the PBF rule or specify a
fail-over or
wait-recover action. Disabling the
PBF rule allows the virtual router to take over
the routing decisions. When the fail-over or
wait-recover action is taken, the monitoring
profile continues to monitor whether the target IP
address is reachable, and when it comes back up,
the firewall reverts back to using the original
route.
The following table lists the difference in
behavior for a path monitoring failure on a new
session versus an established session.
Behavior of a session on a
monitoring failure
|
If the rule stays enabled
when the monitored IP address is unreachable
|
If rule is disabled when
the monitored IP address is unreachable
|
---|---|---|
For an established session
|
wait-recover—Continue to
use egress interface specified in the PBF rule
|
wait-recover—Continue to
use egress interface specified in the PBF rule
|
fail-over—Use path
determined by routing table (no PBF)
|
fail-over—Use path
determined by routing table (no PBF)
| |
For a new session
|
wait-recover—Use path
determined by routing table (no PBF)
|
wait-recover—Check the
remaining PBF rules. If no match, use the routing
table
|
fail-over—Use path
determined by routing table (no PBF)
|
fail-over—Check the
remaining PBF rules. If no match, use the routing
table
|
Service Versus Applications in PBF
PBF rules are applied either on the first packet
(SYN) or the first response to the first packet
(SYN/ACK). This means that a PBF rule may be
applied before the firewall has enough information
to determine the application. Therefore,
application-specific rules are not recommended for
use with PBF. Whenever possible, use a service
object, which is the Layer 4 port (TCP or UDP)
used by the protocol or application.
However, if you specify an application in a PBF
rule, the firewall performs App-ID
caching. When an application passes through
the firewall for the first time, the firewall does
not have enough information to identify the
application and therefore cannot enforce the PBF
rule. As more packets arrive, the firewall
determines the application and creates an entry in
the App-ID cache and retains this App-ID for the
session.When a new session is created with the
same destination IP address, destination port, and
protocol ID, the firewall could identify the
application as the same from the initial session
(based on the App-ID cache) and apply the PBF
rule. Therefore, a session that is not an exact
match and is not the same application, can be
forwarded based on the PBF rule.
Further, applications have dependencies and the
identity of the application can change as the
firewall receives more packets. Because PBF makes
a routing decision at the start of a session, the
firewall cannot enforce a change in application
identity. YouTube, for example, starts as
web-browsing but changes to Flash, RTSP, or
YouTube based on the different links and videos
included on the page. However with PBF, because
the firewall identifies the application as
web-browsing at the start of the session, the
change in application is not recognized
thereafter.
You cannot use custom applications, application
filters, or application groups in PBF rules.