Skip to main content
montyadams
Staff
Staff
April 30, 2026

Technical Guide: A practical journey through FortiGate security profiles, from inspection to protection

  • April 30, 2026
  • 0 replies
  • 920 views

Description

This article provides a practical explanation of how to configure FortiGate Security Profiles to improve threat prevention, reduce false positives, and maintain firewall performance.

Security Profiles inspect traffic for threats such as malware, malicious URLs, application misuse, intrusion attempts, data leakage, and spam.


Security Profiles should be applied according to the type of traffic, the level of risk, and the business requirements of each environment.

Scope

FortiGate firewalls using FortiOS Security Profiles, including Antivirus, Web Filter, DNS Filter, Application Control, Intrusion Prevention System, SSL/SSH Inspection, Anti-Spam, File Filter, Data Leak Prevention, VoIP Profile, ICAP, and External Connectors where applicable.

Solution

Recommended Security Profile strategy:


Security Profiles should not be applied uniformly to all firewall policies without review.


Different inspection levels should be used based on traffic direction and risk.


Recommended profile strategy.

  • User Internet access should use Web Filter, DNS Filter, Antivirus, Intrusion Prevention System, Application Control, and SSL Inspection.

  • Server outbound access should use DNS Filter, Antivirus, Intrusion Prevention System, and Application Control.

  • Inbound server publishing should use Intrusion Prevention System, Antivirus, Web Application Firewall when available, and SSL Inspection where applicable.

  • Guest network access should use Web Filter, DNS Filter, Application Control, and Antivirus.

  • SSL VPN traffic should use the same controls as internal user traffic where possible.

  • Critical systems should use strict Intrusion Prevention System inspection, Antivirus, DNS Filter, and limited application access.


Antivirus best practices:
Enable Antivirus on firewall policies that allow Internet access, email, file downloads, or user browsing traffic.


Example configuration:


config antivirus profile
    edit 'AV-Standard'
        set comment 'Standard antivirus profile for user Internet traffic'
        set inspection-mode proxy
        set ems-threat-feed enable
        set outbreak-prevention block
        set external-blocklist-enable-all enable
    next
end
                


Recommended protections:

  • Block known malware.

  • Enable FortiGuard outbreak prevention.

  • Scan HTTP, HTTPS, FTP, SMTP, POP3, and IMAP where applicable.

  • Use proxy-based inspection when deeper inspection is required.

  • Use flow-based inspection when performance is more important.

For high-throughput environments, flow-based Antivirus is recommended unless deep inspection is required.


For user browsing, Antivirus should be combined with Web Filter, DNS Filter, SSL Deep Inspection, and Application Control.


Web Filter best practices.


Use Web Filter to control access to malicious, inappropriate, or risky websites.


Recommended blocked categories:

  • Malware.

  • Phishing.

  • Spam URLs.

  • Botnet C&C.

  • Newly Observed Domain.

  • Newly Registered Domain.

  • Hacking.

  • Proxy Avoidance.

  • Dynamic DNS.

  • Cryptocurrency mining.

  • Illegal or high-risk content categories, based on company policy.


Example configuration:


config webfilter profile
    edit 'WF-Corporate'
        set comment 'Corporate web filtering profile'
            config ftgd-wf
                unset options
                    config filters
                        edit 1
                            set category 2
                            set action block
                        next
                        edit 2
                            set category 7
                            set action block
                        next
                        edit 3
                            set category 8
                            set action block
                        next
                    end
            end
    next
end
                


Use warning or monitor mode before blocking broad business-sensitive categories.
Avoid overblocking cloud storage, personal email, social media, and streaming media unless required by policy.

Enable logging for blocked and monitored categories.


DNS Filter best practices.



DNS Filter is recommended because it can stop malicious connections before HTTP or HTTPS traffic begins.

Enable DNS Filter on user, server, guest, and SSL VPN firewall policies.

Recommended actions.

  • Malware domains should be blocked.

  • Phishing domains should be blocked.

  • Botnet C&C domains should be blocked.

  • Newly registered domains should be monitored or blocked.

  • Dynamic DNS should be monitored or blocked.

  • Parked domains should be monitored.

  • Safe search enforcement should be enabled where required.


