FortiOS 6.2.0 New Features Guide
FortiOS 6.2.0 New Features Guide
FortiOS 6.2.0 New Features Guide
Version 6.2.0
FORTINET DOCUMENT LIBRARY
https://docs.fortinet.com
FORTINET BLOG
https://blog.fortinet.com
NSE INSTITUTE
https://training.fortinet.com
FORTIGUARD CENTER
https://fortiguard.com/
FEEDBACK
Email: techdoc@fortinet.com
Change Log 8
Expanding Fabric Family 10
Telemetry Integration - New FTNT Products 10
Telemetry Integration - AWS Cloud Segments 14
SAML SSO for Fabric Devices 16
Split-Task VDOM Support 16
Dynamic Policy - Fabric Devices 22
Fabric Member Synchronization 24
Simplify FortiAnalyzer Pairing 24
FortiSandbox 26
FortiClient EMS 29
Security Rating 30
Security Rating - Extend Checks to FortiAnalyzer 31
Security Rating – Historical Rating Dashboard Widget 32
Comprehensive Report Extensions 33
Endpoint 36
Dynamic Policy – FortiClient EMS (Connector) 36
Captive Portal for Compliance Failure 40
FortiToken Cloud 42
Wireless 43
WiFi Location Map 43
Monitor and Suppress Phishing SSID 47
WiFi QoS Enhancement 49
Airtime Fairness 51
Extended Details on AP Drill Down 54
Troubleshooting – Extended Logging 57
Override WiFi Certificates (from GUI) 67
Wireless MAC Filter Updates 68
Change SSID to VDOM Object 70
Direct SNMP Monitoring 71
Switching 73
FortiLink Setup 73
Voice VLAN Auto-Assignment 74
Dynamic VLAN 'Name' Assignment from RADIUS Attribute 76
Netflow / IPFIX Support 77
QoS Assignment and Rate Limiting for Quarantined VLANs 78
Persistent MAC Learning (Sticky MAC) 79
Split Port Mode for QSFP ports 80
Virtual Switch Extensions 81
MSTI Support 84
FortiLink Auto Network Configuration Policy 84
FortiLink MCLAG configuration in GUI 86
FortiLink Network Sniffer Extension 87
Leverage LLDP to Simplify Security Fabric Negotiation 89
Change Log
2019-04-02 Simplified FortiClient EMS server configuration feature added: FortiClient EMS on
page 29.
2019-04-08 URL Certificate Blacklist and Decouple FortiSandbox Cloud from FortiCloud features
added.
2019-04-18 FortiGuard Distribution of Updated Apple Certificates (for token push notifications) on
page 395 added.
Global IP Address Information Database on page 251 added.
Action - Azure Function on page 227 added.
2019-11-20 Obtain full user information through the MS Exchange connector on page 98 added.
This section lists the new features added to FortiOS for the expanding fabric family.
l Telemetry Integration - New FTNT Products on page 10
l Telemetry Integration - AWS Cloud Segments on page 14
l SAML SSO for Fabric Devices on page 16
l Split-Task VDOM Support on page 16
l Dynamic Policy - Fabric Devices on page 22
l Fabric Member Synchronization on page 24
l Security Rating on page 30
l Endpoint on page 36
l Wireless on page 43
l Switching on page 73
l Leverage LLDP to Simplify Security Fabric Negotiation on page 89
With this version, you can add other Fortinet products to the Security Fabric. The following products are supported:
l FortiMail
l FortiWeb
l FortiADC
l FortiDDOS
l FortiWLC
In FortiGate, you can show device details and widgets in the following pages:
l Security Fabric Settings
l Security Fabric Physical Topology
l Security Fabric Logical Topology
l Dashboard widgets
Sample configuration
1. In Security Fabric > Settings, configure Fabric Devices so that they appear in the Topology field.
2. In the FortiGate Telemetry section, the Topology field shows the devices.
edit "FML-1"
set device-ip 172.18.64.48
set access-token xxxxxx
next
edit "FWB-1"
set device-ip 172.18.64.49
set access-token xxxxxx
next
end
end
1. Go to Dashboard > Main. The Security Fabric widget includes the Security Fabric devices.
1. When you add a widget, you can add Security Fabric devices.
This feature adds cloud segments to the Security Fabric topology view, including:
l Instance Details
l Instance ID
l Known CVEs
The AWS instance can be seeing in the Physical Topology at Security Fabric > Physical Topology.
The instance is connected through the Cloud, and shows the Instance ID.
Downstream clients also show an Instance ID, and CVEs that are discovered from AWS inspector are shown.
AWS is shown in the Logical Topology at Security Fabric > Logical Topology.
The subnet ID is shown beside the port, and the client devices are grouped accordingly.
When Security Fabric is enabled, the root FortiGate will be configured as the Identify Provider (IdP) by default. When
added to the Security Fabric, downstream FortiGates will automatically be configured as Service Providers (SP) and
provided all the links required for SAML communication. Administrators must still be authorized on each device, but log
in credentials are shared between devices. Once authorized, an administrator can move between fabric devices without
logging in again.
Optionally, the downstream FortiGate can also be manually configured as an SP and then linked to the root FortiGate.
See SAML SSO on page 306 for instructions.
The authentication service is provided by the root FortiGate using local system admin accounts for authentication. Any
of the administrator account types can be used for SAML log in. After successful authentication, the administrator logs
in to the first downstream FortiGate SP (see SAML SSO on page 306), and can then connect to other downstream
FortiGates that have the SSO account properly configured, without needing to provide credentials again.
This feature adds support for Security Fabric in split-task VDOM mode.
FortiGate Telemetry can now be enabled in split-task VDOM mode. FortiGate telemetry settings are available on the
Security Fabric > Settings page.
Telemetry settings are shown in both global and VDOM contexts, but in VDOM contexts only the Topology and
FortiTelemetry enabled interfaces fields are shown.
If the upstream FortiGate has split-task VDOM mode enabled, it can allow downstream FortiGates to join the Security
Fabric in the root and FG-traffic VDOMs. If the downstream FortiGate has split-task VDOM mode enabled, it can only
connect to the upstream FortiGate via the downstream FortiGate interface in the root VDOM.
Physical topology
The global Physical Topology page shows the root FortiGate and all downstream FortiGates that are in the same
Security Fabric.
The root or FG-traffic VDOMs' Physical Topology page shows the root FortiGate and only the downstream FortiGates
that connect to the current VDOM on the root FortiGate.
Logical topology
FortiGate interfaces are grouped by VDOMs. The global Logical Topology page shows the root FortiGate and all
downstream FortiGates that are in the same Security Fabric, including interfaces' connection information.
The root or FG-traffic VDOMs' Logical Topology page shows the root FortiGate and only the downstream FortiGates
that connect to the current VDOM on the root FortiGate, including interfaces' connection information.
The global Dashboard page shows the root FortiGate and all downstream FortiGates in the Security Fabric widget.
The root or FG-traffic VDOMs' Dashboard page shows the root FortiGate and only the downstream FortiGates that
connect to the current VDOM on the root FortiGate in the Security Fabric widget.
A new dynamic address group is added in 6.2, which represents the configured IP addresses of all Fortinet devices
connected to the Security Fabric. In this first phase, it includes FortiManager, FortiAnalyzer, FortiClient EMS, FortiMail,
FortiAP(s), and FortiSwitch(es). Like other dynamic address groups for fabric connectors, this can be used in IPv4
policies and objects.
Firewall address now includes a new default address object called FABRIC_DEVICE, and you can apply the address
object to the following types of policies:
l IPv4 firewall policy (including virtual wire pairs)
l IPv4 shaping policy
l IPv4 ACL policy
l Policy64 and Policy46 (IPv4 only)
l Consolidated policy (IPv4 only)
You cannot apply the FABRIC_DEVICE object to the following types of policies:
l All IPv6 policies
l IPv4 explicit proxy policy
You also cannot use the FABRIC_DEVICE object with the following settings:
l Custom/extension internet-service
l Exclusion of addrgrp
Initially the FABRIC_DEVICE object, does not have an address value. The address value is populated dynamically as
things change. As a result, you cannot edit the FABRIC_DEVICE object, add any addresses to the object, or remove
any addresses from the object.
The address values of the FABRIC_DEVICE object are populated based on:
l FortiAnalyzer IP (from the Fabric Settings pane)
l FortiManager IP (from the Fabric Settings pane)
l FortiMail IP (from the Fabric Settings pane)
l FortiClient EMS IP (from the Fabric Settings pane)
l FortiAP IPs (from the FortiAP Setup pane or DHCP)
l FortiSwitch IPs (from the FortiSwitch Setup page or DHCP)
Example of the FABRIC_DEVICE object applied in an IPv4 policy:
Example of the FABRIC_DEVICE object in the Edit Address pane. The pane includes only a Return button because
the object is read-only:
Example of the diagnose command, which is used to list what IP addresses are included in FABRIC_DEVICE. For now,
this is only method to list content in the FABRIC_DEVICE object:
FGT-300D_A (root) # diagnose firewall iprope list 100004
policy index=1 uuid_idx=25 action=accept
flag (8050108): redir nat master use_src pol_stats
flag2 (4000): resolve_sso
flag3 (20):
schedule(always)
cos_fwd=255 cos_rev=255
group=00100004 av=00004e20 au=00000000 split=00000000
host=0 chk_client_info=0x0 app_list=0 ips_view=0
This section lists new fabric member synchronization features added to FortiOS for the expanding fabric family.
l Simplify FortiAnalyzer Pairing on page 24
l FortiSandbox on page 26
l FortiClient EMS on page 29
This version simplifies the pairing of FortiAnalyzer and FortiGate by using certificate verification to allow the FortiGate
admin to preauthorize access.
When configuring FortiAnalyzer in the root FortiGate, FortiGate has an option to allow FortiAnalyzer to access the
FortiGate REST API. FortiGate verifies the FortiAnalyzer by retrieving the FortiAnalyzer serial number and checking it
against the FortiAnalyzer certificate. After verification, the FortiAnalyzer serial number is stored in the FortiGate
configuration.
Then on the FortiAnalyzer side, the admin authorizes FortiGates in the same Security Fabric. After authorization, the
FortiGates can form a Security Fabric in the FortiAnalyzer side without entering the admin credentials of the root
FortiGate.
Sample configuration
To authorize FortiGates in the same Security Fabric using the FortiAnalyzer GUI:
2. After a moment, the FortiGates can form a Security Fabric in the FortiAnalyzer without entering the admin
credentials of the root FortiGate.
FortiSandbox
FortiSandbox connection information is defined on the Security Fabric Settings page, and is now synchronized between
all fabric members.
l FortiSandbox Appliance:
l FortiSandbox Cloud:
3. Once the downstream FortiGate successfully joins the Security Fabric, FortiSandbox settings are synced from the
root FortiGate and cannot be changed from the downstream FortiGate.
l FortiSandbox Appliance:
l FortiSandbox Cloud:
FortiClient EMS
This feature simplifies enabling and configuring FortiClient EMS servers in the Security Fabric. Up to three EMS servers
can be added on the global Security Fabric Settings page using the servers' IP addresses, and all EMS settings are
synchronized between all fabric members.
6. Click Apply.
Security Rating
In 6.2, the Security Rating feature can verify FortiAnalyzer configurations and report the results for Compatible
Firmware and Admin Idle Timeout.
3. The Compatible Firmware and Admin Idle Timeout tests for FortiAnalyzer are now available:
l Compatible Firmware:
A new System Dashboard widget is added in FortiGate which retrieves and displays the historical security rating trends
for the Security Fabric.
This version adds a historical security rating score chart to the existing Security Rating Dashboard widget that shows the
security rating results over time.
The Security Rating Dashboard widget has two new views:
l A view to show the historical security rating scores over time, along with the industry average for comparison.
l A view to show historical security rating scores percentile over time.
The following are available in both views:
l You can select All Industries or My Industry.
l You can select All Regions or My Region.
l You can select Account Registered Region and Industry.
l The widget displays only one result per day from FortiAnalyzer.
The blue line represents the FortiGate Security Rating percentile against the selected Region and Industry.
versions.
l Choose to show full results or subsets such as failed only, etc.
Sample configuration
Security Rating Report with full results including passed and failed tests.
Endpoint
This section lists new endpoint features added to FortiOS for the expanding Fabric family:
l Dynamic Policy – FortiClient EMS (Connector) on page 36
l Captive Portal for Compliance Failure on page 40
l FortiToken Cloud on page 42
This feature introduces a dynamic policy connector for FortiClient EMS. This allows objects to be defined on the
FortiGate which map to tags/groups on EMS. EMS dynamically updates these endpoint groups when host compliance
or other events happen. This causes FortiOS to dynamically adjust the security policy based on those group definitions.
EMS can define compliance verification rules based on criteria such as certificates, the logged in domain, files present,
OS versions, running processes, and registry keys. When a FortiClient endpoint registers to EMS, EMS dynamically
groups the endpoint based on the compliance verification rules. FortiOS can receive the dynamic endpoint groups from
EMS via the FSSO protocol, using the new "fortiems" FSSO agent type which supports SSL and imports trusted
certificates.
After FortiOS pulls the tags from EMS via the FSSO protocol, you can create user groups based on the tags, then apply
dynamic firewall policies to the user groups. When host compliance or other events happen, EMS sends updates to
FortiOS to update the dynamic policies.
The following instructions assume that EMS is installed, configured, and has endpoints connected. For information on
configuring EMS, see the FortiClient EMS Administration Guide.
This feature is only available when using FortiOS with EMS 6.2.0 or later.
This example creates a compliance verification rule that applies to endpoints that have Windows 10 installed.
1. In EMS, go to Compliance Verification > Compliance Verification Rules, and click Add.
2. In the Name field, enter the desired rule name. Note that EMS uses the tag name to dynamically group endpoints,
not the rule name configured in this field.
3. Toggle Status on or off to enable or disable the rule.
4. For Type, select Windows, Mac, or Linux. This affects what rule types are available. In this example, Windows is
selected.
5. From the Rule dropdown list, select the rule type and configure the related options. Ensure you click the + button
after entering each criterion.
Certificate In the Subject and Issuer fields, enter the certificate subject and issuer. You
can enter multiple certificates using the + button. You can also use the NOT
option to indicate that the rule requires that a certain certificate is not present
for the endpoint.
The endpoint must satisfy all conditions to satisfy this rule. For example, if the
rule is configured to require certificate A, certificate B, and NOT certificate C,
then the endpoint must have both certificates A and B and not certificate C.
Logged in Domain In the Domain field, enter the domain name. You can enter multiple domain
names using the + button. If the rule is configured for multiple domains, the
endpoint is considered as satisfying the rule if it belongs to one of the
configured domains. This option is not available for Linux endpoints.
File In the File field, enter the file path. You can enter multiple files using the +
button. You can also use the NOT option to indicate that the rule requires that
a certain file is not present on the endpoint.
The endpoint must satisfy all conditions to satisfy this rule. For example, if the
rule is configured to require file A, file B, and NOT file C, then the endpoint
must have both files A and B and not file C.
OS Version From the OS Version field, select the OS version. You can enter multiple
OS versions using the + button. If the rule is configured for multiple
OS versions, the endpoint is considered as satisfying the rule if it has one of
the configured OS versions installed.
Running Process In the Running Process field, enter the process name. You can enter multiple
processes using the + button. You can also use the NOT option to indicate
that the rule requires that a certain process is not running on the endpoint.
The endpoint must satisfy all conditions to satisfy this rule. For example, if the
rule is configured to require process A, process B, and NOT process C, then
the endpoint must have both processes A and B running and process C not
running.
Registry Key In the Registry Key field, enter the registry key value. You can enter values
using the + button. You can also use the NOT option to indicate that the rule
requires that a certain registry key is not present on the endpoint.
The endpoint must satisfy all conditions to satisfy this rule. For example, if the
rule is configured to require registry key A, registry key B, and NOT registry key
C, then the endpoint must have both registry keys A and B and not registry key
C.
In this example, OS Version is selected from the Rule dropdown list, and Windows 10 is then selected from the
OS Version dropdown list.
6. Under Assign to, select All.
7. In the Tag endpoint as dropdown list, select an existing tag or enter a new tag. In this example, a new tag, WIN10_
EMS134, is created. EMS uses this tag to dynamically group together endpoints that satisfy the rule, as well as any
other rules that are configured to use this tag.
8. Click Save.
9. Go to Compliance Verification > Host Tag Monitor. All endpoints that have Windows 10 installed are shown
grouped by the WIN10_EMS134 tag.
In the FortiOS CLI, run the following commands. In this example, the FSSO agent name is ems_02, and the
EMS server is located at 172.16.200.134.
config user fsso
edit "ems_02"
set server "172.16.200.134"
set password 123456
set type fortiems
set ssl enable
set ssl-trusted-cert "Fortinet_CA"
next
end
In the FortiOS CLI, run the following commands. In this example, the FSSO groups for two FSSO agents, ems_02 and
ems_03, are being configured. The WIN10_EMS134 dynamic endpoint group is added to the ems_02 FSSO group, and
the MAC_TEAMVIEWER_EMS135 dynamic endpoint group is added to the ems_03 FSSO group.
config user adgrp
edit "TAG_WIN10_EMS134"
set server-name "ems_02"
next
edit "TAG_MAC_TEAMVIEWER_EMS135"
set server-name "ems_03"
next
end
1. In FortiOS, go to User & Device > User Groups. Click Create New.
2. In the Name field, enter the desired name.
3. For Type, select Fortinet Single Sign-On (FSSO).
4. In the Members field, click +. The Select Entries pane appears. You can identify the dynamic endpoint groups
pulled from EMS because the names begin with TAG_, followed by the tag name from EMS.
5. Select the desired dynamic endpoint groups. Endpoints that currently belong to this dynamic endpoint group in
EMS will be members of this FortiOS user group.
6. Click OK.
You can now create a dynamic firewall policy for the user group. In this example, an IPv4 policy is created for the user
group.
1. In FortiOS, go to Policy & Objects > IPv4 Policy. Click Create New.
2. In the Source field, click +. The Select Entries pane appears. On the User tab, select the user group configured
above.
3. Configure other options as desired. Click OK.
4. Go to Policy & Objects > IPv4 Policy to ensure the policy was created and applied to the desired user group.
FortiOS will update this policy when it receives updates from EMS.
FortiOS 6.2.0 replaces the endpoint compliance profile with the EMS connector. FortiGate supports a customizable
captive portal to direct users to install or enable the required software.
FortiOS supports per-policy custom disclaimers. For example, you may want to configure three firewall policies, each of
which matches traffic from endpoints with different FortiClient statuses:
Endpoint does not have Traffic matches a firewall policy that displays an in-browser warning to install
FortiClient installed. FortiClient from the provided link.
Endpoint has FortiClient Traffic matches a dynamic firewall policy which allows the endpoint to reach its
installed, registered to EMS, and destination via this policy.
connected to the FortiGate.
Endpoint is deregistered from Traffic matches another dynamic firewall policy that displays warning to register
EMS and disconnected from the FortiClient to EMS.
FortiGate.
1. In the FortiOS CLI, run the following commands to enable per-policy disclaimer messages:
config user setting
set auth-cert "Fortinet_Factory"
set per-policy-disclaimer enable
end
2. Go to Policy & Objects > IPv4 Policy and select the desired policy for when the endpoint does not have FortiClient
installed.
3. Under Disclaimer Options, enable Display Disclaimer.
4. Enable Customize Messages.
5. Click Edit Disclaimer Message.
6. FortiOS displays the default disclaimer message. Edit the disclaimer to warn users to install FortiClient and provide
the FortiClient download link. Click Save.
7. Repeat steps 2-6 for each desired policy, creating custom disclaimers as desired.
FortiToken Cloud
This feature adds centralized token authentication in the cloud, as opposed to built into FortiGate or FortiAuthenticator,
simplifying FortiToken management and provisioning.
2. Assign the FortiCloud token to local users or administrators using the fortitoken-cloud option:
config user local
edit "test-cl3"
set type password
set two-factor fortitoken-cloud
set email-to .........
...
next
end
Command Description
diagnose ftk-cloud show users Show all current users on the FortiCloud server.
diagnose ftk-cloud delete user Delete the specified user from FortiCloud.
<username>
Command Description
diagnose ftk-cloud sync Update the information on the FortiCloud server after changing an email address
or phone number on the FortiGate.
diagnose ftk-cloud server Change the current FortiCloud server. All FortiCloud related operations on the
<server_ip> FortiGate will be synchronized with the new server.
Wireless
This section lists new wireless features added to FortiOS for the expanding fabric family.
l WiFi Location Map on page 43
l Monitor and Suppress Phishing SSID on page 47
l WiFi QoS Enhancement on page 49
l Airtime Fairness on page 51
l Extended Details on AP Drill Down on page 54
l Troubleshooting – Extended Logging on page 57
l Override WiFi Certificates (from GUI) on page 67
l Wireless MAC Filter Updates on page 68
l Change SSID to VDOM Object on page 70
l Direct SNMP Monitoring on page 71
This feature allows you to upload custom maps or floor plans and then place FortiAP units on the map. Wifi Maps show
real-time status and alerts for the FortiAP units on the map. This features gives you an intuitive view of the location and
status of each FortiAP unit on the map.
3. Click Upload and specify a map in PNG, JPEG, or GIF format to be uploaded.
a. Enter the Map name, for example, Level-2.
b. If you want, enable Image grayscale to change a color map to grayscale.
c. Set Image opacity to specify map transparency.
4. Click OK.
After setting up a WiFi map, you can place FortiAP units on the map.
5. At the top left, click the lock icon to modify the map; and then click the Unplaced AP(s) icon to display the list of
unplaced APs.
6. Drag and drop each FortiAP unit onto its location on the map.
7. When all FortiAP units have been placed on the map, click the lock icon.
The WiFi map shows where each FortiAP unit is located.
To view a FortiAP unit's operating data, hover over that FortiAP icon.
To view a FortiAP unit's detailed operating data, click that FortiAP icon.
In Wifi Maps, you can select to show the 2.4 GHz or 5 GHz band or both. You can also show numerical operating
information such as client count, channel, radio TX power, and channel utilization.
To configure WiFi map settings using CLI commands, see the following examples:
In addition to rogue AP detection, wireless administrators should also be concerned about phishing SSIDs, which are
defined as either:
l An SSID defined on FortiGate that is broadcast from an uncontrolled AP
l A pre-defined pattern for an offending SSID pattern
For example, you could define any SSID that contains your company name to be a phishing SSID.
This new feature enables FortiAP to monitor and report these SSIDs in logs and to optionally suppress them.
The set phishing-ssid-detect enable|disable option enables or disables the phishing SSID detection
feature. The default setting is enable.
The set fake-ssid-action log|suppress option defines what action FortiGate takes after detecting a fake
SSID. The default setting is log, and can be set to either one or both.
The set ssid-pattern OFFENDING* option defines what criteria which will be used to match an offending
SSID. In this case, it means all SSID names with leading string OFFENDING, which is not case-sensitive.
The set action log|suppress defines what action FortiGate takes after detecting the corresponding offending
SSID pattern entry. The default setting is log and can be set to either one or both.
Log examples
Following is a sample of the log that is generated when a fake SSID is first detected:
1: date=2019-03-01 time=14:53:23 logid="0104043567" type="event" subtype="wireless"
level="warning" vd="root" eventtime=1551480803 logdesc="Fake AP detected" ssid="CORP_
WIFI_ACCESS" bssid="08:5b:0e:18:1b:d0" aptype=0 rate=130 radioband="802.11n-5G"
channel=149 action="fake-ap-detected" manuf="Fortinet, Inc." security="WPA2 Personal"
encryption="AES" signal=-41 noise=-95 live=173397 age=0 onwire="no"
detectionmethod="N/A" stamac="N/A" apscan="N/A" sndetected="FP321C3X15001615"
radioiddetected=1 stacount=0 snclosest="FP321C3X15001615" radioidclosest=1 apstatus=0
msg="Detected Fake AP CORP_WIFI_ACCESS 08:5b:0e:18:1b:d0 chan 149 live 173397 age 0"
Following is a sample of the log that is periodically generated when a fake SSID is continuously detected:
1: date=2019-03-01 time=14:58:53 logid="0104043568" type="event" subtype="wireless"
level="warning" vd="root" eventtime=1551481133 logdesc="Fake AP on air" ssid="CORP_
WIFI_ACCESS" bssid="08:5b:0e:18:1b:d0" aptype=0 rate=130 radioband="802.11n-5G"
channel=149 action="fake-ap-on-air" manuf="Fortinet, Inc." security="WPA2 Personal"
encryption="AES" signal=-41 noise=-95 live=173728 age=330 onwire="no"
detectionmethod="N/A" stamac="N/A" apscan="N/A" sndetected="N/A" radioiddetected=0
stacount=0 snclosest="FP321C3X15001615" radioidclosest=1 apstatus=0 msg="Fake AP On-
air CORP_WIFI_ACCESS 08:5b:0e:18:1b:d0 chan 149 live 173728 age 330"
Following is a sample of the log that is generated when a fake SSID is suppressed:
1: date=2019-03-01 time=14:53:23 logid="0104043569" type="event" subtype="wireless"
level="warning" vd="root" eventtime=1551480803 logdesc="Rogue AP suppressed"
ssid="CORP_WIFI_ACCESS" bssid="08:5b:0e:18:1b:d0" aptype=0 rate=130
radioband="802.11n-5G" channel=149 action="rogue-ap-suppressed" manuf="Fortinet, Inc."
security="WPA2 Personal" encryption="AES" signal=-41 noise=-95 live=173397 age=0
Following a sample of the log that is generated when an offending SSID is first detected:
1: date=2019-03-01 time=14:53:33 logid="0104043619" type="event" subtype="wireless"
level="warning" vd="root" eventtime=1551480811 logdesc="Offending AP detected"
ssid="OFFENDING_SSID" bssid="1a:5b:0e:b5:f3:bf" aptype=0 rate=130 radioband="802.11n-
5G" channel=153 action="offending-ap-detected" manuf="Fortinet, Inc." security="WPA2
Personal" encryption="AES" signal=-41 noise=-95 live=173406 age=8 onwire="no"
detectionmethod="N/A" stamac="N/A" apscan="N/A" sndetected="FP321C3X15001615"
radioiddetected=1 stacount=0 snclosest="FP321C3X15001615" radioidclosest=1 apstatus=0
msg="Detected Offending AP OFFENDING_SSID 1a:5b:0e:b5:f3:bf chan 153 live 173406 age
8"
Following is a sample of a log that is periodically generated when an offending SSID is continuously detected:
1: date=2019-03-01 time=14:55:54 logid="0104043620" type="event" subtype="wireless"
level="warning" vd="root" eventtime=1551480952 logdesc="Offending AP on air"
ssid="OFFENDING_SSID_TEST" bssid="9a:5b:0e:18:1b:d0" aptype=0 rate=130
radioband="802.11n-5G" channel=149 action="offending-ap-on-air" manuf="N/A"
security="WPA2 Personal" encryption="AES" signal=-41 noise=-95 live=173548 age=150
onwire="no" detectionmethod="N/A" stamac="N/A" apscan="N/A" sndetected="N/A"
radioiddetected=0 stacount=0 snclosest="FP321C3X15001615" radioidclosest=1 apstatus=0
msg="Offending AP On-air OFFENDING_SSID_TEST 9a:5b:0e:18:1b:d0 chan 149 live 173548
age 150"
Following is a sample of the log that is generated when an offending SSID is suppressed:
1: date=2019-03-01 time=14:53:33 logid="0104043569" type="event" subtype="wireless"
level="warning" vd="root" eventtime=1551480811 logdesc="Rogue AP suppressed"
ssid="OFFENDING_SSID" bssid="1a:5b:0e:b5:f3:bf" aptype=0 rate=130 radioband="802.11n-
5G" channel=153 action="rogue-ap-suppressed" manuf="Fortinet, Inc." security="WPA2
Personal" encryption="AES" signal=-41 noise=-95 live=173406 age=8 onwire="no"
detectionmethod="N/A" stamac="N/A" apscan="N/A" sndetected="N/A" radioiddetected=0
stacount=0 snclosest="FP321C3X15001615" radioidclosest=1 apstatus=0 msg="AP OFFENDING_
SSID 1a:5b:0e:b5:f3:bf chan 153 live 173406 age 8"
This feature enables FortiGate to preserve the WiFi Multi-Media (WMM) QoS marking of packets by translating them to
Differentiated Services Code Point (DSCP) values when forwarding upstream.
The following QoS profile commands are added to the CLI:
wmm-dscp-marking Enable/disable WMM Differentiated Services Code Point (DSCP) marking (default =
disable).
wmm-vo-dscp DSCP marking for voice access (default = 48).
wmm-vi-dscp DSCP marking for video access (default = 32).
1. Create a QoS profile with wmm-dscp-marking enabled, and modify the wmm-dscp settings:
config wireless-controller qos-profile
edit qos-wifi
set wmm-dscp-marking enable
set wmm-vo-dscp 44
set wmm-vi-dscp 24
set wmm-be-dscp 12
set wmm-bk-dscp 6
end
be dscp : 12
bk dscp : 6
4. Verify that, when sending traffic from a client with a WMM setting of VO, the FortiGate receives the packets with a
DSCP TID value or 44:
5. Verify that, when sending traffic from a client with a WMM setting of VI, the FortiGate receives the packets with a
DSCP TID value or 24:
6. Verify that, when sending traffic from a client with a WMM setting of BE, the FortiGate receives the packets with a
DSCP TID value or 12:
7. Verify that, when sending traffic from a client with a WMM setting of BK, the FortiGate receives the packets with a
DSCP TID value or 6:
Airtime Fairness
WiFi has a natural tendency for clients farther away or clients at lower data rates to monopolize the airtime and drag
down the overall performance. Airtime fairness helps to improve the overall network performance in these conditions.
Airtime fairness has these characteristics:
l Only applies to downlink traffic.
l Can be set on both 2.4 GHz and 5 GHz radio bands.
l Can be set per-SSID. Each VAP is granted airtime according to the percentage assigned to the VAP.
l Can apply to all kinds of VAP (Bridge, Tunnel, or Mesh) and all kinds of authentication (Open, PSK, or Enterprise).
l Only applies to data and is not for control or management.
Airtime fairness is balanced from TX side from AP to client since that's the only direction under the control of AP.
For example, there are two Bridge mode SSIDs with a wireless client and an airtime fairness weight of 80% and 20%.
Using WaveDynamix to simulate the same traffic from Ethernet to the wireless client, the traffic for each SSID matches
the airtime fairness weight assigned to them.
Airtime fairness is not related to SSID type or authentication type. In this example, it uses Bridge mode SSID and Open
Authentication.
You must use the CLI to use this feature.
The default atf-weight is 20 so there is no need to set this option for atf_br2.
config wireless-controller vap
edit "atf_br1"
set atf-weight 80
set ssid "atf_br1"
set security open
set local-bridging enable
set schedule "always"
next
end
This example uses one FAP-S423E unit and only enable airtime fairness on the 5 GHz radio band.
config wireless-controller wtp-profile
edit "S423E_atf"
config platform
set type S423E
end
config radio-1
set mode disabled
end
config radio-2
set band 802.11ac
set airtime-fairness enable
Using WaveDynamix to create two same clients connected with two SSIDs, downlink traffic is passed from Ethernet to
the wireless client with the same bit rate.
This example shows tx_bytes from atf_br1 is almost four times higher than atf_br2.
This feature provides extended details of an AP. On the Managed FortiAPs page, you can drill down to view all
available details of a FortiAP, including:
l AP system information.
l Dynamic health and performance information.
l Dynamic radio and client details.
l Relevant links such as location of the AP in the location map.
Sample topology
Sample configuration
In WiFi & Switch Controller > Managed FortiAPs, right-click a FortiAP and select Drill Down to Details.
If a FortiAP is on a WiFi Map, click the Locate button and that FortiAP is highlighted with a flashing yellow circle on the
WiFi Map.
Click Edit to open the Managed FortiAP page to show the FortiAP's operation information and a summary of its health
status. Click View More Details to open the details pane.
On the WiFi Map, click a FortiAP icon to open its details pane.
This version adds new logging information in four key areas to aid in wireless troubleshooting: Association,
Authentication, DHCP, and DNS.
In previous versions, there were not enough detailed wireless event logs to show client connection procession, and IT
administrators sometimes had difficulty troubleshooting wireless connection problems by checking logs. In this version,
the FortiAP can send more detailed events of client connections (such as probe, associate, authentication, 4-way
handshake, DHCP), and FortiGate can create associated logs of these event.
New probe, authentication, and associate logs when wireless clients try to connect a broadcasted SSID
with any security-mode
New WPA 4-Way handshake logs when wireless clients try to connect WPA2-Personal/WPA2-Enterprise
SSID
New RADIUS authentication logs when clients connect WPA2-Enterprise with User-group or Radius-auth
SSID
New RADIUS MAC authentication logs when clients try to connect a SSID with radius-mac-auth enabled
RADIUS MAC authenticate success log when client passes RADIUS MAC authentication
RADIUS MAC authenticate failure log when client fails to pass RADIUS MAC authentication
New Fast-BSS-Transition (FT) logs when 802.11r clients roam between 2 FAPs
This feature enables selecting an uploaded WiFi certificate and WiFi CA certificate in the GUI, and not just the CLI.
3. Select the WiFi CA certificate from the WiFi CA certificate dropdown menu.
This feature changes the MAC filter function on SSIDs so that it is only based on the MAC address of clients. Previously,
the MAC filter worked with device-detection and clients could be filtered by MAC address or device type.
The filter configuration in the CLI is moved from user device and user device-access-list to wireless-
controller address and wireless-controller addrgrp respectively.
The new MAC filter function is independent from the security mode of the SSID. To enable it on an SSID, the wireless
controller address and address group must be configured.
1. Create a wireless controller address with the client's MAC address, and set the policy to deny:
config wireless-controller address
edit "client_1"
set mac b4:ae:2b:cb:d1:72
set policy deny
next
end
2. Create a wireless controller address group using the above address and setting the default policy to allow:
config wireless-controller addrgrp
edit mac_grp
set addresses "client_1"
set default-policy allow
next
end
The client's MAC address (b4:ae:2b:cb:d1:72 in this example) will be denied a connection to the SSID (Fortinet-
psk), but other clients (such as e0:33:8e:e9:65:01) will be allowed to connect.
1. Create a wireless controller address with the client's MAC address, and set the policy to allow:
config wireless-controller address
edit "client_1"
set mac b4:ae:2b:cb:d1:72
set policy allow
next
end
2. Create a wireless controller address group using the above address and setting the default policy to deny:
config wireless-controller addrgrp
edit mac_grp
set addresses "client_1"
set default-policy deny
next
end
The client's MAC address (b4:ae:2b:cb:d1:73 in this example) will be allowed to connect to the SSID (Fortinet-
psk), but other clients (such as e0:33:8e:e9:65:01) will be denied a connection.
This feature changes the wireless-controller VAP (for SSID configuration) from a global object to a VDOM object,
simplifying tracking the object reference count. It also removes the vdom setting from VAP configuration. When
multi-vdom is enabled on a FortiGate, the wireless-controller VAP can be added, edited, or deleted only inside of a
VDOM.
next
end
(vdom2) #
3. When vdom-mode is multi-vdom, references to user-group and radius can be checked correctly when they are
used by a VAP interface:
l A VAP interface with security-mode set to WPA2-Enterprise and RADIUS authentication:
(vdom2) # show wireless-controller vap new
config wireless-controller vap
edit "new"
set ssid "new"
set security wpa2-only-enterprise
set auth radius
set radius-server "peap"
next
end
(vdom2) # diagnose sys cmdb refcnt show user.radius.name peap
entry used by table wireless-controller.vap:name 'new'
l A VAP interface with security-mode set to WPA2-Enterprise and User-group authentication:
(vdom2) # show wireless-controller vap new
config wireless-controller vap
edit "new"
set ssid "new"
set security wpa2-only-enterprise
set auth usergroup
set usergroup "group-radius"
next
end
(vdom2) # diagnose sys cmdb refcnt show user.group.name group-radius
entry used by child table usergroup:name 'group-radius' of table wireless-
controller.vap:name 'new'
This feature enables SNMP directly on FortiAP by implementing a SNMPD daemon/subagent on the FortiAP side.
FortiAP-S and FortiAP-W2 6.2 and later support SNMP query and trap messages according to the wireless controller
SNMP settings pushed from the FortiGate device.
The below example shows an Ubuntu-OS querying a FortiAP 222E unit with the snmpwalk command. The SNMP
agent software has the FORTINET-FORTIAP-MIB already imported.
tester@ControlPC:~$ snmpwalk -v 2c -c QAMikeAn 172.18.56.32 .1.3.6.1.4.1.12356.120.1
FORTINET-FORTIAP-MIB::fapVersion.0 = STRING: FP222E-v6.2-build0231
FORTINET-FORTIAP-MIB::fapSerialNum.0 = STRING: FP222E3X17000073
FORTINET-FORTIAP-MIB::fapHostName.0 = STRING: FortiAP-222E
FORTINET-FORTIAP-MIB::fapRegionCode.0 = STRING: A
FORTINET-FORTIAP-MIB::fapBaseMacAddr.0 = STRING: 70:4c:a5:5d:ea:d0
FORTINET-FORTIAP-MIB::fapBiosVer.0 = STRING: 04000002
FORTINET-FORTIAP-MIB::fapBiosDataVer.0 = INTEGER: 3
FORTINET-FORTIAP-MIB::fapSysPartNum.0 = STRING: 20844-04
Five kinds of trap messages can be sent by the FortiAP-S and FortiAP-W2 devices:
l fapDevUp: Indicates that the specified AP device is up.
l CpuOverloadfap: Indicates that the CPU usage of the specified AP has exceeded the configured threshold.
l MemOverload: Indicates that the memory usage of the specified AP has exceeded the configured threshold.
l fapDevDown: Indicates that the specified AP device is down.
l fapfapAcConnected: Indicates that the specified AP device has connected to the specified AC.
The following screenshot shows an SNMP trap receiver (SnmpB) that has received one fapDevUp trap message from a
FortiAP unit (serial number: FP222E3X17000000).
Switching
This section lists new switching features added to FortiOS for the expanding fabric family.
l FortiLink Setup on page 73
l Voice VLAN Auto-Assignment on page 74
l Dynamic VLAN 'Name' Assignment from RADIUS Attribute on page 76
l Netflow / IPFIX Support on page 77
l QoS Assignment and Rate Limiting for Quarantined VLANs on page 78
l Persistent MAC Learning (Sticky MAC) on page 79
l Split Port Mode for QSFP ports on page 80
l Virtual Switch Extensions on page 81
l MSTI Support on page 84
l FortiLink Auto Network Configuration Policy on page 84
l FortiLink MCLAG configuration in GUI on page 86
l FortiLink Network Sniffer Extension on page 87
FortiLink Setup
Use WiFI & Switch Controller > FortiLink Interface to create or edit FortiLink interfaces. The available options depend
on the capability of the FortiGate model.
By automatically creating FortiLink interfaces as a logical aggregate or hard/soft switch, you can modify the FortiLink
interfaces. If the physical port in use changes, you don't need to migrate existing policies.
You can leverage LLDP-MED to assign voice traffic to the desired voice VLAN. After detection and setup, the IP phone
on the network is segmented to its own VLAN for policy, prioritization, and reporting. The LLDP reception capabilities in
FortiOS have been extended to support LLDP-MED assignment for voice, voice signaling, guest, guest voice signaling,
softphone, video conferencing, streaming video, and video signaling.
You can configure this feature using the FortiOS CLI. Configuration consists of the following steps:
1. Setting up the VLAN for the voice device
2. Setting up the DHCP server for the voice VLAN
3. Setting up the LLDP network policy
4. Enabling LLDP on the physical interface that the VLAN belongs to
5. Applying the LLDP network policy on the physical interface
6. Confirming that the VLAN was assigned
To enable LLDP on the physical interface that the VLAN belongs to:
To confirm that the VLAN was assigned as expected, connect an IP phone to the network. Check the IP address on the
phone. The IP address should belong to the voice VLAN.
You can also sniff on the FortiGate incoming interface to see if traffic from the IP phone has the desired VLAN tag.
In the example commands above, the voice VLAN was configured as VLAN 100. Therefore, voice traffic from the IP
phone should be in VLAN 100.
Starting in 6.2, when FortiSwitch receives a VLAN assignment from RADIUS, it determines if the data is an integer or
string representation. If the representation is an integer, FortiSwitch assigns the VLAN. If the representation is a string,
the 802.1x agent will search each VLAN's description field for all VLANs (names defined by FortiOS VLAN description).
If found, the 802.1x agent will make the assignment.
Example
On the FortiGate, all VLANs are specified as a system interface. Each system interface has a well-defined and unique
name. When running FortiLink, the switch has no knowledge of the name association. The switch communicates
directly with the RADIUS server and needs to know the mapping to make the proper selection.
As a result, this information must be provided to the switch. In order to make the feature generic and applicable to the
switch in standalone mode as well, the system interface description field is leveraged. The switch-controller
synchronizes this field to the switch for information purposes, and the description-to-description synchronization has
been removed. All descriptions on the FortiGate remain on the FortiGate. The switch-controller synchronizes the
FortiGate system interface name to the switch VLAN description.
When FortiSwitch receives a VLAN assignment from RADIUS, it determines if the data is an integer or string
representation. If the representation is an integer, FortiSwitch assigns the VLAN. If the representation is a string, the
802.1x agent will search each VLAN's description field for all VLANs (names defined by FortiOS VLAN description). If
found, the 802.1x agent will make the assignment.
Support for Netflow (v1, v5, v9) and IPFIX (IP Flow Information Export) is added to FortiSwitch 6.2, and the resulting
data will be available to FortiAnalyzer (and FortiView) for new traffic statistics and topology views. Traffic sampling data
can be used to show which users or devices behind switches are generating the highest traffic in those networks.
You can now configure Netflow/IPFIX on managed FortiSwitch units on switch controller.
You can configure flow-tracking related parameters by using the default values:
# config switch-controller flow-tracking
(flow-tracking) # get
sample-mode : perimeter
sample-rate : 512
format : netflow9
collector-ip : 0.0.0.0 ------> all-zero IP address implies disabled
collector-port : 0
transport : udp
level : ip
filter : -------> complies with tcpdump/wireshark filter syntax
max-export-pkt-size : 512
timeout-general : 3600
timeout-icmp : 300
timeout-max : 604800
timeout-tcp : 3600
timeout-tcp-fin : 300
timeout-tcp-rst : 120
timeout-udp : 300
aggregates:
When devices are quarantined, they are isolated from the rest of the network. However, they can still impact the
network if not controlled beyond isolation. A quarantined host, which offers heavy traffic, could congest the network and
create a DOS-style reduction in service to authorized hosts.
Within the quarantined VLAN, two restrictions are available within the network:
l Traffic policing (also known as rate limiting)
l QoS (Quality of Service) assignment (also known as priority assignment)
Each quarantined host's traffic can be subject to rate limiting and priority adjustment. This reduces the impact that any
quarantined host can have on authorized traffic on the network.
You can only configure this feature by using the CLI.
config switch-controller traffic-policy
(traffic-policy) # get
== [ quarantine ] -----> newly added pre-defined traffic-policy for quar-
antine (not only for quarantine, can be applied to other switch vlan interface based on
configuration)
name: quarantine
== [ sniffer ]
name: sniffer
(traffic-policy) # edit quarantine
(quarantine) # show
config switch-controller traffic-policy
edit "quarantine"
set description "Rate control for quarantined traffic"
set guaranteed-bandwidth 163840
set guaranteed-burst 8192
set maximum-burst 163840
set cos-queue 0
next
end
next
end
end
Persistent MAC learning or sticky MAC is a port security feature where dynamically learned MAC addresses are retained
when a switch or interface comes back online. The benefits of this feature include:
l Prevent traffic loss from trusted workstations and servers since there is no need to relearn MAC address after a
restart.
l Protect the switch and the whole network when combined with MAC-learning-limit against security attacks such as
Layer 2 DoS and overflow attacks.
Persistent MAC learning is configured in FortiGate and implemented in FortiSwitch.
This feature is disabled by default. You can use persistent MAC learning together with MAC limiting to restrict the
number of persistent MAC addresses.
This feature is hardware and CPU intensive and can take several minutes depending on the number of entries.
You can only use CLI to configure this feature.
end
next
end
Before saving sticky Mac entries into CMDB, you might want to delete the unsaved sticky MAC items so that only the
items you want are saved.
Saving sticky MAC items copies the sticky MAC items from memory to CMDB on FortiSwitches and FortiGates.
The quad small form-factor pluggable transceiver (QSFP/QSPF28) is a module that offers high-density 40/100 Gigabit
Ethernet connectivity options for data center and high-performance computing networks. The QSFP transceiver module
is a hot-swappable, parallel fiber-optic/copper module with four independent optical transmit and receive channels.
These channels can terminate in another Ethernet QSFP transceiver, or the channels can be broken out to four separate
physical ports.
Configuration of which FortiSwitch ports are split is controlled directly on the FortiSwitch. An administrator needs to
manually log into the FortiSwitch and set the desired split port configuration. After a split port configuration change is
made on the FortiSwitch, it will automatically reboot. If the FortiSwitch was previously discovered or authorized, it
should be deleted to allow the switch to be newly discovery again.
This feature requires a FortiSwitch model with SFP+ 40G ports, and FortiSwitch must be in
Fortlink mode when changing the split configuration.
To use FortiSwitch with split ports with the switch controller (previously discovered):
To use FortiSwitch with split ports with the switch controller (out of the box with factory defaults):
The Virtual Switch concept was introduced in previous releases. It provides a container for physical ports to be loaned
out to other VDOMs, which allows local management of the resource. In the original feature, only a minimum of switch
capability was introduced, such as VLAN, allowed-vlan, status, speed, poe-status, and poe-reset.
l port-security-policy
l trunk ports (with some limitations)
Example
The following example shows how to export managed FortiSwitch ports to multi-tenant VDOMs. Some of the
capabilities are available in previous releases of FortiOS, and the 6.2.0 release expands the functionality.
1. Configure switch VLAN interfaces, and assign them to the tenant VDOM:
In this example, the owner VDOM is root, and the tenant VDOM is vdom2.
(root) # config system interface
edit "tenant-vlan1"
set vdom "vdom2"
set device-identification enable
set fortiheart beat enable
set role lan
set snmp-index 34
set interface "aggr1"
set vlanid 101
next
end
2. In the tenant VDOM, designate default-virtual-switch-vlan, which is used to set the native VLAN of
ports leased from the owner VDOM:
(vdom2) # config switch-controller global
set default-virtual-switch-vlan "tenant-vlan1"
end
3. Owner vdom admin can export managed fsw ports to tenant vdom, as below
(root) # conf switch-controller managed-switch
(managed-switch) # edit S248EPTF1800XXXX
(S248EPTF1800XXXX) # conf ports
(ports) # edit port1
(port1) # set export-to ?
<string> string please input string value
root vdom
vdom1 vdom
vdom2 vdom
vdom3 vdom
(port1) # set export-to vdom2
(port1) # end
Alternatively, the admin of the owner VDOM can export managed FortiSwitch ports to shared virtual-switch pools
for the tenant VDOM to pick, for example:
(root) # config switch-controller virtual-port-pool
edit "pool1"
next
end
(root) # conf switch-controller managed-switch
(managed-switch) # edit S248EPTF18001384
(S248EPTF18001384) # conf ports
(ports) # edit port8
(port8) # set export-to-pool pool1
(port8) # next
(ports) # edit port9
MSTI Support
In 6.0, the switch controller maps all user VLANs into the MSTI-CST (common spanning tree) instance 0. While
reserving MSTI-0 (CST) and MSTI-15 for FortiLink management VLAN=4094. In 6.2, the administrator can control
MSTI 1-14.
Each instance is a full and complete spanning tree. Any user VLAN may be mapped to any instance, allowing the
spanning trees to have different topologies for each MSTI. Each instance allows the setting of various parameters such
as cost and priority.
You must configure this feature by using the CLI.
(stp-instance) # edit 1
# get
id : 1
priority : 32768 ------> Default priority
(1) # set priority 8192
(1) # end
In 6.0, FortiLink supports automatic network detection and configuration. As links can automatically appear and
disappear, this presents challenges for customization because administrators can only select the default QoS policy
which is applied to all FortiSwitch units in the network. In some cases, this is enough, but larger and more complex
topologies require more flexibility.
In 6.2, the Switch Controller introduces a network auto-config option, which contains configurable defaults, policy
customization, and an individual interface override. This gives administrators simple and flexible control.
Following is a description of these options:
auto-config default Provides the default actions for the first hop (fgt-policy) and lower-tier
devices (isl-policy).
auto-config policy A database containing policies that can be applied as a system-wide default or to
a specific interface.
auto-config custom Allows for the override of the auto-config default on a specific interface.
This information is retained and is reapplied if an interface leaves and then is
rediscovered.
edit S524DN4K1500XXXX
new entry 'S524DN4K1500XXXX' added
get
switch-id : S524DN4K1500XXXX
policy : default
next
end
next
end
In this version, you can enable MCLAG in the GUI and view ports grouped by trunks. You need to configure ports from
two switches, that is, two MCLAG peer switches to be included in one MCLAG.
Sample configuration
In WiFi & Switch Controller > FortiSwitch Ports, there is a new MC-LAG option.
In WiFi & Switch Controller > FortiSwitch Ports, there is a separate Trunk view.
In 6.0, the switch controller introduced traffic mirroring with a single switch. This provides a general capability, but can
result in large volumes of traffic being mirrored. In 6.2, the new switch controller option of traffic-sniffer
provides a targeted approach: mirrored traffic is always directed towards the FortiGate on a dedicated VLAN. This
allows for easy sniffing by using the CLI or GUI. Additionally, the traffic can also be routed through the FortiGate using
Encapsulated Remote Switched Port Analyzer (ERSPAN) for external analysis and storage.
With the new option, you can define targeted sniffers by IP or MAC address. Traffic matching is replicated to the
FortiGate, which is helpful when you know what device you are looking for, but you don't know where it is located.
FortiLink networks can have multiple switches, and traffic typically traverses several switches. If each switch mirrors any
match, the sniffer would see multiple copies of traffic. To reduce this, the targets are applied at the perimeter of the
FortiSwitch network. Traffic entering by a user port or traffic from FortiGate is considered eligible for mirroring.
You can also enable traditional port-based sniffers in the ingress or egress direction.
All sniffer traffic arrives at the FortiGate using ERSPAN and the traffic is encapsulated in generic routing encapsulation
(GRE).
This feature enables LLDP reception on WAN interfaces, and prompts FortiGates that are joining the Security Fabric if
the upstream FortiGate asks.
l If an interface's role is undefined, LLDP reception and transmission inherit settings from the VDOM.
l If an interface's role is WAN, LLDP reception is enabled.
l If an interface's role is LAN, LLDP transmission is enabled.
When a FortiGate B's WAN interface detects that FortiGate A's LAN interface is immediately upstream (through the
default gateway), and FortiGate A has Security Fabric enabled, FortiGate B will show a notification on the GUI asking to
join the Security Fabric.
l If the interface's role is WAN, under Administrative Access, set Receive LLDP to Enable and Transmit LLDP
to Use VDOM Setting.
l If the interface's role is LAN, under Administrative Access, set Receive LLDP to Use VDOM Setting and
Transmit LLDP to Enable.
3. Click the notification. The Security Fabric Settings page opens with all the required settings automatically
configured.
4. Click Apply to apply the settings, or use the following CLI commands:
config system csf
set status enable
set upstream-ip 10.2.200.1
end
This section lists the new features added to FortiOS for Security Fabric connectors.
l Multiple Concurrent SDN/Cloud Connectors on page 93
l Filter Lookup Improvement for SDN Connectors on page 96
l Obtain full user information through the MS Exchange connector on page 98
l Cloud Connector - AliCloud on page 100
l Cloud Connector - AWS - IAM Support on page 103
l SDN Connector - VMware ESXi on page 106
l Kubernetes (K8s) on page 109
l SDN Connector - Azure Stack on page 122
l SDN Connector - OpenStack Domain Filter on page 125
l Endpoint Connector - Cisco pxGrid on page 127
l External Block List (Threat Feed) – Policy on page 131
l External Block List (Threat Feed) - File Hashes on page 132
l External Block List (Threat Feed) - Authentication on page 138
l Connector GUI Organization on page 138
This feature introduces support for multiple connectors of all SDN connector types to be defined. Previously, only a
single connector could be configured for most types, and the SDN connector had to be specified when creating a
dynamic firewall address. Now, multiple instances can be configured for every SDN connector, and the specific
connector instance must be specified when creating a dynamic firewall address.
This example shows two Microsoft Azure SDN connectors being created, and then being used in new dynamic firewall
addresses.
Multiple concurrent SDN/Cloud connectors are not supported yet for Cisco ACI or Nuage.
To create and use two new SDN connectors with the CLI:
set update-interval 30
next
edit "azure2"
set type azure
set tenant-id "942b80cd-bbbb-42a1-8888-4b21dece61ba"
set client-id "3baa0acc-ffff-4444-b292-0777a2c36be6"
set client-secret xxxxx
set update-interval 30
next
end
2. Create new dynamic firewall addresses that use the new connectors:
config firewall address
edit "azure-address-location1"
set type dynamic
set color 2
set sdn azure1
set filter "location=WestUs"
next
edit "azure-address-location2"
set type dynamic
set color 2
set sdn azure2
set filter "location=NorthEurope"
next
end
To create and use two new SDN connectors with the GUI:
2. Create new dynamic firewall addresses that use the new connectors:
a. Go to Policy and Objects > Addresses and click Create New > Address in the toolbar.
b. Enter a name for the address, and select Fabric Connector Address for the Type.
c. Select one of the previously created SDN connectors from the SDN Connector drop down list.
d. Configure the rest of the required information, then click OK to create the address.
e. Repeat the above steps to create the second address, selecting the other Microsoft Azure SDN connector.
In 6.0, when configuring dynamic address mappings for filters in AWS, FortiGate can query the filters automatically,
while for other clouds the configuration is a manual process. In 6.2, the same capability is expanded to SDN connectors
for Azure, GCP, OpenStack, Kubernetes, and AliCloud.
FortiGate can collect additional information about authenticated users from corporate MS Exchange servers. After a
user logs in, the additional information can be viewed in various parts of the GUI.
The Exchange connector must be mapped to the LDAP server that is used for authentication.
The following attributes are retrieved:
set ip 10.1.100.140
set kdc-ip "10.1.100.131"
next
end
Where:
To check the collected information after the user has been authenticated:
1. In the GUI, go to Monitor > Firewall User Monitor and hover over the user name.
If the results are not as expected, use the following commands to verify what information FortiGate can collect
from the Exchange server:
diagnose test application wad 2500
diagnose test application wad 162
FortiOS now supports automatically updating dynamic addresses for AliCloud using an AliCloud SDN connector,
including mapping the following attributes from AliCloud instances to dynamic address groups in FortiOS:
l ImageId
l InstanceId
l SecurityGroupId
l VpcId
l VSwitchId
l TagKey
l TagValue
2. Create a dynamic firewall address for the configured AliCloud SDN connector:
a. Go to Policy & Objects > Addresses.
b. Click Create New, then select Address.
c. Configure the address as shown, selecting the desired filter in the Filter dropdown list. In this example, the
AliCloud SDN Connector will automatically populate and update IP addresses only for instances that belong to
the specified security group:
3. Ensure that the AliCloud SDN connector resolves dynamic firewall IP addresses:
a. Go to Policy & Objects > Addresses.
b. Hover over the address created in step 2 to see a list of IP addresses for instances that belong to the security
For instances running in AWS (on demand or BYOL), you can now set up the AWS connector by using AWS Identify and
Access Management (IAM) credentials.
IAM authentication is available only for FGT-AWS and FGT-AWSONDEMAND platforms.
2. Create a dynamic firewall address for the configured AWS SDN connector:
a. Go to Policy & Objects > Addresses.
b. Click Create New, then select Address.
c. Configure the address as shown, selecting the desired filter in the Filter dropdown list.
Following is an example for a public SDN address type:
3. Ensure that the AWS SDN connector resolves dynamic firewall IP addresses:
a. Go to Policy & Objects > Addresses.
b. Hover over the address created in step 2 to see a list of IP addresses for instances that belong to the security
group configured in step 2.
Following is an example for a public SDN address type:
edit "aws-ec2"
set type dynamic
set sdn "aws1"
set filter "SecurityGroupId=sg-05f4749cf84267548"
set sdn-addr-type public
next
edit "aws-eks1"
set type dynamic
set sdn "aws1"
set filter "K8S_Region=us-west-2"
next
end
3. Confirm that the AWS SDN connector resolves dynamic firewall IP addresses using the configured filter:
config firewall address
edit "aws-ec2"
set uuid e756e786-3a2e-51e9-9d40-9492098de42d
set type dynamic
set sdn "aws1"
set filter "SecurityGroupId=sg-05f4749cf84267548"
set sdn-addr-type public
config list
edit "34.222.246.198"
next
edit "54.188.139.177"
next
edit "54.218.229.229"
next
end
next
edit "aws-eks1"
set uuid d84589aa-3a10-51e9-b1ac-08145abce4d6
set type dynamic
set sdn "aws1"
set filter "K8S_Region=us-west-2"
config list
edit "192.168.114.197"
next
edit "192.168.167.20"
next
edit "192.168.180.72"
next
edit "192.168.181.186"
next
edit "192.168.210.107"
next
end
next
end
FortiOS now supports automatically updating dynamic addresses for VMware ESXi and vCenter servers using a VMware
ESXi SDN connector, including mapping the following attributes from VMware ESXi and vCenter objects to dynamic
2. Create a dynamic firewall address for the configured VMware ESXi SDN connector:
a. Go to Policy & Objects > Addresses.
b. Click Create New, then select Address.
c. Configure the address as shown, selecting the desired filter in the Filter dropdown list. In this example, the
VMware ESXi SDN Connector will automatically populate and update IP addresses only for instances that
belong to VLAN80:
3. Ensure that the VMware ESXi SDN connector resolves dynamic firewall IP addresses:
a. Go to Policy & Objects > Addresses.
b. Hover over the address created in step 2 to see a list of IP addresses for instances that belong to VLAN80 as
configured in step 2:
edit "vmware-network"
set type dynamic
set sdn "vmware1"
set filter "vmnetwork=VLAN80"
next
end
3. Confirm that the VMware ESXi SDN connector resolves dynamic firewall IP addresses using the configured filter:
config firewall address
edit "vmware-network"
set uuid abfa1748-1b80-51e9-d0fd-ea322b3bba2d
set type dynamic
set sdn "vmware1"
set filter "vmnetwork=VLAN80"
config list
edit "192.168.8.240"
next
end
next
end
Kubernetes (K8s)
This section lists the new features added to FortiOS for Kubernetes.
l Private Cloud K8s Connector on page 109
l AWS Kubernetes (EKS) Connector on page 112
l Azure Kubernetes (AKS) Connector on page 114
l GCP Kubernetes (GKE) Connector on page 117
l Oracle Kubernetes (OKE) Connector on page 119
FortiOS now supports automatically updating dynamic addresses for Kubernetes (K8S) using a K8S SDN connector,
enabling FortiOS to manage K8S pods as global address objects, as with other connectors. This includes mapping the
following attributes from K8S instances to dynamic address groups in FortiOS:
Filter Description
Label.XXX Filter service or node IP addresses with the given label XXX.
2. Create a dynamic firewall address for the configured K8S SDN connector:
a. Go to Policy & Objects > Addresses.
b. Click Create New, then select Address.
c. Configure the address as shown, selecting the desired filter in the Filter dropdown list. In this example, the
K8S SDN connector will automatically populate and update IP addresses only for node instances that match
the specified node name:
3. Ensure that the K8S SDN connector resolves dynamic firewall IP addresses:
a. Go to Policy & Objects > Addresses.
b. Hover over the address created in step 2 to see a list of IP addresses for node instances that match the node
This feature extends the existing AWS SDN connector to support dynamic address groups based on AWS Kubernetes
(EKS) filters.
To filter out the Kubernetes IP addresses, the following address filters have been introduced:
2. Go to Policies & Objects > Addresses and create a dynamic firewall address for the configured SDN connector
using the supported Kubernetes filter.
3. To filter out the Kubernetes IP addresses, select the address filter or filters.
end
The dynamic firewall address IP is resolved by the SDN connector:
config firewall address
edit "aws-pod"
set uuid a7a37298-19e6-51e9-851a-2c551ffc174d
set type dynamic
set sdn "aws1"
set filter "K8S_PodName=aws-node-g6zhx"
config list
edit "192.168.114.197"
next
end
next
end
This feature extends the existing Azure SDN connector to support dynamic address groups based on Azure Kubernetes
(AKS) filters.
To filter out the Kubernetes IP addresses, the following address filters have been introduced:
2. Create a dynamic firewall address for the configured K8S SDN connector:
a. Go to Policy & Objects > Addresses.
b. Click Create New, then select Address.
c. Configure the address as shown, selecting the desired filter in the Filter dropdown list. In this example, the
Azure SDN connector will automatically populate and update IP addresses only for instances that belong to the
zhmKC cluster:
3. Ensure that the K8S SDN connector resolves dynamic firewall IP addresses:
a. Go to Policy & Objects > Addresses.
b. Hover over the address created in step 2 to see a list of IP addresses for instances that belong to the
next
edit "10.244.0.10"
next
end
next
end
This feature extends the existing Google Cloud Platform (GCP) SDN connector to support dynamic address groups
based on GCP Kubernetes Engine (GKE) filters.
To filter out the Kubernetes IP addresses, the following address filters have been introduced:
2. Go to Policies & Objects > Addresses and create a dynamic firewall address for the configured SDN connector
using the supported Kubernetes filter.
3. To filter out the Kubernetes IP addresses, select the address filter or filters. In this example, the GCP SDN
connector will automatically populate and update IP addresses only for instances that belong to the zhm-
kc3 cluster:
set update-interval 30
next
end
2. Create a dynamic firewall address for the SDN connector with a supported Kubernetes filter:
config firewall address
edit "gcp-k8s-cluster"
set type dynamic
set sdn "gcp1"
set filter "K8S_Cluster=zhm-kc3"
next
end
The dynamic firewall address IP is resolved by the SDN connector:
config firewall address
edit "gcp-k8s-cluster"
set uuid e4a1aa3c-25be-51e9-e9af-78ab2eebe6ee
set type dynamic
set sdn "gcp1"
set filter "K8S_Cluster=zhm-kc3"
config list
edit "10.0.2.4"
next
edit "10.0.2.7"
next
edit "10.28.0.13"
next
end
next
end
This project extends the existing SDN connector for OCI to support dynamic address groups based on Oracle
Kubernetes (OKE) filters.
To filter out the Kubernetes IP addresses, the following address filters have been introduced:
2. Create dynamic firewall addresses for the configured SDN connector with supported Kubernetes filter:
a. Go to Policy & Objects > Addresses.
b. Click Create New, then select Address.
c. Configure the addresses.
FortiOS now supports automatically updating dynamic addresses for Azure Stack on-premises environments using an
Azure Stack SDN connector, including mapping the following attributes from Azure Stack instances to dynamic address
groups in FortiOS:
l vm
l tag
l size
l securitygroup
l vnet
l subnet
l resourcegroup
l vmss
seconds.
2. Create a dynamic firewall address for the configured Azure Stack SDN connector:
a. Go to Policy & Objects > Addresses.
b. Click Create New, then select Address.
c. Configure the address as shown, selecting the desired filter in the Filter dropdown list. In this example, the
Azure Stack SDN Connector will automatically populate and update IP addresses only for instances that are
named tfgta:
3. Ensure that the Azure Stack SDN connector resolves dynamic firewall IP addresses:
a. Go to Policy & Objects > Addresses.
b. Hover over the address created in step 2 to see a list of IP addresses for instances that are named tftgta as
configured in step 2:
A domain attribute is now available for selection when configuring an OpenStack SDN Connector in FortiOS. When a
domain is configured for the OpenStack SDN Connector, FortiOS resolves OpenStack SDN dynamic firewall addresses
from the specified OpenStack domain. If a domain is not specified, FortiOS resolves the dynamic firewall addresses
using the default OpenStack domain.
2. Create a dynamic firewall address for the configured OpenStack SDN connector:
a. Go to Policy & Objects > Addresses.
b. Click Create New, then select Address.
c. Configure the address as shown, selecting the desired filter in the Filter dropdown list. The OpenStack
SDN Connector will automatically populate and update IP addresses only for instances that belong to the
3. Ensure that the OpenStack SDN connector resolves dynamic firewall IP addresses:
a. Go to Policy & Objects > Addresses.
b. Hover over the address created in step 2 to see a list of IP addresses for instances that belong to the specified
domain and specified network as configured in steps 1 and 2:
1. Configure the OpenStack SDN connector. The SDN Connector will only resolve IP addresses for instances that
belong to the specified domain:
config system sdn-connector
edit "openstack-domain"
set type openstack
set server "http://172.16.165.86:5000"
set username "example_username"
set password xxxxx
set domain "example_domain"
set update-interval 30
next
end
2. Create a dynamic firewall address for the configured OpenStack SDN connector with the supported OpenStack
filter. The OpenStack SDN Connector will automatically populate and update IP addresses only for instances that
belong to the specified domain and the specified network:
config firewall address
edit "openstack-domain-network"
set type dynamic
set sdn "openstack-domain"
set filter "Network=example-net1"
next
end
3. Confirm that the OpenStack SDN connector resolves dynamic firewall IP addresses using the configured domain
and filter:
config firewall address
edit "openstack-domain-network"
set uuid 02837298-234d-51e9-efda-559c6001438a
set type dynamic
set sdn "openstack-domain"
set filter "Network=example-net1"
config list
edit "10.0.0.13"
next
edit "10.0.0.16"
next
edit "10.0.0.3"
next
edit "172.24.4.18"
next
edit "172.24.4.24"
next
edit "172.24.4.3"
next
end
next
end
FortiOS 6.2 now supports an endpoint connector to Cisco pxGrid via FortiManager. FortiManager dynamically collects
updates from pxGrid and forwards them to FortiGate using the Fortinet Single Sign On (FSSO) protocol.
4. On FortiManager, synchronize the policy package to the firewall for the managed FortiGate.
5. On FortiGate, verify that the synced firewall policy contains the correct FSSO group and that all FSSO-related
information in user adgrp is correct.
6. After successful user authentication on Cisco ISE, verify that information is forwarded to FortiManager.
On FortiManager, the icon next to the authenticated user in pxGrid Monitor should be green.
FortiGate should have two entries: one in the firewall-authenticated user list and one in the FSSO logged-on user
list.
In the FSSO logged-on user list, you can view both groups. You view the group that the user belongs to on Cisco
ISE and the Fortinet FSSO group.
This version extends the External Block List (Threat Feed). In addition to using the External Block List (Threat Feed) for
web filtering and DNS, you can use External Block List (Threat Feed) in firewall policies.
This version includes the following new features:
l Policy support for external IP list used as source/destination address.
l Support for IPv4 and IPv6 firewall policy only. ACL, DoS, NAT64, NAT46, shaping, local-in policy are not supported.
l Support for both CLI and GUI.
Sample configuration
In Security Fabric > Fabric Connectors > Threat Feeds > IP Address, create or edit an external IP list object.
To apply an external iplist object to the firewall policy using the CLI:
This version adds a new type of Threat Feed connector that supports a list of file hashes which can be used as part of
Virus Outbreak Prevention.
1. Navigate to Security Fabric > Fabric Connectors and click Create New.
2. In the Threat Feeds section, click Malware Hash.
4. Beside the Last Update field, click View Entries to display the external Malware Hash list contents.
config global
end
In Security Profiles > AntiVirus, the Virus Outbreak Prevention section allows you to enable the following options:
l Use Fortinet outbreak Prevention Database.
l Use External Malware Block List.
You must first enable outbreak-prevention in the protocol and then enable external-blocklist under
outbreak-prevention.
config antivirus profile
edit "av"
set analytics-db enable
config http
set options scan
set outbreak-prevention full-archive
end
config ftp
set options scan
set outbreak-prevention files
end
config imap
set options scan
set outbreak-prevention full-archive
end
config pop3
set options scan
set outbreak-prevention full-archive
end
config smtp
set options scan
set outbreak-prevention files
end
config mapi
set options scan
set outbreak-prevention full-archive
end
config nntp
set options scan
set outbreak-prevention full-archive
end
config smb
set options scan
set outbreak-prevention full-archive
end
config outbreak-prevention
set ftgd-service enable
set external-blocklist enable
end
next
end
This feature adds the fields filehash and filehashsrc to outbreak prevention detection events.
Example of the utm-virus log generated when a file is detected by FortiGuard queried outbreak prevention:
2: date=2018-07-30 time=13:57:59 logid="0204008202" type="utm" subtype="virus" event-
type="outbreak-prevention" level="warning" vd="root" evnttime=1532984279 msg="Blocked by Virus
Outbreak Prevention service." action="blocked" service="HTTP" sessionid=174777 srcip-
p=192.168.101.20 dstip=172.16.67.148 srcport=37044 dstport=80 srcintf="lan" srcintfrole="lan"
dstintf="wan1" dstintfrole="wan" policyid=1 proto=6 direction="incoming" filename="zhvo_test.-
com" checksum="583369a5" quarskip="No-skip" virus="503e99fe40ee120c45bc9a30835e7256fff3e46a"
dtype="File Hash" filehash="503e99fe40ee120c45bc9a30835e7256fff3e46a" file-
hashsrc="fortiguard" url="http://172.16.67.148/zhvo_test.com" profile="mhash_test" agent-
t="Firefox/43.0" analyticssubmit="false" crscore=30 crlevel="high“
Example of the utm-virus log generated when a file is detected by External Malware Hash List outbreak prevention:
1: date=2018-07-30 time=13:59:41 logid="0207008212" type="utm" subtype="virus" event-
type="malware-list" level="warning" vd="root" eventtime=1532984381 msg="Blocked by local mal-
ware list." action="blocked" service="HTTP" sessionid=174963 srcip=192.168.101.20
dstip=172.16.67.148 srcport=37045 dstport=80 srcintf="lan" srcintfrole="lan" dstintf="wan1"
dstintfrole="wan" policyid=1 proto=6 direction="incoming" filename="mhash_block.com" check-
sum="90f0cb57" quarskip="No-skip" virus="mhash_block.com" dtype="File Hash" file-
hash="93bdd30bd381b018b9d1b89e8e6d8753" filehashsrc="test_list"
url="http://172.16.67.148/mhash_block.com" profile="mhash_test" agent="Firefox/43.0" ana-
lyticssubmit="false"
In FortiOS 6.2, the external Threat Feed connector (block list retrieved by HTTPS) now supports username and
password authentication.
This version improves the GUI display and organization of cloud and SDN Fabric Connectors, grouping them into public
and private SDN Connectors.
When creating new SDN Connectors, they are sorted based on popularity and grouped into public and private SDN
Connectors.
After SDN Connectors are created, they are grouped into public and private SDN sections separately.
This section lists the new features added to FortiOS for SD-WAN.
l Overlay Controller VPN (OCVPN) on page 140
l SD-WAN Bandwidth Monitoring Service on page 148
l Rule Definition Improvements on page 150
l Forward Error Correction on page 169
l Represent Multiple IPsec Tunnels as a Single Interface on page 171
l Dual VPN Tunnel Wizard on page 172
l BGP Additional Path Support on page 174
l SLA Logging on page 177
l Internet Service Customization on page 179
l SLA Monitoring via REST API on page 180
This section lists the new features added to FortiOS for OCVPN.
l Hub-and-Spoke Support on page 140
l ADVPN Support on page 147
l Multiple VPN Support on page 147
l OC-VPN Cloud Portal on page 147
Hub-and-Spoke Support
This version extends OCVPN to support hub-and-spoke topology in addition to full mesh support.
This feature includes support for the following:
l OCVPN portal with FortiCare SSO.
l Enforce limits for OCVPN free service.
l Define multiple overlay network using OCVPN hub-and-spoke.
l ADVPN for hub-and-spoke. The ADVPN shortcut is enabled by default.
Sample topology
The OCVPN portal can display customer and portal information including:
l The customer OCVPN license type: free or full.
l Registered device information including:
l Device serial number.
l OCVPN role.
l Hostname.
l WAN IP address.
l Configured overlays.
The current OCVPN free license limit is three devices and full mesh only.
There is currently no limit to the free licenses on the OCVPN cloud side.
Warning messages appear when the free license limit is reached. For example:
"Primary-Hub role is not supported with OCVPN free license. Please upgrade to
full OCVPN license to use hub and spoke topology.
object check operator error, -9999, discard the setting
Command fail. Return code -9999"
"OCVPN free license limit (3) has been reached. Please upgrade to
full OCVPN license to register additional devices.
object check operator error, -9999, discard the setting
Command fail. Return code -9999"
To check the OCVPN license type, see Diagnostic commands on page 147.
Diagnostic commands
ADVPN Support
A new cloud portal is available (via FortinetOne login) for viewing overlay VPN status or troubleshooting needs.
For information on OCVPN, see Overlay Controller VPN (OCVPN) on page 140.
This version adds a new bandwidth measuring tool to detect true upload and download speeds. Bandwidth tests can be
run on demand or automated using a script, and can be useful when configuring SD-WAN SLA and rules to balance SD-
WAN traffic.
This feature needs a license which is part of 360 Protection Bundle in 6.2, or you must have a SD-WAN Bandwidth
Monitoring Service license.
This speed test tool compatible with iperf3.6 with SSL support. This tool can send traffic to test uploading bandwidth to
the FortiCloud speed test service. It can initiate the connection with the server and initiate downloading requests to the
server.
This tool's daily running quota is limited to avoid abusing the usage for valid customers. The current daily quota is 10.
FortiGate first downloads the speed test server list. The server list expires after 24 hours. Based on customer's input, it
selects one of the servers to do the speed test. The speed test includes uploading speed test and downloading speed
test. After the test is done, the results are printed on the terminal.
You can run the speed test without specifying a server. The system will automatically choose one server from the list
and run the speed test.
FG3H0E5818904285 (root) # execute speed-test auto
The license is valid to run speed test.
Speed test quota for 2/1 is 9
current vdom=root
To run the speed test on a local interface when there are multiple valid routes:
This section lists rule definition improvements added to FortiOS for SD-WAN.
l Load Balancing Per-Rule on page 150
l Interface Cost on page 152
l DSCP Matching (Shaping) on page 154
l Traffic Shaping Schedules on page 158
l Application Groups in Policies on page 160
l Internet Service Groups in Policies on page 162
l IPv6 Support (UI) on page 166
This feature introduces SD-WAN load balancing for all explicit rules. When a rule is hit, traffic is hashed based on the
defined load balancing algorithm among the selected SD-WAN members that satisfy the defined SLA.
Previously, SD-WAN load balancing was only available on the last implicit rule. This covered all the SD-WAN interface
members, but when an explicit SD-WAN rule was created, it prevented load balancing from occurring for that protocol,
and traffic was only routed over a single interface.
Interface Cost
This feature adds multiple extensions to various objects and rules, increasing the flexibility of how SD-WAN can be set
up.
The cost parameter is added for SD-WAN members, to support assigning a cost value to each interface. It can be used
in SLA mode rules to select the lowest cost link from the links that otherwise satisfy the SLA. If the costs are the same,
the configuration order is used.
Interface selection based on quality now balances across all matching links that satisfy the quality SLA. Traffic can also
be restricted to a specific subset of interfaces.=
Example
In this example:
l The SD-WAN has four members:
l Member 1 and member 2 can satisfy the SLA and are selected as candidates.
l Member 3 and member 4 are slower and cannot satisfy the SLA.
l The cost parameter only applies to candidates, even though the interface cost of members 3 and 4 are lower than
that of members 1 and 2.
The ISP of member 1 is more expensive, so the its cost is set higher than the member 2 cost. Consequently,
member 2, with the lower cost, is the first choice. If the cost parameters for all of the members were not set, or were
all set to the same value, the selection would be the highest priority member that satisfies the SLA.
set id 2
next
end
set priority-members 3 4 1 2
next
end
end
diagnose sys virtual-wan-link health-check <<<<<<<< check link status, pay attention
to state(alive or dead) and the link quality
Health Check(ping):
Seq(2): state(alive), packet-loss(0.000%) latency(0.244), jitter(0.028) sla_map=0x2
Seq(1): state(alive), packet-loss(0.000%) latency(0.697), jitter(0.094) sla_map=0x2
Seq(3): state(alive), packet-loss(0.000%) latency(21.835), jitter(1.159) sla_map=0x0
Seq(4): state(alive), packet-loss(3.333%) latency(21.975), jitter(1.271) sla_map=0x0
diagnose sys virtual-wan-link service <<<<<<<< check link sequence and pay attention to
"sla(0x)" value
Service(2): Address Mode(IPV4) flags=0x0
TOS(0x0/0x0), Protocol(0: 1->65535), Mode(sla)
Members:
1: Seq_num(2), alive, sla(0x1),cfg_order(3), selected
2: Seq_num(1), alive, sla(0x1),cfg_order(2), selected
3: Seq_num(3), alive, sla(0x0),cfg_order(0), selected
4: Seq_num(4), alive, sla(0x0),cfg_order(1), selected
Internet Service: Google-DNS(65539)
Src address: 0.0.0.0-255.255.255.255
Traffic is allowed or blocked according to the DSCP values in the incoming packets.
The following CLI variables are added to the config firewall policy command:
tos-mask <mask_value> Non-zero bit positions are used for comparison. Zero bit positions are ignored
(default = 0x00).
This variable replaces the dscp-match variable.
tos <tos_value> Type of Service (ToC) value that is used for comparison (default = 0x00). This
variable is only available when tos-mask is not zero.
This variable replaces the dscp-value variable.
tos-negate {enable | Enable/disable negated ToS match (default = disable). This variable is only
disable} available when tos-mask is not zero.
This variable replaces the dscp-negate variable.
Shaping is applied to the session or not according to the DSCP values in the incoming packets. The same logic and
commands as in firewall policies are used.
Traffic is allowed or blocked according to the DSCP values in the incoming packets. DSCP marking in firewall shaping
policies uses the same logic and commands as in firewall policy and traffic-shaper.
When DSCP marking on firewall shaper traffic-shaper, firewall shaping-policy, and firewall
policy all apply to the same session, shaping-policy overrides policy, and shaper traffic-shaper
overrides both shaping-policy and policy.
The following CLI variables in config firewall policy are used to mark the packets:
diffserv-forward {enable | Enable/disable changing a packet's DiffServ values to the value specified in
disable} diffservcode-forward (default = disable).
diffservcode-forward The value that packet's DiffServ is set to (default = 000000). This variable is only
<dscp_value> available when diffserv-forward is enabled.
diffserv-reverse {enable | Enable/disable changing a packet's reverse (reply) DiffServ values to the value
disable} specified in diffservcode-rev (default = disable).
diffservcode-rev <dscp_ The value that packet's reverse (reply) DiffServ is set to (default = 000000). This
value> variable is only available when diffserv-rev is enabled.
Examples
Example 1
FortiGate A marks traffic from the sales and QA teams with different DSCP values. FortiGate B does DSCP matching,
allowing only the sales team to access the database.
1. Configure FortiGate A:
config firewall policy
edit 1
set srcintf "port2"
edit 5
set srcintf "port2"
set dstintf "port3"
set srcaddr "Sales"
set dstaddr "all"
set action accept
set schedule "always"
set service "ALL"
set diffserv-forward enable
set diffservcode-forward 111011
set nat enable
next
end
2. Configure FortiGate B:
config firewall policy
edit 2
set srcintf "port3"
set dstintf "port1"
set srcaddr "all"
set dstaddr "Database"
set action accept
set schedule "always"
set service "ALL"
set tos-mask 0xf0
set tos 0xe0
set fsso disable
set nat enable
next
end
Example 2
FortiGate A marks traffic from the sales and QA teams with different DSCP values. FortiGate B uses a firewall shaping
policy to do the DSCP matching, limiting the connection speed of the sales team to the database to 10MB/s.
1. Configure FortiGate A:
config firewall policy
edit 1
set srcintf "port2"
set dstintf "port3"
set srcaddr "QA"
set dstaddr "all"
set action accept
edit 5
set srcintf "port2"
set dstintf "port3"
set srcaddr "Sales"
set dstaddr "all"
set action accept
set schedule "always"
set service "ALL"
set diffserv-forward enable
set diffservcode-forward 111011
set nat enable
next
end
2. Configure FortiGate B:
config firewall policy
edit 2
set srcintf "port3"
set dstintf "port1"
set srcaddr "all"
set dstaddr "all"
set action accept
set schedule "always"
set service "ALL"
set nat enable
next
end
Example 3
FortiGate A has a traffic shaping policy to mark traffic from the QA team with a DSCP value of 100000, while reverse
traffic is marked with 000011.
1. Configure FortiGate A:
config firewall shaping-policy
edit 1
set name "QA Team 50MB"
set service "ALL"
set dstintf "port3"
set traffic-shaper "50MB/s"
set traffic-shaper-reverse "50MB/s"
set diffserv-forward enable
set diffserv-reverse enable
set srcaddr "QA"
set dstaddr "all"
set diffservcode-forward 100000
set diffservcode-rev 000011
next
end
In a shaping policy, there are many matching criteria available for administrators to match a specific traffic and apply a
traffic shaper or shaping group to the traffic. This version adds a new matching criterion: Schedule. This feature gives
shaping policy the ability to apply different shaping profiles at different times. Administrators can select a one-time
schedule, recurring schedule, or schedule group.
Schedule is not a mandatory setting. If it is not set, then the current date and time are not used to match the traffic.
This feature adds an application group command for firewall shaping policies.
The following CLI command is added:
config firewall shaping-policy
edit 1
set app-group <application group>...
......
next
end
Example
c. Enter a name for the group, select the type, and then add the group the members.
d. Click OK.
2. Create the shaping policy for the high priority cloud application traffic:
a. Go to Policy & Objects > Traffic Shaping Policy.
b. Click Create New. The New Shaping Policy page opens.
c. Configure the shaping policy, selecting the previously created cloud application group, and setting both the
Shared shaper and Reverse shaper to high-priority.
d. Click OK.
At least one firewall policy must have application control enabled for the applications to
match any policy traffic.
3. Create the shaping policy for all other traffic, setting both the Shared shaper and Reverse shaper to low-priority.
next
end
2. Create the shaping policies for the high priority cloud application traffic and the other, low priority traffic:
config firewall shaping-policy
edit 1
set name "For Cloud Traffic"
set service "ALL"
set app-category 30
set app-group "cloud app group"
set dstintf "port1"
set traffic-shaper "high-priority"
set traffic-shaper-reverse "high-priority"
set srcaddr "all"
set dstaddr "all"
next
edit 2
set name "For Other Traffic"
set service "ALL"
set dstintf "port1"
set traffic-shaper "low-priority"
set traffic-shaper-reverse "low-priority"
set srcaddr "all"
set dstaddr "all"
next
end
This feature adds support for Internet Service Groups in traffic shaping and firewall policies. Service groups can be used
as the source and destination of the policy. Internet Service Groups are used as criteria to match traffic; the shaper will
be applied when the traffic matches.
To use a group as a destination, internet-service must be enabled. To use a group as a source, internet-
service-src must be enabled.
The following CLI variables are added to the firewall policy and firewall shaping-policy commands:
Variable Description
Examples
Example 1
In this example, the PC is allowed to access Google, so all Google services are put into an Internet Service Group.
To configure access to Google services using an Internet Service Group using the CLI:
2. Create a firewall policy to allow access to all Google Services from the PC:
config firewall policy
edit 1
set name "PC to Google"
set srcintf "port2"
set dstintf "port1"
set srcaddr "PC"
set internet-service enable
set internet-service-group "Google_Group"
set action accept
set schedule "always"
set fsso disable
set nat enable
next
end
To configure access to Google services using an Internet Service Group in the GUI:
Example 2
In this example, two office FTP servers are put into an Internet Custom Service Group, and the PC connection to the
FTP servers is limited to 1Mbps.
To put two FTP servers into a custom service group and limit the PC connection speed to them using the
CLI:
config port-range
edit 1
set start-port 21
set end-port 21
next
end
set dst "PM_Server"
next
end
next
edit "FTP_QA"
config entry
edit 1
config port-range
edit 1
set start-port 21
set end-port 21
next
end
set dst "QA_Server"
next
end
next
end
2. Create a custom internet server group and add the just created custom internet services to it:
config firewall internet-service-custom-group
edit "Internal_FTP"
set member "FTP_QA" "FTP_PM"
next
end
4. Create a firewall shaping policy to limit the speed from the PC to the internal FTP servers:
config firewall shaping-policy
edit 1
set name "For Internal FTP"
set internet-service enable
set internet-service-custom-group "Internal_FTP"
set dstintf "port1"
set traffic-shaper "Internal_FTP_Limit_1Mbps"
set traffic-shaper-reverse "Internal_FTP_Limit_1Mbps"
set srcaddr "PC"
next
end
To put two FTP servers into a custom service group and limit the PC connection speed to the using the
GUI:
1. Create custom internet services for the internal FTP servers using the CLI.
2. Create a custom internet server group and add the just created custom internet services to it using the CLI.
3. Create a traffic shaper to limit the maximum bandwidth:
a. Go to Policy & Objects > Traffic Shapers, and click Create New.
b. Enter a Name for the shaper, such as Internal_FTP_Limit_1Mbps.
c. Set the Traffic Priority to Medium.
d. Enable Max Bandwidth and set it to 1000.
e. Enable Guaranteed Bandwidth and set it to 500.
f. Click OK.
4. Create a firewall shaping policy to limit the speed from the PC to the internal FTP servers:
a. Go to Policy & Objects > Traffic Shaping Policy, and click Create New.
b. Set the Destination as the just created Custom Internet Service Group, and apply the just create traffic
shaper.
Sample configuration
In Network > SD-WAN , set Status to Enable and configure SD-WAN Interface Members in the IPv6 Gateway field.
In Network > Performance SLA, set IP Version to IPv6 and configure fields.
In Network > SD-WAN Rules, set IP Version to IPv6 and configure SD-WAN IPv6 mode rules.
The Network > SD-WAN Rules page displays the rules you configured.
Forward Error Correction (FEC) is used to lower the packet loss ratio by consuming more bandwidth. This features adds
Forward Error Correction (FEC) to IPsec VPN.
Six new parameters are added to the IPsec phase1-interface settings:
fec-ingress Enable/disable Forward Error Correction for ingress IPsec traffic (default = disable).
fec-egress Enable/disable Forward Error Correction for egress IPsec traffic (default = disable).
fec-base The number of base Forward Error Correction packets (1 - 100, default = 20).
fec-redundant The number of redundant Forward Error Correction packets (1 - 100, default = 10).
fec-send-timeout The time before sending Forward Error Correction packets, in milliseconds (1 - 1000,
default = 8).
fec-receive-timeout The time before dropping Forward Error Correction packets, in milliseconds (1 - 10000,
default = 5000).
FEC is disabled by default. FortiGate supports unidirectional and bidirectional FEC, and achieves the expected packet
loss ration and latency by tuning the above parameters.
Two checkboxes are added to the IPsec phase1 settings in the GUI:
With this feature, you can create a static aggregate interface using IPsec tunnels as members, with traffic load balanced
between the members. An IP address can be assigned to the aggregate interface, dynamic routing can run on the
interface, and the interface can be a member interface in SD-WAN.
The supported load balancing algorithms are: L3, L4, round-robin (default), and redundant.
This new wizard is used to automatically set up multiple VPN tunnels to the same destination over multiple outgoing
interfaces. This includes automatically configuring IPsec, Routing, and Firewall settings, avoiding cumbersome and
error-prone configuration steps.
3. In the Interface drop-down, click +VPN. The Create IPsec VPN for SD-WAN members pane opens.
Currently, when deploying Auto-Discovery VPN (ADVPN) for Software-Defined Wide Area Networks (SD-WAN), a
FortiGate deployed as the ADVPN hub is a route reflector. As such, it only advertises one path, which is the best path.
Due to this, the branches receive different routes in their routing tables that point to the same next hop.
In 6.2, this is addressed by adding additional Border Gateway Protocol (BGP) path support, which allows the ADVPN
hub to advertise multiple paths.
This feature allows BGP to extend and keep additional network paths according to RFC 7911.
Example
In the following example topology, each spoke has four VPN tunnels connected to the Hub with ADVPN. The Spoke-Hub
has established four BGP neighbors on all four tunnels.
Spoke 1 and Spoke 2 can learn four different routes from each other.
Hub
config router bgp
set as 65505
set router-id 11.11.11.11
set ibgp-multipath enable
set additional-path enable <<<<<<<<<< new
set additional-path-select 4 <<<<<<<<<< new
config neighbor-group
edit "gr1"
set capability-default-originate enable
set remote-as 65505
set additional-path both <<<<<<<<<< new
set adv-additional-path 4 <<<<<<<<<< new
set route-reflector-client enable
next
end
config neighbor-range
edit 1
set prefix 10.10.0.0 255.255.0.0
set neighbor-group "gr1"
next
end
config network
edit 12
set prefix 11.11.11.11 255.255.255.255
next
end
end
Spoke
config router bgp
set as 65505
set router-id 2.2.2.2
set ibgp-multipath enable
set additional-path enable <<<<<<<<<< new
set additional-path-select 4 <<<<<<<<<< new
config neighbor
edit "10.10.100.254"
set soft-reconfiguration enable
set remote-as 65505
set additional-path both <<<<<<<<<< new
set adv-additional-path 4 <<<<<<<<<< new
next
edit "10.10.200.254"
set soft-reconfiguration enable
set remote-as 65505
set additional-path both
set adv-additional-path 4
next
edit "10.10.203.254"
set soft-reconfiguration enable
set remote-as 65505
set additional-path both
set adv-additional-path 4
next
edit "10.10.204.254"
set soft-reconfiguration enable
set remote-as 65505
set additional-path both
set adv-additional-path 4
next
end
config network
edit 3
set prefix 22.1.1.0 255.255.255.0
next
end
end
Spoke1 # get router info routing-table bgp
Routing table for VRF=0
B* 0.0.0.0/0 [200/0] via 10.10.200.254, vd2-2, 03:57:26
[200/0] via 10.10.203.254, vd2-3, 03:57:26
[200/0] via 10.10.204.254, vd2-4, 03:57:26
[200/0] via 10.10.100.254, vd2-1, 03:57:26
B 1.1.1.1/32 [200/0] via 11.1.1.1 (recursive via 12.1.1.1), 03:57:51
[200/0] via 11.1.1.1 (recursive via 12.1.1.1), 03:57:51
[200/0] via 11.1.1.1 (recursive via 12.1.1.1), 03:57:51
[200/0] via 11.1.1.1 (recursive via 12.1.1.1), 03:57:51
B 11.11.11.11/32 [200/0] via 10.10.200.254, vd2-2, 03:57:51
[200/0] via 10.10.203.254, vd2-3, 03:57:51
[200/0] via 10.10.204.254, vd2-4, 03:57:51
SLA Logging
The features adds an SD-WAN daemon function to keep a short, 10 minute history of SLA that can be viewed in the CLI.
Performance SLA results related to interface selection, session failover, and other information, can be logged. These
logs can then be used for long-term monitoring of traffic issues at remote sites, and for reports and views in
FortiAnalyzer.
The time intervals that Performance SLA fail and pass logs are generated in can be configured.
The FortiGate generates Performance SLA logs at the specified pass log interval (sla-pass-log-period) when
SLA passes.
3: date=2019-02-28 time=11:53:26 logid="0100022925" type="event" subtype="system" level-
l="information" vd="root" eventtime=1551383604 logdesc="Link monitor SLA information" name-
e="ping" interface="R160" status="up" msg="Latency: 0.013, jitter: 0.001, packet loss: 0.000%,
inbandwidth: 0Mbps, outbandwidth: 0Mbps, bibandwidth: 0Mbps, sla_map: 0x1"
7: date=2019-02-28 time=11:52:26 logid="0100022925" type="event" subtype="system" level-
l="information" vd="root" eventtime=1551383545 logdesc="Link monitor SLA information" name-
e="ping" interface="R160" status="up" msg="Latency: 0.013, jitter: 0.002, packet loss: 0.000%,
inbandwidth: 0Mbps, outbandwidth: 0Mbps, bibandwidth: 0Mbps, sla_map: 0x1"
The FortiGate generates Performance SLA logs at the specified fail log interval (sla-fail-log-period) when SLA
fails.
6: date=2019-02-28 time=11:52:32 logid="0100022925" type="event" subtype="system" level-
l="notice" vd="root" eventtime=1551383552 logdesc="Link monitor SLA information" name="ping"
interface="R150" status="down" msg="Latency: 0.000, jitter: 0.000, packet loss: 100.000%,
inbandwidth: 0Mbps, outbandwidth: 200Mbps, bibandwidth: 200Mbps, sla_map: 0x0"
8: date=2019-02-28 time=11:52:02 logid="0100022925" type="event" subtype="system" level-
l="notice" vd="root" eventtime=1551383522 logdesc="Link monitor SLA information" name="ping"
interface="R150" status="down" msg="Latency: 0.000, jitter: 0.000, packet loss: 100.000%,
inbandwidth: 0Mbps, outbandwidth: 200Mbps, bibandwidth: 200Mbps, sla_map: 0x0"
This version introduces new flexibility to tune Internet Service DB (ISDB) entries for their environments. A new CLI
option allows the admin to add custom port and port ranges into their predefined ISDB entries.
Use the new CLI config firewall internet-service-addition command in system global to tune
ISDB for your environment.
This feature adds the ability to monitor the SLA log information and interface SLA information using the REST API. This
feature is also be used by FortiManager as part of its detailed SLA monitoring and drill-down features.
https://172.172.172.9/api/v2/monitor/virtual-wan/interface-log
{
"http_method":"GET",
"results":[
{
"interface":"port13",
"logs":[
{
"timestamp":1547087168,
"tx_bandwidth":3447,
"rx_bandwidth":3457,
"bi_bandwidth":6904,
"tx_bytes":748875,
"rx_bytes":708799,
"egress_queue":[
]
},
{
"timestamp":1547087178,
"tx_bandwidth":3364,
"rx_bandwidth":3400,
"bi_bandwidth":6764,
"tx_bytes":753789,
"rx_bytes":712835,
"egress_queue":[
]
},
....
....
https://172.172.172.9/api/v2/monitor/virtual-wan/sla-log
{
"http_method":"GET",
"results":[
{
"name":"ping",
"interface":"port13",
"logs":[
{
"timestamp":1547087204,
"link":"up",
"latency":0.686433,
"jitter":0.063400,
"packetloss":0.000000
},
{
"timestamp":1547087205,
"link":"up",
"latency":0.688433,
"jitter":0.063133,
"packetloss":0.000000
},
{
"timestamp":1547087206,
"link":"up",
"latency":0.688300,
"jitter":0.065267,
"packetloss":0.000000
},
....
....
Timestamp: Wed Jan 9 18:34:49 2019, used inbandwidth: 3165bps, used outbandwidth: 3362bps,
used bibandwidth: 6527bps, tx bytes: 972298bytes, rx bytes: 922724bytes.
Timestamp: Wed Jan 9 18:34:59 2019, used inbandwidth: 3184bps, used outbandwidth: 3362bps,
used bibandwidth: 6546bps, tx bytes: 977282bytes, rx bytes: 927019bytes.
This section lists the new features added to FortiOS for multi-cloud.
l AWS Extensions on page 183
l Google Cloud Platform (GCP) Extensions on page 187
l Oracle Cloud Extensions on page 195
l AliCloud Extensions on page 206
l Support up to 18 Interfaces on page 210
l OpenStack — Network Service Header (NSH) Chaining Support on page 212
l Physical Function (PF) SR-IOV Driver Support on page 213
AWS Extensions
This section lists the new features added for AWS extensions.
l Cross AZ High Availability Support on page 183
In 6.2, FortiGate High Availability (Active/Passive) can be deployed in AWS across Availability Zones (AZs).
With FortiGates of an HA pair in separate AZs, one FortiGate can remain operational if the other AZ fails.
This configuration supports the following HA features:
l Config synchronization
l IP failover
l Route failover
The following HA features are not supported with this configuration:
l Session pickup
l Session synchronization
Topology
l Heartbeat: 10.0.2.0/24
l Management: 10.0.3.0/24 EIP
l 4 in Availability Zone B - Slave FGTB has a NIC in each of these:
l Public 10.0.10.0/24
l Internal 10.0.11.0/24
l Heartbeat 10.0.12.0/24
l Management 10.0.13.0/24 EIP
l 3 AWS UDR Routing Tables
l For Public, add default route to Internet Gateway
l For Internal, add default to Master FortiGate internal NIC
l For all others, leave it default with AWS local address
Example
end
config router static
edit 1
set gateway 10.0.0.1
set device "port1"
next
edit 2
set dst 10.0.11.0 255.255.255.0
set gateway 10.0.1.1
set device "port2"
next
end
config system ha
set group-name "test"
set mode a-p
set hbdev "port3" 50
set session-pickup enable
set ha-mgmt-status enable
config ha-mgmt-interfaces
edit 1
set interface "port4"
set gateway 10.0.3.1
next
end
set override disable
set priority 255
set unicast-hb enable
set unicast-hb-peerip 10.0.12.11
end
##SLAVE##
config system interface
edit "port1"
set vdom "root"
set ip 10.0.10.11 255.255.255.0
set allowaccess ping https ssh snmp http telnet fgfm radius-acct probe-response capwap ftm
set type physical
set snmp-index 1
set mtu-override enable
set mtu 9001
next
edit "port2"
set vdom "root"
set ip 10.0.11.11 255.255.255.0
set allowaccess ping https ssh snmp http telnet fgfm radius-acct probe-response capwap ftm
set type physical
set snmp-index 2
set mtu-override enable
set mtu 9001
next
edit "port3"
set ip 10.0.12.11 255.255.255.0
set allowaccess ping https ssh snmp http telnet fgfm radius-acct probe-response capwap ftm
set type physical
set snmp-index 3
set mtu-override enable
##Trigger Failover##
This section lists the new features added for GCP extensions.
l HA Between Zones on page 187
l Auto Scaling on page 190
HA Between Zones
6.2 supports auto-scaling HA (High Availability) between Zones in Google Cloud environments.
Example
6. Configure FGT-A:
config system ha
set group-id 21
set group-name "cluster1"
set mode a-p
set hbdev "port3" 50
set session-pickup enable
set session-pickup-connectionless enable
set ha-mgmt-status enable
config ha-mgmt-interfaces
edit 1
set interface "port4"
set gateway 10.0.3.1
next
end
set override enable
set priority 200
set unicast-hb enable
set unicast-hb-peerip 10.0.2.16
set unicast-hb-netmask 255.255.255.0
end
config system sdn-connector
edit "gcp_conn"
set type gcp
set ha-status enable
config external-ip
edit "fhua-reserve-fgthapublic"
next
end
config route
edit "fhua-route-internal"
next
end
set use-metadata-iam disable
set gcp-project "..."
set service-account "..."
set private-key "..."
next
end
7. Configure FGT-B:
config system ha
set group-id 21
set group-name "cluster1"
set mode a-p set hbdev "port3" 50
set session-pickup enable
set session-pickup-connectionless enable
set ha-mgmt-status enable
config ha-mgmt-interfaces
edit 1
set interface "port4"
set gateway 10.0.3.1
next
end
set override enable
set priority 20
set unicast-hb enable
set unicast-hb-peerip 10.0.2.15
set unicast-hb-netmask 255.255.255.0
end
8. Create a PC that can access the Internet via FGT-HA.
Auto Scaling
Sample configuration
4. Scale out another FortiGate VM and set it as a slave member; and then synchronize configuration from master to
slave.
3. Go to Instance templates console and check that your instance template is created.
l If desired, enter the Minimum number of instances and Cool down period.
The cool down period is the number of seconds auto scaling waits after a VM starts before collecting
information from it. The time is typically the VM initialization time, when the collected usage is not reliable for
auto scaling. The default cool down period is 60 seconds.
l Click Create.
3. Go to Instance groups console and check that your instance group is created.
4. Wait a few moments and click the instance group to check if an instance was launched automatically, since the
minimum number of instances is set to 1.
In this example, the first FortiGate VM instance name is instance-group-demo-2kp9.
To set the first FortiGate VM in the auto scaling group as the master member:
1. Log into the FortiGate VM as administrator and the instance ID as the default password.
2. Use the CLI to enable auto scaling and set the role to master.
config system auto-scale
set status enable
set role master
set sync-interface "port1"
set psksecret xxxxxx
end
3. In the GUI, go to the Dashboard Virtual Machine widget to check that Auto Scaling is enabled and Role is Master.
To scale out another FortiGate VM and set it as a slave member; and then synchronize configuration from
master to slave:
1. Generate test traffic on the FortiGate VM where the CPU rate is higher than the instance group target CPU usage.
For test purpose, you can also change the target CPU usage to a small value.
The instance group will trigger to scale out an new FortiGate VM.
In this example, the second FortiGate VM instance name is instance-group-demo-mq3v.
2. Log into the second FortiGate VM as administrator and the instance ID as the default password.
Use the CLI to enable auto scaling and set the role to slave.
For the master-ip, use the IP of the master member sync interface. The master IP should be the master side
private IP address.
Check that the configuration can be synced from the master member to the slave member.
3. Wait a few moments for the slave member to sync with the master member; and then the slave member can sync
the FortiGate configuration from the master member.
FortiGate-VM64-GCPON~AND # diag deb app hasync -1
slave's configuration is not in sync with master's, sequence:0
slave's configuration is not in sync with master's, sequence:1
slave's configuration is not in sync with master's, sequence:2
slave's configuration is not in sync with master's, sequence:3
slave's configuration is not in sync with master's, sequence:4
slave starts to sync with master
logout all admin users
This section lists the new features added for Oracle Cloud extensions.
l IAM Authentication on page 195
l Paravirtualized Mode Support on page 198
l Native Mode Support for OCI on page 200
l High Availability Between Availability Domains on page 205
IAM Authentication
This feature adds the ability to use IAM credentials for Oracle Cloud Infrastructure (OCI) SDN connector functionality,
including HA and dynamic address updating.
Prior to enabling IAM credentials for an SDN connector, a dynamic group and policy must configured on OCI. The SDN
connector can then be configured using the FortiGate CLI or GUI.
To configure OCI:
1. Create a Dynamic Group that includes rules to allow an instance that matches the FortiGate HA device's instance
ID. For example:
ALL {instance.id =
'ocid1.instance.oc1.iad.abuwcljtkqllbq6yxgxtowybgc4ht6sxqpfccckjj23p6pbfmvbl52uttb
iq'}
ALL {instance.id =
'ocid1.instance.oc1.iad.abuwcljttcylhekauqy42jzpsnu2dkalbhnlulqxfe2az24fktcuhtj65v
nq'}
"ocid1.vnic.oc1.iad.abuwcljtipazqefscqemll5forvnzfmo5zh22zjaeahnbph67wjmm7gd6qha"}
moving private ip 10.0.0.15 to local successfully
FGT_VM64_OPC now supports the new paravirtualized mode on Oracle Cloud Infrastructure (OCI).
The below instructions assume that the user already has an OCI account.
5. On the Image Details page, click Create Instance to create an instance with the newly created image.
FGT_VM64_OPC now supports native mode on Oracle Cloud Infrastructure (OCI), in addition to emulation mode and
paravirtualized mode. This version also supports iSCSI type hard disks.
1. Download the FGT image for OCI. The naming convention is: FGT_VM64_OPC-v6-buildxxxx-
FORTINET.out.OpenXen.zip.
2. Unzip the file to get fortios.qcow2.
3. Upload fortios.qcow2 to the OCI object storage and copy the file URL path (URI), for example,
https://objectstorage.us-ashburn-
1.oraclecloud.com/n/fortinetoraclecloud1/b/fhua-bucket002/o/fortios.qcow2.
4. Log into the Oracle Cloud web portal and go to Compute > Custom Images > Import Image.
5. Enter the image NAME, in this example, fhua-temp-b0838-native.
6. For OPERATING SYSTEM, select Linux.
7. For the OBJECT STORAGE URL, paste the URI you copied when you uploaded fortios.qcow2.
8. For IMAGE TYPE, select QCOW2.
9. For LAUNCH MODE, select NATIVE MODE.
When the import is complete, the FortiGate for OCI custom image is available. In this example, the custom image
name is fhua-temp-b0838-native.
1. Log into the Oracle Cloud web portal and go to Compute > Instances > Create Instance.
2. In Name your instance, enter your FGT-VM instance name.
3. Select an availability domain for your instance.
4. Select the image source fhua-temp-b0838-native that you configured in the previous procedure.
5. For Choose instance type, select Bare Metal Machine.
6. Click Change Shape and select your instance shape, for example, BM.Standard2.52.
12. Hover your pointer over the … to the right of the FGT-VM and click View Instance Details.
The Instance Information tab shows that Launch Mode is NATIVE.
1. On the Instance Details page navigation bar, click Attached Block Volumes and then click Attach Block Volume.
2. In the Attach Block Volume dialog box, select ISCSI.
3. Select the BLOCK VOLUME COMPARTMENT.
4. Select the BLOCK VOLUME.
5. Leave ACCESS as default.
6. Click Attach.
For example:
config system iscsi
edit "Demo-iSCSI-HD"
set ip 169.254.2.4
set iqn "iqn.2015-12.com.oracleiaas:debf5040-260a-4a28-a00e-da172baa6698"
next
end
To check the hard disk in FortiGate and the second HD (50.0GiB) is attached:
264192
partition ref: 3 127.0MiB, 86.0MiB free mounted: N label: dev: /dev/sda3 start:
3932160
Disk Virtual-Disk ref: 32 50.0GiB type: ISCSI [IET Controller] dev: /dev/sdc
partition ref: 33 49.2GiB, 48.9GiB free mounted: N label: LOGUSEDX6FFE3A65 dev:
/dev/sdc1 start: 2048
Support for Active-Passive HA (High Availability) between Availability Domains (ADs) in Oracle Cloud.
This feature adds another layer of redundancy to ensure uptime if a catastrophic failure occurs to an entire availability
zone. You can now deploy FortiGate units across Availability Domains in HA A-P configurations.
Following is an example structure:
l 1 VCN 10.0.0.0/16 CIDR:
l 8 Subnets:
l 4 in Availability Domain 1 - Master FGTA has a NIC in each of these:
l Public - 10.0.0.0/24 EIP
l Internal - 10.0.1.0/24
l Heartbeat - 10.0.2.0/24
l Management - 10.0.3.0/24 EIP
l 4 in Availability Domain 2 - Slave FGTB has a NIC in each of these:
l Public - 10.0.10.0/24
l Internal - 10.0.11.0/24
l Heartbeat - 10.0.12.0/24
l Management - 10.0.13.0/24 EIP
l 3 OCI Routing Tables:
l For Public, add default route to Internet Gateway
l For Internal, add default to Master FGT internal nic
l For all others, use a default route table with no rules, but a local peering gateway so traffic can traverse across
subnets in the same VCN
Following is a sample configuration:
config system ha
set group-name "test"
set mode a-p
set hbdev "port3" 50
set ha-mgmt-status enable
config ha-mgmt-interfaces
edit 1
set interface "port4"
set gateway 10.0.103.1
next
end
set override disable
set priority 1
After HA has synchronized, shut down the master to trigger a failover. The following example shows that the failover
was successful. Note that the failover public IP moves from master to slave, and the routing table for internal addresses
are also moved.
AliCloud Extensions
This section lists the new features added for GCP extensions.
l Auto Scaling on page 206
Auto Scaling
Sample configuration
1. In AliCloud, go to Auto Scaling > Scaling Groups, click Create Scaling Group.
2. Configure the scaling group parameters:
1. In the scaling group pop-up window, click Create Now to create a new scaling configuration.
2. Select the Instance Type and FortiGate image.
3. Select Assign Public IP and the Security Group.
7. If the configuration is correct, click Create and then click Enable Configuration.
8. Check that the auto scaling group is created and the first FortiGate VM is launched automatically.
1. In the Auto Scaling console Scaling Groups page, click FGT-ASG to edit it.
2. In the left menu, click Scaling Rules.
3. Configure the scaling rule parameters:
The scaling rule FGT-ASG-ADD1 is created and it can be executed to add one FGT-ASG instance.
Use the same procedure to create another scaling rule named FGT-ASG-REMOVE1 to remove one FortiGate VM
instance.
To set the first FortiGate VM in the auto scaling group as the master member:
To scale out another FortiGate VM and set it as a slave member; and then synchronize configuration from
master to slave:
1. In the Auto Scaling console FGT-ASG scaling rules page, execute the scaling rule policy FGT-ASG-ADD1.
A new FortiGate VM instance is created.
2. Log into the new FortiGate VM as administrator and use the CLI to enable auto scaling and set the role to slave.
For the master-ip, use the master side private IP address.
config system auto-scale
set status enable
set role slave
set sync-interface "port1"
set master-ip 192.168.1.204
set psksecret xxxxxx
end
3. Wait a few moments for the slave member to sync with the master member; and then the slave member can sync
the FortiGate configuration from the master member.
FortiGate-VM64-ALION~AND # diag deb app hasync -1
slave's configuration is not in sync with master's, sequence:0
slave's configuration is not in sync with master's, sequence:1
slave's configuration is not in sync with master's, sequence:2
slave's configuration is not in sync with master's, sequence:3
slave's configuration is not in sync with master's, sequence:4
slave starts to sync with master
logout all admin users
Support up to 18 Interfaces
The number of network interfaces that can be supported by FortiGate-VM has been increased. Currently, FortiGate-VM
supports up to a maximum of 10 interfaces. This new feature expands this support to a maximum of 18 interfaces (16
traffic ports, 1 management port, 1 HA port).
This change applies to all FortiGate-VM models except VMX and SVM, as VMX does not use
interfaces to process traffic.
3. Once created, the interfaces will be displayed in the FortiGate GUI under Network > Interfaces.
Limitations
Certain cloud service providers and hypervisors have their own limitations on the maximum number of interfaces
supported, for example:
AWS 15
Azure 8
Oracle 16
Aliyun 8
VMware 10
Hyper-V 12
OpenStack 28
XenServer 7
This version provides NSH chaining support for virtual wire pair, TP mode networks. FortiOS receives and unwraps the
NSH packets and re-encapsulates them before sending them out. The inner packet is processed by firewall policies.
NSH support in FortiGate is basically unwrapping the packet on Ingress and putting the NSH header back on before
sending it out. Other parts of NSH aren't supported yet (SI is currently left unchanged).
There's no CLI/GUI change. The only change is to show ext_header=nsh in NSH session info when listing sessions.
Sample configuration
To configure virtual wire pair and firewall policy using the CLI:
Sample results of configuring a wire pair and policy between port1 and mgmt2. Packets with NSH are processed and the
session list shows ext_header=nsh.
A (vdom1) # diag sys session list
This feature adds Physical Function (PF) SR-IOV drivers for i40e and ixgbe interfaces in virtual environments.
PF adds the ability for PCI Passthrough, but requires an entire Network Interface Card (NIC) for a VM. It can usually
achieve greater performance than a Virtual Function (VF) based SR-IOV. PF is also expensive; while VF allows one NIC
to be shared among multiple guests VMs, PF is allocated to one port on a VM.
The now supported driver versions are:
l ixgbe: 5.3.7
l ixgbevf: 4.3.5
l i40e: 2.4.10
l i40evf: 3.5.13
All tools and software utilities for UEFI 1.X have been removed from this release. Update to
UEFI 2.x to use the UEFI tools or software utilities.
Configuration to use PF or VF is done on the hypervisor, and is not configured on the FortiGate.
The following CLI command can be used to check what driver is being used on the FortiGate:
FGVM0800000000 # diagnose hardware deviceinfo nic port2
Name: port2
Driver: i40e
Version: 2.4.10
Bus: 0000:03:00.0
Hwaddr: 3c:fd:fe:1e:98:02
Permanent Hwaddr:3c:fd:fe:1e:98:02
State: up
Link: up
Mtu: 1500
Supported: auto 1000full 10000full
Advertised: auto 1000full 10000full
Auto: disabled
Rx packets: 0
Rx bytes: 0
Rx compressed: 0
...
FortiMeter Extensions
This section lists the new features added for FortiMeter extensions.
l FortiMeter - Microsoft Hyper-V Instances on page 214
l FortiMeter - Fallback to Public FortiGuard on page 216
FortiMeter now supports Microsoft Hyper-V in addition to support for VMware, KVM, and Xen.
The Microsoft Hyper-V FortiOS-VM must be added to the FortiManager system before authorization. Once the
Microsoft Hyper-V FortiOS-VM is authorized, it can receive updates from FortiManager and process traffic. An
unauthorized Microsoft Hyper-V FortiOS-VM cannot receive updates from FortiManager or process traffic.
1. Ensure that the VM is registered to the FortiManager. See the FortiManager 6.2.0 Administration Guide.
2. Ensure that you are in the correct ADOM.
4. Select the Microsoft Hyper-V FortiOS-VM, then click Authorize in the toolbar, right-click on a device then select
Authorize, or double-click on a device. The Authorize Device(s) dialog box opens. An unauthorized device can use
firewall services for up to 48 hours.
Trial Maximum of two devices can have a trial license at any one time.
No traffic data are sent to FortiGuard, so no points are used.
Can be used for up to 30 days.
7. Click OK to authorize the device. The device now shows as authorized on the FortiManager GUI.
In the example below, the FortiManager IP address is 172.18.3.72. Run the following commands in the FortiOS CLI :
config system central-management
set type fortimanager
set fmg "172.18.3.72"
config server-list
edit 1
set server-type update rating
set server-address 172.18.3.72
next
end
end
In previous releases, FortiOS-VM (FortiMeter) instances needed to get services from FortiManager that facilitated
updates by tracking service entitlements based on serial numbers starting with FOSVM1. However, if the FortiMeter
instance connected directly to Fortinet Distribution Network (FDN), updates were not available since FDN was not
aware of serial numbers with prefix FOSVM1.
In the current release, the serial number prefix FOSVM2 was added to FortiOS-VM. When the FortiMeter instance
connects directly to FDN, it is now able to receive the updates.
The same serial number will have two different prefixes depending on the situation:
l FortiOS-VM sends the serial numbers with prefix FOSVM2 to FortiManager or FortiGuard for updates and rating
service. FOSVM2 is not visible on the FortiManager GUI.
l FortiOS-VM sends the serial numbers with prefix FOSVM1 to FortiManager for management. FOSVM1 is shown
on the FortiManager GUI.
l FortiOS-VM in FortiOS Unauthorized Devices list with the serial number prefix FOSVM1
l Authorize FortiGuard service to FortiOS-VM. FortiOS checks service license with serial number prefix FOSVM1
while providing service to FOSVM2.
This section lists the new features added to FortiOS for automation and dev-ops.
l Trigger - FortiAnalyzer Event Handler on page 217
l Trigger - FortiCloud-based IOC on page 220
l Action - NSX Quarantine on page 221
l Action - CLI Script on page 225
l Action - Azure Function on page 227
l Action - Google Cloud Function on page 229
l Action - AliCloud Function on page 231
l Action - Webhook Extensions on page 233
This feature adds a FortiAnalyzer event handler as an automation stitch trigger. You can trigger automation rules based
on FortiAnalyzer event handlers, giving you the ability to define rules based on complex correlation across devices, log
types, frequency, and other criteria.
When a FortiAnalyzer event handler is triggered, it sends a notification to the FortiGate automation framework, which
generates a log and triggers the automation stitch.
In FortiAnalyzer Event Manager > FortiGate Event Handlers, configure the FortiAnalyzer event handler that will be
triggered when FortiGate logs in.
In FortiGate Security Fabric > Settings, configure FortiAnalyzer and get authorized.
To configure Security Fabric Automation Stitch with trigger of FortiAnalyzer Event Handler in the GUI:
To configure Security Fabric Automation Stitch with trigger of FortiAnalyzer Event Handler in the CLI:
This feature expands topology, FortiView, and automation to support Indicators of Compromise (IOC) detection from
the FortiCloud IOC service.
FortiGate can now list IOC entries on the FortiView pane and use the IOC event logs as a trigger for automation
framework.
FortiGate requires an IOC license and a Webfilter license to use this feature. In addition, you must enabled FortiCloud
logging on the FortiGate.
To view compromised hosts, go to FortiView > Compromised Hosts. The IOC entries are displayed when the source is
FortiCloud.
This feature adds a new Security Fabric > Automation > Action: Assign VMware NSX Security Tag to the NSX
endpoint instance. This action is only available when the Trigger is Compromised Host.
First configure NSX type SDN connector in FortiGate. Then FortiGate can retrieve security tags from VMware NSX
server through the NSX connector.
Configure an automation stitch with the trigger Compromised Host and the Action Assign VMware NSX Security Tag,
then choose a Security tag in the security tags retrieved from VMware NSX server through NSX connector.
If an endpoint instance in the VMware NSX environment is compromised which triggers the automation stitch in
FortiGate, FortiGate will then assign the configured security tag to the compromised NSX endpoint instance.
To configure an automation stitch with a Trigger Compromised Host and Action Assign VMware NSX
Security Tag using the GUI:
3. In the Action section, select Assign VMware NSX Security Tag and configure its settings.
To configure an automation stitch with a Trigger Compromised Host and Action Assign VMware NSX
Security Tag using the CLI:
When an endpoint instance, for example, pcui-ubuntu2, in the VMware NSX environment is compromised, the
automation stitch in FortiGate is triggered. FortiGate then assigns the security tag, in this example, pcui-tag2, to the
compromised NSX endpoint instance.
This feature adds support for calling a CLI script when an automation stitch is triggered. You can use this feature to add
CLI script actions for Security Fabric automation.
CLI scripts can be manually entered, uploaded as a file, or recorded in CLI console. The CLI script output can be sent in
an Automation Action email.
l To record a script in CLI console, click >_Record in CLI console and then save the script.
next
end
To execute the CLI script automatically after the Automation Stitch is triggered:
To execute the CLI script automatically after the Automation Stitch is triggered:
This feature adds support for calling Azure functions when an automation stitch is triggered.
When the automation stitch is triggered, FortiGate shows the stitch trigger time.
next
end
config system automation-trigger
edit "auto-azure"
set event-type security-rating-summary
next
end
config system automation-stitch
edit "auto-azure"
set trigger "auto-azure"
set action "azure_function"
next
end
1. The function log shows that the configured function was called, executed, and finished.
This feature adds support for calling Google Cloud functions when an automation stitch is triggered.
When the automation stitch is triggered, FortiGate shows the stitch trigger time.
This feature adds support for calling AliCloud functions when an automation stitch is triggered.
3. Click OK.
When the automation stitch is triggered, FortiGate shows the stitch trigger time.
In AliCloud, the function log shows that the function was called, executed, and finished.
This feature introduces the PATCH and DELETE methods in the Webhook section in Security Fabric > Automation.
The following shows examples of PATCH and DELETE methods using the GUI and CLI.
To set the Patch method using the CLI, see the following example:
To set the Delete method using the CLI, see the following example:
This section lists the new features added to FortiOS for advanced threats.
l Flow-based Inspection on page 236
l IP Reputation Filtering on page 246
l URL Certificate Blacklist on page 247
l Global IP Address Information Database on page 251
l IPv6 on page 260
l File Filtering for Web and Email Filter Profiles on page 263
l Move Botnet C&C into IPS Profile on page 268
Flow-based Inspection
Web Filtering
Flow-based web filtering support has been extended to allow for the following options:
l Authenticate: Require authentication for specific website categories.
l Warn: Display a warning message but allow users to continue to the website.
l Override: Allow users with valid credentials to override their web filter profile.
4. Select Apply.
In this version, in NGFW Mode, the Inspection Mode is moved to per-policy, enabling more flexible setup for different
policies.
In System > VDOM, the NGFW Mode option has been removed.
When you configure a policy, you can select a Flow-based or Proxy-based Inspection Mode. Default is Flow-based.
If you change to Proxy-based, the Proxy HTTP(S) traffic option displays.
In the Security Profiles section, if no security profiles are enabled, the default SSL Inspection is no-inspection.
In the Security Profiles section, if you enable any security profile, the SSL Inspection changes to certificate-
inspection.
FortiGate-101E (1) # sh
config firewall policy
edit 1
set uuid 05d88354-4817-51e9-7494-06cb70accbf0
set srcintf "wan2"
set dstintf "wan1"
Statistics
This feature adds a flow AV statistics check, and provides an API for SNMP to get AV statistics.
Two CLI commands are added to show and clear the AV statistics:
diagnose ips av stats show
diagnose ips av stats clear
1. Create an AV profile:
config antivirus profile
edit "av-test"
config http
set options scan avmonitor
end
config ftp
set options scan quarantine
end
next
end
2. Enable the profile on a firewall policy:
config firewall policy
edit 1
Protocol enforcement is added to the Application Control Profile, allowing the admin to configure network services (e.g.,
FTP, HTTP, HTTPS) on known ports (e.g., 21, 80, 443), while blocking those services on other ports.
The feature takes action in the following scenarios:
l When one protocol dissector confirms the service of network traffic, protocol enforcement can check whether the
confirmed service is whitelisted under the server port. If it is not, then the traffic is considered a violation and IPS
can take action (e.g., block) specified in the configuration.
l There is no confirmed service for the network traffic. It would be considered a service violation if IPS dissectors rule
out all the services enforced under its server port.
In Security Profiles > Application Control, a new Network Protocol Enforcement pane lets you create and configure
network services on specific ports and set violation action.
To configure the application profile default network service list using CLI:
IP Reputation Filtering
This features adds support for reputation filtering in the firewall policies.
Currently, there are five reputation levels in the internet-service database (ISDB), and custom reputation levels can be
defined in a custom internet-service. This features allows firewall policies to filter traffic according to the configured
reputation level. If the reputation level of either the source or destination IP address is equal to or greater than the level
set in the policy, then the packet is forwarded, otherwise, the packet is dropped.
The five default reputation levels are:
2 Sites providing high risk services, such as TOR, proxy, P2P, etc.
3 Unverified sites.
5 Known and verified safe sites, such as Gmail, Amazon, eBay, etc.
The default minimum reputation level in a policy is zero, meaning that the reputation filter is disabled.
For IP addresses that are not included in the ISDB, the default reputation level is three.
The default reputation direction is destination.
Packets from the source IP address with reputation levels three, four, or five will be forwarded by this policy.
As increasing numbers of malware have started to use SSL to attempt to bypass IPS, maintaining a fingerprint-based
certificate blacklist is useful to block botnet communication that relies on SSL.
This feature adds a dynamic package that is distributed by FortiGuard and is part of the Web Filtering service. It is
enabled by default for SSL/SSH profiles, and can be configured using the following new CLI commands (highlighted in
bold):
config vdom
edit <vdom>
config firewall ssl-ssh-profile
edit "certificate-inspection"
set comment "Read-only SSL handshake inspection profile."
config ssl
set inspect-all disable
end
config https
set ports 443
set status certificate-inspection
set invalid-server-cert block
set untrusted-server-cert allow
set sni-server-cert-check enable
end
config ftps
set status disable
set invalid-server-cert block
set untrusted-server-cert allow
end
config imaps
set status disable
set invalid-server-cert block
set untrusted-server-cert allow
end
config pop3s
set status disable
set invalid-server-cert block
set untrusted-server-cert allow
end
config smtps
set status disable
set invalid-server-cert block
set untrusted-server-cert allow
end
config ssh
set ports 22
set status disable
set inspect-all disable
set unsupported-version bypass
set ssh-tun-policy-check disable
set ssh-algorithm compatible
end
set block-blacklisted-certificates enable
set caname "Fortinet_CA_SSL"
set ssl-anomalies-log enable
next
edit "deep-inspection"
set comment "Read-only deep inspection profile."
config ssl
set inspect-all disable
end
config https
set ports 443
set status deep-inspection
set client-cert-request bypass
set unsupported-ssl bypass
set invalid-server-cert block
set untrusted-server-cert allow
set sni-server-cert-check enable
end
config ftps
set ports 990
set status deep-inspection
set client-cert-request bypass
set unsupported-ssl bypass
set invalid-server-cert block
set untrusted-server-cert allow
end
config imaps
set ports 993
set status deep-inspection
set client-cert-request inspect
set unsupported-ssl bypass
set invalid-server-cert block
set untrusted-server-cert allow
end
config pop3s
set ports 995
set status deep-inspection
set client-cert-request inspect
set unsupported-ssl bypass
set invalid-server-cert block
set untrusted-server-cert allow
end
config smtps
set ports 465
set status deep-inspection
set client-cert-request inspect
set unsupported-ssl bypass
set invalid-server-cert block
set untrusted-server-cert allow
end
config ssh
set ports 22
set status disable
set inspect-all disable
set unsupported-version bypass
set ssh-tun-policy-check disable
set ssh-algorithm compatible
end
set whitelist disable
set block-blacklisted-certificates enable
config ssl-exempt
edit 1
set type fortiguard-category
set fortiguard-category 31
next
edit 2
set type fortiguard-category
set fortiguard-category 33
next
edit 3
set type wildcard-fqdn
set wildcard-fqdn "g-adobe"
next
edit 4
set type wildcard-fqdn
set wildcard-fqdn "g-Adobe Login"
next
edit 5
set type wildcard-fqdn
set wildcard-fqdn "g-android"
next
edit 6
set type wildcard-fqdn
set wildcard-fqdn "g-apple"
next
edit 7
set type wildcard-fqdn
set wildcard-fqdn "g-appstore"
next
edit 8
set type wildcard-fqdn
set wildcard-fqdn "g-auth.gfx.ms"
next
edit 9
set type wildcard-fqdn
set wildcard-fqdn "g-citrix"
next
edit 10
This feature adds extensions to Internet Service and IP Reputation to download more details about public IP addresses,
including ownership, known services, geographic location, blacklisting information, etc. The new details are available in
drilldown information, tooltips, and similar mechanisms in FortiView and other areas.
The global IP address database is an integrated database containing all public IP addresses and is implemented in the
Internet-Service Database.
CIFS Support
This version supports file-type filtering and antivirus scanning for proxy-based inspection on CIFS traffic.
File filter for CIFS is performed by inspecting the first 4 kB of the file to identify the file's magic number. If a match
occurs, CIFS file-filtering prevents the CIFS command that contains that file from running.
This feature also introduces a new security profile called cifs-profile which handles the configuration for file-type
filtering on CIFS.
The antivirus profile still handles the antivirus configuration for CIFS scanning.
Requirements
The firewall policy must be set to Proxy inspection mode for CIFS profile to be available for assignment to the policy.
The following are not supported by CIFS scanning in proxy inspection mode:
l File types and infections within archive files cannot be detected.
l Oversized files cannot be detected.
l Special condition archive files (encrypted, corrupted, mailbomb, etc.) marked by AV engine are blocked
automatically.
l IPv6 CIFS traffic is not supported.
Sample configuration
The domain controller configuration is necessary when CIFS traffic is encrypted, such as used by SMB 3.0.
This configuration tells the FortiGate the location of the domain controller in the network and the superuser credentials.
This is all needed to decrypt SMB 3.0 traffic.
FGT_PROXY (vdom1) # config cifs
domain-controller Define known domain controller servers.
profile Configure CIFS profile.
po+UYDsBUxELDp-
fLYC7C31rCm6WD0jYiRcQ/kZhWp-
wB5Dl3W7Z9865r/ntVu1YCsWex/+MnnMYyzFXaNJriXuPLYKEv2fe79NpmSuvouEMvc6zgPPBbXE+28SHzA==
set ip 172.16.201.40
next
end
Sample profile configuration for deep CIFS inspection (for SMB 3.0)
No-Encryption
none is the default for CIFS profile's server-credential-type parameter. When none is set, the CIFS profile
assumes the CIFS traffic is unencrypted (used with SMB 2.0).
Account-Replication
This method of decrypting CIFS traffic involves FortiOS obtaining the session key from the domain controller by logging
into the superuser account.
When credential-replication is set, the parameter domain-controller becomes available and domain
controller must be specified.
For an example of the domain controller entry, see the CIFS domain controller configuration section above.
FGT_PROXY (vdom1) # config cifs profile
config file-filter
config entries
end
end
set domain-controller "DOMAIN"
next
end
Keytab
This method of decrypting CIFS traffic involves FortiOS using a series of keytab values to decrypt CIFS traffic.
Use this method when the SMB connection is authenticated by Kerberos.
When credential-keytab is set, the keytab table server-keytab becomes available and keytab entries can be
configured.
Keytab values are stored in the FortiOS configuration in plain text.
FGT_PROXY (vdom1) # config cifs profile
This feature includes a new UTM log category type: utm-cifs which logs the file-type detection events generated by
cifs-profile.
Antivirus detection over CIFS protocol still generate logs under the utm-virus category.
FGT_PROXY (vdom1) # execute log filter category
Available categories:
0: traffic
1: event
2: utm-virus
3: utm-webfilter
4: utm-ips
5: utm-emailfilter
7: utm-anomaly
8: utm-voip
9: utm-dlp
10: utm-app-ctrl
12: utm-waf
15: utm-dns
16: utm-ssh
17: utm-ssl
18: utm-cifs
IPv6
This feature introduces a new, consolidated policy mode. In this mode, IPv4 and IPv6 policies are combined into a
single, consolidated policy. This means that a single policy can be defined that includes both IPv4 and IPv6, instead of
defining separate policies.
In consolidated policy mode, there is a single policy table for the GUI. The same source interface, destination interface,
service, user, and schedule are shared for both IPv4 and IPv6, while there are different IP addresses and IP pool
settings.
Consolidated policy mode can be enabled with the following CLI command:
config system settings
set consolidated-firewall-mode enable
Enabling consolidated-firewall-mode will delete all firewall policy/policy6. Do you
want to continue? (y/n) y
end
Enabling consolidated policy mode will delete all existing IPv4 and IPv6 policies.
Limitations
The following features are not currently supported by consolidated policy mode:
l Policy-learning mode
l Internet-services in policy
l Address-negate and service-negate
l DSCP-match/Tos
l Traffic shaper in policy
l Capture-packet in policy
l External IP list in policy
l schedule-timeout, block-notification, disclaimer, custom-log-fields, or reputation in policy
l timeout-send-rst, tcp-session-without-syn, or anti-replay in policy;
l Policy Interface Pair View
l Policy lookup function on page.
The session/iprope tables for IPv4 and IPv6 are still displayed separately.
This feature adds DNS profile inspection to IPv6 policies. This includes FortiGuard DNS filtering (with a web filtering
license), and portal replacement message redirect.
A new CLI variable is added to the DNS filter profile for the IPv6 address of the SDNS redirect portal: redirect-
portal6
config dnsfilter profile
edit "default"
set comment "Default dns filtering."
config domain-filter
unset domain-filter-table
end
config ftgd-dns
unset options
config filters
edit 1
set category 2
set action monitor
next
edit 2
set category 7
set action monitor
next
......
end
set log-all-domain disable
set sdns-ftgd-err-log enable
set sdns-domain-log enable
set block-action redirect
set block-botnet enable
set safe-search disable
set redirect-portal 0.0.0.0
set redirect-portal6 ::
next
end
After the FortiGate has successfully initialized communication with the SDNS server (for domain rating service), the
following CLI command will show the default redirect portal IPv6 address:
(global) # diag test app dnsproxy 3
......
FGD_REDIR_V4:208.91.112.55 FGD_REDIR_V6:[2001:cdba::3257:9652]
This feature adds file filtering capabilities to web and email filter profiles. The web filters will cover the detection of
HTTP and FTP traffic, while the email filters cover SMTP, POP3, and IMAP. New logs and replacement messages are
also added.
3. Enable File Filter, if not already enabled, then click Create New in the filter table. The Create New File Filter Rule
pane opens.
edit "filter1"
set comment "Block files"
set protocol [http | ftp]
set action {block | log}
set direction {any | incoming | outgoing}
set encryption {any | yes}
set file-type "pdf" "msofficex"
next
end
end
next
end
Web filter profiles handle HTTP and FTP protocols, and can configure the traffic direction.
Variable Description
scan-archive-contents {enable | disable} Enable/disable file filter archive contents scan (default =
enable).
action {block | log} The action taken for matched file (default = log).
direction {any | incoming | outgoing} Match files transmitted in the session's originating
direction (incoming), reply direction (outgoing), or either
(any) (default = any).
Email filter profiles handle SMTP, IMAP, and POP3 protocols. The traffic direction cannot be
configured, as it is implied by the protocol.
Variable Description
scan-archive-contents {enable | disable} Enable/disable file filter archive contents scan (default =
enable).
protocol [smtp | imap | pop3] Protocols to use (default = smtp imap pop3).
action {block | log} The action taken for matched file (default = log).
New logs
A new file_filter event type is added to both web and email filter log categories.
Log samples
Security Profiles > Intrusion Prevention has a new Botnet C&C option. This option consolidates multiple botnet
options into a single option in the IPS Profile so that in one place, you can enable botnet blocking across all traffic that
match the policy.
The new Security Profiles > Intrusion Prevention > Botnet C&C option replaces and enhances the old Network
Interfaces > Scan Outgoing Connections to Botnet Sites option.
1. Go to Security Profiles > Intrusion Prevention and enable Botnet C&C by setting Scan Outgoing Connections to
Botnet Sites to Block or Monitor.
2. Add the above sensor to the firewall policy and the IPS engine will start to scan outgoing connections to botnet
sites.
For example, visit a botnet IP and an IPS log is generated for this attack.
In System > FortiGuard , Botnet IPs and Botnet Domains are now in the Intrusion Prevention section.
There are no changes from version 6.0.4 in configuring Security Profiles > DNS Filter > Redirect botnet C&C requests
to Block Portal. Add the profile to a firewall policy to block connections to Botnet domains.
There are no changes from version 6.0.4 in configuring Security Profiles > Intrusion Prevention > Block malicious
URLs. Enable Block malicious URLs in IPS Sensor and then add the sensor to a firewall policy.
In this version and version 6.0.4, there are IPS signatures for botnet attacks. Include these signatures in IPS Sensor and
then add the sensor to a firewall policy to detect or block attacks matching the IPS signatures.
IOT & OT
This section lists the new features added to FortiOS for IOT & OT.
l MAC Address-Based Policies on page 272
l Device Summary and Filtering on page 274
This version adds a new address type — range of MAC addresses for IPv4 policies, including:
l IPv4 Firewall Policy.
l IPv4 Virtual Wire Pair Policy.
l IPv4 ACL Policy.
l IPv4 Central SNAT Policy.
l IPv4 DoS Policy.
The MAC address is a link layer-based address type and the MAC address cannot be forwarded across different IP
segments.
For policies in NAT mode VDOM, we only support this new MAC address type as source address.
For policies in Transparent mode or Virtual Wire Pair interface, you can use this address type as source or destination
address.
When you use this address type in a policy as source address in NAT mode VDOM, IP address translation (NAT) is still
performed according to the rules defined in the policy. This new address type only works for source address matching. It
does not have any association with NAT actions.
Sample configuration
2. Go to Policy & Objects > IPv4 Policy to apply the address type to a policy in NAT mode VDOM.
In NAT mode VDOM, this address type cannot be used as destination address.
2. Apply the address type to a policy. In Transparent mode or Virtual Wire Pair interface, this address type can be
mixed with other address types in the policy.
config firewall address
edit "test-mac-addr1"
New summary charts are introduced to Device Inventory for Device type, Status, Interfaces. These charts are click-
able to simplify filtering and searching the list. This framework is generic and will be added to other areas of the GUI in
the future.
2. On the Device Type chart, click Linux PC to filter all Linux devices.
4. In the Interfaces chart, click port1 to filter all devices discovered from port1.
This section lists the new features added to FortiOS for SOC adoption.
l Topology View — Consolidated Risk on page 276
l FortiView — Subnet Filters on page 279
l FortiView Dashboards and Widgets on page 281
l FortiView Object Names on page 286
l FortiView Top Sources Usability on page 289
l FortiManager Cloud Service on page 291
l FortiAnalyzer Cloud Service on page 294
The new Consolidated Risk View in the Security Fabric Topology displays different risks within the topology view. The
filter considers threats originating from different components including:
l IOC Detections
l Vulnerabilities
l Threat Score
The topology shows endpoints based on their highest severity event. Details are available in the tooltips. Administrators
can also filter by risk type or severity.
This version adds two improvements for topology pages:
l Add the ability to highlight hosts with critical vulnerabilities along with compromised hosts as Critical Risks in the
default topology view. You can also view Critical Risk devices in the right pane.
l Consolidate the Vulnerability, Threat Score, and 'IOC Score view into a new view mode called Risk view.
In Security Fabric > Physical Topology, the default topology view highlights hosts with critical vulnerabilities along with
compromised hosts as Critical Risks.
Click Critical Risks to view critical risk devices in the right pane.
This version supports filtering source IPs or destination IPs with subnet mask in the format of x.x.x.x/x in both real-time
and historical modes. Both logging from disk and logging from FortiAnalyzer are supported.
Sample configuration
l All non-core FortiView pages have been removed from the left navigation and are now available as dashboard
widgets:
In this version, FortiView Top Sources and Top Destinations views leverage UUID to resolve Firewall Object (Address)
names for improved usability.
Requirements
l Firewall Objects-based view is only available when the data source is disk.
l To have historical Firewall Objects-based view, address objects UUID need to be logged. Enable log-uuid-
address under system global:
config system global
set log-uuid-address enable
end
Sample configuration
In this example, firewall addresses have been configured using the commands in To configure firewall addresses in the
CLI: on page 288 and each firewall address object is associated with an unique UUID.
In the GUI, Top Sources can display Firewall Objects-based chart in real time.
The Top Sources > Historical tab can display Firewall Objects-based chart.
You can drill down a source object. This example shows a drill down of PC2.
The Top Destinations > Historical tab can display Firewall Objects-based chart.
You can drill down a destination object. This example shows a drill down of 172-16-200-55-PC5.
To configure the firewall policy with defined firewall addresses in the CLI:
This feature enhances Top Sources view by adding the following functions for both real-time and historical view:
l Improve Top Sources view with the avatar and device information.
l Add support for using right-click to create/edit device definition in Top Sources view.
l Add support for using right-click to create/edit address definition in Top Sources view.
Sample configuration
In the GUI, FortiView > Sources shows the avatar and device information at the top level.
On drill down, the Summary of box shows the avatar and device details.
In the top view, you can right-click to create or edit a custom device, or perform other actions.
In the drill down view Summary of box, you can select the Action button to edit a custom device, or perform other
actions.
A new cloud-based SaaS management service is available based on FortiManager. This service is also included in the
360 Protection Bundle.
Once FortiGate has acquired a contract named FortiManager Cloud, FortinetOne creates a cloud-based FortiManager
instance under the user account. You can launch the portal for the cloud-based FortiManager from FortinetOne, and its
URL starts with the User ID.
You can use a FortiGate with a contract for FortiManager Cloud to configure central management by using the FQDN of
fortimanager.forticloud.com. A FortiGate-FortiManager tunnel is established between FortiGate and the FortiManager
instance.
After the tunnel is established, you can execute FortiManager functions from the cloud-based FortiManager portal.
1. In the FortiCare portal, ensure that you have a product entitlement for FortiManager Cloud, and note your user
ID number.
2. Click the FortinetOne icon in the upper-right corner to access the FortiManager Cloud instance.
User ID on FortiManager portal represents the dedicated instance.
4. In the FortiManager Cloud instance, go to Device Manager and authorize the FortiGate.
When using FortiGate to enable FortiManager Cloud, the FortiGate device appears as an unauthorized device.
Traffic and Security logs are not supported in the initial version of FortiAnalyzer Cloud.
When FortiAnalyzer Cloud is licensed and enabled, all Event logs are sent to FortiAnalyzer Cloud by default, and all
Traffic logs, Security logs, and archive files are not sent to FortiAnalyzer Cloud.
Limitations:
l FortiAnalyzer Cloud cannot be enabled in vdom override-setting when global FortiAnalyzer Cloud is
disabled.
l You must use the CLI to retrieve and display logs sent to FortiAnalyzer Cloud. FortiOS GUI is not supported.
l You cannot enable FortiAnalyzer Cloud and FortiGate Cloud at the same time.
On the Security Fabric > Settings pane in FortiOS, the FortiAnalyzer Cloud tab is grayed out when you do not have a
FortiAnalyzer Cloud entitlement:
When you have a FortiAnalyzer Cloud entitlement, the FortiAnalyzer Cloud tab is available on the Security Fabric
> Settings pane:
You can also view the FortiAnalyzer Cloud settings on the Log & Report > Log Settings pane:
Sample log:
Compliance
This section lists the new features added to FortiOS for Compliance.
l FortiSandbox Cloud Region Selection on page 299
l FortiGate-VM Unique Certificate on page 302
l Run a File System Check Automatically on page 304
In FortiOS 6.2, FortiSandbox Cloud services, also referred to as FortiCloud Sandbox services, are decoupled from the
FortiCloud license, allowing users to specify a FortiSandbox Cloud region as well as take advantage of FortiSandbox
features without a FortiCloud account.
The topology below demonstrates how FortiCloud Logs and FortiSandbox Cloud are separated in FOS 6.2.
l FortiGate’s Main Dashboard displays separated FortiSandbox Cloud and FortiCloud Log license statuses within
the FortiCloud widget.
In the example below, the FortiCloud account is using a free license while FortiSandbox Cloud is using a paid
license.
l To obtain a FortiSandbox Cloud license, register the FortiGate with a paid FortiGuard AntiVirus license. As the
FortiSandbox Cloud license is linked to the user's AntiVirus license, it will expire when the AntiVirus license expires.
l If the FortiGate is not registered with a paid AntiVirus license, the FortiGate will use the free FortiCloud license.
This license limits the FortiGate to 100 FortiSandbox Cloud submissions per day.
3. Select Apply.
l In the FortiOS CLI, enter the command: forticloud-sandbox region and select a region.
FGT_PROXY (global) # exec forticloud-sandbox region
0 Europe
1 Global
2 Japan
3 US
Please select cloud sandbox region[0-3]:3
Cloud sandbox region is selected: US
FGT_PROXY (global) #
l The separation of the FortiCloud Log and Sandbox services can be seen in the example below:
FGT_PROXY (global) # diagnose test application forticldd 3
Debug zone info:
Domain:FortiCloud ReleaseQA Global - 172.16.95.16
Home log server: 172.16.95.93:514
Alt log server: 172.16.95.27:514
Active Server IP: 172.16.95.93
Active Server status: up
Log quota: 102400MB
Log used: 0MB
Daily volume: 20480MB
fams archive pause: 0
APTContract : 1
APT server: 172.16.102.52:514
APT Altserver: 172.16.102.51:514
Active APTServer IP: 172.16.102.52
Active APTServer status: up
FGT_PROXY (global) #
To safeguard against certificate compromise, FortiGate VM and FortiAnalyzer VM allow the same deployment model as
FortiManager VM whereby the license file contains a unique certificate tied to the virtual device's serial number.
A hardware appliance usually comes with a BIOS certificate with a unify serial number that identifies the hardware
appliance. This built-in BIOS certificate is different from a firmware certificate. A firmware certificate is distributed in all
appliances with the same firmware version.
Using a BIOS certificate with a built-in serial number provides a high trust level for the other side in X.509
authentication.
Since a VM appliance has no BIOS certificate, a signed VM license can provide an equivalent of a BIOS certificate. The
VM license assigns a serial number in the BIOS equivalent certificate, which gives the certificate with an abstract access
ability, i.e., the same as a BIOS certificate with the same high trust level.
Sample configuration
Depending on the firmware version and VM license, check the following sample configurations.
If you are using new firmware (6.2.0) with a new VM license, verify VM license can be validated and the certificates
Fortinet_Factory and Fortinet_Factory_Backup CN are changed to the FortiGate VM serial number.
If you are using new firmware (6.2.0) with an old VM license, verify VM license can be validated and the certificates
Fortinet_Factory and Fortinet_Factory_Backup CN are kept as CN = FortiGate and not changed to
the serial number.
If you are using old firmware (6.0.2) with a new VM license, verify VM license can be validated and the certificates
Fortinet_Factory and Fortinet_Factory_Backup CN are kept as CN = FortiGate and not changed to
the serial number.
This feature adds the option to perform an automatic file system check if the FortiGate shuts down ungracefully.
By default, automatic file system check is disabled. When disabled, the next time an administrator logs in after an
ungraceful shutdown, a warning message will advise them to manually run a file system check.
GUI warning:
CLI warning:
WARNING: File System Check Recommended! Unsafe reboot may have caused inconsistency in
disk drive.
It is strongly recommended that you check file system consistency before proceeding.
Please run 'execute disk scan 17'
Note: The device will reboot and scan during startup. This may take up to an hour
Automatic file system checking can be enabled using both the GUI and the CLI.
3. Click Apply.
This section lists the new features added to FortiOS for usability.
l SAML SSO on page 306
l Logging - Session versus Attack Direction on page 311
l Internet Service Improvement on page 313
l Application Control Profile GUI Improvements on page 314
l Authentication Policy Extensions on page 318
l Workspace Mode on page 319
l Extend Policy/Route Check to Policy Routing on page 321
l Address Group - Exclusions on page 324
l Automatic Address Creation for Attached Networks on page 325
l Centralized Web Filtering Statistics on page 328
l Traffic Shaping GUI Update on page 329
l Unified Login for FortiCare and FortiGate Cloud on page 333
l Split-Task VDOM Mode on page 337
SAML SSO
SAML SSO enables a single FortiGate device to act as the Identify Provider (IdP), while other FortiGate devices act as
Service Providers (SP) and redirect log ins to the IdP.
All administrators must be actively added into each SP. When an administrator first logs in to an SP, a temporary
account is created with the no access profile, and the device administrator must enable access for each account on
each device.
6. Click Apply.
6. Click Apply.
6. Click OK.
3. Click Login.
A GUI warning opens.
As the account is using a restricted access profile, additional permissions must be granted by the device
administrator.
4. Click Logout.
The new Single Sign-On Administrator was automatically created when it logged in the first time.
3. Edit the new SSO admin and change their Administrator Profile.
4. Click OK.
1. At the FGT_B log in prompt, click or via Single Sign-On. The SSO log in prompt opens.
2. Enter the log in information for the SSO administrator.
3. Click Login.
FGT_B is successfully logged into.
CLI commands
To configure an SP:
IPS logs have been updated to record source and destination information based on session direction instead of attack
direction. This update allows for better alignment between IPS and traffic logs, as traffic logs also record source and
destination information based on session direction. FortiOS can use this information to present a more accurate
summary and drill-down path.
IPS logs also include a new direction field to indicate attack direction when applicable.
The following scenarios show examples of traffic and IPS logs for server-side and client-side attacks. Both scenarios use
the topology illustrated below. The session direction is from the client to the server.
In both scenarios, note that both the traffic and IPS log record the source and destination IP addresses using the
session direction, treating the client as the source and the server as the destination. The source fields (srcip,
srcport, and srcintf) use client data. The destination fields (dstip, dstport, and dstinf) use server data.
The IPS log examples also include the direction field to show the attack direction.
In this scenario, the client attempts to download malware from the server. The attack direction therefore is incoming
(from the server to the client). The table below shows the traffic and IPS logs for this scenario:
In this scenario, the client attempts to post malware to the server. The attack direction therefore is outgoing (from the
client to the server). The table below shows the traffic and IPS logs for this scenario:
This feature improves the Internet Service display and configuration by supporting frequently-seen icons such as
Facebook and LinkedIn icons on the Policy page and ISDB page.
Sample configuration
Go to Policy & Objects > Internet Service Database to see and use the icons for common Internet Services.
Go to a Policy page in Policy & Objects to see and use the icons for common Internet Services.
This version adds multiple GUI enhancements to the Application Control Profile including:
l A right-sided pane in the sensor page to display FortiGuard help links.
l Individual application overrides and filter overrides tables are combined into one override table. The two types are
combined when adding a new override.
l Override entries in the table display sequence numbers and can be reordered by dragging and dropping.
Specific application overrides and filter overrides tables are combined into one override table, where signature and filter
entries are mixed together. A right-sided gutter has been added to sensor page to display FortiGuard help links.
Override entries in the table display sequence numbers that can be reordered by dragging and dropping.
Entries in the Application and Filter Overrides table can be reordered by dragging the priority number to the desired
position. The priority number and the selected entries are reordered.
In the Application and Filter Overrides section, the pane to add and edit overrides entries has two tabs: Application and
Filter.
For each entry in the override table, you can only configure one type: for Application or Filter option.
1. In Security Profiles > Application Control in the Application and Filter Overrides section, click Create New.
2. For Type, select Application. For Action, select Block.
3. For Application, click +.
All application signatures are listed.
4. In the Search box, enter Facebook and select Facebook.
11. Drag the second entry to the top, and click OK to save this profile.
In 6.0, if you defined an authentication policy for specific traffic, then you might need to exclude the destination from the
default implicit policy, otherwise, the implicit rule might allow unauthenticated users go to through. This new option
forces the authentication to take precedence over subsequent rules without having to create additional policies.
By default, unauthenticated traffic is permitted to fall through to the next policy. FortiGate only forces unauthenticated
users to authenticate against the authentication policy when there are no other matching policies. In this version,
administrators can force the authentication to always take place.
implicitly (default) Implicitly trigger firewall authentication on demand. This is the default setting
and the original behavior.
You can only use CLI to configure this feature. See the following example.
config user setting
set auth-on-demand always
end
config firewall policy
edit 1
set name "QA to Database"
Workspace Mode
This feature adds a workspace mode to FortiOS, allowing administrators to make a batch of changes that are not
implemented until the transaction is committed. Prior to committing, the changes can be reverted or edited as needed
without impacting current operations.
When an object is edited in workspace mode it is locked, preventing other administrators from editing that object. A
warning message will be shown to let the administrator know that the object is currently being configured in another
transaction.
All administrators can use workspace mode; their permissions in workspace mode are the same as defined in their
account profile.
A workspace mode transaction times out in five minutes if there is no activity. When a transaction times out, all changes
are discarded. A warning message will be shown to let the administrator know that a timeout is imminent, or has already
happened:
config transaction id=1 will expire in 30 seconds
config transaction id=1 will expire in 20 seconds
config transaction id=1 will expire in 10 seconds
config transaction id=1 has expired
set management-vdom
set wireless-mode
set internal-switch-mode
end
config system settings
set opmode
end
system.npu
system.np6
config system wireless
set mode
end
system.vdom-property
system.storage
Diagnose commands
The existing Policy Check and Route Check features in FortiOS 6.0 exclude checking against the Policy Routing engine.
In 6.2, this is added, and new options are available in the GUI to support further testing scenarios.
This version adds policy route look up support and prioritizes it over static/dynamic (normal) routes when doing route
lookup in the GUI.
In Monitor > Routing Monitor, click Route Lookup to look up an address. If it matches the policy route first, the policy
route is highlighted.
The result of the matching policy route is highlighted in the Route Monitor page. Below is an example of IPv4 lookup.
The result of the matching IPv6 policy route is highlighted in the Route Monitor page.
diag ip proute match <IPv6 destination address> <IPv6 source address> <interface name>
<protocol> <destination port>
proute IPv6 policy routing.
match Match IPv6 route to policy routes.
xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx IPv6 destination address.
xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx IPv6 source address.
intf-name Interface Name.
<1-255> Protocol.
<0-65535> Destination port.
diag ipv6 proute match <destination ip addres> <source ip address> <interface name> <protocol>
<destination port>
proute Policy routing.
match Match policy route
XXX.XXX.XXX.XXX Destination IP address.
XXX.XXX.XXX.XXX Source IP address.
intf-name Interface Name.
<1-255> Protocol.
<0-65535> Destination port.
This feature introduces the Exclude Members setting in IPv4 address groups. The specified IP addresses or ranges are
subtracted from the address group.
This feature is only supported for IPv4 address groups, and only for addresses with a Type of
IP Range or Subnet.
3. Enable Exclude Members, and select the addresses that will be excluded from the group.
4. Click OK.
The excluded members are listed in the Exclude Member column.
For all interfaces set to a LAN or DMZ role, a new option is available to automatically create an address object for the
connected network.
The new Create address object matching subnet option is displayed in the GUI when Role is set to LAN or DMZ:
l When Role is set to LAN, the Create address object matching subnet option is displayed:
l When Role is set to DMZ, the Create address object matching subnet option is displayed:
The Create address object matching subnet option is hidden in the GUI when Role is set to WAN or Undefined:
l When Role is set to WAN , the Create address object matching subnet option is hidden:
l When Role is set to Undefined, the Create address object matching subnet option is hidden:
When the Create address object matching subnet option is enabled, the new address object displays on the Policy &
Objects > Address page:
Instead of individual counters, this version uses a centralized set of counters for the combined results for Explicit Proxy,
Flow mode, and Proxy mode web filtering.
The CLI shows the global cumulative IPS engine daemon/workers statistics. For Proxy mode or Flow mode web
filtering, you can now use these counters to check all the Proxy or Flow daemons/workers statistics. You don't have to
check the statistics for each daemon/worker or check the statistics from the URL filter daemon (FortiGuard rating
daemon).
Sample usage
The Proxy mode web filter counter is not new. This version adds the results from Flow mode.
Use the Proxy mode web filtering statistics counter for all the web filtering statistics of the WAD daemon, including
transparent proxy policy and explicit webproxy policy scenarios. This is global and per-VDOM.
(global)# diagnose wad filter vd root <-- filter-out output for vdom root
filtering of vdom root <-- statistics for VDOM root (under global)
dlp = 0
content-type = 0
urls:
examined = 0
allowed = 0
blocked = 0
logged = 0
overridden = 0
This feature adds GUI support for interface based traffic shaping.
Example
In this example, QA traffic to the database is put into shaping group 10 and is guaranteed to have 60% of the interface
bandwidth, which is 6Mbps. Other QA traffic is put into shaping group 20 and is guaranteed to have 40% of the interface
bandwidth, which is 4Mbps.
c. Configure the settings as needed, setting the Destination to the database, the Outgoing interface to port9,
and the Shaping group to 10.
d. Click OK.
3. Create the shaping policy for all other QA traffic:
a. Go to Policy & Objects > Traffic Shaping Policy.
b. Click Create New. The New Shaping Policy page opens.
c. Configure the settings as needed, setting the Shaping group to 20.
d. Click OK.
Traffic from QA to the database is put into shaping group 10, and all other QA traffic is put into shaping group 20.
4. Configure a traffic shaping profile:
a. Go to Policy & Objects > Traffic Shaping Profile.
b. Click Create New. The Create shaping profile page opens.
c. Set the Default Shaping Group to Shaping group 20 with a Guaranteed bandwidth of 40.
d. Add an Additional Shaping Group, and set the Shaping group to 10 and Guaranteed bandwidth to 60.
2. Create shaping policies for QA to access the database and the Internet:
config firewall shaping-policy
edit 1
set name "To_Database"
set service "ALL"
set dstintf "port9"
set class-id 10
set srcaddr "QA_subnet"
set dstaddr "Database"
next
edit 2
set name "To_Internet"
With the availability of FortinetOne, FortiGate now supports a unified login between FortiCare and FortiGate Cloud.
During initial setup, it's no longer required to authenticate with both separately - the FortiGate Cloud setup is now a
subset of the FortiCare setup.
You now have the following options:
From the FortiOS GUI, you can activate FortiGate Cloud with a Standalone account:
1. Go to Dashboard > Main, and ensure that you have logged into FortiCare with a FortinetOne account and have
activated FortiGate Cloud with a Standalone account.
2. Go to Security Fabric > Settings > Cloud Logging and/or Central Management, and click Migrate Now.
3. In the Password box, type the password for the FortinetOne account, and click OK.
4. Confirm that the FortiCloud account was successfully migrated from a Standalone account to a FortinetOne
account.
Split-task VDOM mode simplifies deployments that require only one management VDOM and one traffic VDOM. The
management VDOM is used to manage the FortiGate, and cannot be used to process traffic. The traffic VDOM
provides separate security policies, and is used to process all network traffic.
Split-task VDOM mode is not available on all FortiGate models. The Fortinet Security Fabric supports split-task VDOM
mode.
Split-task VDOM mode can be enabled in the GUI or CLI. Enabling it does not require a reboot, but does log you out of
the FortiGate.
When split-task VDOM mode is enabled, all current management configuration is assigned to
the root VDOM, and all non-management settings, such as firewall policies and security
profiles, are deleted.
This feature extends fail-detect to aggregate and redundant interfaces. When an aggregate or a redundant interface
goes down, the corresponding fail-alert-interface will be changed to down. When the aggregate or redundant interface
comes up, the corresponding fail-alert-interface will be changed to up.
Fail-detect on aggregate and redundant interfaces can be configured using the CLI.
Log UUIDs
This feature allows matching UUIDs for each source and destination that match a policy to be added to the traffic log.
This allows the address objects to be referenced in log analysis and reporting.
As this may consume a significant amount of storage space, this feature is optional. By default, policy UUID insertion is
enabled and address UUID insertion is disabled.
To enable insertion of address and policy UUIDs to traffic logs in the GUI:
1. Go to Log Settings.
To enable insertion of address and policy UUIDs to traffic logs in the CLI:
The forward traffic log for internet-service has two new fields: Source Internet Service and Destination Internet
Service.
DNS settings have been expanded to support a list of up to eight domains. When a client requests a URL that does not
include a FQDN, FortiOS resolves the URL by traversing through the DNS domain list and performing a query for each
domain until the first match is found.
You can configure a DNS domain list using the GUI or the CLI.
CLI options have been added to allow customization of the DNS timeout and retry settings.
The example below shows the CLI commands for setting the primary DNS server IP address to 172.16.200.1 and
configuring multiple domains: sample.com, example.com, and domainname.com.
config system dns
set primary 172.16.200.1
set domain "sample.com" "example.com" "domainname.com"
end
To configure the DNS timeout and retry settings using the CLI:
You may want to customize the DNS timeout and retry settings. For example, if you have eight domains configured, you
may want to decrease the DNS timeout value to avoid delays. The following table defines the timeout and retry settings:
timeout DNS query timeout interval in seconds. Enter an integer value between 1 and 10.
The default value is 5 seconds.
retry Number of times to retry the DNS query. Enter an integer value between 0 and 5.
The default value is 2 tries.
The example below increases the timeout to 7 seconds and the number of retries to 3:
config system dns
set timeout 7
set retry 3
end
Once configuration is complete, you can verify that the DNS domain list was configured as desired.
In the example below, the local DNS server has the entry for host1 mapped to the FQDN of host1.sample.com, while
the entry for host2 is mapped to the FQDN of host2.example.com. The example shows pinging host1 and host2 to
verify that the domain list was configured as desired.
1. In Command Prompt, enter ping host1. The system returns the following response:
PING host1.sample.com (1.1.1.1): 56 data bytes
Since the request does not include a FQDN, FortiOS traverses the configured DNS domain list to find a match.
Since host1 is mapped to the host1.sample.com, FortiOS resolves host1 to sample.com, the first entry in the
domain list.
2. Enter ping host2. The system returns the following response:
PING host2.example.com (2.2.2.2): 56 data bytes
Again, FortiOS traverses the domain list to find a match. It first queries sample.com, the first entry in the domain
list, but does not find a match. It then queries the second entry in the domain list, example.com. Since host2 is
mapped to the FQDN of host2.example.com, FortiOS resolves host2 to example.com.
When there is high latency in DNS traffic, it might result in sluggish overall experience for end users. This new feature
helps administrators quickly identify DNS latency issues in their configuration.
The Interfaces > DNS page shows additional details about DNS latency.
If you use FortiGuard DNS, the information includes latency for regular DNS, DNS filter servers, web filter server, and
outbreak prevention servers.
Hover your pointer over a latency value to see the last updated time.
There are no new CLI commands for this feature. DNS latency information is extracted from the CLI data below. See
the following examples.
diagnose test application dnsproxy 2
worker idx: 0
worker: count=1 idx=0
retry_interval=500 query_timeout=1495
DNS latency info:
vfid=0 server=2001::1 latency=1494 updated=73311
vfid=0 server=208.91.112.52 latency=1405 updated=2547
vfid=0 server=208.91.112.53 latency=19 updated=91
SDNS latency info:
vfid=0 server=173.243.138.221 latency=1 updated=707681
DNS_CACHE: alloc=35, hit=26
RATING_CACHE: alloc=1, hit=49
DNS UDP: req=66769 res=63438 fwd=83526 alloc=0 cmp=0 retrans=16855 to=3233
cur=111 switched=8823467 num_switched=294 v6_cur=80 v6_switched=7689041 num_v6_switched=6
ftg_res=8 ftg_fwd=8 ftg_retrans=0
DNS TCP: req=0, res=0, fwd=0, retrans=0 alloc=0, to=0
FQDN: alloc=45 nl_write_cnt=9498 nl_send_cnt=21606 nl_cur_cnt=0
Botnet: searched=57 hit=0 filtered=57 false_positive=0
To see the latency from web filter server and outbreak protection server, use the diagnose debug rating
command, for example:
diagnose debug rating
Locale : english
Service : Web-filter
Status : Enable
License : Contract
Service : Antispam
Status : Disable
IP Weight RTT Flags TZ Packets Curr Lost Total Lost Updated Time
173.243.138.194 10 0 DI -8 700 0 2 Tue Jan 22 08:02:44 2019
173.243.138.195 10 0 -8 698 0 4 Tue Jan 22 08:02:44 2019
173.243.138.198 10 0 -8 698 0 4 Tue Jan 22 08:02:44 2019
173.243.138.196 10 0 -8 697 0 3 Tue Jan 22 08:02:44 2019
173.243.138.197 10 1 -8 694 0 0 Tue Jan 22 08:02:44 2019
96.45.33.64 10 22 D -8 701 0 6 Tue Jan 22 08:02:44 2019
64.26.151.36 40 62 -5 704 0 10 Tue Jan 22 08:02:44 2019
64.26.151.35 40 62 -5 703 0 9 Tue Jan 22 08:02:44 2019
209.222.147.43 40 70 D -5 696 0 1 Tue Jan 22 08:02:44 2019
66.117.56.42 40 70 -5 697 0 3 Tue Jan 22 08:02:44 2019
66.117.56.37 40 71 -5 702 0 9 Tue Jan 22 08:02:44 2019
65.210.95.239 40 74 -5 695 0 1 Tue Jan 22 08:02:44 2019
65.210.95.240 40 74 -5 695 0 1 Tue Jan 22 08:02:44 2019
45.75.200.88 90 142 0 706 0 12 Tue Jan 22 08:02:44 2019
45.75.200.87 90 155 0 714 0 20 Tue Jan 22 08:02:44 2019
45.75.200.85 90 156 0 711 0 17 Tue Jan 22 08:02:44 2019
45.75.200.86 90 159 0 704 0 10 Tue Jan 22 08:02:44 2019
62.209.40.72 100 157 1 701 0 7 Tue Jan 22 08:02:44 2019
62.209.40.74 100 173 1 705 0 11 Tue Jan 22 08:02:44 2019
62.209.40.73 100 173 1 699 0 5 Tue Jan 22 08:02:44 2019
121.111.236.179 180 138 9 706 0 12 Tue Jan 22 08:02:44 2019
121.111.236.180 180 138 9 704 0 10 Tue Jan 22 08:02:44 2019
DNS translation has moved to the DNS profile configuration, allowing different translations to be applied on a per-policy
basis. Prior to 6.2, this was a single table outside of the profile.
DNS filter dns-translation enforces what 'a record' (IP address) in a DNS reply will be translated into another IP address,
which allows you to control the DNS resolve result.
1. Enable dns-translation:
config dnsfilter profile
edit "<dns-filter-profile>"
......
config dns-translation
edit 1
set src 93.184.216.34
set dst 10.1.100.99
set netmask 255.255.255.255
next
end
end
Under VDOM, support has been added for multiple FortiAnalyzer and Syslog servers as follows:
l Support for up to three override FortiAnalyzer servers.
l Support for up to four override Syslog servers.
If the VDOM faz-override and/or syslog-override setting is enabled or disabled (default) before upgrading,
the setting remains the same after upgrading.
In the GUI, if the override setting is disabled, the GUI displays the global FortiAnalyzer1 or syslog1 setting. If the
override setting is enabled, the GUI displays the VDOM override FortiAnalyzer1 or syslog1 setting.
You can only use CLI to enable the override to support multiple log servers.
When faz-override and/or syslog-override is enabled, the following CLI commands are available to config
VDOM override:
end
Web Proxy
This section lists other new features added to FortiOS related to web proxy.
l Transparent Web Proxy Forwarding on page 349
l Multiple Dynamic Header Count on page 350
l Restricted SaaS Access (0365, G-Suite, Dropbox) on page 353
This feature enables the proxy forwarding option for Transparent Web Proxy policies and Regular Firewall for HTTP and
HTTPS.
In previous versions of FortiOS, explicit proxy allowed the user to forward proxy traffic to another proxy server (proxy
chaining). With this new implementation, web traffic can be forwarded to the upstream proxy without requiring the users
to reconfigure their browsers or publish a proxy auto-reconfiguration (PAC) file.
Once configured, traffic generated by a client is forwarded by the FortiGate to the upstream proxy, then the upstream
proxy forwards it to the server.
Example configuration:
This feature adds support for dynamic headers for web proxy profiles, as well as base64 encoding and append/new
options. Previously, web proxy profiles supported dynamic (or user defined) header content for filtering, but the format
was fixed and could not support multiple patterns in one header. With this features, multiple patterns are supported.
With the implementation of dynamic headers, an administrator only has to select the dynamic header, and the
FortiGate will automatically display the corresponding static value. For example, if the administrator selects the $client-
ip header in the profile, the FortiGate will display the actual client IP address.
The supported headers are:
Example configuration:
2. Configure FSSO:
config user fsso
edit "1"
set server "172.18.62.220"
set password ENC
I4b2VpJAM5AZsbqGsIJ/EfvYgbN3hmEU7O2PXU9YK0AbmpTiX7Evlo5xy74bkgPniWJrHJ49Gtx8mGb4HcGa2XKdD9b
STvgQqfCcZuLANBSrJg/Qy4V7RyrkKp8B3Zsbj7nN+Rzg5FAoNhnw1Hrf0ZvdSTKvAGN5e+OtILz7lR9jaudydIOpy6
0qq4I7RHeGiVQiXA==
next
end
6. Create a web proxy profile, adding the new dynamic and custom via header
config web-proxy profile
edit "test"
set log-header-change enable
config headers
edit 1
set name "client-ip"
set content "$client-ip"
next
edit 2
set name "Proxy-Name"
set content "$proxy_name"
next
edit 3
set name "user"
set content "$user"
next
edit 4
set name "domain"
set content "$domain"
next
edit 5
set name "local_grp"
set content "$local_grp"
next
edit 6
set name "remote_grp"
7. In the proxy policy, append the web proxy profile created in the previous step:
config firewall proxy-policy
edit 1
set uuid bb7488ee-2a6b-51e9-45c6-1715bdc271d8
set proxy explicit-web
set dstintf "port1"
set srcaddr "all"
set dstaddr "all"
set service "web"
set action accept
set schedule "always"
set logtraffic all
set groups "NTLM-FSSO"
set webproxy-profile "test"
set utm-status enable
set av-profile "av"
set webfilter-profile "content"
set ssl-ssh-profile "deep-custom"
next
end
8. Once traffic is being generated from the client, look at the web filter logs to verify that it is working.
All the added header fields display their corresponding value in the Change headers section at the bottom of the
Log Details screen.
1: date=2019-02-07 time=13:57:24 logid="0344013632" type="utm" subtype="webfilter"
eventtype="http_header_change" level="notice" vd="vdom1" eventtime=1549576642 policyid=1
transid=50331689 sessionid=1712788383 user="TEST21@FORTINETQA" group="NTLM-FSSO"
profile="test" srcip=10.1.100.116 srcport=53278 dstip=172.16.200.46 dstport=80
srcintf="port2" srcintfrole="undefined" dstintf="port1" dstintfrole="undefined" proto=6
service="HTTP" url="http://172.16.200.46/" agent="curl/7.22.0" chgheaders="Added=client-ip:
10.1.100.116|Proxy-Name: 1.1 100D.qa|user: TEST21|domain: FORTINETQA|local_grp: NTLM-
FSSO|remote_grp: FORTINETQA/FSSO|Via: Fortigate-Proxy"
This feature extends the web-proxy profile to allow for specifying access permissions for Microsoft Office 365, Google G
Suite, and Dropbox. It works by inserting vendor defined headers that restrict access to the specific accounts. Custom
headers for any destination can also be inserted.
The web-proxy profile can be configured with the required headers for the specific destinations, and then applied directly
into a policy to control the header's insertion.
To implement Office 365 tenant restriction, Dropbox network access control, and Google G Suite account access
control on FortiGate, you need to:
1. Configure a web-proxy profile according to the vendors' specifications:
a. Define the traffic destination (service provider).
b. Define the header name, defined by the service provider.
c. Define the value that will be inserted into the traffic, defined by your settings.
2. Apply the web-proxy profile to a policy.
The following example creates a web-proxy profile for Office 365, G Suite, and Dropbox access control. Note that, due
to vendors' changing requirements, this example may no longer be in compliance with the vendors' official guidelines.
1. Configure the web-proxy profile:
config web-proxy profile
edit "SaaS-Tenant-Restriction"
set header-client-ip pass
set header-via-request pass
set header-via-response pass
set header-x-forwarded-for pass
set header-front-end-https pass
set header-x-authenticated-user pass
set header-x-authenticated-groups pass
set strip-encoding disable
set log-header-change disable
config headers
edit 1
edit 4
set name "X-Dropbox-allowed-Team-Ids" <----header defined by Dropbox
set dstaddr "wildcard.dropbox.com" <----build-in destination address for
Dropbox
set action add-to-request
set base64-encoding disable
set add-option new
set protocol https http
set content "dbmid:FDFSVF-DFSDF" <----your team-Id in Dropbox
next
end
next
end
References:
Office 365 - Use Tenant Restrictions to manage access to SaaS cloud applications
G Suite - Block access to consumer accounts
Dropbox - Network Control
Protocols
This section lists other new features added to FortiOS related to protocols.
l TLS 1.3 Support on page 355
l SMBv2 Support (SSL VPN) on page 357
l PTPv2 (Slave Mode) on page 357
l Telnet Disabled Option on page 359
l SHA-1 Authentication Support (for NTPv4) on page 361
l DNS over TLS on page 362
l LLDP Reception on page 363
l Direct IP Support for LTE/4G on page 365
SSL VPN
TLS 1.3 support has been added for SSL VPN. The following steps are required for a client to establish an SSL VPN
connection with TLS 1.3 to the FortiGate:
1. Configure TLS 1.3 support using the FortiOS CLI.
2. Configure the SSL VPN and firewall policy.
3. For Linux clients, ensure OpenSSL 1.1.1a is installed.
4. Use OpenSSL with the TLS 1.3 option to connect to SSL VPN.
5. Ensure that the SSL VPN connection has been established with TLS 1.3.
This feature can only be used with endpoints that have FortiClient 6.2.0 or a later version
installed. Earlier FortiClient versions do not support TLS 1.3.
A new command for TLS 1.3 has been added under config vpn ssl setting. By default, TLS 1.3 support is
enabled. You can enable TLS 1.3 support using the following FortiOS CLI command:
config vpn ssl setting
set tlsv1-3 enable
end
If OpenSSL 1.1.1a is installed, the system displays a response like the following:
OpenSSL 1.1.1a 20 Nov 2018
On the Linux client, use OpenSSL to connect to FortiGate SSL VPN with TLS 1.3 by running the following command:
#openssl s_client -connect 10.1.100.10:10443 -tls1_3
Run the following commands in the FortiOS CLI to ensure that the SSL VPN connection has been established with TLS
1.3:
# diagnose debug application sslvpn -1
# diagnose debug enable
FortiOS now supports TLS 1.3 for policies that have the following security profiles applied:
l Web Filter profile with flow-based inspection mode enabled
l Deep inspection SSL/SSH Inspection profile
Consider that a policy with the above Web Filter and SSL/SSH Inspection profiles applied is enabled. A client attempts
to access a website that supports TLS 1.3. FortiOS sends the traffic to the IPS engine. The IPS engine then decodes
TLS 1.3, and the client is able to access the website.
TLS 1.3 support is only available for IPS engine 4.205 and later versions.
Sample configuration
To configure SMBv2:
2. After running config vpn ssl web portal, configure SSL VPN and firewall policies as usual.
3. Then connect to the SSL VPN web portal and create an SMB bookmark for the SMBv2 server.
4. Click the bookmark to connect to the SMBv2 server.
5. In the FortiGate, use package capture to verify that SMBv2 works:
Precision Time Protocol (PTP) is used to synchronize network clocks. It is best suited to situations where time accuracy
is of the utmost importance, as it supports accuracy in the sub-microsecond range. Conversely, NTP accuracy is in the
range of milliseconds or tens of milliseconds.
The following CLI commands have been added:
config system ptp
set status {enable | disable}
set mode {multicast | hybrid}
set delay-mechanism {E2E | P2P}
set request-interval <integer>
set interface <interface>
end
Command Description
status {enable | disable} Enable/disable setting the FortiGate system time by synchronizing with an PTP
server (default = disable).
delay-mechanism {E2E | P2P} Use End to End (E2E) or Peer to Peer (P2P) delay detection (default = E2E).
request-interval <integer> The logarithmic mean interval between the delay request messages sent by the
client to the server, in seconds (default = 1).
interface <interface> The interface that the PTP client will reply through.
To configure a FortiGate to act as a PTP client that synchronizes itself with a Linux PTP server:
A new CLI option has been added that completely disables Telnet, removing the GUI options per interface and disabling
the Telnet daemon.
When Telnet is disabled, the Telnet port cannot be configured and access cannot be enabled on interfaces.
To disable Telnet:
When disabled, the Telnet port is removed from the System > Settings page, and TELNET is no longer an
administrative access option on the Network > Interfaces page.
To enable Telnet:
When Telnet is enabled, the port can be configured on the System > Settings page, and TELNET can be selected can
be selected as an administrative access option on the Network > Interfaces page.
SHA-1 authentication support allows the NTP client to verify that servers are known and trusted and not intruders
masquerading (accidentally or intentionally) as legitimate servers. In cryptography, SHA-1 is a cryptographic hash
algorithmic function.
In this version, SHA-1 authentication support is only available for NTP clients, not NTP
servers.
Command Description
key-id Key ID for authentication. Enter an integer value from <0> to <4294967295>.
set key-id 1
next
end
end
If NTP authentication is set up correctly, diag sys ntp status shows server-version=4. For example:
diag sys ntp status
synchronized: yes, ntpsync: enabled, server-mode: disabled
ipv4 server(10.1.100.11) 10.1.100.11 -- reachable(0xff) S:4 T:6 selected
server-version=4, stratum=3
A new option is added to DNS Profile, forcing DNS over TLS for added security.
DNS over TLS (DoT) is a security protocol for encrypting and wrapping Domain Name System (DNS) queries and
answers via the Transport Layer Security (TLS) protocol. The goal of the method is to increase user privacy and security
by preventing eavesdropping and manipulation of DNS data via man-in-the-middle attacks.
Below is a typical topology.
FortiGate (client/server)<-----(DNS over TLS)<-----------------> DNS server/client
<Enter>
LLDP Reception
This feature receives and stores LLDP messages, and makes the LLDP information available via the CLI, REST API,
and SNMP. The feature can be enabled on three levels: globally, per VDOM, or per interface.
In the GUI, go to User & Device > Device Inventory to view the information.
"http_method":"GET",
"results":[
{
"mac":"90:9c:9c:c9:c9:90",
"chassis_id":"90:9C:9C:C9:C9:90",
"port":19,
"port_id":"port12",
"port_desc":"port12",
"system_name":"S124DN3W00000000",
"system_desc":"FortiSwitch-124D v3.6.6,build0416,180515 (GA)",
"ttl":120,
"addresses":[
{
"type":"ipv4",
"address":"192.168.1.99"
}
]
}
],
"vdom":"root",
"path":"network",
"name":"lldp",
"action":"neighbors",
"status":"success",
"serial":"FG201E4Q00000000",
"version":"v6.2.0",
"build":866
}
{
"http_method":"GET",
"results":[
{
"name":"port1",
"rx":320,
"neighbors":1
}
],
"vdom":"root",
"path":"network",
"name":"lldp",
"action":"ports",
"mkey":"port1",
"status":"success",
"serial":"FG201E4Q00000000",
"version":"v6.2.0",
"build":866
}
status : up
....
defaultgw : enable
DHCP Gateway : 100.112.75.41
Lease Expires : Thu Feb 21 19:33:27 2019
dns-server-override : enable
Acquired DNS1 : 184.151.118.254
Acquired DNS2 : 70.28.245.227
....
PC can reach internet via the following firewall policy:
config firewall policy
....
edit 5
set name "LTE"
set uuid 61880e9a-36ce-51e9-a4f4-15cc3ffc25f3
set srcintf "port9"
set dstintf "wwan"
set srcaddr "all"
set dstaddr "all"
set action accept
set schedule "always"
set service "ALL"
set utm-status enable
set fsso disable
set nat enable
next
end
With LTE modem enabled, you can use the GUI to view the LTE interface and check the acquired IP, DNS, and
gateway:
You can configure the firewall policy that utilizes this LTE interface:
Limitations:
l Most LTE modems have a preset APN in the SIM card. As a result, the APN doesn't need to be set in FortiOS
configuration. In cases where the Internet cannot be accessed, you can consult with your carrier about APN (for
example, inet.bell.ca) and set the APN in LTE modem configuration.
config system lte-modem
set status enable
set apn "inet.bell.ca"
end
l Some FortiGate units have built-in LTE modems, such as the FortiGate-30E-3G4G. This type of FortiGate has LTE
modem enabled by default. Firewall policy via LTE interface is also created by default. After the user plugs in a SIM
card, the user's network devices can reach the Internet.
FWF-30E-3G4G default configuration:
config system lte-modem
set status enable
set extra-init ''
set manual-handover disable
set force-wireless-profile 0
set authtype none
set apn ''
set modem-port 255
set network-type auto
set auto-connect disable
set gpsd-enabled disable
set data-usage-tracking disable
set gps-port 255
end
config firewall policy
....
edit 3
set uuid f7c77cc6-36d1-51e9-2899-a7040791330c
set srcintf "internal"
An AnyCast IP can be advertised from multiple locations and the router selects a path based on latency, distance, cost,
number of hops, etc. This technique is widely used by providers to route users to the closest server. Since the IP is
hosted in multiple geographic locations, there is no way to specify one single location to that IP.
This version introduces an option to bypass AnyCast IP ranges in Geo-IP blocking. ISDB contains a list of confirmed
AnyCast IP ranges that can be used for this purpose.
When source/destination is set to geoip, you can enable the geoip-anycast option. When enabled, IPs where the
AnyCast option is set to 1 in geoip_db are bypassed in country matching and blocking.
You can only use CLI to configure this feature. See the following example.
FortiOS 6.2.0 improves communication for FortiGates acting as a GPRS Tunneling Protocol (GTP) firewall that is
deployed in asymmetric routing environments. Previously in asymmetric routing environments, the GTP-C reply might
be processed before the GTP-C request was fully synchronized by FortiGate Session Life Support Protocol (FGSP),
which resulted in dropped sessions. With FortiOS 6.2.0, communication is improved by adding a new set gtp-
asym-fgsp command in system settings that allows two members in FGSP to synchronize the GTP-C message.
Example
This feature allows the default service port range to be customized using the following CLI command:
config system global
set default-service-source-port <port range>
end
Where <port range> is the new default service port range, that can have a minimum value down to 0 and a
maximum value up to 65535. The default value is 1-65535.
When the global anti-replay option is disabled, the FortiGate does not check TCP flags in packets. This feature adds a
per policy anti-replay option that overrides the global setting. This allows you to control whether or not TCP flags are
checked per policy.
In this example, a policy is created with the anti-replay option enabled so that TCP flags are checked:
config firewall policy
edit 1
set name "policyid-1"
set uuid dfcaec9c-e925-51e8-cf3e-fed9a1d42a1c
set srcintf "wan2"
set dstintf "wan1"
set srcaddr "all"
set dstaddr "all"
set action accept
set schedule "always"
set service "ALL"
set anti-replay enable
set logtraffic all
set nat enable
next
end
NTLM Extensions
FortiOS 6.2 extends agentless Windows NT LAN Manager (NTLM) authentication to include support for the following
items:
l Multiple servers
l Individual users
Previously only one server and only group matching were supported.
You can now use multiple domain controller servers for the agentless NTLM for load balancing and high service stability.
You can also use user-based matching in groups for Kerberos and agentless NTLM. For Kerberos and agentless NTLM,
FortiOS matches the user's group information from an LDAP server.
4QnZeBtzIcqenr2jmcYPTsbegmSjEPyO6/vl4rX5ZRfF2l3adKcCf56575TkRpIdlYELBpc44eNfoxA2
KWqmANKkzOnv2w12eDEXanXkHaDgs8WBBnvZnQ==
next
end
2. Configure multiple Domain Controllers:
config user domain-controller
edit "dc1"
set ip-address 172.18.62.177
config extra-server
edit 1
set ip-address 172.18.62.220
next
end
set ldap-server "ldap-kerberos"
next
end
3. Create an authenticate scheme and rule:
config authentication scheme
edit "au-ntlm"
set method ntlm
set domain-controller "dc1"
next
end
config authentication rule
edit "ru-ntlm"
set srcaddr "all"
set ip-based disable
set active-auth-method "au-ntlm"
next
end
4. In the proxy policy, append the user group for authorization:
config firewall proxy-policy
edit 1
set uuid 6cfe58e4-2ff1-51e9-6b4c-a7d4a8db0f30
set proxy explicit-web
set dstintf "port1"
set srcaddr "all"
set dstaddr "all"
set service "web"
set action accept
set schedule "always"
set groups "ldap-group"
set utm-status enable
set av-profile "av"
set ssl-ssh-profile "deep-custom"
next
end
This configuration uses a round-robin method. When the first user logs in, FortiGate sends the authentication
request to the first domain controller. Later when another user logs in, FortiGate sends the authentication request
to another domain controller. After the user successfully logs in, you can verify the behavior by using the following
CLI:
FGT_A (vdom1) # diagnose wad user list
ID: 1825, IP: 10.1.100.71, VDOM: vdom1
user name : test1
duration : 497
auth_type : Session
auth_method : NTLM
pol_id : 1 g_id : 5
user_based : 0 e
xpire : 103
LAN:
bytes_in=2167 bytes_out=7657
WAN:
bytes_in=3718 bytes_out=270
You now have the option to disable stateful SCTP inspection. This option is useful when FortiGates are deployed in a
High Availability (HA) cluster that uses the FortiGate Clustering Protocol (FGCP) and virtual clustering in a multihoming
topology. In this configuration, the primary Stream Control Transmission Protocol (SCTP) path traverses the master
FortiGate node by using its active VDOM (for example, VDOM1), and the backup SCTP path traverses the other passive
FortiGate node by using its active VDOM (for example VDOM2).
When stateful SCTP inspection is enabled, SCTP heartbeat traffic will fail via the backup path because the primary path
goes through a different platform and VDOM. Since there is no state sharing between VDOMs, the passive FortiGate is
not aware of the original SCTP session and drops the heartbeats because of no associated sessions.
You can now use the following command to disable stateful inspection of SCTP, which allows the passive node to
permit the SCTP heartbeats to pass:
config sys settings
set sctp-session-without-init enable
end
When set to enable, SCTP session creation without SCTP INIT is enabled. When set to disable, SCTP session
creation without SCTP INIT is disabled. The default setting is disabled.
Following is an example topology and scenario:
In this example, FGT_A and FGT_B are in HA a-p mode with two virtual clusters. Two masters exist on different
FortiGate units. PC1 eth1 can access PC5 eth1 through Vdom1, and PC1 eth2 can access PC5 eth2 through Vdom2.
On PC5, listening for SCTP connection:
sctp_darn -H 172.16.200.55 -B 172.17.200.55 -P 2500 -l
SCTP 4-way handshake is on one VDOM, and a session is created on that VDOM. With the default configuration, there
is no session on any other VDOM, and the heartbeat on another path (another VDOM) is dropped. After enabling
sctp-session-without-init, the other VDOM creates the session when it receives the heartbeat, and the
heartbeat is forwarded.
This feature adds a new HA failover condition that is triggered by an SSD failure.
config system ha
set ssd-failover enable
end
A new ip-fragmentation option has been added to control fragmentation of packets before IPsec encapsulation,
which can benefit packet loss in some environments.
The following options are available for the ip-fragmentation variable:
Option Description
This feature adds DHCP option 82 (DHCP relay information option). It can help protect the FortiGate against attacks
such as spoofing (or forging) of IP and MAC addresses, and DHCP IP address starvation.
The following CLI variables are added to or modified in the config system dhcp server > config
reserved-address command:
6. In the IP Address Assignment Rules table, click Create New. The Create New IP Address Assignment Rule
pane opens.
8. Enter the Circuit ID, Remote ID, and the IP address that will be reserved.
9. Click OK to create the rule.
In a data center network where VXLAN is used to create a L2 overlay network and for multi-tenant environment, a
customer VLAN tag needs to be kept on VXLAN tunnel. This version introduces a solution where the VLAN tag can be
assigned to VXLAN interface.
You can only use CLI to configure this feature. See the following example.
1. Configure VXLAN.
config system vxlan
edit vxlan1
set interface port1
set vni 1000
set remote-ip 172.16.200.3
next
end
3. Configure software-switch.
config system switch-interface
edit sw1
set vdom root
set member vlan100 vxlan100
next
end
In 6.0, Equal-Cost Multi-Path (ECMP) traffic is not offloaded to the NP6 processor in NAT mode. This is now supported
in 6.2.
Topology
Set up ECMP for both client and server on FortiGate. FortiGate uses ECMP through port1 (p1) and port2 (p2) to the
client and ECMP through port 3 (p3) and port 4 (p4) to the server.
Example
Session one
This session demonstrates symmetric traffic with symmetric routing. No auxiliary session for the initial session.
Set the priority in the static route to prefer p1 to p3 and reply p3 to p1. Verify that the session can be established and
offloaded to the NP6 processor and that session counters are correctly reflecting the status of the session.
session info: proto=17 proto_state=00 duration=27 expire=473 timeout=500 flags=00000000
sockflag=00000000 sockport=0 av_idx=0 use=4
origin-shaper=
reply-shaper=
per_ip_shaper=
class_id=0 ha_id=0 policy_dir=0 tunnel=/ vlan_cos=0/255
state=may_dirty npu route_preserve
statistic(bytes/packets/allow_err): org=60/2/1 reply=0/0/0 tuples=2
tx speed(Bps/kbps): 0/0 rx speed(Bps/kbps): 0/0
orgin->sink: org pre->post, reply pre->post dev=37->38/38->37 gwy=0.0.0.0/0.0.0.0
hook=pre dir=org act=noop 10.1.100.22:35101->172.16.204.44:5001(0.0.0.0:0)
hook=post dir=reply act=noop 172.16.204.44:5001->10.1.100.22:35101(0.0.0.0:0)
src_mac=90:6c:ac:19:19:58
misc=0 policy_id=1 auth_info=0 chk_client_info=0 vd=2
serial=00001c8e tos=ff/ff app_list=0 app=0 url_cat=0
rpdb_link_id = 00000000
dd_type=0 dd_mode=0
npu_state=0x000400
npu info: flag=0x91/0x00, offload=8/0, ips_offload=0/0, epid=129/0, ipid=142/0,
vlan=0x0017/0x0000
Session two
Keep session one alive in the session table. Change the UDP session from client to server through p2, p3,
unidirectional. Verify that a new auxiliary session can be established and offloaded to the NP6 processor and that
session counters are correctly reflecting the status of session.
session info: proto=17 proto_state=00 duration=241 expire=495 timeout=500 flags=00000000
sockflag=00000000 sockport=0 av_idx=0 use=5
origin-shaper=
reply-shaper=
per_ip_shaper=
class_id=0 ha_id=0 policy_dir=0 tunnel=/ vlan_cos=0/255
state=may_dirty npu route_preserve
statistic(bytes/packets/allow_err): org=126/4/1 reply=0/0/0 tuples=2
tx speed(Bps/kbps): 0/0 rx speed(Bps/kbps): 0/0
orgin->sink: org pre->post, reply pre->post dev=37->38/38->37 gwy=0.0.0.0/0.0.0.0
hook=pre dir=org act=noop 10.1.100.22:35101->172.16.204.44:5001(0.0.0.0:0)
hook=post dir=reply act=noop 172.16.204.44:5001->10.1.100.22:35101(0.0.0.0:0)
src_mac=90:6c:ac:19:19:58
misc=0 policy_id=1 auth_info=0 chk_client_info=0 vd=2
serial=00001c8e tos=ff/ff app_list=0 app=0 url_cat=0
rpdb_link_id = 00000000
dd_type=0 dd_mode=0
npu_state=0x000400
npu info: flag=0x91/0x00, offload=8/0, ips_offload=0/0, epid=129/0, ipid=142/0,
vlan=0x0017/0x0000
vlifid=142/0, vtag_in=0x0017/0x0000 in_npu=1/0, out_npu=1/0, fwd_en=0/0, qid=7/0
no_ofld_reason:
reflect info 0:
dev=36->38/38->36
npu_state=0x000400
npu info: flag=0x91/0x00, offload=8/0, ips_offload=0/0, epid=129/0, ipid=142/0,
vlan=0x0016/0x0000
vlifid=142/0, vtag_in=0x0016/0x0000 in_npu=1/0, out_npu=1/0, fwd_en=0/0, qid=7/0
total reflect session num: 1
total session 1
Keep sessions one and two alive. Send reply traffic from server to client in the sessions one and two through p4 to
p1/p2. Verify that new auxiliary sessions can be established and offloaded to the NP6 processor and that session
counters correctly reflect the status of session.
session info: proto=17 proto_state=01 duration=356 expire=497 timeout=500 flags=00000000
sockflag=00000000 sockport=0 av_idx=0 use=6
origin-shaper=
reply-shaper=
per_ip_shaper=
class_id=0 ha_id=0 policy_dir=0 tunnel=/ vlan_cos=0/255
state=may_dirty npu route_preserve
statistic(bytes/packets/allow_err): org=126/4/1 reply=66/2/1 tuples=2
tx speed(Bps/kbps): 0/0 rx speed(Bps/kbps): 0/0
orgin->sink: org pre->post, reply pre->post dev=37->38/38->37 gwy=0.0.0.0/0.0.0.0
Send reply traffic from the server to the client in the same sessions through p3 to p1/p2. Verify that no auxiliary sessions
are created, sessions can be offloaded to the NP6 processor, and session counters correctly reflect the status of
session.
Offloading
The main session and the auxiliary session can be offloaded to the NP6 processor, if the policy allows offloading.
All cloud communication can be disabled with the following CLI command:
config system global
set cloud-communication disable
end
The forticldd and updated daemons are shutdown, and multiple settings are disabled.
To reenable cloud communications, each individual setting must be changed after running the following CLI command:
config system global
set cloud-communication enable
end
A new nat-port-range attribute can be used to specify a port range in the Voice Over Internet Protocol (VoIP)
profile to restrict the Network Address Translation (NAT) port range for Real-Time Transport Protocol/Real-Time
Transport Control Protocol (RTP/RTCP) packets in a Session Initiation Protocol (SIP) call session that is handled by the
SIP ALG (Application Layer Gateway) in a FortiGate device.
When NAT is enabled or VIP is used in a firewall policy for SIP ALG to handle a SIP call session established through a
FortiGate device, the SIP ALG can perform NAT to translate the ports used for the RTP/RTCP packets when they are
flowing through the device between the external and internal networks.
Previously, you could not configure the translated port range, and the fixed port range was [5117-65533]. Now you can
control the translated port range for RTP/RTCP packets by using the CLI:
config voip profile
edit <profile-name>
config sip
set nat-port-range <start_port_number>-<end_port_number>
end
next
end
FGT(sip) # set nat-port-range ?
<start>-<end> NAT port range (default 5117-65533)
A valid port range must be configured within [5117-65533]. For example: set nat-port-range
30000-30099 .
Example
This section provides an example for NAT where Phone1 is in subnet_1, and the SIP server and phone are in subnet_2.
All SIP signaling messages and RTP/RTCP packets will go through the SIP Server. In this example, the RTP/RTCP
ports on Phone1 are configured as 17078/17079.
The FortiGate administrator wants to use NAT for the port 17078/17079 to 30000/30001. As a result, all RTP/RTCP
packets going out of port2 have source ports of 30000/30001, and all RTP/RTCP packets going into port2 have
destination ports of 30000/30001 too, which can be specified in the nat-port-range.
The topology is shown as follows:
Now if phone1 and phone2 are registered to the SIP server, and they establish a call session between them through the
FortiGate and the SIP server, then the RTP/RTCP ports 17078/17079 of phone1 will be NATed to 30000/30001 at the
FortiGate unit based on the setting of nat-port-range. That is, the RTP/RTCP packets egressing port2 of the Fortigate
will have the source port as 30000/30001, and the RTP/RTCP packets ingressing port2 will have the destination port as
30000/30001.
In FortiOS 6.2.0, the number of custom services is increased on all FortiGate 100-series platforms and above. The
following table identifies that maximum number of custom services supported for the different types of FortiGate model
series:
In FortiOS 6.0.x, when applying the FortiCarrier license, the FortiCarrier configuration is reset to the factory default
settings. With FortiOS 6.2.0 and later, the basic system, interface, and routing settings are retained to avoid a full
factory reset.
When you load a FortiCarrier license to FortiOS, the following message is displayed, informing you what settings are
retained and not returned to factory default settings:
FortiGate-3000D (global) # execute forticarrier-license DD4K-PVIQ-TEXX-OHAM-XO5T-CHJG-ZQ
This operation will reset the system to factory default except system.global.vdom-
mode/system.global.long-vdom-
name/VDOMs/system.interface/system.settings/router.static/router.static6!
Do you want to continue? (y/n)
This version displays a warning on VMware NSX-V security nodes that VMX nodes are managed by SVM and to make all
configuration changes on SVM. Changing configurations on each node might cause inconsistencies so you must use
SVM as a single point of configuration changes.
This is a sample of the alert:
header : none
format : text
This version enhances FortiExtender logging and moves the FortiExtender logs from the subtype Event Log > System
Events to Event Log > FortiExtender Events.
** FortiExtender DeAuthorized
action: fex_deauth
meta data: SN
Event log: date=2019-02-20 time=09:51:42 logid="0111046401" type="event" sub-
type="fortiextender" level="notice" vd="root" eventtime=1550685102 logdesc="FortiExtender con-
troller activity" sn="FX04DN4N16002352" ip=11.11.11.2 action="ext session-deauthed" msg="ext
SN:FX04DN4N16002352 deauthorized"
** Cellular connected
action: cellular_connected
meta data: SN, IMEI, ICCID, IMSI, PhoneNumber, Carrier, plan,service
Event log: date=2019-02-20 time=10:02:26 logid="0111046409" type="event" sub-
type="fortiextender" level="information" vd="root" eventtime=1550685746 logdesc="Remote
FortiExtender info activity" sn="FX04DN4N16002352" ip=11.11.11.2 action="Cellular Connected"
imei="359376060442770" imsi="302720502331361" iccid="89302720403038146410" phonenum-
ber="+16045067526" carrier="Rogers" plan="Rogers-plan" apn="N/A" service="LTE"
** Cellular disconnected
action: cellular_disconnected
meta data: SN, IMEI, ICCID, IMSI, PhoneNumber, Carrier, plan,service
Event log: date=2019-02-20 time=10:33:57 logid="0111046407" type="event" sub-
type="fortiextender" level="warning" vd="root" eventtime=1550687636 logdesc="Remote FortiEx-
tender warning activity" sn="FX04DN4N16002352" ip=11.11.11.2 action="Cellular Disconnected"
imei="359376060442770" imsi="N/A" iccid="N/A" phonenumber="N/A" carrier="N/A" plan="N/A" apn-
n="N/A" service="LTE" msg="FX04DN4N16002352 STATE: sim with imsi: in slot:2 on
carrier:N/A disconnected"
** Cellular connecting
action: cellular_connecting
meta data: SN, IMEI, ICCID, IMSI, PhoneNumber, Carrier, plan,service
Event log: date=2019-02-20 time=10:02:24 logid="0111046409" type="event" sub-
type="fortiextender" level="information" vd="root" eventtime=1550685744 logdesc="Remote
FortiExtender info activity" sn="FX04DN4N16002352" ip=11.11.11.2 action="Cellular Connecting"
imei="359376060442770" imsi="302720502331361" iccid="89302720403038146410" phonenum-
ber="+16045067526" carrier="Rogers" plan="Rogers-plan" apn="N/A" service="N/A" msg-
g="FX04DN4N16002352 STATE: sim with imsi:302720502331361 in slot:2 on carrier:Rogers
connecting
** SIM Insert
action: sim_insert
meta data: SN, IMEI, SIM_slot
Event log: date=2019-02-20 time=10:47:19 logid="0111046407" type="event" sub-
type="fortiextender" level="warning" vd="root" eventtime=1550688438 logdesc="Remote FortiEx-
tender warning activity" sn="FX04DN4N16002352" ip=11.11.11.2 action="SIM Change" imei="N/A"
slot=2 msg="FX04DN4N16002352 SIM: SIM2 is inserted"
** SIM Plugout
action: sim_plugout
meta data: SN, IMEI, SIM_slot
Event log: date=2019-02-20 time=10:57:50 logid="0111046407" type="event" sub-
type="fortiextender" level="warning" vd="root" eventtime=1550689069 logdesc="Remote FortiEx-
tender warning activity" sn="FX04DN4N16002352" ip=11.11.11.2 action="SIM Change"
imei="359376060442770" slot=1 msg="FX04DN4N16002352 SIM: SIM2 is plucked out"
** SIM Switch
action: sim_switch
meta data: SN, IMEI, ICCID, IMSI, PhoneNumber, Carrier,reason
Event log: date=2019-02-20 time=12:02:24 logid="0111046407" type="event" sub-
type="fortiextender" level="warning" vd="root" eventtime=1550692942 logdesc="Remote FortiEx-
tender warning activity" sn="FX04DN4N16002352" ip=11.11.11.2 action="SIM Switch"
imei="359376060442770" reason="sim-switch can't take effect due to unavailability of 2 sim
cards" msg="FX04DN4N16002352 SIM: sim-switch can't take effect due to unavailability of 2 sim
cards"
This feature allows users to use the FortiSanbox Cloud without a FortiCloud account. The FortiCloud Sandbox service
can be used for free for up to 100 submissions per day. To use FortiCloud Sandbox without this limitation, a FortiGuard
Antivirus license can be purchased.
The FortiCloud widget on the FortiGate's Status dashboard shows that FortiSandbox Cloud is decoupled from the
FortiCloud account, and can be used without logging in to FortiCloud.
The Global > System > FortiGuard page also shows that the accounts are decoupled, and that FortiSandbox Cloud is
licensed when the FortiGate is registered in FortiCare with a Antivirus license.
If the FortiGate does not have an Antivirus license, it will be restricted to 100 sandbox submissions per day.
5. Click Apply.
config global
execute forticloud-sandbox region
0 Europe
1 Global
2 Japan
3 US
Please select cloud sandbox region[0-3]:
Cloud sandbox region is selected: ...
end
FortiGate Cloud
Following is an example of the old FortiCloud terminology in the FortiOS GUI prior to the 6.2.0 release:
A new SNMP counter is added for logs that fail to send out.
This feature is implemented only for SNMP query and not for SNMP trap.
When a syslog server encounters low-performance conditions and slows down to respond, the buffered syslog message
in kernel might overflow after a certain number of retransmissions, and then the overflowed message is lost. This
feature introduces new Object Identifiers (OIDs) to track the lost messages or failed logs.
New SNMP OIDs now include log statistics for global log devices.
l FORTINET-FORTIGATE-MIB:fortinet.fnFortiGateMib.fgLog.fgLogDeviceNumber 1.3.6.1.4.1.12356.101.21.1.1
l FORTINET-FORTIGATE-
MIB:fortinet.fnFortiGateMib.fgLog.fgLogDevices.fgLogDeviceTable.fgLogDeviceEntry.fgLogDeviceEntryIndex
1.3.6.1.4.1.12356.101.21.2.1.1.1
l FORTINET-FORTIGATE-
MIB:fortinet.fnFortiGateMib.fgLog.fgLogDevices.fgLogDeviceTable.fgLogDeviceEntry.fgLogDeviceEnabled
1.3.6.1.4.1.12356.101.21.2.1.1.2
l FORTINET-FORTIGATE-
MIB:fortinet.fnFortiGateMib.fgLog.fgLogDevices.fgLogDeviceTable.fgLogDeviceEntry.fgLogDeviceName
1.3.6.1.4.1.12356.101.21.2.1.1.3
l FORTINET-FORTIGATE-
MIB:fortinet.fnFortiGateMib.fgLog.fgLogDevices.fgLogDeviceTable.fgLogDeviceEntry.fgLogDeviceSentCount
1.3.6.1.4.1.12356.101.21.2.1.1.4
l FORTINET-FORTIGATE-
MIB:fortinet.fnFortiGateMib.fgLog.fgLogDevices.fgLogDeviceTable.fgLogDeviceEntry.fgLogDeviceRelayedCount
1.3.6.1.4.1.12356.101.21.2.1.1.5
l FORTINET-FORTIGATE-
MIB:fortinet.fnFortiGateMib.fgLog.fgLogDevices.fgLogDeviceTable.fgLogDeviceEntry.fgLogDeviceCachedCount
1.3.6.1.4.1.12356.101.21.2.1.1.6
l FORTINET-FORTIGATE-
MIB:fortinet.fnFortiGateMib.fgLog.fgLogDevices.fgLogDeviceTable.fgLogDeviceEntry.fgLogDeviceFailedCount
1.3.6.1.4.1.12356.101.21.2.1.1.7
l FORTINET-FORTIGATE-
MIB:fortinet.fnFortiGateMib.fgLog.fgLogDevices.fgLogDeviceTable.fgLogDeviceEntry.fgLogDeviceDroppedCount
1.3.6.1.4.1.12356.101.21.2.1.1.8
Where:
l fgLogDeviceNumber is the number of devices in the table.
l fgLogDeviceEnabled is either 1 or 0, indicating whether the device is enabled.
l fgLogDeviceName is the name of the device.
A FortiGate unit connected to a syslog server or a FortiAnalyzer unit would generate statistics that can be seen by the
diagnostic test application named miglogd. Following are some examples.
FORTINET-FORTIGATE-MIB::fnFortiGateMib.21.2.1.1.2.0 = INTEGER: 1
FORTINET-FORTIGATE-MIB::fnFortiGateMib.21.2.1.1.2.1 = INTEGER: 1
FORTINET-FORTIGATE-MIB::fnFortiGateMib.21.2.1.1.2.2 = INTEGER: 1
FORTINET-FORTIGATE-MIB::fnFortiGateMib.21.2.1.1.2.3 = INTEGER: 0
FORTINET-FORTIGATE-MIB::fnFortiGateMib.21.2.1.1.2.4 = INTEGER: 1
FORTINET-FORTIGATE-MIB::fnFortiGateMib.21.2.1.1.2.5 = INTEGER: 1
FORTINET-FORTIGATE-MIB::fnFortiGateMib.21.2.1.1.2.6 = INTEGER: 0
FORTINET-FORTIGATE-MIB::fnFortiGateMib.21.2.1.1.2.7 = INTEGER: 0
FORTINET-FORTIGATE-MIB::fnFortiGateMib.21.2.1.1.2.8 = INTEGER: 0
FORTINET-FORTIGATE-MIB::fnFortiGateMib.21.2.1.1.3.0 = STRING: "syslog"
FORTINET-FORTIGATE-MIB::fnFortiGateMib.21.2.1.1.3.1 = STRING: "syslog2"
FORTINET-FORTIGATE-MIB::fnFortiGateMib.21.2.1.1.3.2 = STRING: "syslog3"
FORTINET-FORTIGATE-MIB::fnFortiGateMib.21.2.1.1.3.3 = STRING: "syslog4"
FORTINET-FORTIGATE-MIB::fnFortiGateMib.21.2.1.1.3.4 = STRING: "faz"
FORTINET-FORTIGATE-MIB::fnFortiGateMib.21.2.1.1.3.5 = STRING: "faz2"
FORTINET-FORTIGATE-MIB::fnFortiGateMib.21.2.1.1.3.6 = STRING: "faz3"
FORTINET-FORTIGATE-MIB::fnFortiGateMib.21.2.1.1.3.7 = STRING: "webtrends"
FORTINET-FORTIGATE-MIB::fnFortiGateMib.21.2.1.1.3.8 = STRING: "fds"
FORTINET-FORTIGATE-MIB::fnFortiGateMib.21.2.1.1.4.0 = Counter32: 254
FORTINET-FORTIGATE-MIB::fnFortiGateMib.21.2.1.1.4.1 = Counter32: 220
FORTINET-FORTIGATE-MIB::fnFortiGateMib.21.2.1.1.4.2 = Counter32: 95
FORTINET-FORTIGATE-MIB::fnFortiGateMib.21.2.1.1.4.3 = Counter32: 0
FORTINET-FORTIGATE-MIB::fnFortiGateMib.21.2.1.1.4.4 = Counter32: 282
FORTINET-FORTIGATE-MIB::fnFortiGateMib.21.2.1.1.4.5 = Counter32: 272
FORTINET-FORTIGATE-MIB::fnFortiGateMib.21.2.1.1.4.6 = Counter32: 0
FORTINET-FORTIGATE-MIB::fnFortiGateMib.21.2.1.1.4.7 = Counter32: 0
FORTINET-FORTIGATE-MIB::fnFortiGateMib.21.2.1.1.4.8 = Counter32: 0
FORTINET-FORTIGATE-MIB::fnFortiGateMib.21.2.1.1.5.0 = Counter32: 0
FORTINET-FORTIGATE-MIB::fnFortiGateMib.21.2.1.1.5.1 = Counter32: 0
FORTINET-FORTIGATE-MIB::fnFortiGateMib.21.2.1.1.5.2 = Counter32: 0
FORTINET-FORTIGATE-MIB::fnFortiGateMib.21.2.1.1.5.3 = Counter32: 0
FORTINET-FORTIGATE-MIB::fnFortiGateMib.21.2.1.1.5.4 = Counter32: 0
FORTINET-FORTIGATE-MIB::fnFortiGateMib.21.2.1.1.5.5 = Counter32: 0
FORTINET-FORTIGATE-MIB::fnFortiGateMib.21.2.1.1.5.6 = Counter32: 0
FORTINET-FORTIGATE-MIB::fnFortiGateMib.21.2.1.1.5.7 = Counter32: 0
FORTINET-FORTIGATE-MIB::fnFortiGateMib.21.2.1.1.5.8 = Counter32: 0
FORTINET-FORTIGATE-MIB::fnFortiGateMib.21.2.1.1.6.0 = Gauge32: 0
FORTINET-FORTIGATE-MIB::fnFortiGateMib.21.2.1.1.6.1 = Gauge32: 0
FORTINET-FORTIGATE-MIB::fnFortiGateMib.21.2.1.1.6.2 = Gauge32: 0
FORTINET-FORTIGATE-MIB::fnFortiGateMib.21.2.1.1.6.3 = Gauge32: 0
FORTINET-FORTIGATE-MIB::fnFortiGateMib.21.2.1.1.6.4 = Gauge32: 0
FORTINET-FORTIGATE-MIB::fnFortiGateMib.21.2.1.1.6.5 = Gauge32: 0
FORTINET-FORTIGATE-MIB::fnFortiGateMib.21.2.1.1.6.6 = Gauge32: 0
FORTINET-FORTIGATE-MIB::fnFortiGateMib.21.2.1.1.6.7 = Gauge32: 0
FORTINET-FORTIGATE-MIB::fnFortiGateMib.21.2.1.1.6.8 = Gauge32: 0
FORTINET-FORTIGATE-MIB::fnFortiGateMib.21.2.1.1.7.0 = Counter32: 139
FORTINET-FORTIGATE-MIB::fnFortiGateMib.21.2.1.1.7.1 = Counter32: 139
FORTINET-FORTIGATE-MIB::fnFortiGateMib.21.2.1.1.7.2 = Counter32: 73
FORTINET-FORTIGATE-MIB::fnFortiGateMib.21.2.1.1.7.3 = Counter32: 0
FORTINET-FORTIGATE-MIB::fnFortiGateMib.21.2.1.1.7.4 = Counter32: 0
FORTINET-FORTIGATE-MIB::fnFortiGateMib.21.2.1.1.7.5 = Counter32: 0
FORTINET-FORTIGATE-MIB::fnFortiGateMib.21.2.1.1.7.6 = Counter32: 0
FORTINET-FORTIGATE-MIB::fnFortiGateMib.21.2.1.1.7.7 = Counter32: 0
FORTINET-FORTIGATE-MIB::fnFortiGateMib.21.2.1.1.7.8 = Counter32: 0
FORTINET-FORTIGATE-MIB::fnFortiGateMib.21.2.1.1.8.0 = Counter32: 0
FORTINET-FORTIGATE-MIB::fnFortiGateMib.21.2.1.1.8.1 = Counter32: 0
FORTINET-FORTIGATE-MIB::fnFortiGateMib.21.2.1.1.8.2 = Counter32: 0
FORTINET-FORTIGATE-MIB::fnFortiGateMib.21.2.1.1.8.3 = Counter32: 0
FORTINET-FORTIGATE-MIB::fnFortiGateMib.21.2.1.1.8.4 = Counter32: 0
FORTINET-FORTIGATE-MIB::fnFortiGateMib.21.2.1.1.8.5 = Counter32: 0
FORTINET-FORTIGATE-MIB::fnFortiGateMib.21.2.1.1.8.6 = Counter32: 0
FORTINET-FORTIGATE-MIB::fnFortiGateMib.21.2.1.1.8.7 = Counter32: 0
FORTINET-FORTIGATE-MIB::fnFortiGateMib.21.2.1.1.8.8 = Counter32: 0
Push notifications for iPhone (for the purpose of two-factor authentication) require a TLS server certificate to
authenticate to Apple. Since this certificate is only valid for one year, a new service extension allows FortiGuard to
distribute updated TLS server certificates to FortiGate when needed.
FortiGuard update service will update local Apple push notification TLS server certificates when the local certificate is
expired. FortiGuard update service will also reinstall certificates when the certificates are lost.
You can verify that the feature works on the FortiGate by using the CLI shell.
1. Using FortiOS CLI shell, verify that all certificates are installed:
/data/etc/apns # ls -al
drwxr-xr-x 2 0 0 Tue Jan 15 08:42:39 2019 1024 .
drwxr-xr-x 12 0 0 Tue Jan 15 08:45:00 2019 2048 ..
-rw-r--r-- 1 0 0 Sat Jan 12 00:06:30 2019 2377 apn-dev-cert.pem
-rw-r--r-- 1 0 0 Sat Jan 12 00:06:30 2019 1859 apn-dev-key.pem
-rw-r--r-- 1 0 0 Sat Jan 12 00:06:30 2019 8964 apn-dis-cert.pem
-rw-r--r-- 1 0 0 Sat Jan 12 00:06:30 2019 4482 apn-dis-key.pem
2. Rename all current Apple certificates.
Apple push notification no longer works after you rename the certificates.
/data/etc/apns # mv apn-dis-cert.pem apn-dis-cert.pem.save
/data/etc/apns # mv apn-dev-key.pem apn-dev-key.pem.save
/data/etc/apns # mv apn-dev-cert.pem apn-dev-cert.pem.save
/data/etc/apns # mv apn-dis-key.pem apn-dis-key.pem.save
/data/etc/apns # ls -al
drwxr-xr-x 2 0 0 Tue Jan 15 08:51:15 2019 1024 .
drwxr-xr-x 12 0 0 Tue Jan 15 08:45:00 2019 2048 ..
-rw-r--r-- 1 0 0 Sat Jan 12 00:06:30 2019 2377 apn-dev-
cert.pem.save
-rw-r--r-- 1 0 0 Sat Jan 12 00:06:30 2019 1859 apn-dev-
key.pem.save
-rw-r--r-- 1 0 0 Sat Jan 12 00:06:30 2019 8964 apn-dis-
cert.pem.save
-rw-r--r-- 1 0 0 Sat Jan 12 00:06:30 2019 4482 apn-dis-
key.pem.save
3. Run a FortiGuard update, and verify that all certificates are installed again:
/data/etc/apns # ls -al drwxr-xr-x 2 0 0 Tue Jan 15 08:56:20 2019
1024 .
drwxr-xr-x 12 0 0 Tue Jan 15 08:56:15 2019 2048 ..
-rw-r--r-- 1 0 0 Sat Jan 12 00:06:30 2019 2377 apn-dev-
cert.pem.save
This feature changes the default search behavior for user group memberships on Windows Active Directory (AD) LDAP
servers. By default, nested groups (groups that are members or other groups) are not searched, as this can slow down
the group membership search. A new option is added to enable searching nested groups for user group memberships
on AD LDAP servers. This option is not available for other LDAP servers, such as OpenLDAP based LDAP servers.
The default search results show only groups that have the user as member, and no groups that have groups as
members:
diagnose test authserver ldap ldap-ad nuser nuser
authenticate 'nuser' against 'ldap-ad' succeeded!
Group membership(s) - CN=nested3,OU=Testing,DC=Fortinet-FSSO,DC=COM
CN=Domain Users,CN=Users,DC=Fortinet-FSSO,DC=COM
next
end
The search results include groups that have other groups as members:
diagnose test authserver ldap ldap-ad nuser nuser
authenticate 'nuser' against 'ldap-ad' succeeded!
Group membership(s) - CN=nested3,OU=Testing,DC=Fortinet-FSSO,DC=COM
CN=Domain Users,CN=Users,DC=Fortinet-FSSO,DC=COM
CN=nested2,OU=Testing,DC=Fortinet-FSSO,DC=COM
CN=nested1,OU=Testing,DC=Fortinet-FSSO,DC=COM
The group nested3 is a member of the group nested2, which is itself a member of the group nested1.
The config web-proxy global CLI command has settings that affect which certificate is used to sign block page
in explicit proxy.
config web-proxy global
set ssl-cert {string}
set ssl-ca-cert {string}