Menu

Poland

GRANDMETRIC Sp. z o.o.
ul. Metalowa 5, 60-118 Poznań, Poland
NIP 7792433527
+48 61 271 04 43
info@grandmetric.com

UK

Grandmetric LTD
Office 584b
182-184 High Street North
London
E6 2JA
+44 20 3321 5276
info@grandmetric.com

US Region

Grandmetric LLC
Lewes DE 19958
16192 Coastal Hwy USA
EIN: 98-1615498
+1 302 691 94 10
info@grandmetric.com

  • en
  • pl
  • se
  • FortiGate Configuration: How to Avoid Common Mistakes? A Practical Engineer’s Perspective

    FortiGate Configuration: How to Avoid Common Mistakes? A Practical Engineer’s Perspective

    Date: 09.02.2026



    Below, I’ve summarized the most common issues we see during FortiGate audits for customers and in everyday operations.

    In practice, configuration errors with this popular firewall rarely stem from a lack of knowledge of network protocols, but more often from a misunderstanding of the FortiOS philosophy and the differences between local configuration and the one centrally managed by FortiManager (FMG).

    I hope the following summary encourages you to review your own devices.

    Let’s get started.

    GROUP 1 – General Errors in FortiGate Configuration

    GROUP 2 – Errors resulting from weakening or failing to utilize FortiGate’s built-in security capabilities

    GROUP 3: Local Firewall Configuration Errors, Without FortiManager

    GROUP 4: Errors in configuring FortiGate with FortiManager (FMG)

    Firewall rules in order - fixing security let loose

    GROUP 1 – General Errors in FortiGate Configuration

    1. You don’t understand the order of policy processing

      FortiGate processes policies top to bottom. If it finds the first matching policy, it executes it and completes the decision-making process.

      If we place rules relevant to traffic filtering at the end of the policy processing list, FortiGate may never reach them. It will execute an earlier, “broader” rule and route traffic accordingly. Often, the default “Interface Pair View” policy view doesn’t show the actual order of rules, which can be confusing.

      How to follow the policy processing order on FortiGate?

      • Organize rules into logical blocks (LAN → Internet, VPN → LAN, DMZ → Internet).
      • Set blocking rules (Deny, reputation, traffic from suspicious countries) before broad Allow rules.
      • Use Policy Lookup and diag debug flow for problematic traffic to confirm which rule is being hit.
      • Regularly review the hit count and look for rules that are never used.
      • Add comments and expiration dates to policies.

      2. You’re overusing any-any rules

        Src:any dst:any service:any rules often start life as “test” rules and end up as the main traffic conduit in production. As a result, the firewall acts as a better router, at the expense of its advanced traffic filtering capabilities.

        How to manage any-any rules?

        • Each rule must have a clear business purpose described in a comment.
        • Mark any-any rules as temporary (e.g., TEMP_ANY_ANY_MIGRATION_2026-01-21).
        • Set an expiration date on “temporarily” rules.
        • Break any-any into specific addresses/groups/services as soon as you know what’s actually needed.

        3. You lack a consistent concept of zones

          If you don’t divide interfaces into zones, you risk multiplying policies and mixing traffic with different security requirements. Each time you expand your infrastructure, you have to “click” through new combinations of interfaces, and mistakes are easy to make.

          Best practices for dividing interfaces into zones:

          • Design functional zones: LAN_USERS, LAN_SERVERS, DMZ, VPN, WAN, etc.
          • Assign interfaces to zones according to their roles.
          • Build policies between zones, not between individual interfaces.
          • Maintain a clear order: separate policy “pieces” for LAN → Internet, VPN → LAN, DMZ → Internet.

          4. Lack of processes, a test environment, and log management

            Even an engineer with a good understanding of FortiGate, without a process and tools, will start “putting out fires” instead of building a stable environment. Changes without change management, a lack of a lab, ignored logs, and a hit-count policy mean that problems only come to light during major outages or audits.

            Best change management practices:

            • Implement basic change management for firewalls (request, acceptance, window, rollback).
            • Set up a minimal test environment (FortiGate VM, lab on a separate VDOM/device).
            • Regularly review policy hit counts, UTM logs, and SIEM/FAZ reports.
            • Record common errors and incidents and translate them into corrections to configuration standards.

            P.S. If you don’t have FortiGate but want to avoid common configuration mistakes, you can check my article on things to avoid when configuring a firewall.

            GROUP 2 – Errors resulting from weakening or failing to utilize FortiGate’s built-in security capabilities

            1. You’re not updating your firmware or responding to vulnerabilities

              Fortinet is one of the most popular firewall vendors in the world and, as such, is regularly attacked.

              If the firmware isn’t updated, no one monitors Fortinet’s security advisory, and there’s no procedure for responding to critical CVEs, the administrator reacts only after an incident, not during the preventative phase.

              How to update FortiGate?

              • Planned update cycle (e.g., quarterly or monthly) + early patching of critical vulnerabilities.
              • Fortinet security advisory subscription / RSS / ticketing system integration.
              • Upgrade testing first in a LAB / TEST environment.

              2. You don’t have active vendor support

                A lack of active vendor support means you don’t have access to critical bug fixes, security updates, and timely incident response. Your network becomes vulnerable to known vulnerabilities, and it’s harder to respond to new threats.

                3. You don’t validate access to FortiGuard servers

                  Failure to validate FortiGuard server access configurations can prevent the FortiGate from downloading signature and security policy updates. As a result, the device operates on outdated data, increasing the risk of missing new threats and attacks.

                  FortiGuard best practices:

                  • Regularly check FortiGuard status (GUI + system logs).
                  • Set alerts when:
                    • The firmware loses connection to FortiGuard,
                    • Signatures have not been updated for > X days.

                  4. You’re using weak encryption

                    Using weak encryption allows attackers to easily decrypt or eavesdrop on transmissions, even if other security mechanisms are working properly. As a result, sensitive and confidential data becomes vulnerable to theft or manipulation. It’s worth remembering that guidelines such as NIS2 and the GDPR require current, strong cipher suites.

                    5. You’re leaving DoS and SD-WAN policies configured as default

                      Default DoS policies, especially in cloud firewalls, which are sometimes enabled out-of-the-box (as opposed to on-premises), can cause difficult-to-diagnose communication issues. Leaving default SD-WAN policies in place means the traffic isn’t optimally routed or controlled according to business needs and application priorities. This can result in inefficient bandwidth utilization, latency, and availability issues with critical services.

                      Comparison-Next-Generation-Firewall-EN

                      GROUP 3: Local Firewall Configuration Errors, Without FortiManager

                      1. You “click” on the FortiGate configuration and don’t back it up

                        If you’re making configuration changes via the GUI, from multiple administrative accounts, without history and without backups, you might run into problems sooner than you think. Often, after a firmware update, something “breaks”, but no one is sure what the previous configuration looked like or what exactly changed.

                        What do I recommend regarding FortiGate backups?

                        • Make regular configuration backups to external storage.
                        • Keep backups in a version control system (Git/SVN) with a description of the changes.
                        • For larger environments, use FortiManager as a central repository.
                        • For significant changes, perform a “before/after” configuration diff, even locally in the editor.

                        2. You’re manually duplicating configurations between FortiGate devices

                          Configuring a firewall using the copy-and-paste method ends up being a real mess. Transferring configuration fragments by eye is prone to making mistakes and is difficult to maintain configuration consistency.

                          What do we recommend if you already have multiple FortiGate devices?

                          • Use FortiManager for centralized management whenever you have more than a few devices.
                          • Define templates and shared objects instead of manually copying configurations.
                          • If you don’t have FortiManager, store configurations in a repository and copy them from a single “source of truth.”
                          • Make changes according to the same documented pattern whenever you expand your network.

                          3. You have chaos in your address objects and services

                            The lack of object standardization most often backfires in two situations:

                            • when we want to migrate to FortiManager,
                            • when an incident occurs, and troubleshooting is necessary.

                            Object addressing best practices:

                            1. Define and maintain a naming convention (prefixes, suffixes, format: location-role-CIDR).
                            2. Stick to a single naming format for the network.
                            3. Distinguish between logical objects (e.g., HR_APP) and technical objects (HR_APP_10.10.10.10).
                            4. Do not overwrite existing objects; create new ones according to convention.
                            5. Do not leave orphaned objects.

                            4. You have chaos in your permissions

                              Improper RBAC permission allocation allows users to access functions or configurations they shouldn’t have access to. This increases the risk of erroneous changes, accidental security disablements, or unauthorized access to critical resources.

                              5. You’re ignoring the Security Rating (formerly Security Fabric Rating)

                                Ignoring the Security Rating causes known configuration vulnerabilities and weak settings to go undetected, even though FortiGate itself identifies them. As a result, the device operates below its actual security level, and risks are only known after an incident or audit.

                                The Security Rating itself reveals:

                                • overly broad policies,
                                • outdated protocols/ciphers,
                                • lack of logins, lack of updates, weak passwords, etc.

                                A practical tip for Security Rating:

                                • Treat the Security Rating as a hardening checklist – go through the recommendations step by step and plan their implementation.
                                • Include the Security Rating report in the change documentation/security audit.

                                6. You’re Not Using Automation Stitches

                                  Without Automation Stitches, FortiGate responds only passively, and many incidents require manual intervention by the administrator. Using them allows for automatic event detection and enforcement, shortening response times and limiting the impact of incidents. They also enable email notifications when critical events occur on the firewall.

                                  7. You’re Not Using External Block Lists (Threat Feeds)

                                    With External Block Lists, FortiGate leverages external knowledge of current threats and responds only after detecting an attack locally. Threat Feeds allow you to proactively block known malicious IP addresses and domains, significantly reducing the attack surface.

                                    8. You’re Incorrectly Configuring a Remote Access VPN and Not Securing It with 2FA

                                      An incorrectly configured remote access VPN often bypasses key control mechanisms (MFA, split-tunnel, access policies) or grants users excessive privileges. As a result, VPNs become one of the easiest entry vectors into internal networks. Controlling VPN traffic, for example, using static routes, can cause problems with user communication with websites.

                                      Furthermore, the lack of 2FA and geolocation policies for VPNs leaves remote access vulnerable to account takeovers and brute-force attacks. As a result, unauthorized users can enter the network even with a properly configured VPN.

                                      9. Your administration panel is exposed to the internet

                                        Exposing the FortiGate management interface directly to the internet exposes the device to brute-force attacks and takeover attempts. As a result, even correctly configured security policies can be bypassed by accessing the administration panel.

                                        Protect the admin panel:

                                        • Use device hardening to prevent active default accounts, services, and ports.
                                        • Only make the admin panel accessible from selected management networks or through a dedicated VPN.
                                        • Restrict GUI/SSH access with ACLs (trust-hosts, firewall policy).
                                        • Change default ports, but treat this as a cosmetic measure, not primary protection.
                                        • Enforce a password policy + MFA for critical accounts.

                                        10. Collect logs only locally

                                          Keeping logs only on the FortiGate means that after an incident, you only have as much history as can fit in the device’s memory.

                                          Best practices for collecting logs:

                                          • Send logs to an external collector (FortiAnalyzer, SIEM, syslog).
                                          • Log: system and administrative events, as well as traffic from key security policies.
                                          • Control log retention time to meet regulatory and security requirements.
                                          • Configure alerts in the SIEM/FAZ, not just passive log collection.

                                          GROUP 4: Errors in configuring FortiGate with FortiManager (FMG)

                                          A lack of understanding of the separation of responsibilities between FortiManager and the local FortiGate leads to changes being made in parallel in two places, leaving no one sure which policy version is actually in effect.

                                          1. You are configuring a FortiGate managed by FortiManager locally

                                            Classic errors:

                                            • the device is connected to FortiManager,
                                            • someone quickly changes something locally in the firmware,
                                            • the changes disappear during the next install from FMG.

                                            Best practice:

                                            • If you manage your firewall by FortiManager, do not configure it locally, except for emergencies/bootstrapping.
                                            • Restore any local changes to the FMG after an incident and synchronize them.
                                            • Use ADOMs to separate PROD/TEST/LAB (and possibly regions).
                                            • Precisely set the Install Scope – install changes only where they should go.

                                            2. You’re not separating environments using administrative domains (ADOM)

                                              When you use a single ADOM for everything (production, test, and lab) and mix global and local objects, you lose a clear boundary between environments. In this configuration, it’s very easy to accidentally push test policies to production, create conflicts during change deployment, and end up in a situation where debugging a network issue becomes a tedious search for a needle in a haystack.

                                              3. You’re installing too large change packages

                                                Installing 100+ changes at once, across all devices, is a recipe for difficult error identification and lack of quick rollback.

                                                Smaller changes = more control

                                                • Break changes into small, logical packages (e.g., “HR VPN,” “New CRM server in DMZ”)
                                                • Use Install Scope:
                                                  • Specify precisely which devices/VDOMs a given change will affect.
                                                  • Test after each step.

                                                Summary

                                                FortiGate itself is just a tool. A well-configured device can effectively defend against attempted attacks, but a poorly configured device won’t fully utilize its capabilities. The 22 errors cited above are the essence of the problems we see in real-world deployments: from simple “any-any” traps to an organizational lack of process and testing.

                                                You can consider this article as a starting point for a self-review of your own devices or a pretext for a professional security audit.

                                                Security audits - technical and procedural with Grandmetric

                                                ​FAQ 

                                                What are the most common FortiGate configuration errors seen in companies?


                                                The most common errors we see during configuration audits include:
                                                – Lack of understanding of the policy processing order and “catching” traffic with overly general rules before they reach the appropriate UTM policies
                                                – Permanent “any-any” rules that started life as “temporary”
                                                – Lack of a consistent zone concept and haphazard interface assignment
                                                – Click-and-go configuration without backups, documentation, or versioning, often on several firewalls independently
                                                – Chaos in address objects/services (different names for the same networks) and orphaned objects that are not cleaned up
                                                – Ignoring Security Rating, Threat Feeds, and Automation Stitches
                                                – Lack of FortiOS updates and signatures, lack of connectivity to FortiGuard, and lack of vulnerability notifications
                                                – Poorly designed remote access VPN (no 2FA, overly broad permissions, routing issues)
                                                – Lack of hardening, poor RBAC, exposed management interface to the internet, no logs on an external collector – local changes on FortiGates managed by FortiManager, incorrect ADOMs, and “blast radius” of giant installs

                                                How does an incorrectly configured FortiGate firewall policies impact network security?

                                                Policy misconfiguration causes the firewall to:
                                                – allow traffic that no one intended – for example, through broad any-any rules that “cover” more specific rules,
                                                – not apply UTM/SSL inspection because traffic falls into a simple rule without security profiles,
                                                – not block addresses with a poor reputation when deny rules are too low on the list and never hit,
                                                – not be auditable – the lack of comments and expiration dates makes it difficult to understand why a given policy exists and whether it is still needed.

                                                The effect is simple: from the outside, “we have a FortiGate,” but in reality, access control is flawed and unpredictable.

                                                What errors in NAT rules and routing most often cause problems on FortiGate?

                                                Common problems we see with NAT rules include:
                                                – NAT enabled where it shouldn’t be (e.g., on LAN→LAN / VPN→LAN policies), which limits traffic visibility and causes asymmetry,
                                                – incorrect or incomplete VIP (Virtual IP) configuration – the VIP is configured, but the firewall policy doesn’t match the direction/port, so the service is “appearing exposed but not working,”
                                                – inconsistency between static routes, SD-WAN, and policies – “default” SD-WAN policies are left unanalyzed, causing traffic not to follow the optimal or expected path,
                                                – careless routing of VPN traffic with static routes, which can cut off user access to parts of the internet due to incorrect route preferences.

                                                From the user’s perspective, this manifests itself in “magically disappearing” traffic, random behavior of services from the internet, and VPN access issues.

                                                How to check if FortiGate is properly configured for security?

                                                1. Run and analyze the Security Rating – this is a built-in checklist that shows configuration weaknesses (old ciphers, overly broad rules, no logging, no updates).
                                                2. Check FortiGuard status – whether IPS/AV/URL signatures are up-to-date and there are no connectivity issues.
                                                3. Review policies for: any-any, order, comments, expiration dates, orphaned rules.
                                                4. See if traffic and events are being logged to an external collector (FortiAnalyzer/SIEM/syslog).
                                                5. Assess the VPN: MFA/2FA, address range, geopolitics, routing method.
                                                6. Go through the device using a checklist or perform a full configuration audit with an external observer.

                                                What UTM (IPS, AV, Web Filtering) configuration errors weaken FortiGate’s protection?

                                                The most common are:
                                                – IPS/AV/Web/DNS profiles attached to policies that don’t receive the appropriate traffic – e.g., DNS Filter on a policy where DNS is not physically transmitted,
                                                the same, generic profile applied “everywhere,” without differentiating between users, servers, DMZs, or backups,
                                                – disabled logging on UTM policies – something appears to be filtering, but there’s no visibility,
                                                – lack of up-to-date signatures (FortiGuard issues, expired licenses),
                                                – lack of Threat Feeds / External Block Lists – the firewall doesn’t use additional IOC feeds.

                                                How does the incorrect configuration of interfaces and zones in FortiGate lead to security vulnerabilities?

                                                If interfaces are assigned to zones haphazardly or there are no zones at all, then:
                                                – The same type of traffic (e.g., users from different locations) is mixed with traffic with different requirements (servers, DMZ), making it difficult to enforce security policies.
                                                – As the network expands, additional ad hoc policies are added between individual interfaces, which facilitates the creation of “side gateways,”
                                                – It is easier to accidentally allow traffic between segments that were intended to be separated,
                                                – The management/MGMT interface is exposed to the internet, creating direct access to the admin panel, bypassing all segmentation.

                                                Zones are used to group interfaces by function – if we don’t do this, we’re inviting leaks in the segmentation.

                                                What FortiGate configuration errors hinder network segmentation and access control?

                                                Several things typically occur at once:
                                                – Any-any rules, which disrupt the entire concept of “who has access to what,”
                                                – Lack of or improper use of zones – policies are built between individual ports instead of between logical segments,
                                                – Chaos in address objects (different names for the same subnets) and orphaned objects that no one cleans up,
                                                – Lack of policy comments and expiration dates – no one remembers who created a given rule or whether it’s still needed,
                                                – Poor RBAC permissions – too many admins with full rights can quickly add exceptions that become permanent.
                                                – In such an environment, segmentation exists only in diagrams, while real-world access is full of exceptions and “temporary” workarounds.

                                                How does a misconfigured VPN on a FortiGate impact user remote access?

                                                A poorly configured remote access VPN most often:
                                                – bypasses key control mechanisms such as MFA/2FA and geopolitics, facilitating account takeovers and brute-force attacks,
                                                – gives the user full access to the LAN instead of just specific applications/segments, meaning a single account gives the user broad access to the network,
                                                – uses static routes or incorrectly configured split-tunneling, which causes problems with access to the internet and SaaS services,
                                                – can be bypassed by logging/monitoring – logs don’t show what the user is actually doing after establishing the tunnel.

                                                The result: from a security perspective, the VPN becomes the weakest link, and from a user perspective, it becomes the source of “magical” access problems.

                                                What problems does a lack of firmware and signature updates cause in FortiGate?

                                                The lack of updates and monitoring of new versions/vulnerabilities leads to:
                                                – FortiGate operates with publicly known vulnerabilities, often already actively exploited in attacks,
                                                IPS/AV/Web Filter engines rely on outdated signatures, so they don’t detect new malware families and attack techniques.
                                                – The organization fails to meet basic security and regulatory requirements (NIS2, ISO, industry requirements) because it lacks a patch management process.
                                                – The administrator responds only after an incident, rather than proactively after the advisory is published.

                                                How does a FortiGate configuration audit help detect and fix critical errors?

                                                A good FortiGate configuration audit does four things:
                                                1. It inventories the actual state – policies, objects, VPN, UTM, logging, FortiGuard, FMG, processes.
                                                2. It maps this to risks – showing which errors are just “administrative clutter” and which ones actually open the network (any-any, no 2FA, MGMT issued, no logs, no updates).
                                                2. It provides a prioritized remediation plan – quick wins (e.g., logs, 2FA, comments, disabling junk mail), then architectural changes (zones, segmentation, FMG), and finally, “nice to haves.”
                                                4. It also forces a discussion about processes: testing, change management, log monitoring, which are usually as important as the device configuration itself.

                                                How do errors in policy design and network segmentation impact network security?

                                                Incorrect policy configuration causes the firewall to:
                                                – allow traffic that was not intended, for example, by using broad any-any rules that “cover up” more specific rules,
                                                – not use UTM/SSL Inspection because traffic falls into a simple rule without security profiles,
                                                – not block addresses with a bad reputation when deny rules are too low on the list and never hit,
                                                – not be auditable. The lack of comments and expiration dates makes it difficult to understand why a given policy exists and whether it is still necessary.

                                                Author

                                                Jakub Grzelski

                                                Senior Systems Engineer | Network&Security • Delivery & Maintenance

                                                Comments are closed here.
                                                Grandmetric