Example configuration:


config dnsfilter profile
    edit 'DNS-Corporate'
        set comment 'Corporate DNS security profile'
        set block-action block
        set log-all-domain enable
        set sdns-ftgd-err-log enable
            config ftgd-dns
                config filters
                    edit 1
                        set category 2
                        set action block
                    next
                    edit 2
                        set category 7
                        set action block
                    next
                end
            end
    next
end
                


Use DNS Filter even when Web Filter is enabled.


For internal DNS servers, apply DNS Filter to the firewall policy that allows DNS servers to query the Internet.


Application Control best practices.


Use Application Control to identify and control risky applications.


Recommended blocks or restrictions.

  • Remote access tools not approved by IT.

  • Peer-to-peer applications.

  • Proxy and tunneling applications.

  • Cryptocurrency mining.

  • Unauthorized VPN tools.

  • High-risk file sharing.

  • Known evasive applications.


Example configuration.


config application list
    edit 'APP-Corporate'
        set comment 'Corporate application control profile'
            config entries
                edit 1
                    set category 6
                    set action block
                next
                edit 2
                    set category 2
                    set action monitor
                next
            end
    next
end
                


Start in monitor mode before enforcing strict blocks.


Use Application Control with SSL Deep Inspection for better detection of encrypted applications.


Application Control signatures should be kept updated through FortiGuard.


Intrusion Prevention System best practices.


Enable Intrusion Prevention System on traffic that crosses security zones.


Recommended inspection points.

  • Internet to internal servers.

  • User LAN to Internet.

  • SSL VPN to internal network.

  • Guest to Internet.

  • Server VLAN to critical systems.

  • DMZ to internal network.


Example configuration.


config ips sensor
    edit 'IPS-Corporate'
        set comment 'Corporate Intrusion Prevention System profile'
            config entries
                edit 1
                    set severity high critical
                    set status enable
                    set action block
                next
                edit 2
                    set severity medium
                    set status enable
                    set action default
                next
            end
    next
end
                


Do not enable every Intrusion Prevention System signature without review.


Use targeted Intrusion Prevention System profiles based on operating systems, applications, and exposed services.


For inbound published services, tune profiles to match the protected server type, such as Windows Server, Linux Server, Apache, NGINX, Microsoft IIS, SQL, Exchange, and VPN portals.


Monitor Intrusion Prevention System logs regularly and tune false positives.


SSL/SSH Inspection best practices.


Use SSL Inspection because most modern traffic is encrypted.


Without SSL Inspection, many Security Profiles have limited visibility.


Recommended inspection types.

  • Certificate Inspection provides basic URL category and certificate checks.

  • Deep Inspection provides full content inspection of HTTPS traffic.

  • SSH Inspection detects tunneling and risky SSH activity.


Example configuration.


config firewall ssl-ssh-profile
    edit 'SSL-Deep-Inspection-Corporate'
        set comment 'Deep SSL inspection for corporate endpoints'
            config https
                set ports 443
                set status deep-inspection
            end
            config ftps
                set ports 990
                set status deep-inspection
            end
            config smtps
                set ports 465
                set status deep-inspection
            end
            config ssh
                set ports 22
                set status deep-inspection
            end
    next
end
                


Before enabling Deep Inspection, install the FortiGate CA certificate on endpoint devices.


Exempt financial, healthcare, legal, and privacy-sensitive sites if required.


Exempt applications that are not compatible with SSL Inspection.


Test with a pilot user group first.


Use different SSL profiles for users, servers, and guests.


Do not apply Deep Inspection to traffic where legal, regulatory, or privacy requirements prohibit inspection.


File Filter best practices.


Use File Filter to block high-risk file types from untrusted sources.


Common risky file types:

  • Executables, such as .exe, .msi, .bat, .cmd, and .scr.

  • Scripts, such as .js, .vbs, and .ps1.

  • Archives, such as .zip, .rar, and .7z, especially password-protected archives.

  • Office files with macros.

  • Disk images, such as .iso and .img.


Example configuration.


