About prefilter policies
The prefilter policy is the first security policy applied to incoming connections. Prefilter rules evaluate traffic on layer 3/4 criteria only, that is, protocol and source/destination IP address and port. They give you a chance to make early decisions on connections so you can avoid further processing and improve device performance.
Use prefilter policies to implement the following main actions:
-
Improve performance—The sooner you exclude traffic that does not require inspection, the better. Specifically, you can:
-
Offload trusted flows—If your device supports flow offload, use the prefilter Fastpath action to identify flows you trust to be eligible for offloading to NIC processing. No further processing, including inspection, is needed for these connections. See Best practices for fastpath prefiltering and Large flow offloads.
-
Block unwanted connections—For example, if you know you want to block entire subnets, or entire protocols or TCP/UDP ports, this is ideally done in the prefilter policy.
-
-
Rezone plain text encapsulated tunnels so you can handle them as a unit in the access control policy. Some protocols, such as GRE, create a plain-text tunnel that includes many connections within the tunnel. By rezoning a tunnel, you give the tunnel a tag, which you can then select in access control rules as a source/destination zone, and thus apply customized intrusion or other rules to the tunneled traffic. This provides granular insight and control for plain-text tunnels.

Note
VPN or other encrypted tunnels are not plain-text tunnels and cannot be rezoned.
You must assign each access control policy a prefilter policy. However, the system comes with a pre-defined prefilter policy that might work for you.
The following topics provide more detail about the prefilter policy.
The default prefilter policy
Every access control policy must have an assigned prefilter policy. For convenience, the system includes a default prefilter policy that is automatically assigned when you create a new access control policy. You cannot delete this policy.
The default prefilter policy does one thing: it analyzes plain-text encapsulated tunnels. This makes it possible for the access control policy to act on the connections that are contained within the tunnel.
You can instead change the default policy to block all plain-text tunnels. See Configuring the default action.
If you want to do any other customization, including adding prefilter or tunnel rules, you must create your own prefilter policy and assign it to the appropriate access control policies, as explained in Assigning devices to an access control policy.
Prefilter policy rule order
In a prefilter policy, tunnel rules, prefilter rules, and a default action handle network traffic:
-
Tunnel and prefilter rules—First, rules in a prefilter policy handle traffic in the order you specify. Tunnel rules match specific tunnels only. Prefilter rules have a wider range of constraints.
Rules are match in top-down order, first match wins. Thus, rule order is critical. For example, you might want to block an entire subnet except for two specific IP addresses on the subnet. In that case:
-
The first rule should specify the two allowable IP addresses as the source network, and the rule action would be Analyze. Connections from these two IP addresses would match this rule, and the next rule would not be processed.
-
The next rule should specify the entire subnet as the source network, with Block for the rule action.
For more information, see Tunnel vs prefilter rules.
-
-
Default action (tunnels only)—If a tunnel does not match any rules, the default action handles it. The default action can block these tunnels or continue access control on their individual encapsulated connections (Analyze action).
There is no default action for nonencapsulated traffic. If a nonencapsulated connection does not match any prefilter rules, the system continues with access control. These connections might subsequently be blocked by other policies, or ultimately allowed.
Changing Rule Order
If you need to change rule order, you can:
-
Drag and drop the rule to the right location.
-
Right click the rule and Cut, then find the right location, right click, and select Paste Above or Paste Below.
-
Edit the rule and use the Insert control to change its location.
Tunnel vs prefilter rules
Whether you configure a tunnel or prefilter rule depends on the specific type of traffic you want to match and the actions or further analysis you want to perform.
|
Characteristic |
Tunnel Rules |
Prefilter Rules |
|---|---|---|
|
Primary function |
Quickly fastpath, block, or rezone plaintext, passthrough tunnels. |
Quickly fastpath or block any other connection that benefits from early handling. |
|
Encapsulation and port/protocol criteria |
Encapsulation conditions match only plaintext tunnels over selected protocols: GRE, IP-in-IP, IPv6-in-IP, Toredo. |
Port conditions can use a wider range of port and protocol constraints than tunnel rules; see Port, protocol, and ICMP code rule conditions. |
|
Network criteria |
Tunnel endpoint conditions constrain the endpoints of the tunnels you want to handle. |
Network conditions constrain the source and destination hosts in each connection. |
|
Direction |
Bidirectional or unidirectional (configurable). Tunnel rules are bidirectional by default, so they can handle all traffic between tunnel endpoints. |
Unidirectional only (nonconfigurable). Prefilter rules match source-to-destination traffic only. Return traffic for allowed connections is also permitted. |
|
Rezone sessions for further analysis |
Supported, using tunnel zones; see Using tunnel zones to apply access control at the tunnel level. |
Not applicable. |
How the system processes plain-text tunnels
Some protocols, such as GRE, create plain-text (not encrypted) tunnels that contain (or encapsulate) multiple inner connections. These connections might flow between discontinuous networks. These tunnels are especially useful for routing custom protocols over IP networks, IPv6 traffic over IPv4 networks, and so on.
Thus, a plain-text tunnel has two sets of IP headers:
-
Outer header—An outer encapsulation header specifies the source and destination IP addresses of the tunnel endpoints—the routed interfaces of the network devices on either side of the tunnel.
The prefilter policy uses outer headers to handle traffic. You can block or fast path entire plaintext, passthrough tunnels at this stage.
-
Inner headers—Inner payload headers specify the source and destination IP addresses of the encapsulated connections' actual endpoints. There are separate headers for each connection contained within the tunnel.
Any tunnels that you analyze (that is, not block or fast path) have these inner headers exposed for use by the rest of the security policies and other features such as QoS. These features use the innermost detectable level of headers to ensure the most granular level of inspection and handling possible. This ensures that bad actors cannot hide illegitimate traffic within a plain-text tunnel.
For regular, non-tunneled connections, there is only the “outer” header, as the connection does not contain any subordinate connections.
If you do not want to allow plain-text tunnels at all, you can set the default action in the prefilter policy to block all plain-text tunnels. This block does not apply to encrypted tunnels such as VPN.
Alternatively, you can use tunnel zones to re-tag tunneled traffic so that you can write access control rules specifically for select tunnels. This lets you customize intrusion inspection or other layer 7 filtering to connections contained with a tunnel. See Using tunnel zones to apply access control at the tunnel level.
Using tunnel zones to apply access control at the tunnel level
As explained in How the system processes plain-text tunnels, once a plain-text tunneled connection passes through the prefilter policy, the access control policy applies its rules to each connection contained within the tunnel.
However, you might want to apply the same policy to all the connections within a tunnel. For example, you might have a special intrusion policy you want to use for tunneled connections.
To make it possible to apply access control rules to all connections within a tunnel, you must use the prefilter policy to re-zone the tunnel. Re-zoning applies a tunnel zone tag to the plain-text tunnel. You can then use that tunnel zone instead of a security zone when you define the source interface criterion of an access control rule.
Because a tunnel zone does not contain interfaces, the source interface through which the tunnel enters the device is not relevant. You can apply the tunnel zone tag to multiple different tunnels that enter the device through different interfaces and have access control treat them all in a like manner.
![]() Note |
Connections in rezoned tunnels do not match security zone constraints in an access control rule. After you rezone a tunnel, access control rules can match its encapsulated connections with their newly assigned tunnel zone, but not with any original security zone. |
See How to rezone tunnels for customized inspection for a walkthrough of a tunnel zone implementation, and a discussion of the implications of rezoning without explicitly handling rezoned traffic.
Large flow offloads
For the following models, certain traffic that you configure to be fastpathed by a prefilter policy is handled by the hardware (specifically, in the NIC), not by the Firewall Threat Defense software:
-
Firepower 4100/9300
-
Secure Firewall 3100 (static only)
Offloading these flows results in higher throughput and lower latency, especially for data-intensive applications such as large file transfers. This feature is especially useful for data centers. This is called static flow offload.
In addition, by default, devices offload flows based on other criteria, including trust. This is called dynamic flow offload. Dynamic flow offload is not supported on the Secure Firewall 3100.
Offloaded flows continue to receive limited stateful inspection, such as basic TCP flag and option checking. The system can selectively escalate packets to the firewall system for further processing if necessary.
Examples of applications that can benefit from offloading large flows are:
-
High Performance Computing (HPC) Research sites, where the firewall is deployed between storage and high compute stations. When one research site backs up using FTP file transfer or file sync over NFS, the large amount of data traffic affects all connections. Offloading FTP file transfer and file sync over NFS reduces the impact on other traffic.
-
High Frequency Trading (HFT), where the firewall is deployed between workstations and the Exchange, mainly for compliance purposes. Security is usually not a concern, but latency is a major concern.
The following flows can be offloaded:
-
(Static flow offload only.) Connections that are fastpathed by the prefilter policy.
-
Standard or 802.1Q tagged Ethernet frames only.
-
(Dynamic flow offload only):
-
Inspected flows that the inspection engine decides no longer need inspection. These flows include:
-
Flows handled by access control rules that apply the Trust action and are based on security zone, source and destination network and port matching only.
-
TLS/SSL flows that are not selected for decryption using a decryption policy.
-
Flows that are trusted by the Intelligent Application Bypass (IAB) policy either explicitly or due to exceeding flow bypass thresholds.
-
Flows that match file or intrusion policies that result in trusting the flow.
-
Any allowed flow that no longer needs to be inspected.
-
-
The following IPS preprocessor inspected flows:
-
SSH and SMTP.
-
FTP preprocessor secondary connections.
-
Session Initiation Protocol (SIP) preprocessor secondary connections.
-
-
Intrusion rules that use keywords (also referred to as options)
-
![]() Important |
For details, exceptions, and limitations to the above, see Flow offload limitations. |
Use static flow offload
To offload eligible traffic to hardware, create a prefilter policy rule that applies the Fastpath action. Use prefilter rules for TCP/UDP, and tunnel rules for GRE.
(Not recommended.) To disable flow offload, use FlexConfig:
-
Disable static (and thereby dynamic) flow offload: no flow-offload enable
-
Re-enable flow offload: flow-offload enable
For more information, see Cisco Secure Firewall ASA Series Command Reference.
Use dynamic flow offload
Dynamic flow offload is enabled by default. However, dynamic offload occurs only if static flow offload is enabled, regardless of whether prefiltering is configured.
To disable dynamic flow offload, use the device CLI:
-
Disable dynamic offload: configure flow-offload dynamic whitelist disable
-
Re-enable dynamic offload: configure flow-offload dynamic whitelist enable
Flow offload limitations
Not all flows can be offloaded. Even after offload, a flow can be removed from being offloaded under certain conditions. Following are some of the limitations:
- Device limitations
-
The feature is supported on the following devices:
-
Secure Firewall 3100
-
Firepower 4100/9300
-
- Flows that cannot be offloaded
-
The following types of flows cannot be offloaded.
-
Any flows that do not use IPv4 addressing, such as IPv6 addressing.
-
Flows for any protocol other than TCP, UDP, and GRE.

