Skip to main content
wmaier1
Staff
Staff
March 30, 2026

Technical Tip: Behavior of firewall policy in flow mode

  • March 30, 2026
  • 0 replies
  • 455 views
Description This article describes how a FortiGate handles sessions with a firewall policy that is configured in flow mode (flow-based inspection).
Scope FortiGate.
Solution

In flow mode, the FortiGate will inspect inline-traffic as it passes through the device and will not terminate the client–server TCP connection. Flow mode packets are forwarded end-to-end while the IPS and flow engine perform the inspection. Unlike proxy mode, flow mode has lower latency and reduced buffering. Key points:

  • Single, pass-through TCP connection between client and server.
  • Inspection is performed by IPS and the flow engine (no WAD data-plane proxy is present).
  • Full content buffering is not available; only last-packet.

 

For a flow-mode policy, the FortiGate can create a session representing the end-to-end connection:

  • Client to FortiGate to Server: this is a single session; the client and server will see each other's IP address.
  • No separate 'to-client' and 'to-server' TCP sessions should appear.

 

Sample output of a flow mode session:

 

diagnose sys session filter src x.x.x.x

diagnose sys session list


session info: proto=6 proto_state=01 duration=120 expire=3480 timeout=3600
flags=00000000 sockflag=00000000 sockport=0 av_idx=0 use=5
origin-shaper=
reply-shaper=
per_ip_shaper=
class_id=0 ha_id=0 policy_dir=0 tunnel=/ vlan_cos=0/255
state=log 
statistic(bytes/packets/allow_err): org=18432/140/0 reply=32768/220/0
origin->sink: org pre->post, reply pre->post dev=port2->port1/port1->port2 gwy=10.1.1.1/203.0.113.1
hook=pre dir=org act=snat 10.20.30.40:56607->203.0.113.10:80 proto=6
hook=post dir=org act=fw 10.20.30.40:56607->203.0.113.10:80 proto=6
hook=pre dir=reply act=snat 203.0.113.10:80->10.20.30.40:56607 proto=6
hook=post dir=reply act=fw 203.0.113.10:80->10.20.30.40:56607 proto=6
policyid=1 policytype=policy
npu_info=0x0/0x0, flag=0x00/0x00, offload=0/0, ofldpkts=0

no_ofld_reason: disabled by policy


A typical flow mode session will show one entry with org and reply directions followed by hooks; there are no WAD sessions present.

 

When UTM profiles are configured in flow mode, the cipher list can be viewed by executing the following command from the CLI:

erbium-kvm92 # diagnose ips ssl ciphers

Supported cipher suites (159 in total):
---------------------------------------------------------------------
# ID Name
---------------------------------------------------------------------
1 0x1 RSA_WITH_NULL_MD5
2 0x2 RSA_WITH_NULL_SHA
3 0x3 RSA_EXPORT_WITH_RC4_40_MD5
4 0x4 RSA_WITH_RC4_128_MD5
5 0x5 RSA_WITH_RC4_128_SHA
6 0x7 RSA_WITH_IDEA_CBC_SHA
7 0x8 RSA_EXPORT_WITH_DES40_CBC_SHA
8 0x9 RSA_WITH_DES_CBC_SHA
9 0xa RSA_WITH_3DES_EDE_CBC_SHA
10 0xc DH_DSS_WITH_DES_CBC_SHA
.

.

 </truncated/>

159 0xccaa DHE_RSA_WITH_CHACHA20_POLY1305_SHA256
---------------------------------------------------------------------

 

To verify the inspection mode configured for a policy, run the following commands:

 

show full firewall policy 2 | grep inspection-mode
    set inspection-mode flow

 

Note:

Flow-based inspection is recommended for policies that prioritize traffic throughput, like allowing connections to a file server, streaming server, or VoIP server.

Related article:
Technical Tip: Change in inspection mode - Flow vs Proxy policy option after upgrade to 6.2  

    Thought Leadership Security Summit. Outpace New Threats with AI - enhanced defense. Tuesday, Septmeber 15, 8:30 AM - 2:30 PM PT. The Golf Club at Newcastle, WA.
    Virtual event | September 2026. SASE summit. The age of autonomous trust. Register here!