FortiGate policy configuration is how you define which traffic may pass from which interface to which destination on which service—and which security profiles apply. Short answer: do it in this chain—zones/interfaces → address and service objects → top-down policy order → NAT → UTM/NGFW profiles → logging. Starting with any-any allow breaks both security and auditability; start with a default-deny skeleton.
This guide is written for:
- Network and security teams deploying and operating FortiGate
- Admins migrating policies from another firewall
- IT managers producing ISO 27001 access-control evidence
- Decision makers standardizing edge, VPN, and segmentation policy
Quick Summary
- FortiGate policy match uses ingress interface + protocol + source/destination address + ports/services.
- Policies are evaluated top-down; the first match wins.
- Build zones and default-deny first; then allow applications one by one.
- Design NAT (SNAT/VIP) with the policy; NAT mistakes often look like “no internet.”
- IPS/AV/web/app profiles consume Threat Protection capacity; confirm licensing.
- Enable logging on every allow rule for operational and audit evidence.
Table of Contents
- What Is FortiGate Policy Configuration?
- Prerequisites: Zones, Objects, and Routes
- Step-by-Step Policy Creation
- NAT, VIP, and Egress Traffic
- Security Profiles and SSL Inspection
- Policy Order and Best Practices
- Validation and Troubleshooting
- Most Common Mistakes
- Related Articles
- Checklist
- Next Step with Leon-X
- Frequently Asked Questions
- Sources

Image: Wikimedia Commons - Barracuda Webfilter 210 (example enterprise security appliance form factor).
What Is FortiGate Policy Configuration?
A FortiGate firewall policy is the control plane that allows or denies stateful sessions. Per Fortinet documentation, matching uses interface, protocol, source/destination address, and related ports. For product definition, see What Is a FortiGate Firewall?; for packet flow, see How Does a Fortinet Firewall Work?.
Short definition:
FortiGate policy configuration is designing and applying top-down allow/deny rules that control traffic by zone/interface, address, service, NAT, and security profiles.
To align with ISO 27001 access control, also use FortiGate Access Control for ISO 27001.
Prerequisites: Zones, Objects, and Routes
Before writing policies, build this skeleton:
| Layer | What to do | Why |
|---|---|---|
| Zone / interface | Separate WAN, LAN, DMZ, Guest | Default-deny foundation |
| Address objects | Host/subnet/FQDN objects | Reuse and readability |
| Service objects | TCP/UDP port groups | Reduce “ALL” dependency |
| Routing | Confirm route to destination | Correct policy still fails without a route |
| Users / groups | Identity-based / VPN rules | Authenticated access |
For VLAN segmentation, see FortiGate VLAN Configuration. For SSL VPN resource access, see SSL VPN Setup.
Pro Tip: Name objects by role + purpose (
LAN-Users,SVC-HTTPS,WAN-Internet). Names likeAddress1/Policy12become unreadable in6 months.
Step-by-Step Policy Creation
This flow is common to GUI (Policy & Objects > Firewall Policy) and CLI:
- Select Incoming / Outgoing interface (or zone).
- Set Source address (and user/group if needed).
- Set Destination address/object.
- Narrow Service (
HTTP/HTTPS,DNS, custom ports). - Set Action to Accept or Deny.
- Enable NAT when required (outbound SNAT on most edges).
- Attach Security profiles (IPS, AV, Web Filter, App Control).
- Enable Log Allowed Traffic.
- Place the policy in the correct order (specific rules above).
- Save and validate with sessions/tests.
Example outbound skeleton (logic):
| Order | Source | Destination | Service | Action | Notes |
|---|---|---|---|---|---|
| 10 | LAN-Users | WAN | DNS | Accept | Required |
| 20 | LAN-Users | WAN | HTTP/HTTPS | Accept + UTM | Web egress |
| 30 | LAN-Users | WAN | ALL | Deny + log | Visible default deny |
| 40 | any | any | ALL | Deny | Implicit/last resort |
FortiGate has an implicit deny; an explicit deny + log still improves operational visibility.
NAT, VIP, and Egress Traffic
Outbound internet typically uses SNAT on the policy (outgoing interface address or IP pool). Inbound publishing needs VIP/DNAT plus a separate inbound policy.
For NAT outages, use FortiGate NAT Troubleshooting and No Internet Access. In site-to-site designs, keep policy selectors aligned with IPsec: Site-to-Site VPN.
Security Profiles and SSL Inspection
Profiles attached to policies create NGFW protection; without FortiGuard licensing, expected effect will not arrive. See Fortinet License Types.
Watch-outs:
- Enabling IPS/AV consumes Threat Protection capacity; see Model Selection.
- Web Filter mis-categorization can break business apps—start with monitor/log where possible.
- Unplanned SSL inspection causes certificate and application breakage; see SSL Inspection.
Policy Order and Best Practices
- Most specific rules on top (single host / single service).
- Broad allows at the bottom—or nowhere.
- Restrict admin access with separate policy + management network.
- Tag temporary rules with ticket/date; review after
30 days. - Hunt shadowed policies that never match.
- Avoid mass allows outside a change window.
For ISO 27001 network controls, see ISO 27001 Network Security: Firewall and VPN.
Validation and Troubleshooting
After saving a policy:
- Test from a client (DNS, HTTPS, custom port).
- Find the policy ID in Forward Traffic logs.
- Confirm matched policy, NAT, and state in the session table.
- Use diagnose / packet capture for interface direction if needed.
- In HA, validate both nodes after config sync: HA Installation.
If the policy looks right but traffic fails, check in order: route → interface → service → NAT → profile/inspection.
Most Common Mistakes
- Starting with temporary any-any allow
- Ignoring order (broad rule on top)
- Leaving Service = ALL
- Expecting internet without SNAT
- Allow rules with logging off (no audit evidence)
- Enabling SSL inspection for all traffic at once
Related Articles
- What Is a FortiGate Firewall?
- How Does a Fortinet Firewall Work?
- FortiGate Access Control for ISO 27001
- FortiGate NAT Troubleshooting
- FortiGate VLAN Configuration
- FortiGate SSL Inspection
- Fortinet License Types Explained
- ISO 27001 Network Security: Firewall and VPN
Checklist
- Zone model (WAN/LAN/DMZ/Guest) defined
- Address and service objects named clearly
- Default-deny skeleton in place; no any-any
- Outbound SNAT / inbound VIP needs clarified
- UTM profiles licensed and capacity-appropriate
- Logging enabled on allow rules
- Policy order set specific → general
- Policy ID validated via session/log
Next Step with Leon-X
FortiGate policy configuration sets the real security level of the firewall. Bad order or open policies create outage and audit risk. Leon-X builds zone, policy, and UTM standards under Hardware and Software Solutions, especially Router, Switch and Firewall Deployment Service and Network Security, Firewall and IPS/IDS Solutions. For discovery, continue through Contact.
Frequently Asked Questions
What is FortiGate policy configuration?
It is configuring the rule set that decides which traffic may pass by interface/zone, source, destination, and service—and how NAT and security profiles are applied.
Why does policy order matter?
Rules are evaluated top-down; the first match wins. A broad allow above specific deny/allow rules shadows everything below it.
How do I apply default deny?
Separate zones, write only required allows, and make unwanted traffic visible with deny + log. Do not leave everything open because an implicit deny exists.
Is NAT configured on the policy or separately?
Outbound SNAT is usually enabled on the firewall policy. Inbound uses a VIP/DNAT object plus an inbound policy together.
Policy looks correct but traffic fails—where first?
Check route, ingress interface, service/port, NAT, then profile/inspection effects. The policy ID in logs is the fastest clue.