config file-filter profile
    edit 'FILE-Corporate'
        set comment 'Block risky file types'
            config rules
                edit 1
                    set name 'Block-Executables'
                    set protocol http ftp
                    set action block
                    set direction any
                next
            end
    next
end
                


Use monitor mode first to understand business impact.


For high-security environments, block executable downloads except from approved update repositories.


Anti-Spam best practices.


Enable Anti-Spam on mail-related firewall policies when FortiGate inspects SMTP, POP3, or IMAP traffic.


Recommended protections.

  • FortiGuard spam filtering.

  • IP reputation.

  • URI checking.

  • Email checksum checking.

  • Banned word filtering where required.


Example configuration.

config spamfilter profile
    edit 'SPAM-Corporate'
        set comment 'Corporate anti-spam profile'
            config spam-filtering
                set spam-filtering enable
            end
    next
end
                


A dedicated secure email gateway is recommended when advanced email security is required.


FortiGate Anti-Spam is useful for basic mail filtering, but it should not replace a full email security platform in large environments.


Data Leak Prevention best practices.


Use Data Leak Prevention carefully because false positives can occur when it is deployed too broadly.


Recommended use cases.

  • Prevent credit card data leakage.

  • Detect personally identifiable information.

  • Block sensitive file transfers.

  • Monitor confidential keywords.

  • Control uploads to webmail or cloud storage.


Recommended rollout process.

  1. Start in monitor mode.

  2. Review logs.

  3. Tune patterns and exclusions.

  4. Apply block actions only to confirmed violations.


Example configuration.


config dlp profile
    edit 'DLP-Monitor'
        set comment 'Monitor sensitive data leakage'
    next
end         


Logging best practices.


Security Profiles are effective only when logs are reviewed.


Enable logging on security policies.


config firewall policy
    edit <policy_id>
        set logtraffic all
        set utm-status enable
    next
end
                


Enable security event logging for Antivirus detections, Web Filter blocks, DNS Filter blocks, Application Control violations, Intrusion Prevention System attacks, SSL Inspection errors, File Filter blocks, and Data Leak Prevention events.


FortiAnalyzer should be used where available.


Suggested log retention is 30 to 90 days for small business environments, 90 to 180 days for enterprise environments, and based on compliance requirements for regulated industries.


FortiGuard best practices.


Security Profiles depend heavily on FortiGuard updates.


Verify FortiGuard connectivity.


diagnose autoupdate versions
diagnose debug rating
execute update-now


Check license status.


get system status
diagnose autoupdate versions
                


Make sure the firewall can reach FortiGuard services.


Use override FortiGuard servers only when required.


Keep Antivirus signatures, Intrusion Prevention System signatures, Application Control database, Web Filter database, DNS Filter database, Botnet database, and GeoIP database updated.


Firewall policy best practices with Security Profiles.


Security Profiles must be enabled for every firewall policy.


Example policy.


config firewall policy
    edit 100
        set name 'LAN-to-Internet-Secure'
        set srcintf 'lan'
        set dstintf 'wan1'
        set srcaddr 'LAN_Subnet'
        set dstaddr 'all'
        set action accept
        set schedule 'always'
        set service 'ALL'
        set nat enable
        set utm-status enable
        set ssl-ssh-profile 'SSL-Deep-Inspection-Corporate'
        set av-profile 'AV-Standard'
        set webfilter-profile 'WF-Corporate'
        set dnsfilter-profile 'DNS-Corporate'
        set application-list 'APP-Corporate'
        set ips-sensor 'IPS-Corporate'
        set logtraffic all
    next
end
                


Avoid using service ALL where specific services can be defined.


Place more specific policies above general policies.


Apply profiles based on traffic risk.


Recommended baseline profiles.


Corporate user Internet policy.

  • SSL Deep Inspection.

  • Antivirus.

  • Web Filter.

  • DNS Filter.

  • Application Control.

  • Intrusion Prevention System.

  • File Filter.

  • Logging.

Guest Internet policy.

  • Certificate Inspection or Deep Inspection, depending on policy.

  • Antivirus.

  • Web Filter.

  • DNS Filter.

  • Application Control.

  • Intrusion Prevention System.

  • Logging.

