Quick hit back to basics video explaining how to use VIPs for Port Forwarding
Quick hit back to basics video explaining how to use VIPs for Port Forwarding
A user can be required to provide both something they know (their username and password combination) and something they have (certificate or a random token code). Certificates are installed on the user’s computer.
Two-factor authentication is available for PKI users.
Another type of two-factor authentication is to use a randomly generated token (multi-digit number) along with the username and password combination. One method is a FortiToken — a one-time password (OTP) generator that generates a unique code every 60 seconds. Others use email or SMS text messaging to deliver the random token code to the user or administrator.
When one of these methods is configured, the user enters this code at login after the username and password have been verified. The FortiGate unit verifies the token code after as well as the password and username.
An RSA X.509 server certificate is a small file issued by a certificate authority (CA) that is installed on a computer or FortiGate unit to authenticate itself to other devices on the network. When one party on a network presents the certificate as authentication, the other party can validate that the certificate was issued by the CA. The identification is therefore as trustworthy as the CA that issued the certificate.
To protect against compromised or misused certificates, CAs can revoke any certificate by adding it to a certificate revocation list (CRL). Certificate status can also be checked online using the Online Certificate Status Protocol (OCSP).
RSA X.509 certificates are based on public-key cryptography, in which there are two keys: the private key and the public key. Data encrypted with the private key can be decrypted only with the public key, and the other way round. As the names suggest, the private key is never revealed to anyone and the public key can be freely distributed. Encryption with the recipient’s public key creates a message that only the intended recipient can read. Encryption with the sender’s private key creates a message whose authenticity is proven because it can be decrypted only with the sender’s public key.
Server certificates contain a signature string encrypted with the CA’s private key. The CA’s public key is contained in a CA root certificate. If the signature string can be decrypted with the CA’s public key, the certificate is genuine. Certificate authorities
A CA can be:
l an organization, such as VeriSign Inc., that provides certificate services l a software application, such as Microsoft Certificate Services or OpenSSH
For a company web portal or customer-facing SSL VPN, a third-party certificate service has some advantages. The CA certificates are already included in popular web browsers and customers trust the third-party. On the other hand, third-party services have a cost.
For administrators and for employee VPN users, the local CA based on a software application provides the required security at low cost. You can generate and distribute certificates as needed. If an employee leaves the organization, you can simply revoke their certificate.
FortiGate unit administrators and SSL VPN users can install certificates in their web browsers to authenticate themselves. If the FortiGate unit uses a CA-issued certificate to authenticate itself to the clients, the browser will also need the appropriate CA certificate.
FortiGate IPsec VPN users can install server and CA certificates according to the instructions for their IPsec VPN client software. The FortiClient Endpoint Security application, for example, can import and store the certificates required by VPN connections.
FortiGate units are also compatible with some Public Key Infrastructure systems. For an example of this type of system, see RSA ACE (SecurID) servers on page 44.
Using external authentication servers is desirable when multiple FortiGate units need to authenticate the same users, or where the FortiGate unit is added to a network that already contains an authentication server. FortiOS supports the use of LDAP, RADIUS, TACACS+, AD, or POP3 servers for authentication.
When you use an external authentication server to authenticate users, the FortiGate unit sends the user’s entered credentials to the external server. The password is encrypted. The server’s response indicates whether the supplied credentials are valid or not.
You must configure the FortiGate unit to access the external authentication servers that you want to use. The configuration includes the parameters that authenticate the FortiGate unit to the authentication server.
You can use external authentication servers in two ways:
The simplest authentication is based on user accounts stored locally on the FortiGate unit. For each account, a username and password is stored. The account also has a disable option so that you can suspend the account without deleting it.
Local user accounts work well for a single-FortiGate installation. If your network has multiple FortiGate units that will use the same accounts, the use of an external authentication server can simplify account configuration and maintenance.
You can create local user accounts in the web-based manager under User & Device > User Definition. This page is also used to create accounts where an external authentication server stores and verifies the password.
What is authentication?
Businesses need to authenticate people who have access to company resources. In the physical world this may be a swipe card to enter the building, or a code to enter a locked door. If a person has this swipe card or code, they have been authenticated as someone allowed in that building or room.
Authentication is the act of confirming the identity of a person or other entity. In the context of a private computer network, the identities of users or host computers must be established to ensure that only authorized parties can access the network. The FortiGate unit enables controlled network access and applies authentication to users of security policies and VPN clients.
FortiGate unit authentication is divided into three basic types: password authentication for people, certificate authentication for hosts or endpoints, and two-factor authentication for additional security beyond just passwords. An exception to this is that FortiGate units in an HA cluster and FortiManager units use password authentication.
Password authentication verifies individual user identities, but access to network resources is based on membership in user groups. For example, a security policy can be configured to permit access only to the members of one or more user groups. Any user who attempts to access the network through that policy is then authenticated through a request for their username and password.
Methods of authentication include:
l Local password authentication l Server-based password authentication l Certificate-based authentication l Two-factor authentication
Methods of authentication
Directed by security policies, a FortiGate screens network traffic from the IP layer up through the application layer of the TCP/IP stack. The steps involved in this inspection depend on the FortiGate hardware configuration (the presence or absence of network processors such as the NP6 and content processors such as the CP8 and CP9) and on the Unified Threat Management (UTM)/Next Generation Firewall (NGFW) inspection mode (flow-based or proxy-based) of the FortiGate or VDOM.
This chapter describes what happens to a packet as it travels through a FortiGate running FortiOS 6.0.
The FortiGate performs three types of security inspection:
Each inspection component plays a role in the processing of a packet as it traverses the FortiGate en route to its destination.
Parallel Path Processing (PPP) uses the firewall policy configuration to choose from a group of parallel options to determine the optimal path for processing a packet. Most FortiOS features are applied through Firewall policies and the features applied determine the path a packet takes. Using firewall policies you can impose UTM/NGFW processing on content traffic that may contain security threats (such as HTTP, email and so on). Many UTM/NGFW processes are offloaded and accelerated by CP8 or CP9 processors. Using the policy configuration you can apply a range of protection from basic IPS attack protection that looks for network-based attacks to full scale advanced threat management (ATM), application control, antivirus, DLP and so on.
You can also create policies for traffic that does not pose security threats and bypass UTM/NGFW checking. This control allows you to improve network performance without compromising security. On FortiGates with network processors (for example the NP6) much of the traffic that does not require UTM/NGFW processing can be offloaded to the NP6 processors freeing up FortiGate processing resources for other higher risk traffic.
In addition, many FortiGate models support NTurbo to offload flow-based UTM/NGFW sessions to network processors. Flow-based sessions can also be accelerated using IPSA technology to enhance offloading of pattern matching to CP8 and CP9 content processors.
This chapter begins with an overview of packet flow ingress and egress and includes a section that shows how NP6 offloading optimizes packet flow for packets that don’t require UTM/NGFW processing and for packets that use NTurbo to offload flow-based UTM/NGFW processing.
Next this chapter breaks down how packets pass through UTM/NGFW processing both for a single-pass flowbased UTM/NGFW processing and a proxy-based UTM/NGFW processing.
High-level list of processes that affect packets Parallel Path Processing
In general packets passing through a FortiGate can be affected by the following processes. This is a complete high-level list of all of the processes. Not all packets see all of these processes. The processes a packet encounters depends on the type of packet and on the FortiGate software and hardware configuration.
Lookup/Session management l Session Helpers l User Authentication l Device Identification
This section describes the steps a packet goes through as it enters, passes through and exits from a FortiGate. This scenario shows all of the steps a packet goes through if a FortiGate does not contain network processors (such as the NP6).
Ingress
All packets accepted by a FortiGate pass through a network interface and are processed by the TCP/IP stack. Then if DoS policies or Access Control List (ACL) policies have been configured the packet must pass through these as well as automatic IP integrity header checking.
DoS scans are handled very early in the life of the packet to determine whether the traffic is valid or is part of a DoS attack. The DoS module inspects all traffic flows but only tracks packets that can be used for DoS attacks (for example, TCP SYN packets), to ensure they are within the permitted parameters. Suspected DoS attacks are blocked, other packets are allowed.
IP integrity header checking reads the packet headers to verify if the packet is a valid TCP, UDP, ICMP, SCTP or GRE packet. The only verification that is done at this step to ensure that the protocol header is the correct length. If it is, the packet is allowed to carry on to the next step. If not, the packet is dropped.
Incoming IPsec packets that match configured IPsec tunnels on the FortiGate are decrypted after header checking is done.
If the packet is an IPsec packet, the IPsec engine attempts to decrypt it. If the IPsec engine can apply the correct encryption keys and decrypt the packet, the unencrypted packet is sent to the next step. Non-IPsec traffic and IPsec traffic that cannot be decrypted passes on to the next step without being affected. IPsec VPN decryption is offloaded to and accelerated by CP8 or CP9 processors.
Admission control checks to make sure the packet is not from a source or headed to a destination on the quarantine list. If configured admission control then imposes FortiTelemetry protection that requires a device to have FortiClient installed before allowing packets from it. Admission control can also impose captive portal authentication on ingress traffic.
Once a packet makes it through all of the ingress steps, the FortiOS kernel performs the following checks to determine what happens to the packet next.
Destination NAT checks the NAT table and determines if the destination IP address for incoming traffic must be changed using DNAT. DNAT is typically applied to traffic from the internet that is going to be directed to a server on a network behind the FortiGate. DNAT means the actual address of the internal network is hidden from the internet. This step determines whether a route to the destination address actually exists. DNAT must take place before routing so that the FortiGate can route packets to the correct destination.
Packet flow ingress and egress: FortiGates without network processor offloading Kernel
Routing uses the routing table to determine the interface to be used by the packet as it leaves the FortiGate. Routing also distinguishes between local traffic and forwarded traffic. Firewall policies are matched with packets depending on the source and destination interface used by the packet. The source interface is known when the packet is received and the destination interface is determined by routing.
Stateful inspection looks at the first packet of a session and looks in the policy table to make a security decision about the entire session. Stateful inspection looks at packet TCP SYN and FIN flags to identity the start and end of a session, the source/destination IP, source/destination port and protocol. Other checks are also performed on the packet payload and sequence numbers to verify it as a valid session and that the data is not corrupted or poorly formed.
When the first packet of a session is matched in the policy table, stateful inspection adds information about the session to its session table. So when subsequent packets are received for the same session, stateful inspection can determine how to handle them by looking them up in the session table (which is more efficient than looking them up in the policy table).
Stateful inspection makes the decision to drop or allow a session and apply security features to it based on what is found in the first packet of the session. Then all subsequent packets in the same session are processed in the same way.
When the final packet in the session is processed, the session is removed from the session table. Stateful inspection also has a session idle timeout that removes sessions from the session table that have been idle for the length of the timeout.
See the Stateful Firewall Wikipedia article (https://en.wikipedia.org/wiki/Stateful_firewall) for an excellent description of stateful inspection.
Some protocols include information in the packet body (or payload) that must be analyzed to successfully process sessions for this protocol. For example, the SIP VoIP protocol uses TCP control packets with a standard destination port to set up SIP calls. To successfully process SIP VoIP calls, FortiOS must be able to extract information from the body of the SIP packet and use this information to allow the voice-carrying packets through the firewall.
FortiOS uses session helpers to analyze the data in the packet bodies of some protocols and adjust the firewall to allow those protocols to send packets through the firewall. FortiOS includes the following session helpers:
l PPTP l H323 l RAS l TNS l TFTP l RTSP l FTP | l MMS l PMAP l SIP l DNS-UDP l RSH l DCERPC l MGCP |
UTM/NGFW
User authentication added to security policies is handled by the stateful inspection, which is why Firewall authentication is based on IP address. Authentication takes place after policy lookup selects a policy that includes authentication.
Device identification
Device identification is applied if required by the matching policy.
Local SSL VPN traffic is treated like special management traffic as determined by the SSL VPN destination port. Packets are decrypted and are routed to an SSL VPN interface. Policy lookup is then used to control how packets are forwarded to their destination outside the FortiGate. SSL encryption and decryption is offloaded to and accelerated by CP8 or CP9 processors.
Local management traffic terminates at a FortiGate interface. This can be any FortiGate interface including dedicated management interfaces. In multiple VDOM mode local management traffic terminates at the management interface. In transparent mode, local management traffic terminates at the management IP address.
Local management traffic includes administrative access, some routing protocol communication, central management from FortiManager, communication with the FortiGuard network and so on. Management traffic is allowed or blocked according to the Local In Policy list which lists all management protocols and their access control settings. You configure local management access indirectly by configuring administrative access and so on.
Management traffic is processed by applications such as the web server which displays the FortiOS GUI, the SSH server for the CLI or the FortiGuard server to handle local FortiGuard database updates or FortiGuard Web Filtering URL lookups.
Local management traffic is not involved in subsequent stateful inspection steps.
SSL VPN traffic terminates at a FortiGate interface similar to local management traffic. However, SSL VPN traffic uses a different destination port number than administrative HTTPS traffic and can thus be detected and handled differently.
If the policy matching the packet includes security profiles, then the packet is subject to Unified Threat Management (UTM)/Next Generation Firewall (NGFW) processing. UTM/NGFW processing depends on the inspection mode of the FortiGate: Flow-based (single pass architecture) or proxy-based. Proxy-based processing can include Explicit web proxy traffic. Many UTM/NGFW processes are offloaded and accelerated by CP8 or CP9 processors.
Packet flow ingress and egress: FortiGates without network processor offloading Content processors (CP8 and CP9)
Single pass flow-based UTM/NGFW inspection identifies and blocks security threats in real time as they are identified using single-pass Direct Filter Approach (DFA) pattern matching to identify possible attacks or threats.
Proxy-based UTM/NGFW inspection can apply both flow-based and proxy-based inspection. Packets initially encounter the IPS engine, which can apply single-pass flow-based IPS and Application Control (as configured). The packets are then sent to the proxy for proxy-based inspection. Proxy-based inspection can apply VoIP inspection, DLP, AntiSpam, Web Filtering, Antivirus, and ICAP.
Explicit web proxy inspection is similar to proxy based inspection.
Most FortiGate models contain Security Processing Unit (SPU) Content Processors (CPs) that accelerate many common resource intensive security related processes. CPs work at the system level with tasks being offloaded to them as determined by the main CPU. Capabilities of the CPs vary by model. Newer FortiGate units include CP8 and CP9 processors. Older CP versions still in use in currently operating FortiGate models include the CP4, CP5, and CP6.
The CP9 content processor provides the following services:
Kernel
The CP8 content processor provides the following services:
Traffic is now in the process of exiting the FortiGate. The kernel uses the routing table to forward the packet out the correct exit interface.
The kernel also checks the NAT table and determines if the source IP address for outgoing traffic must be changed using SNAT. SNAT is typically applied to traffic from an internal network heading out to the internet. SNAT means the actual address of the internal network is hidden from the internet.
Before exiting the FortiGate, outgoing packets that are entering an IPsec VPN tunnel are encrypted and encapsulated. IPsec VPN encryption is offloaded to and accelerated by CP8 or CP9 processors. Packets are then subject to botnet checking to make sure they are not destined for known botnet addresses.
Traffic shaping is then imposed, if configured, followed by WAN Optimization. The packet is then processed by the TCP/IP stack and exits out the egress interface.
On a FortiGate with NP6 processors the first packet in a new session is handled the same way as on a FortiGate with no NP6 processors. Except that some processes, such as DoS, ACL, IP integrity checking, and IPsec VPN decryption are accelerated by the NP6 processor.
Network processors (NP6) Packet flow: FortiGates with NP6 processors first packet of a new session
NP6 and NP6lite network processors provide fastpath acceleration by offloading communication sessions from the FortiGate CPU. When the first packet of a new session is received by an interface connected to an NP6 processor, just like any session connecting with any FortiGate interface, the session is forwarded to the FortiGate CPU where it is matched with a security policy. If the session is accepted by a security policy and if the session can be offloaded its session key is copied to the NP6 processor that received the packet. All of the rest of the packets in the session are intercepted by the NP6 processor and fast-pathed out of the FortiGate unit to their destination without ever passing through the FortiGate CPU. The result is enhanced network performance provided by the NP6 processor plus the network processing load is removed from the CPU. In addition the NP6 processor can handle some CPU intensive tasks, like IPsec VPN encryption/decryption.
NP6lite processors have the same architecture and function in the same way as NP6 processors. All of the descriptions of NP6 processors in this document can be applied to NP6lite possessors except where noted.
Session keys (and IPsec SA keys) are stored in the memory of the NP6 processor that is connected to the interface that received the packet that started the session. All sessions are fast-pathed and accelerated, even if they exit the FortiGate unit through an interface connected to another NP6. There is no dependence on getting the right pair of interfaces since the offloading is done by the receiving NP6.
The key to making this possible is an Integrated Switch Fabric (ISF) that connects the NP6s and the FortiGate unit interfaces together. Many FortiGate units with NP6 processors also have an ISF. The ISF allows any port connectivity. All ports and NP6s can communicate with each other over the ISF. There are no special ingress and egress fast path requirements as long as traffic enters and exits on interfaces connected to the same ISF.
Some FortiGate units, such as the FortiGate-1000D include multiple NP6 processors that are not connected by an ISF. Because the ISF is not present fast path acceleration is supported only between interfaces connected to the same NP6 processor. Since the ISF introduces some latency, models with no ISF provide low-latency network acceleration between network interfaces connected to the same NP6 processor.
Each NP6 has a maximum throughput of 40 Gbps using 4 x 10 Gbps XAUI or Quad Serial Gigabit Media Independent Interface (QSGMII) interfaces or 3 x 10 Gbps and 16 x 1 Gbps XAUI or QSGMII interfaces.
There are at least two limitations to keep in mind:
16
The first packet of a session determines if the session can be offloaded. As long as there is no proxy-based UTM/NGFW, if your FortiGate includes NP6 processors, most sessions can be offloaded to them. After the first packet, subsequent packets in an offloaded session skip routing, UTM/NGFW, and kernel processors and are just forwarded out the egress interface by the NP6 processor. As well, security measures such as DoS policies, ACL, and so on are accelerated by the NP6 processor.
If your FortiGate supports NTurbo, many flow-based UTM/NGFW sessions can be offloaded to NP6 processors.
Packet flow: FortiGates with NP6 processors – packets in an NTurbo session
After the first packet, subsequent packets in an offloaded flow-based UTM/NGFW session skip routing, and kernel processors. Flow-based UTM/NGFW operations are still handled by the CPU with IPSA offloading pattern matching to CP8 or CP9 processors.
If a security threat is found the session is dropped. Otherwise, packets that are not blocked by UTM/NGFW are forwarded out of the egress interfaces by the NP6 processor.
NTurbo is not compatible with DoS policies, session helpers, or and most types of tunneling. If any of these features are present, flow-based UTM/NGFW sessions are not offloaded by NTurbo.
Flow-based UTM/NGFW inspection identifies and blocks security threats in real time as they are identified using single-pass architecture that involves Direct Filter Approach (DFA) pattern matching to identify possible attacks or threats.
If a FortiGate or a VDOM is configured for flow-based inspection, depending on the options selected in the firewall policy that accepted the session, flow-based inspection can apply IPS, Application Control, Web Filtering, DLP, and AntiVirus. Flow-based inspection is all done by the IPS engine and as you would expect, no proxying is involved.
Before flow-based inspection can be applied the IPS engine uses a series of decoders to determine the appropriate security modules to be applied depending on the protocol of the packet and on policy settings. In addition, if SSL inspection is configured, the IPS engine also decrypts SSL packets. SSL decryption is offloaded and accelerated by CP8 or CP9 processors.
If your configuration includes SSL mirroring, the IPS engine copies decrypted application content, wraps it inside a TCP packet (with IP and ethernet headers), and sends it to the configured mirror interface. The TCP connection tuple is carried over from the original SSL connection. For the Ethernet frame, destination address is broadcast (FF:FF:FF:FF:FF:FF) and source address is all zeros.
All of the applicable flow-based security modules are applied simultaneously in one single pass, and pattern matching is offloaded and accelerated by CP8 or CP9 processors. IPS, Application Control, flow-based Web Filtering and flow-based DLP filtering happen together. Flow-based antivirus caches files during protocol decoding and submits cached files for virus scanning while the other matching is carried out.
Flow-based inspection typically requires less processing resources than proxy-based inspection and since its not a proxy, flow-based inspection does not change packets (unless a threat is found and packets are blocked). Flowbased inspection cannot apply as many features as proxy inspection (for example, flow-based inspection does not support client comforting and some aspects of replacement messages).
IPS and Application Control are only applied using flow-based inspection. Web Filtering, DLP and Antivirus can also be applied using proxy-based inspection.
UTM/NGFW packet flow: flow-based inspection
If a FortiGate or VDOM is configured for proxy-based inspection then a mixture of flow-based and proxy-based inspection occurs. Packets initially encounter the IPS engine, which uses the same steps described in UTM/NGFW packet flow: flow-based inspection on page 20 to apply single-pass IPS and Application Control if configured in the firewall policy accepting the traffic.
The packets are then sent to the FortiOS UTM/NGFW proxy for proxy-based inspection. The proxy first determines if the traffic is SSL traffic that should be decrypted for SSL inspection. SSL traffic to be inspected is decrypted by the proxy. SSL decryption is offloaded to and accelerated by CP8 or CP9 processors.
If your configuration includes SSL mirroring, the IPS engine copies decrypted application content, wraps it inside a TCP packet (with IP and ethernet headers), and sends it to the configured mirror interface. The TCP connection tuple is carried over from the original SSL connection. For the Ethernet frame, destination address is broadcast (FF:FF:FF:FF:FF:FF) and source address is all zeros.
Proxy-based inspection extracts and caches content, such as files and web pages, from content sessions and inspects the cached content for threats. Content inspection happens in the following order: VoIP inspection, DLP, Ant-Spam, Web Filtering, AntiVirus, and ICAP.
If no threat is found the proxy relays the content to its destination. If a threat is found the proxy can block the threat and replace it with a replacement message.
Decrypted SSL traffic is sent to the IPS engine (where IPS and Application Control can be applied) before reentering the proxy where actual proxy-based inspection is applied to the decrypted SSL traffic. Once decrypted SSL traffic has been inspected it is re-encrypted and forwarded to its destination. SSL encryption is offloaded to and accelerated by CP8 or CP9 processors. If a threat is found the proxy can block the threat and replace it with a replacement message.
The proxy can also block VoIP traffic that contains threats. VoIP inspection can also look inside VoIP packets and extract port and address information and open pinholes in the firewall to allow VoIP traffic through.
ICAP intercepts HTTP and HTTPS traffic and forwards it to an ICAP server. The FortiGate is the surrogate, or “middle-man”, and carries the ICAP responses from the ICAP server to the ICAP client; the ICAP client then responds back, and the FortiGate determines the action that should be taken with these ICAP responses and requests.
UTM/NGFW packet flow: proxy-based inspection
If the explicit web proxy is enabled on a FortiGate or VDOM, a mixture of flow-based and proxy-based inspection occurs. One or more interfaces configured to listen for web browser sessions on the configured explicit web proxy port (by default 8080) accept all HTTP and HTTPS sessions on the explicit proxy port that match an explicit web proxy policy.
Plain text explicit web proxy HTTP traffic passes in parallel to both the IPS engine and the explicit web proxy for content scanning. The IPS engine applies IPS and application control content scanning. The explicit web proxy applies DLP, web filtering, and AntiVirus content scanning.
If the IPS engine and the explicit proxy do not detect any security threats, FortiOS relays the content to a destination interface. If the IPS engine or the explicit proxy detect a threat, FortiOS can block the threat and replace it with a replacement message.
Encrypted explicit web proxy HTTPS traffic passes to the explicit web proxy for decryption. Decrypted traffic once again passes in parallel to the IPS engine and the explicit web proxy for content scanning.
If the IPS engine and the explicit proxy do not detect any security threats, the explicit proxy re-encrypts the traffic and FortiOS relays the content to its destination. If the IPS engine or the explicit proxy detect a threat, FortiOS can block the threat and replace it with a replacement message. The explicit proxy offloads HTTPS decryption and encryption to CP8 or CP9 processors.
FortiOS uses routing to route explicit web proxy sessions through the FortiGate to a destination interface. Before a session leaves the exiting interface, the explicit web proxy changes the source addresses of the session packets to the IP address of the exiting interface. A FortiGate operating in transparent mode changes the source address to the transparent mode management IP address. You can also configure the explicit web proxy to keep the original client IP address.
UTM/NGFW packet flow: explicit web proxy
Security Function | Kernel
(Stateful inspection) |
Flow-based inspection | Proxy-based inspection |
Firewall | yes | ||
IPsec VPN | yes | ||
Traffic Shaping | yes | ||
User Authentication | yes | ||
Management
Traffic |
yes | ||
SSL VPN | yes | ||
IPS | yes | ||
Antivirus | yes | yes | |
Application Control | yes | ||
Web filtering | yes | yes | |
DLP | yes | yes | |
Email Filtering | yes | ||
VoIP inspection | yes | ||
ICAP | yes |
The tables in this section show how different security functions map to different inspection types.
The table below lists FortiOS security functions and shows whether they are applied by the kernel, flow-based inspection or proxy-based inspection.
FortiOS security functions and inspection types
More information about inspection methods Comparison of inspection types
The three inspection methods each have their own strengths and weaknesses. The following table looks at all three methods side-by-side.
Feature | Stateful | Flow | Proxy |
Inspection unit per session | first packet | selected packets, single pass architecture, simultaneous application of configured inspection methods | complete content, configured inspection methods applied in order |
Memory, CPU required | low | medium | high |
Level of threat protection | good | better | best |
Authentication | yes | ||
IPsec and SSL VPN | yes | ||
Antivirus protection | yes | yes | |
Web Filtering | yes | yes | |
Data Leak Protection (DLP) | yes | yes | |
Application control | yes | ||
IPS | yes | ||
Delay in traffic | minor | no | small |
Reconstruct entire content | no | yes |
You can access the FortiAP unit’s built-in web-based manager. This is useful to adjust settings that are not available through the FortiGate unit’s WiFi Controller. Logging into the FortiAP web-based manager is similar to logging into the FortiGate web-based manager.
The Status section provides information about the FortiAP unit.
You can:
Select DHCP or select Static and specify the IP address, netmask, and gateway IP address. Administrative Access settings affect access after the FortiAP has been authorized. By default, HTTP access needed to access the FortiAP web-based manager is enabled, but Telnet access is not enabled.
These settings determine how the FortiAP unit connects to the FortiGate WiFi controller.
Uplink | Ethernet – wired connection to the FortiGate unit (default)
Mesh – WiFi mesh connection Ethernet with mesh backup support |
Mesh AP SSID | Enter the SSID of the mesh root. Default: fortinet.mesh.root |
Mesh AP Password | Enter password for the mesh SSID. |
Ethernet Bridge | Bridge the mesh SSID to the FortiAP Ethernet port.
This is available only whe Uplink is Mesh. |
AC Discovery Type settings affect how the FortiAP unit discovers a FortiGate WiFi controller. By default, this is set to Auto which causes the FortiAP unit to cycle through all of the discovery methods until successful. For more information see Controller discovery methods.
AC Discovery Type | Static, DHCP, DNS, Broadcast, Multicast, Auto |
AC Control Port | Default port is 5246. |
AC IP Address 1
AC IP Address 2 AC IP Address 3 |
You enter up to three WiFi controller IP addresses for static discovery. Routing must be properly configured in both directions. |
AC Host Name 1
AC Host Name 2 AC Host Name 3 |
As an alternetive to AC IP addresses, you can enter their fully qualified domain names (FQDNs). |
AC Discovery
Multicast Address |
224.0.1.140 |
AC Discovery
DHCP Option Code |
When using DHCP discovery, you can configure the DHCP server to provide the controller address. By default the FortiAP unit expects this in option 138. |
AC Data Channel Security by default accepts either DTLS-encrypted or clear text data communication with the WiFi controller. You can change this setting to require encryption or to use clear text only.
The Wireless Information page provides current information about the operation of the radios and the type Uplink in use.
The following table lists the channels supported on FortiWiFi products that support the IEEE 802.11a and 802.11n wireless standards. 802.11a is available on FortiWiFi models 60B and higher. 802.11n is available on FortiWiFi models 80CM and higher.
All channels are restricted to indoor usage except in the Americas, where both indoor and outdoor use is permitted on channels 52 through 64 in the United States.
IEEE 802.11a/n (5-GHz Band) channel numbers
Channel number | Frequency (MHz) | Regulatory Areas
Americas Europe |
Taiwan | Singapore Japan |
34 | 5170 | • | ||
36 | 5180 | • • | • | |
38 | 5190 | |||
40 | 5200 | • • | • • | |
42 | 5210 | |||
44 | 5220 | • • | • • | |
46 | 5230 | |||
48 | 5240 | • • | • • | |
149 | 5745 | • | • | • |
153 | 5765 | • | • | • |
157 | 5785 | • | • | • |
161 | 5805 | • | • | • |
165 | 5825 | • | • |
The following table lists IEEE 802.11b/g/n channels. All FortiWiFi units support 802.11b and 802.11g. Newer models also support 802.11n.
Wireless radio channels
Mexico is included in the Americas regulatory domain. Channels 1 through 8 are for indoor use only. Channels 9 through 11 can be used indoors and outdoors. You must make sure that the channel number complies with the regulatory standards of Mexico.
IEEE 802.11b/g/n (2.4-GHz Band) channel numbers
Channel number | Frequency (MHz) | Regulatory Areas
Americas EMEA |
Israel | Japan |
1 | 2412 | • • | indoor | • |
2 | 2417 | • • | indoor | • |
3 | 2422 | • • | indoor | • |
4 | 2427 | • • | indoor | • |
5 | 2432 | • • | • | • |
6 | 2437 | • • | • | • |
7 | 2442 | • • | • | • |
8 | 2447 | • • | • | • |
9 | 2452 | • • | • | • |
10 | 2457 | • • | • | • |
11 | 2462 | • • | • | • |
12 | 2467 | • | • | • |
13 | 2472 | • | • | • |
14 | 2484 | b only |
The following CLI command can be entered to view a list of the country and regcodes/regulatory Domains supported by Fortinet:
cw_diag -c all-countries
Below is a table showing a sample of the list displayed by entering this command:
Country-code Region-code Domain | ISO-name Name |
0 A FCC3 & FCCA | NA NO_COUNTRY_SET |
WiFi event types
Country-code Region-code Domain | ISO-name Name |
8 W NULL1 & WORLD | AL ALBANIA |
12 W NULL1 & WORLD | DZ ALGERIA |
16 A FCC3 & FCCA | AS AMERICAN SAMOA |
… … … | … … |
Event type | Description |
rogue-ap-detected | A rogue AP has been detected (generic). |
rogue-ap-off-air | A rogue AP is no longer detected on the RF side. |
rogue-ap-on-wire | A rogue AP has been detected on wire side (connected to AP or controller L2 network). |
rogue-ap-off-wire | A rogue AP is no longer detected on wire. |
rogue-ap-on-air | A rogue AP has been detected on the RF side. |
fake-ap-detected | A rogue AP broadcasting on the same SSIDs that you have in your managed APs has been detected. |
fake-ap-on-air | The above fake AP was detected on the RF side. |
The FortiAP CLI controls radio and network operation through the use of variables manipulated with the cfg command. There are also diagnostic commands.
The cfg command include the following
cfg -s | List variables. | |
cfg -a var=value | Add or change a variable value. | |
cfg -c | Commit the change to flash. | |
cfg -x | Reset settings to factory defaults. |
cfg -r var | Remove variable. |
cfg -e | Export variables. |
cfg -h | Display help for all commands. |
The configuration variables are:
Var | Description and Values |
AC_CTL_PORT | WiFi Controller control (CAPWAP) port. Default 5246. |
AC_DATA_CHAN_SEC | Data channel security.
0 – Clear text 1 – DTLS (encrypted) 2 – Accept either DTLS or clear text (default) |
AC_DISCOVERY_TYPE | 1 – Static. Specify WiFi Controllers
2 – DHCP 3 – DNS 5 – Broadcast 6 – Multicast 0 – Cycle through all of the discovery types until successful. |
AP_IPADDR
AP_NETMASK IPGW |
These variables set the FortiAP unit IP address, netmask and default gateway when ADDR_MODE is STATIC.
Default 192.168.1.2 255.255.255.0, gateway 192.168.1.1. |
AC_HOSTNAME_1
AC_HOSTNAME_2 AC_HOSTNAME_3 |
WiFi Controller host names for static discovery. |
AC_IPADDR_1
AC_IPADDR_2 AC_IPADDR_3 |
WiFi Controller IP addresses for static discovery. |
AC_DISCOVERY_DHCP_OPTION_CODE | Option code for DHCP server. Default 138. |
AC_DISCOVERY_MC_ADDR | Multicast address for controller discovery. Default 224.0.1.140. |
Var | Description and Values |
ADDR_MODE | How the FortiAP unit obtains its IP address and netmask.
DHCP – FortiGate interface assigns address. STATIC – Specify in AP_IPADDR and AP_NETMASK. Default is DHCP. |
ADMIN_TIMEOUT | Administrative timeout in minutes. Applies to Telnet and web-based manager sessions. Default is 5 minutes. |
AP_MGMT_VLAN_ID | Non-zero value applies VLAN ID for unit management.
Default: 0. |
AP_MODE | FortiAP operating mode.
0 – Thin AP (default) 2 – Unmanaged Site Survey mode. See SURVEY variables. |
BAUD_RATE | Console data rate: 9600, 19200, 38400, 57600, or 115200 baud. |
DNS_SERVER | DNS Server for clients. If ADDR_MODE is DHCP the DNS server is automatically assigned. |
FIRMWARE_UPGRADE | Default is 0. |
HTTP_ALLOW | Access to FortiAP web-based manager 1 – Yes (default), 0 – No. |
LED_STATE | Enable/disable status LEDs.
0 – LEDs enabled, 1 – LEDs disabled, 2 – follow AC setting. |
LOGIN_PASSWD | Administrator login password. By default this is empty. |
STP_MODE | Spanning Tree Protocol. 0 is off. 1 is on. |
TELNET_ALLOW | By default (value 0), Telnet access is closed when the FortiAP unit is authorized. Set value to 1 to keep Telnet always available. |
WTP_LOCATION | Optional string describing AP location. |
Mesh variables |
Var | Description and Values |
MESH_AP_BGSCAN | Enable or disable background mesh root AP scan.
0 – Disabled 1 – Enabled |
MESH_AP_BGSCAN_RSSI | If the root AP’s signal is weak, and lower than the received signal strength indicator (RSSI) threshold, the WiFi driver will immediately start a new round scan and ignore the configured MESH_AP_BGSCAN_PERIOD delays. Set the value between 0-127.
After the new round scan is finished, a scan done event is passed to wtp daemon to trigger roaming. |
MESH_AP_BGSCAN_PERIOD | Time in seconds that a delay period occurs between scans. Set the value between 1-3600. |
MESH_AP_BGSCAN_IDLE | Time in milliseconds. Set the value between 0-1000. |
MESH_AP_BGSCAN_INTV | Time in milliseconds between channel scans. Set the value between 200-16000. |
MESH_AP_BGSCAN_DUR | Time in milliseconds that the radio will continue scanning the channel. Set the value between 10-200. |
MESH_AP_SCANCHANLIST | Specify those channels to be scanned. |
MESH_AP_TYPE | Type of communication for backhaul to controller:
0 – Ethernet (default) 1 – WiFi mesh 2 – Ethernet with mesh backup support |
MESH_AP_SSID | SSID for mesh backhaul. Default: fortinet.mesh.root |
MESH_AP_BSSID | WiFi MAC address |
MESH_AP_PASSWD | Pre-shared key for mesh backhaul. |
MESH_ETH_BRIDGE | 1 – Bridge mesh WiFi SSID to FortiAP Ethernet port. This can be used for point-to-point bridge configuration. This is available only when MESH_AP_TYPE =1.
0 – No WiFi-Ethernet bridge (default). |
Var Description and Values | |
MESH_MAX_HOPS Maximum number of times packets can be passed from node to node on the mesh. Default is 4. | |
The following factors are summed and the FortiAP associates with the lowest scoring mesh AP. | |
MESH_SCORE_HOP_WEIGHT Multiplier for number of mesh hops from root. Default 50. | |
MESH_SCORE_CHAN_WEIGHT AP total RSSI multiplier. Default 1. | |
MESH_SCORE_RATE_WEIGHT Beacon data rate multiplier. Default 1. | |
Band weight (0 for 2.4GHz, 1 for 5GHz) multiplier. Default
MESH_SCORE_BAND_WEIGHT 100. |
|
MESH_SCORE_RSSI_WEIGHT AP channel RSSI multiplier. Default 100. | |
Survey variables | |
SURVEY_SSID SSID to broadcast in site survey mode (AP_MODE=2). | |
SURVEY_TX_POWER Transmitter power in site survey mode (AP_MODE=2). | |
SURVEY_CH_24 Site survey transmit channel for the 2.4Ghz band (default
6). |
|
Site survey transmit channel for the 5Ghz band (default
SURVEY_CH_50 36). |
|
SURVEY_BEACON_INTV Site survey beacon interval. Default 100msec. |
cw_diag | help | Display help for all diagnose commands. | |
cw_diag | uptime | Show daemon uptime. | |
cw_diag | –tlog | <on|off> | Turn on/off telnet log message. |
cw_diag | –clog | <on|off> | Turn on/off console log message. |
cw_diag 38400 | | baudrate [9600 | 19200 | 57600 | 115200] | Set the console baud rate. |
Previously, FortiAP accepted Telnet and HTTP connection to any virtual interfaces that have an IP address. For security reasons, Telnet and HTTP access are now limited to br0 or br.vlan for AP_MGMT_VLAN_ID.
Diagnose commands include:
cw_diag | plain-ctl [0|1] | Show or change current plain control setting. | |
cw_diag | sniff-cfg ip port | Set sniff server ip and port. | |
cw_diag | sniff [0|1|2] | Enable/disable sniff packet. | |
cw_diag | stats wl_intf | Show wl_intf status. | |
cw_diag | admin-timeout [30] | Set shell idle timeout in minutes. | |
cw_diag | -c | wtp-cfg | Show current wtp config parameters in control plane. |
cw_diag | -c | radio-cfg | Show current radio config parameters in control plane. |
cw_diag | -c | vap-cfg | Show current vaps in control plane. |
cw_diag | -c | ap-rogue | Show rogue APs pushed by AC for on-wire scan. |
cw_diag | -c | sta-rogue | Show rogue STAs pushed by AC for on-wire scan. |
cw_diag | -c | arp-req | Show scanned arp requests. |
cw_diag | -c | ap-scan | Show scanned APs. |
cw_diag | -c | sta-scan | Show scanned STAs. |
cw_diag | -c | sta-cap | Show scanned STA capabilities. |
cw_diag | -c | wids | Show scanned WIDS detections. |
cw_diag | -c | darrp | Show darrp radio channel. |
cw_diag | -c | mesh | Show mesh status. |
cw_diag | -c | mesh-veth-acinfo | Show mesh veth ac info, and mesh ether type. |
cw_diag | -c | mesh-veth-vap | Show mesh veth vap. |
cw_diag | -c | mesh-veth-host | Show mesh veth host. |
cw_diag | -c | mesh-ap | Show mesh ap candidates. |
cw_diag | -c | scan-clr-all | Flush all scanned AP/STA/ARPs. |
cw_diag | -c | ap-suppress | Show suppressed APs. |
cw_diag | -c | sta-deauth | De-authenticate an STA. |
Link aggregation can also be set in the CLI. Link aggregation is used to combine multiple network connections in parallel in order to increase throughput beyond what a single connection could sustain.