Note
PPTP GRE connections cannot be offloaded.
-
Flows on interfaces configured in passive, inline, or inline tap mode. Routed and switched interfaces are the only types supported.
-
(3100.) Offload based on inner header for tunnelled flows.
-
(3100.) Multi-instance offload.
-
Flows that require inspection by Snort or other inspection engines. In some cases, such as FTP, the secondary data channel can be offloaded although the control channel cannot be offloaded.
-
IPsec and TLS/DTLS VPN connections that terminate on the device.
-
Flows that require encryption or decryption. For example, connections decrypted due to a decryption policy.
-
Multicast flows in routed mode. They are supported in transparent mode if there are only two member interfaces in a bridge group.
-
TCP Intercept flows.
-
TCP state bypass flows. You cannot configure flow offload and TCP state bypass on the same traffic.
-
Flows tagged with security groups.
-
Reverse flows that are forwarded from a different cluster node, in the case of asymmetric flows in a cluster.
-
Centralized flows in a cluster, if the flow owner is not the control unit.
-
Flows that include IP options cannot be dynamically offloaded.
-
- Additional limitations
-
-
Flow offload and Dead Connection Detection (DCD) are not compatible. Do not configure DCD on connections that can be offloaded.
-
If more than one flow that matches flow offload conditions are queued to be offloaded at the same time to the same location on the hardware, only the first flow is offloaded. The other flows are processed normally. This is called a collision. Use the show flow-offload flow command in the CLI to display statistics for this situation.
-
Dynamic flow offload disables all TCP normalizer checks.
-
Although offloaded flows pass through FXOS interfaces, statistics for these flows do not appear on the logical device interface. Thus, logical device interface counters and packet rates do not reflect offloaded flows.
-
- Dynamic flow offload not supported on certain devices
-
Dynamic flow offload is not supported on the Secure Firewall 3100.
- Conditions for reversing offload
-
After a flow is offloaded, packets within the flow are returned to the Firewall Threat Defense for further processing if they meet the following conditions:
-
They include TCP options other than Timestamp.
-
They are fragmented.
-
They are subject to Equal-Cost Multi-Path (ECMP) routing, and ingress packets move from one interface to another.
-
A change to the routing table applies to the flow. A packet is returned to the device to determine the new route.
-
Prefilter vs access control policy
Prefilter and access control policies both allow you to block and trust traffic, though the prefilter "trust" functionality is called "fastpathing" because it skips more inspection. The following table explains this and other differences between the prefilter and access control policies, to help you decide whether to configure a custom prefilter policy.
If you do not configure a custom prefilter policy, you can only approximate—not replicate—prefilter functionality with early-placed Block and Trust rules in the access control policy.
|
Characteristic |
Prefilter Policy |
Access Control Policy |
|---|---|---|
|
Primary function |
Quickly fastpath or block certain types of plaintext, passthrough tunnels, or tailor subsequent inspection to their encapsulated traffic. Fastpath or block any other connections that benefit from early handling. |
Inspect and control all network traffic, using simple or complex criteria, including contextual information and deep inspection results. |
|
Sequence within access control |
First. The system matches traffic to prefilter criteria before all other access control configurations. Thus, fast-pathing in a prefilter policy skips many other policies and inspections. |
Last. Other policies that might inspect a connection, including Security Intelligence and decryption, are applied before access control rules are evaluated. |
| Rule actions |
Fewer. You can stop further inspection (Fastpath and Block) or allow further analysis with the rest of access control (Analyze). |
More. Access control rules have a larger variety of actions, including monitoring, deep inspection, block with reset, and interactive blocking. See Access control rule actions. |
|
Bypass capability |
Fastpath rule action. Fastpathing traffic in the prefilter stage bypasses all further inspection and handling, including:
|
Trust rule action. Traffic trusted by access control rules is only exempt from intrusion inspection and discovery. If another policy that requires inspection is applied to a connection that is eventually trusted, the connection is inspected anyway. Trust really just means you are not applying intrusion or file policies to the connection. |
|
Rule criteria |
Limited. Rules in the prefilter policy use simple network criteria: IP address, VLAN tag, port, and protocol. For tunnels, tunnel endpoint conditions specify the IP address of the routed interfaces of the network devices on either side of the tunnel. |
Robust. Access control rules use network criteria, but also user, application, requested URL, and other contextual information available in packet payloads. Network conditions specify the IP address of source and destination hosts. |
|
IP headers used (tunnel handling) |
Outermost. Using outer headers allows you to handle entire plaintext, passthrough tunnels. For nonencapsulated traffic, prefiltering still uses "outer" headers—which in this case are the only headers. |
Innermost possible. For a nonencrypted tunnel, access control acts on its individual encapsulated connections, not the tunnel as a whole. |
|
Rezone encapsulated connections for further analysis |
Rezones tunneled traffic. Tunnel zones allow you to tailor subsequent inspection to prefiltered, encapsulated traffic. |
Uses tunnel zones. Access control uses the tunnel zones you assign during prefiltering. See Using tunnel zones to apply access control at the tunnel level. |
|
Connection logging |
Fastpathed and blocked traffic only. Allowed connections may still be logged by other configurations. |
Any connection. |




Feedback