Server outbound policy.

  • DNS Filter.

  • Antivirus.

  • Intrusion Prevention System.

  • Application Control.

  • Logging.

Inbound virtual IP or destination NAT policy.

  • Intrusion Prevention System.

  • Antivirus where applicable.

  • SSL Inspection where applicable.

  • Web Application Firewall profile when supported.

  • Logging.


Performance best practices.


Security inspection can increase CPU and memory usage.


Monitor performance.


get system performance status
diagnose sys top
diagnose hardware sysinfo memory
diagnose npu np6 session-stats
                


Check session load.


diagnose sys session stat
                


Use Security Processing Unit acceleration where available.


Use flow-based inspection for high-throughput environments.


Use proxy-based inspection where deeper inspection is required.


Avoid applying heavy profiles to unnecessary traffic.


Use separate policies for trusted internal traffic and untrusted Internet traffic.


Troubleshooting commands.


Check policy profile configuration.


show firewall policy <policy_id>                


Check Security Profile configuration.


show antivirus profile
show webfilter profile
show dnsfilter profile
show application list
show ips sensor
show firewall ssl-ssh-profile                


Check FortiGuard updates.


diagnose autoupdate versions
execute update-now                


Debug Web Filter rating.

diagnose debug rating                


Check logs in the CLI.


execute log filter category 1
execute log display
                


Debug flow for policy matching.


diagnose debug reset
diagnose debug flow filter addr <client_ip>
diagnose debug flow show function-name enable
diagnose debug flow trace start 100
diagnose debug enable
                


Stop the debug processes.


diagnose debug disable
diagnose debug reset                


Common issues:


Website blocked unexpectedly.


Recommended checks.


diagnose debug rating
show webfilter profile
execute log display
                


Possible causes.

  • Incorrect FortiGuard category.

  • Web Filter override.

  • SSL Inspection issue.

  • Application Control block.

  • DNS Filter block.


HTTPS sites fail after enabling Deep Inspection.


Recommended checks.


show firewall ssl-ssh-profile
get vpn certificate local                


Possible causes.

  • FortiGate CA certificate is not installed on the endpoint.

  • Certificate pinning is used by the application.

  • Unsupported TLS behavior is present.

  • The application is incompatible with SSL Inspection.

Resolution.

  • Install the FortiGate CA certificate.

  • Add an SSL exemption for the affected destination.

  • Use Certificate Inspection for incompatible applications.


High CPU after enabling profiles.


Recommended checks.


get system performance status
diagnose sys top
diagnose sys session stat


Possible causes.

  • Too many Deep Inspection policies.

  • Intrusion Prevention System profile is too broad.

  • Proxy inspection load is high.

  • Logging volume is high.

  • FortiGate model is undersized.

Resolution.

  • Tune Intrusion Prevention System signatures.

  • Use flow-based inspection where appropriate.

  • Reduce unnecessary SSL Deep Inspection.

  • Split policies by traffic type.

  • Review hardware sizing.

Recommended deployment process.

  1. Create baseline profiles.

  2. Apply profiles to a limited test policy.

  3. Start Application Control, Data Leak Prevention, and File Filter in monitor mode.

  4. Review logs for false positives.

  5. Tune allowlists, exemptions, and category actions.

  6. Deploy to a pilot user group.

  7. Expand gradually.

  8. Review logs and FortiGuard updates regularly.


Final recommendations.


Use layered inspection instead of relying on a single Security Profile.


Recommended minimum baseline for user Internet traffic.


SSL Inspection + Antivirus + Web Filter + DNS Filter + Application Control + Intrusion Prevention System + Logging                


For best results, keep FortiGuard services licensed and updated.


Use SSL Deep Inspection where legally and operationally acceptable.


Tune Intrusion Prevention System and Application Control instead of enabling all signatures blindly.


Log all security events.


Review logs regularly in FortiAnalyzer or FortiGate.


Use different profiles for users, guests, servers, SSL VPN traffic, and inbound services.

    Thought Leadership. Security Summit. Thursday, November 12th, PGA National Resort, Palm Beach Gardens, FL.
    Thought Leadership. Security Summit. Thursday, October 8th. Disney's Grand Californian Hotel & SPA, Anaheim, CA.