Fortinet - SSL VPN
Fortinet - SSL VPN
Fortinet - SSL VPN
Table of Contents
Topic Page
SSL VPN At a Glance 4
What is SSL VPN? 4
Key Features of SSL VPN 4
Use Cases 4
Benefits of SSL VPN 5
Differences between SSL VPN an IPsec VPN 5
What is SSL/TLS 7
Why use SSL VPN 8
How does SSL VPN work? 9
Deployment Modes 9
Web Mode 10
Tunnel Mode 11
Differences between Web Mode and Tunnel Mode 12
Tunnel Mode in detail 15
How does tunnel mode work? 16
Security Features of SSL VPN Tunnel Mode 18
Tunnel Mode - Types 19
Tunnel Mode FortiGate as client 21
SSL VPN Packet Format 26
Tunnel Mode Split Tunneling 30
Configuring SSL VPN User as Client 38
Tunnel Mode Configuration 40
Web Mode Configuration 41
SSL VPN bookmarks 42
Connecting from FortiClient VPN client 52
Configuring SSL VPN FortiGate as Server 55
Configuring SSL VPN FortiGate as Client 59
Examples and real-world scenarios 62
3|Page
Real-World SCENARIO 1 - SSL VPN Tunnel mode with Split Tunneling enabled Configuration 63
Real-World SCENARIO 2 - SSL VPN split tunnel for remote user 72
Real-World SCENARIO 3 - Set up FortiToken multi-factor authentication 75
Real-World SCENARIO 4 - Connecting from FortiClient with FortiToken 76
Real-World SCENARIO 5 - SSL VPN full tunnel for remote user 78
Real-World SCENARIO 6 - SSL VPN tunnel mode host check 81
Real-World SCENARIO 7 - SSL VPN web mode for remote user 84
Real-World SCENARIO 8 - SSL VPN bookmarks 87
Real-World SCENARIO 9 - Quick Connection tool 90
Real-World SCENARIO 10 - SSL VPN with LDAP user authentication 91
SSL VPN Protocols 98
Monitoring SSL VPN Sessions 99
SSL VPN Logs 100
SSL VPN Idle Timeout vs. Authentication Session 101
SSL VPN Timers 102
SSL VPN Session Prevention 103
Lab 109
4|Page
Use Cases:
Remote Work: Employees accessing corporate resources securely from home or
while traveling.
Mobile Users: Users who need to connect securely using mobile devices without
installing VPN clients.
Specific Resource Access: Allowing access to particular services or
applications instead of a full network connection.
BYOD (Bring Your Own Device): Users can securely connect to a private network
using personal devices without the need to install complex software.
SSL VPNs have become popular due to their ease of use, enhanced security, and
compatibility with modern web browsers.
5|Page
No, SSL VPN is not typically used for site-to-site connectivity. Instead, SSL VPNs
are mainly used for remote access VPNs, where individual users securely connect to a
private network over the internet using a web browser or lightweight client.
For site-to-site VPN connectivity, which connects two or more entire networks (such
as a branch office network to a headquarters network), organizations commonly use
IPsec VPNs (Internet Protocol Security VPNs). IPsec is designed to provide a secure
tunnel between two networks, ensuring confidentiality, integrity, and authenticity
of data transferred between them.
Differences:
SSL VPN is mainly used for remote access by individual users connecting from
various devices.
IPsec VPN is preferred for site-to-site connections between two networks or
offices because it is optimized for establishing and maintaining secure tunnels
between routers or gateways at both locations.
In summary, SSL VPN is typically used for remote user access, while IPsec VPN is the
standard choice for site-to-site connectivity between multiple networks.
6|Page
Learning Objectives
After completing this section, you should be able to achieve the following objectives. By
demonstrating competence in understanding the different ways FortiGate allows SSL VPN
connections, you will be able to better design the configuration and architecture of your SSL VPN.
You will also be able to avoid, identify, and solve common issues and misconfigurations.
What is SSL/TLS?
Secure Sockets Layer (SSL) is a protocol for encrypting HTTP traffic, such as connections between
user devices and web servers. Websites that use SSL encryption have https:// in their URLs
instead of http://.
SSL was replaced several years ago by Transport Layer Security (TLS), but the term "SSL" is still in
common use for referring to the protocol.
In addition to encrypting client-server communications in web browsing, SSL can also be used in
VPNs.
Secure Sockets Layer Virtual Private Network (SSL VPN) is a type of VPN that uses SSL
encryption to:
create a secure and encrypted connection between a client device and a device acting as
a VPN server.
Although SSL VPN is most commonly used to grant remote workers access to their
corporate networks,
it is also possible to configure it between two FortiGate firewalls.
8|Page
Web mode (Portal Mode) provides access to web-based applications through a web
browser. The user only needs to open the URL or IP address provided and log in to the web portal.
It is important to mention that FortiGate functions as a reverse web proxy to allow access to
applications that are not natively designed to be accessed through the web. This mode is best
suited for users who need to access a limited set of resources, such as web-based applications,
intranet sites, and email, among others. The main advantages of this mode are that it
require any client software to be installed and administrators can provide very granular access to
the users. On the downside, since all the access is through a web page, there is a limited number
of applications and protocols supported. Typical access includes bookmarked URLs, FTP servers,
Windows shares, and remote sessions to other systems using Telnet, SSH, VNC, or RDP.
Requires only a web browser
Supports a limited number of protocols: FTP, HTTP/HTTPS, RDP, SMB/CIFS, SSH,
Telnet, VNC, and Ping
11 | P a g e
Tunnel mode provides full network access to remote users as if they were physically
present on the corporate network. This mode is best suited for remote workers who need to
access a wide range of services, including client-server applications, file shares, and other typical
network resources. The ability to access all kinds of resources is the big advantage of this mode.
However, to enable this, you must install and configure the FortiClient VPN on the remote device.
This may create extra overhead for the support team when dealing with users who are not
technically savvy and are trying to use their own devices.
Accessed through a FortiClient
Requires a virtual adapter on the client host
12 | P a g e
So, what are the differences between Web Mode and Tunnel Mode?
SSL VPN (Secure Sockets Layer Virtual Private Network) provides two primary modes of operation: Web Mode and
Tunnel Mode. Here's a breakdown of the key differences between them:
Summary of Differences:
Each mode serves different use cases, with Web Mode offering easier, browser-based access, and Tunnel Mode
providing more robust, full network access for remote users.
13 | P a g e
SSL VPN Web Mode can support RDP (Remote Desktop Protocol), but it depends on the capabilities of the VPN
gateway or firewall providing the SSL VPN service. In Web Mode, you typically access resources through a web
browser. Some SSL VPN solutions provide RDP access through a web portal, allowing you to launch an RDP
session from the browser without needing to install a full VPN client.
how it works:
1. RDP via Web Portal: In Web Mode, many SSL VPN appliances or firewalls offer a web portal where users
can access internal resources. From this portal, users can launch an RDP session directly within the
browser or through a Java/HTML5-based RDP client. This is convenient as it does not require an RDP client
installed on the local machine.
2. Limitations:
o Performance: RDP over Web Mode may not perform as well as in Tunnel Mode because it depends
on the quality of the web interface and the resources of the VPN appliance.
o Features: The functionality of the RDP session might be limited compared to using a native RDP
client. For example, certain advanced features like printer redirection or clipboard sharing might
not work as well.
o Browser Compatibility: Accessing RDP through Web Mode often relies on browser compatibility,
and in some cases, users might need plugins or specific browsers for it to work properly.
Summary:
Yes, SSL VPN Web Mode can support RDP, but it usually depends on the specific VPN appliance or software. It is
typically provided through a web-based interface, offering convenient access to remote desktops via a browser.
For more seamless and robust RDP performance, however, Tunnel Mode with a dedicated VPN client is often
preferred.
14 | P a g e
An Important Question
1. How SSL VPN Tunnel Mode Could Work for Site-to-Site VPN:
Tunnel Mode creates an encrypted tunnel between two endpoints, which can theoretically be used to
connect two networks.
If you set up an SSL VPN Tunnel Mode on both sides (between two gateways or routers), it could route
traffic between the two sites, allowing devices on either network to communicate with each other.
This could be configured using special VPN appliances that support such configurations.
Performance: SSL VPN Tunnel Mode is not optimized for continuous, high-volume traffic typical in Site-to-
Site VPN connections. SSL/TLS encryption tends to have more overhead than IPsec, which could lead to
performance bottlenecks, especially for bandwidth-heavy applications.
Scalability: SSL VPN is designed for individual user access. Scaling this to handle multiple devices on both
sides of the site-to-site connection could be inefficient compared to IPsec, which is designed to manage
such scenarios.
Complexity: Configuring SSL VPN for Site-to-Site VPN can be more complex because it's not a typical use
case for SSL VPNs. IPsec offers easier, standardized configuration options for Site-to-Site setups across
most routers and firewalls.
Firewall Limitations: In some cases, firewalls might block IPsec VPN traffic (protocols like ESP or AH). SSL
VPN, using SSL/TLS over TCP or UDP, can bypass such restrictions.
NAT Traversal: SSL VPN is often better at handling NAT (Network Address Translation) issues than IPsec
because SSL/TLS is commonly used on ports like TCP 443, which are generally open in most networks.
Specific VPN Solutions: Certain proprietary VPN solutions may allow SSL VPN Tunnel Mode to be used for
Site-to-Site configurations. These are typically vendor-specific implementations.
15 | P a g e
Tunnel mode requires FortiClient to connect to FortiGate. FortiClient adds a virtual network
adapter identified as fortisslto the PC. This virtual adapter dynamically receives an IP
address from FortiGate each time FortiGate establishes a new VPN connection. Inside the tunnel,
all traffic is SSL/TLS encapsulated.
The main advantage of tunnel mode is that after the VPN is established, any IP network
application running on the client can send traffic through the tunnel. The tunnel mode requires
the installation of a VPN software client, which requires administrative privileges.
16 | P a g e
4. Then, users can access services and network resources through the encrypted tunnel.
FortiClient encrypts all traffic from the remote computer and sends it over the SSL VPN tunnel.
FortiGate receives the encrypted traffic, deencapsulates the IP packets, and forwards them to the
private network as if the traffic originated from inside the network.
17 | P a g e
The SSL VPN tunnel mode connection is initiated by the remote user (client) connecting to the
VPN server (gateway) via a web browser or dedicated VPN client software. The process typically
proceeds as follows:
Client Authentication: The client authenticates with the VPN server using a username,
password, and possibly additional methods like multi-factor authentication (MFA) or
certificates.
SSL/TLS Handshake: Once authenticated, the SSL/TLS handshake begins. During this
handshake:
o The client and server agree on encryption methods (cipher suites).
o The server sends its digital certificate for authentication.
o Encryption keys are negotiated using a secure key exchange process (e.g., Diffie-
Hellman).
This handshake ensures that a secure, encrypted communication channel is established between
the client and server using SSL/TLS.
After a secure connection is established, an SSL VPN tunnel is created. The key points of tunnel
mode include:
Full Traffic Encryption: All data sent from the client to the VPN server is encrypted using
the agreed-upon cipher suite. This includes not only the application data but also protocol
information (such as IP packets) being transmitted.
Encapsulation of Traffic: In tunnel mode, the entire IP packet (including headers and
payloads) is encapsulated within the SSL VPN tunnel. This means that multiple types of
traffic (e.g., HTTP, SSH, RDP, email) can be routed through the tunnel securely.
o The client acts as if it's on the same network as the internal network, and any data it
sends is encapsulated in SSL/TLS packets.
IP Address Allocation: The client typically gets an IP address from the VPN server, making it
appear as if it is part of the internal network. This allows the client to access resources
within the private network (such as file servers, printers, internal web servers, etc.).
18 | P a g e
Once the SSL VPN tunnel is established, all data flows through this encrypted tunnel, ensuring
secure communication between the client and the VPN gateway. The following steps occur as
traffic flows:
Client Sends Traffic: The device generates traffic (e.g., a request to access an internal
web server or send an email). The VPN client software encapsulates the traffic in SSL/TLS-
encrypted packets.
Encryption and Transmission: The encapsulated, encrypted traffic is sent over the Internet
to the VPN gateway.
Decryption at Gateway: The VPN gateway decrypts the traffic and forwards it to the
internal network. To internal systems, this traffic appears to come from a device on the
internal network (with the assigned internal IP address).
Return Traffic: Responses from internal network resources (e.g., web server responses) are
sent back through the VPN gateway. The VPN gateway encrypts these responses using
SSL/TLS and forwards them to the client.
Decryption at Client: The VPN client receives the encrypted data, decrypts it, and forwards
the response to the appropriate application on the device.
Strong Encryption: The data exchanged between the client and server is encrypted using
SSL/TLS protocols, protecting against eavesdropping, man-in-the-middle attacks, and other
threats.
Authentication: SSL VPNs often require multi-factor authentication (MFA) to ensure that
only authorized users can access the internal network.
Data Integrity: SSL VPN ensures data integrity using hashing techniques like HMAC (Hash-
based Message Authentication Code) to verify that data is not altered in transit.
Endpoint Security: Some SSL VPN implementations include endpoint security checks (e.g.,
verifying antivirus or firewall status) to ensure that the client device meets security
requirements before connecting.
19 | P a g e
When discussing SSL VPN connections, FortiGate as a client and User as a client refer to different roles and
configurations in the VPN setup. Here's a breakdown of the key differences between these two:
Purpose: This refers to a scenario where the FortiGate device itself acts as an SSL VPN client, connecting
to another VPN server or gateway. It is typically used in site-to-site VPN setups, where one FortiGate (at a
branch office) connects to another VPN server (at the headquarters).
Use Case: Mainly for Site-to-Site VPNs, connecting entire networks securely over the internet.
Traffic: When FortiGate is the client, it routes traffic from the entire local network (behind the FortiGate)
through the VPN tunnel to the remote network. Devices behind the FortiGate need to individually
establish the VPN connection.
Connection Scope: The entire network behind the FortiGate can access the remote network through the
VPN.
Configuration: Requires configuring the FortiGate as an SSL VPN client, specifying the remote server
details, and setting routing and policies to ensure traffic is properly forwarded.
Purpose: This refers to individual users connecting to the FortiGate (acting as the VPN server) using SSL
VPN to securely access internal network resources. Each user establishes their own SSL VPN connection.
Use Case: Mainly for Remote Access VPN, where users (employees, contractors, etc.) connect to the
corporate network from external locations (e.g., from home or while traveling).
Traffic: The traffic is specific to the device, not the entire network. Only the device that
initiates the SSL VPN connection can access the internal network.
Connection Scope: The individual device gets access to the network, allowing them to use
resources such as internal web applications, file servers, or remote desktops (RDP).
Configuration: The user installs a VPN client (like FortiClient) or uses a web browser to initiate the SSL VPN
connection to the FortiGate device, and the connection is authenticated via user credentials.
Summary:
FortiGate as a Client is used to connect entire networks (site-to-site) where the FortiGate device itself
handles the VPN connection.
User as a Client is used to connect individual users to the network for remote access (remote workers
accessing internal resources).
Both configurations serve different purposes, with FortiGate as a client focusing on network-to-network
connections, and User as a client enabling secure access for individual users.
21 | P a g e
You can configure FortiGate as an SSL VPN client, using an SSL-VPN Tunnel interface type. When
an SSL VPN client connection is established, the client dynamically adds a route to the subnets
that the SSL VPN server returns. You can define policies to allow users who are behind the client
to be tunneled through SSL VPN to destinations on the SSL VPN server.
22 | P a g e
This setup provides IP-level connectivity in tunnel mode and allows you to configure hub-and-
spoke topologies with FortiGate devices as both the SSL VPN hub and spokes. This can be useful
to avoid issues caused by intermediate devices, such as:
ESP packets being blocked (Encapsulating Security Payload (ESP) is a member of the
Internet Protocol Security (IPsec) set of protocols that encrypt and authenticate the
packets of data between computers using a Virtual Private Network (VPN). The focus
and layer on which ESP operates makes it possible for VPNs to function securely).
UDP ports 500 or 4500 being blocked (Traffic on UDP port 500 is used for the start of all
IKE negotiations between VPN peers. This is true of all IPSec platforms. In some cases,
UDP port 4500 is also used).
Fragments being dropped, causing IKE negotiation that uses large certificates to fail if
the peer does not support IKE fragmentation.
Tunnel Mode: In SSL VPN tunnel mode, the entire IP traffic (including the IP headers and
payload) is encrypted and sent through the VPN tunnel. This means that the client behaves
as if it is part of the remote network.
IP-level Connectivity: The devices at both ends of the SSL VPN can communicate with each
other at the IP level, meaning they can exchange data packets just like computers on the
same local network, even though they are in different physical locations.
Hub-and-Spoke: This refers to a network design where a central device (the hub) connects
to multiple remote devices (the spokes). The spokes don't connect directly to each other
but communicate through the hub. In this case, the FortiGate device can serve as both the
hub (central location) and the spokes (remote locations).
o FortiGate as Hub: The central device that connects all the remote spokes.
o FortiGate as Spokes: The remote devices that connect back to the hub.
This design can be useful for creating secure communication between branch offices
(spokes) through a central office (hub).
23 | P a g e
The next section explains why SSL VPN (in tunnel mode) can be a better choice than IPsec VPN
(which relies on certain protocols and ports) in some cases. Here are the issues that SSL VPN helps
avoid:
UDP Port 500: Used by IPsec VPNs for the Internet Key Exchange (IKE) protocol, which is
necessary to establish a secure VPN tunnel.
UDP Port 4500: Sometimes used when the network uses Network Address Translation
(NAT). It is also part of the IKE protocol for IPsec VPNs.
Issue: If these UDP ports (500 and 4500) are blocked by intermediate devices like firewalls,
the IPsec VPN connection cannot be established.
SSL VPN Advantage: SSL VPN uses TCP port 443 (the same port used for HTTPS traffic). Port
443 is rarely blocked because it is needed for regular web browsing. This makes SSL VPN
more reliable in environments where specific ports are blocked.
Fragmentation: When large data packets are broken into smaller fragments to be
transmitted across the network.
Issue: If large packets (like those containing large certificates during IKE negotiation) are
fragmented, some network devices may drop the fragments. This can cause the VPN
connection to fail, especially if the peer device does not support IKE fragmentation.
SSL VPN Advantage: Since SSL VPN operates over TCP (rather than UDP like IPsec), it
handles packet fragmentation more reliably. TCP ensures that packets are reassembled
correctly, so there is less chance of fragmentation issues disrupting the VPN.
24 | P a g e
If the client specified destination is all, a default route is effectively dynamically created on the
SSL VPN client, and the new default route is added to the existing default route in the form of
ECMP. You can modify the route distance or priority according to your requirements. To prevent a
default route being learned on the SSL VPN client, define a specific destination on the SSL VPN
server. Split tunneling is used so that only the destination addresses defined in the server firewall
policies are routed to the server, and all other traffic is connected directly to the internet.
This configuration requires you to install the correct CA certificate because the SSL VPN client
FortiGate/user uses PSK and a PKI client certificate to authenticate. You must install the correct
CA certificate on the FortiGate devices to verify the certificate chain to the root CA that signed
the certificate.
25 | P a g e
1. Original IP Packet
This is the original packet that is generated by the client application or operating system before any encryption or
encapsulation. It typically consists of:
Original IP Header (20 bytes): Contains source and destination IP addresses, protocol type (e.g., TCP, UDP),
etc.
Transport Layer Header (e.g., TCP/UDP) (20 bytes for TCP): Contains information like source and
destination ports, sequence numbers, etc.
Application Layer Data (variable size): The actual data (payload) being transmitted, such as HTTP, email,
or other application data.
Once the SSL VPN tunnel is established, the original packet is encapsulated inside an SSL/TLS record. The SSL/TLS
layer encrypts the original packet and adds headers to ensure secure transmission. The main components added
at this stage are:
Content Type (1 byte): Indicates the type of SSL/TLS record (e.g., handshake, application data).
o Typical values:
20: ChangeCipherSpec
21: Alert
22: Handshake
23: Application data (most common for VPN data traffic).
Version (2 bytes): Indicates the SSL/TLS protocol version (e.g., TLS 1.2 is 0x0303).
Length (2 bytes): Specifies the length of the encrypted payload inside the SSL/TLS record.
27 | P a g e
Encrypted Payload (variable size): The original IP packet is encrypted at this stage using symmetric
encryption (e.g., AES or ChaCha20). The length depends on the size of the original packet.
MAC (Message Authentication Code) (variable size): A cryptographic checksum added to ensure the
integrity of the data. If the data is tampered with, the MAC will not match, and the packet will be rejected.
Since SSL VPN relies on SSL/TLS, the encapsulated data is transmitted over TCP. This is one of the main
differences between SSL VPN and IPsec VPN, where SSL VPN uses TCP (typically port 443) for transmission,
while IPsec often uses UDP.
TCP Header (20 bytes for IPv4): The original packet, now encrypted and encapsulated in the SSL/TLS layer,
is transmitted over TCP.
o Important fields in the TCP header include:
Source and Destination Port: Typically port 443 for SSL VPN.
Sequence and Acknowledgment Numbers: For ensuring reliable transmission.
Detail:
For the encrypted traffic to travel across the internet securely, an outer TCP header is added to carry the
encrypted SSL/TLS data.
This new TCP header is part of the TCP session between the SSL VPN client and the VPN server.
It is used to manage the encrypted traffic between the client and the VPN server.
Typically, this session uses TCP port 443 on the VPN server for SSL/TLS traffic.
4. IP Header
The encrypted data (including the original packet and SSL/TLS encapsulation) is then wrapped in an outer IP
header for routing over the internet.
Outer IP Header (20 bytes for IPv4): The outer IP header contains the source IP address (the client) and
the destination IP address (the VPN server). The inner original IP header is already encrypted inside the
SSL/TLS payload.
28 | P a g e
Example:
say the original packet is HTTP traffic between a client and a web server on the internal
network (e.g., 192.168.1.100 is the internal web server).
Summary:
The TCP header you see in the SSL VPN packet is the new TCP header used for the VPN
transport, not the one from the original packet.
The original TCP header is inside the encrypted SSL/TLS payload, along with the original
packet.
30 | P a g e
31 | P a g e
Advantage:
You can use this method in order to:
Apply security features to the traffic on those remote clients,
or to monitor or restrict internet access.
Disdvantage:
This adds more latency and increases bandwidth usage.
Let me break down the concepts step by step to help you better understand the topic regarding
SSL VPN without split tunneling in a FortiGate (client) to FortiGate (server) setup.
Default Route: A default route is a catch-all route used when no specific route to a destination is available
in the routing table. In networking, a default route is often configured as "0.0.0.0/0" which matches all
destinations.
ECMP (Equal-Cost Multi-Path): If multiple default routes exist (e.g., a regular internet route and a route
through the VPN tunnel), ECMP allows traffic to be distributed across multiple routes with equal "cost"
(i.e., the same metric or distance).
In the FortiGate SSL VPN client setup, when the VPN connection is established:
A new default route is dynamically created to route all traffic through the VPN tunnel.
This new default route is added to the existing routing table, possibly alongside the original default route
(which may route traffic directly to the internet).
If both default routes (VPN and non-VPN) have equal distances (costs), ECMP will kick in, distributing traffic
between the two routes. However, to control how traffic is routed, you can adjust the distance and priority of
these routes.
Option 1: Make all traffic default to the SSL VPN server (Preferred Route)
Goal: You want all traffic (including internet traffic) to go through the SSL VPN tunnel, meaning the VPN
route should be preferred over any other routes on the SSL VPN client (FortiGate).
Solution: To ensure this, you need to set a lower distance (a smaller numerical value) for the default route
that is learned from the SSL VPN server. So, only the route with the lowest AD remains in RIB.
How it works:
o Routing decisions are made based on the distance (or metric) of each route. The route with the lower
distance is preferred.
o By setting a lower distance for the route learned from the SSL VPN server, you make sure that the VPN route
is used for all traffic, and traffic accidentally go through the regular internet route.
Route to the VPN server: However, to still be able to reach the VPN listening interface (the
interface that handles the VPN traffic), the FortiGate client needs a separate route specifically for the VPN
IP address (outside the tunnel), so it knows how to reach it.
33 | P a g e
Goal: You want to include both default routes in the routing table, but make sure the route learned from
the SSL VPN server takes priority.
Solution:
o Similar to Option 1, you can set a lower distance for the route learned from the SSL VPN server. If the
distance is already as low as possible (e.g., zero), then you should increase the priority of the original default
route (the non-VPN route).
How it works:
o The distance determines the preferred route when multiple routes exist. The route with the lowest
distance is preferred.
o If both routes have the same distance (e.g., zero), the priority comes into play. Increasing the
priority on the non-VPN default route makes sure the VPN route is prioritized.
o By adjusting the distance and priority, you can control which route is preferred without completely
removing the other default route from the routing table. The SSL VPN route is prioritized for most
traffic, but the client still has a fallback route available if needed.
Example:
When using SSL VPN without split tunneling, the VPN client adds a default route through the VPN tunnel.
You can control how traffic is routed by adjusting the distance (metric) and priority of the routes:
o Lower distance = more preferred.
o Higher priority = less preferred if distances are equal.
You have two main options:
o Make the VPN route the preferred route (and route all traffic through the VPN).
o Include both routes but ensure the VPN route is preferred by adjusting distance or priority.
34 | P a g e
To disable split tunneling, the FortiGate SSL VPN configuration should be set to ensure all traffic
passes through the VPN tunnel. Here's how you can configure it in the FortiGate CLI:
In this configuration:
set split-tunneling disableensures that all traffic is routed through the VPN
tunnel, making it a full-tunnel VPN.
SSL VPN with split tunneling is a feature that allows VPN clients to route some traffic through the VPN tunnel
while sending other traffic directly to the internet (or local network) without going through the VPN tunnel. This
setup optimizes bandwidth usage and improves performance, as only specific traffic (such as internal corporate
resources) is sent through the secure VPN connection, while the rest (like general internet browsing) uses the
local internet connection.
1. Internal traffic: Traffic that needs to access resources inside the corporate network (e.g., file servers, databases,
internal applications).
2. Public internet traffic: Traffic that does not need to go through the corporate network (e.g., browsing websites,
watching videos).
Without Split Tunneling, all traffic both internal and public is sent through the VPN tunnel, including internet
browsing traffic. This is called full tunneling. In split tunneling, the VPN client decides which traffic goes through
the VPN tunnel (typically traffic for the corporate network) and which traffic bypasses the VPN (general internet
traffic).
On a FortiGate SSL VPN server, split tunneling can be enabled in the following way:
1. Define the Internal Subnets: Specify the internal subnets that should be routed through
the VPN (e.g., 10.0.0.0/24).
2. Enable Split Tunneling: Configure the SSL VPN portal to enable split tunneling and push the
defined internal routes to the client.
38 | P a g e
This slide shows the steps an administrator must take to configure SSL VPN. You can configure
some steps in a different order than what is shown on this slide.
1 Set up user accounts and groups for remote SSL VPN users
The first step is to create the accounts and user groups for the SSL VPN clients. You can use all
FortiGate authentication methods, with the exception of remote password authentication using
the Fortinet Single Sign-On (FSSO) protocol, for SSL VPN authentication. This includes local
password authentication and remote password authentication (using the LDAP, RADIUS, and
TACACS+ protocols).
Understanding Portal Types: SSL VPN portals determine the access profiles
You can either edit the existing portals (e.g., full-access, tunnel-access, or web-access) or create a new
portal if you need custom behavior.
Full Access: Provides the client with complete access to the network resources. Useful for
employees who need to connect to internal services remotely.
Tunnel Mode: Provides access to internal resources via the VPN but can restrict access to
specific subnets or services.
Web Access: Limits access to web-based applications. Ideal for environments where users
only
40 | P a g e
Split Tunneling:
In tunnel mode, when you enable split tunneling, you need to select either Enabled Based on
Policy Destination or Enabled for Trusted Destination setting, which usually specifies networks
behind the FortiGate for the SSL VPN users to access.
Enabled Based on Policy Destination Only client traffic in which the destination
matches the destination of the configured firewall polices will be directed over the SSL-VPN
tunnel. Any other traffic (e.g., general web browsing) will bypass the VPN and go directly to
the internet.
Enabled for Trusted Destination Only client traffic which does not match explicitly
trusted destination will be directed over the SSL-VPN tunnel.
This allows traffic that match your SSL VPN firewall policies but is destined for trusted
networks to be routed through the VPN.
Trusted destinations could be defined as specific internal subnets or servers. Anything outside these
destinations bypasses the VPN.
41 | P a g e
Source IP Pools:
Also, for tunnel mode you need to select an IP pool for users to acquire an IP address when
connecting. There is a default pool available within the address objects if you do not create your
own.
Portal Message Enter a message that appears at the top of the web portal screen
(default = SSL-VPN Portal).
Show Session Enable to display session information in the top banner of the web portal
Information (username, amount of time logged in, and traffic statistics).
Show Login History Enable to display the user's login history (History).
User Bookmarks Enable to allow users to add their own bookmarks (New Bookmark).
3. Ease of Use:
o By using bookmarks, users don't need to remember the internal IP addresses or URLs
of resources. They can simply click on the bookmark from the SSL VPN portal, and
the connection will be established.
SSL VPN bookmarks enhance user experience and security by providing a convenient and
controlled way to access internal resources through an SSL VPN portal.
44 | P a g e
FortiClient Download
FortiClient Download Enable this option to display the Download FortiClient button.
Download Method Select either Direct or SSL-VPN Proxy as the method to download
FortiClient.
Customize Download Enable to configure a custom download location for Windows or Mac.
Location
Listen on Interface(s):
Here, you need to map a FortiGate interface to the SSL VPN portal.
This option defines which network interfaces on the FortiGate device will listen for incoming SSL
VPN connections.
WAN1, WAN2, etc.: These are typically the interfaces connected to the internet. Select the
interface(s) where users will connect from external networks.
Multiple interfaces can be selected if you want the SSL VPN to be accessible from multiple
public IP addresses.
Note that:
Port 443 is the standard default port for administration of the HTTPS protocol. This is convenient
because users do not need to specify the port in their browsers. For example,
https://www.example.com/ automatically uses port 443 in any browser. This is considered a valid
setup on FortiGate because you usually access the SSL VPN login through every interface.
Likewise, you generally enable administrative access on every interface of your FortiGate.
So, even though the ports may overlap, the interfaces that each one uses to access may not.
However, if the SSL VPN login portal and HTTPS admin access both use the same port, and are
both enabled on the same interface, only the SSL VPN login portal will appear. To have access to
both portals on the same interface, you need to change the port number for one of the services.
If you change the administrator access port, this will affect the port number for that service on all
interfaces.
46 | P a g e
Server Certificate
This is the SSL certificate used to secure the VPN connection. It encrypts the traffic between the
user and the FortiGate device.
Default Certificate: FortiGate includes a self-signed certificate by default. This is fine for
internal or testing purposes, but it will generate browser warnings since not from a
trusted Certificate Authority (CA).
Custom Certificate: For production environments, best to use a valid SSL certificate
issued by a trusted CA. You can upload your own certificate to use for the SSL VPN.
Restrict Access:
This setting controls which users or user groups can access the SSL VPN.
Allow access from any host: All users can access the SSL VPN as long as they have valid
credentials.
Limit access to specific host: You can limit access to only specific user groups. For example,
you can select the SSLVPN_Usersgroup so that only members of this group can log in.
Idle Logout:
This setting determines how long a VPN connection can remain idle before the user is
disconnected.
Default is 300 seconds (5 minutes): This means if there is no activity from the VPN
connection for 5 minutes, the session will be disconnected.
You can increase or decrease this value depending on your security policies.
Tunnel mode allows the user to establish a full VPN connection to the network.
Address Range:
When users connect, the tunnel is assigned an IP address. You can choose to use the default
range or create your own range. The IP range determines how many users can connect
simultaneously.
Specify a range of IP addresses (e.g., 10.10.10.1 - 10.10.10.50) that VPN clients will use. These
should not overlap with your internal network addresses.
DNS Server:
You can configure the DNS server that VPN clients will use. This is especially useful if you
want them to resolve internal domain names (e.g., intranet.company.local).
Custom DNS Server: You can define custom DNS servers, such as a corporate DNS or a
public DNS server like DNS (8.8.8.8).
DNS server resolution is effective only when the DNS traffic is sent over the VPN tunnel. Usually,
this is the case only when split tunnel mode is disabled and all traffic is sent from the
computer across the tunnel.
48 | P a g e
Language:
Browser Preference
System
This controls which users or user groups have access to which SSL VPN portals. Portals define the
level of access a user gets once connected to the VPN.
Source: Select the user or user group. For example, you might select the SSLVPN_Users
group that you created earlier.
Portal: Choose the SSL VPN portal for these users. The portal defines what type of access
the users have (e.g., full access, limited access, or web-only access).
49 | P a g e
To allow VPN users to access internal resources, you need to configure a firewall policy.
SSL VPN traffic on FortiGate uses a virtual interface called ssl.<vdom_name>. Each virtual
domain (VDOM) contains a different virtual interface based on its name. By default, if VDOMs are
not enabled, then the device operates with a single VDOM called root.
To activate and successfully log in to the SSL VPN, there must be a firewall policy from the SSL
VPN interface to the interface to which you want to allow access for the SSL VPN users, including
all of the users and groups that can log in as the source. Without a policy like this, no login portal
is presented to users.
If there are resources behind other interfaces that users need access to, then you need to create
additional policies that allow traffic from ssl.rootto exit those interfaces.
50 | P a g e
1. Name:
oGive the policy a meaningful name, such as SSLVPN_to_Internal_Network. This helps in identifying
the policy easily.
2. Incoming Interface:
o Set this to the SSL VPN Tunnel interface (typically named ssl.root).
o This is the virtual interface created by FortiGate for SSL VPN traffic.
3. Outgoing Interface:
o Set this to your internal network interface (e.g., LAN, internal, vlan1).
o This defines where the VPN users will be able to send their traffic (i.e., which network segment or
VLAN).
4. Source:
o The source defines where the traffic is coming from. In this case, it's the SSL VPN users or the IP
pool assigned to VPN clients.
o Choose one of the following options:
User Group: Select the user group that you created earlier (e.g., SSLVPN_Users). This
ensures that only authenticated users from this group can send traffic through the VPN.
IP Pool: If you prefer, you can select the IP range or address pool that was defined earlier
for the SSL VPN clients.
5. Destination:
o The destination defines which resources or networks the VPN users can access.
o Set this to the specific subnet or network where the internal resources are located. For example:
All: This allows access to the entire internal network.
Specific Subnet: If you want to restrict access, select a specific subnet (e.g.,
192.168.1.0/24).
Individual Server: If users should only access certain resources, you can specify a single IP or
a server.
6. Schedule:
o Set the schedule for when this policy is active.
o Always: This is typically set to allow the policy to be active all the time, but you can choose specific
times/dates if needed.
7. Service:
o The services define which types of traffic are allowed through the VPN.
o You can select specific protocols or services that the VPN users will use, such as:
ALL: Allow all types of traffic (not recommended for strict environments).
Predefined Services: Select services like HTTP, HTTPS, SSH, RDP, etc., depending on what
you want users to access.
Custom Services: You can also create custom service definitions if needed.
51 | P a g e
8. Action:
Set the action to Accept to allow the traffic.
o
This tells FortiGate to allow the SSL VPN traffic that matches the policy criteria (source, destination,
o
service).
9. Enable NAT (Optional):
o If required, enable NAT (Network Address Translation). This is typically used when translating the
VPN client's IP address into the internal IP address when communicating with the network. If the
VPN IP pool is on a different subnet from the internal network, NAT is usually required.
Enable Security Profiles: You can apply security profiles like Antivirus, Web Filter, Application Control, etc., to
protect the network from malware, unauthorized applications, or inappropriate content.
These profiles help to inspect the traffic passing through the VPN for security threats and inappropriate usage.
For FortiGate administrators, a free version of FortiClient VPN is available which supports basic
IPsec and SSL VPN and does not require registration with EMS. This version does not include
central management, technical support, or some advanced features.
1. On the Remote Access tab, click on the settings icon and then Add a New Connection.
Description (Optional)
Client Certificate Select Prompt on connect or the certificate from the dropdown list.
1. On the Remote Access tab, select the VPN connection from the dropdown list.
Optionally, you can right-click the FortiTray icon in the system tray and select a VPN
configuration to connect.
2. Enter your username and password.
3. Click the Connect button.
4. After connecting, you can now browse your remote network. Traffic to 192.168.1.0 goes
through the tunnel, while other traffic goes through the local gateway. FortiClient displays the
connection status, duration, and other relevant information.
5. Click the Disconnect button when you are ready to terminate the VPN session.
1. On the FortiGate, go to VPN > Monitor > SSL-VPN Monitor to verify the list of SSL users.
2. On the FortiGate, go to Log & Report > Forward Traffic to view the details of the SSL entry.
55 | P a g e
To configure an SSL VPN on FortiGate as the server, follow this step-by-step guide.
All steps are identical to SSL VPN setup for remote users. However, I'll cover the entire process
from initial setup to user authentication and connection again.
Note That:
The PKI menu is available on the GUI only after you have created a PKI user using the CLI. You can
configure a CN (Common Name) only on the CLI. If you do not specify a CN, then any certificate
that is signed by the CA is considered valid and matched. Client authentication requires both the
client certificate and username and password.
What is PKI?
57 | P a g e
This section shows the steps you must take to configure FortiGate as an SSL VPN client.
Step 1: Set up user accounts and groups for remote SSL VPN users
(Through CLI)
The PKI user must have the same CN if a CN is configured on the SSL VPN server FortiGate
certificate. You must also select a CA certificate that allows FortiGate to complete the certificate
chain and verify the server certificate. (Username and password are created on FortiGate Server)
5. In the CLI, specify the CN of the certificate on the SSL VPN server:
config user peer
edit "fgt_gui_automation"
set cn "*.fos.automation.com"
next
end
Step 3: Create and configure the SSL VPN Client settings on:
VPN > SSL-VPN Client
SCENARIO 1
In this example, the home FortiGate (FGT-A) is configured as an SSL VPN client, and the company
FortiGate (FGT-B) is configured as an SSL VPN server. After FGT-A connects to FGT-B, the devices
that are connected to FGT-A can access the resources behind FGT-B.
The SSL VPN server has a custom server certificate defined, and the SSL VPN client user uses PSK
and a PKI client certificate to authenticate. The FortiGates must have the proper CA certificate
installed to verify the certificate chain to the root CA that signed the certificate.
Split tunneling is used so that only the destination addresses defined in the server's firewall
policies are routed to the server, and all other traffic is connected directly to the internet.
64 | P a g e
The PKI menu is only available in the GUI after a PKI user has been created using the CLI,
and a CN can only be configured in the CLI.
4. Click OK.
5. In the CLI, specify the CN that must be matched. If no CN is specified, then any certificate that
is signed by the CA will be valid and matched.
Name sslvpn2
Outgoing port1
Interface
Destination bing.com: This FQDN resolves to 13.107.21.200 and 204.79.197.200. Traffic to these
addresses is directed to the SSL VPN, while other traffic is routed to the remote devices'
default adapters or interfaces.
mantis
Schedule always
Service ALL
Action Accept
3. Click OK.
67 | P a g e
The PKI menu is only available in the GUI after a PKI user has been created using the CLI,
and a CN can only be configured in the CLI.
D. Click OK.
3. Configure the SSL VPN client:
Name sslclientTo9
Interface sslclient_port1
Server 172.16.200.9
Port 1443
Username client2
Peer fgt_gui_automation
Status Enabled
4. Click OK.
69 | P a g e
Name policy_to_sslvpn_tunnel
Source all
Destination all
Schedule always
Service ALL
Action Accept
3. Click OK.
70 | P a g e
Verification
After the tunnel is established, the route to 13.107.21.200 and 204.79.197.200 on FGT-A connects through the SSL
VPN virtual interface sslclient_port1.
2. On the SSL VPN client FortiGate (FGT-A), go to VPN > SSL-VPN Clients to see the tunnel
list.
72 | P a g e
This is a sample configuration of remote users accessing the corporate network and internet
through an SSL VPN by tunnel mode using FortiClient but accessing the Internet without going
through the SSL VPN tunnel.
Sample topology
Sample configuration
WAN interface is the interface connected to ISP. This example shows static mode. You can also
use DHCP or PPPoE mode. The SSL VPN connection is established over the WAN interface. Ensure
that SSL VPN feature visibility is enabled before starting the configuration.
The split tunneling routing address cannot explicitly use an FQDN or an address group
that includes an FQDN. To use an FQDN, leave the routing address blank and apply the
FQDN as the destination address of the firewall policy.
73 | P a g e
D. Select Source IP Pools for users to acquire an IP address when connecting to the
portal. There is always a default pool available if you do not create your own.
This configuration adds multi-factor authentication (MFA) to the split tunnel configuration. It uses
one of the two free mobile FortiTokens that is already installed on the FortiGate.
2. You should have received your notification via email, select + and use the device camera to
scan the token QR code in your email.
77 | P a g e
3. FortiToken Mobile provisions and activates your token and generates token codes
immediately. To view the OTP's digits, select the eye icon. After you open the application,
FortiToken Mobile generates a new six-digit OTP every 30 seconds.
This is a sample configuration of remote users accessing the corporate network and internet
through an SSL VPN by tunnel mode using FortiClient.
Sample topology
Sample configuration
WAN interface is the interface connected to ISP. This example shows static mode. You can also
use DHCP or PPPoE mode. The SSL VPN connection is established over the WAN interface. Ensure
that SSL VPN feature visibility is enabled before starting the configuration.
This is a sample configuration of remote users accessing the corporate network through an SSL
VPN by tunnel mode using FortiClient with AV host check.
Sample topology
Sample configuration
WAN interface is the interface connected to ISP. This example shows static mode. You can also
use DHCP or PPPoE mode. The SSL VPN connection is established over the WAN interface.
This is a sample configuration of remote users accessing the corporate network through an SSL
VPN by web mode using a web browser.
Sample topology
Sample configuration
WAN interface is the interface connected to ISP. This example shows static mode. You can also
use DHCP or PPPoE mode. The SSL VPN connection is established over the WAN interface. Ensure
that SSL VPN web mode and SSL VPN feature visibility are enabled before starting the
configuration.
To enable SSL VPN web mode and SSL VPN feature visibility in FortiOS:
1. Enable SSL VPN web mode:
config system global
set sslvpn-web-mode enable
end
Do not set the virtual IP addresses as the destination address in a firewall policy when using SSL VPN
web mode, as it will result in no destination address being accessible. Please note that
the FortiOS SSL VPN web mode does not support mapping the virtual IP to the actual one.
The Bookmarks widget displays bookmarks configured by administrators and users. Administrator
bookmarks cannot be edited, and they are configured in FortiOS. Users can add, edit, and delete
their own bookmarks within the web portal.
The FortiGate forwards client requests to servers on the internet or internal network. To use the
web portal applications, add the URL, IP address, or name of the server application to
the Bookmarks list. Once a bookmark is created, click the bookmark icon to initiate a session.
To access a destination without adding a bookmark to the Your Bookmarks list, use the
Quick Connection tool.
88 | P a g e
Configuring bookmarks
The following table summarizes which options can be configured based on the bookmark type in
the SSL VPN web portal:
URL
Folder
Host
Domain
Port
Description
Password
SSO Credentials
SSL-VPN Login
Form Key
Form Value
Alternative
Username
Password
Username
Password
Screen Width*
Screen Height*
89 | P a g e
Keyboard Layout
Security
Preconnection ID
Preconnection Blob
The Quick Connection tool allows a user to connect to a resource when it is not a predefined
bookmark. The tool allows the user to specify the type of server and the URL or IP address of the
host.
To connect to a resource:
1. Select the connection type.
2. Enter the required information, such as the IP address or URL of the host.
3. Click Configure & launch.
This is a sample configuration of SSL VPN for LDAP users. In this example, the LDAP server is a
Windows 2012 AD server. A user ldu1 is configured on Windows 2012 AD server.
You must have generated and exported a CA certificate from the AD server and then have
imported it as an external CA certificate into the FortiGate.
Sample topology
Sample configuration
WAN interface is the interface connected to ISP. This example shows static mode. You can also
use DHCP or PPPoE mode. The SSL VPN connection is established over the WAN interface.
F. Create new Authentication/Portal Mapping for group ldaps-group mapping portal full-
access.
2. Configure internal interface and protected subnet, then connect the port1
interface to the internal network:
config system interface
edit "port1"
set vdom "root"
set ip 192.168.1.99 255.255.255.0
next
end
config firewall address
edit "192.168.1.0"
set subnet 192.168.1.0 255.255.255.0
next
end
94 | P a g e
8. Configure one SSL VPN firewall policy to allow remote user to access the
internal network:
config firewall policy
edit 1
set name "sslvpn web mode access"
set srcintf "ssl.root"
set dstintf "port1"
set srcaddr "all"
set dstaddr "192.168.1.0"
set groups -
set action accept
set schedule "always"
96 | P a g e
You can monitor which SSL VPN users are connected on the SSL VPN widget. This shows the
names of all SSL VPN users who are currently connected to FortiGate, their IP addresses (both
inside the tunnel and outside), and connection times. When a user connects using tunnel model,
the Active Connections column shows the IP address assigned by FortiGate to the fortissl virtual
adapter on the computer. Otherwise, the user is connected only to the web portal page.
100 | P a g e
You can also review SSL VPN logs. On Log & Report > System Events:
Select the VPN Events widget to show new connection requests, and if the SSL VPN tunnel
is established or closed.
Select the User Events widget to see the authentication action related to SSL VPN users.
101 | P a g e
When an SSL VPN is disconnected, either by the user or through the SSL VPN idle setting, all
associated sessions in the FortiGate session table are deleted. This prevents the reuse of
authenticated SSL VPN sessions (not yet expired) after the initial user terminates the tunnel.
The SSL VPN user idle setting is not associated with the firewall authentication timeout setting.
It is a separate idle option specifically for SSL VPN users. A remote user is considered idle when
FortiGate does not see any packets or activity from the user within the configured timeout
period.
102 | P a g e
When connected to SSL VPN over high latency connections, FortiGate can time out the client
before the client can finish the negotiation process, such as DNS lookup and time to enter a
token. Two new CLI commands under config vpn ssl settingshave been added to
address this.
The first command allows you to set up the login timeout, replacing the previous hard
timeout value.
The second command allows you to set up the maximum DTLS hello timeout for SSL VPN
connections.
Also, timers can help you to mitigate vulnerabilities such as Slowloris and R-U-Dead-Yet, that
allow remote attackers to cause a denial of service through partial HTTP requests.
103 | P a g e
In the typical enterprise network, there can be multiple WAN links. In the FortiGate, by default,
any session with source NAT disabled goes through the route lookup when routing table changes.
The sessions are marked dirty after changes to routing table and reevaluated. Because of these
route changes in multi-WAN setup, there is possibility that request comes from one interface and
response goes out through other causing disconnections.
The set preserve-session-routecommand keeps the session on same interface even if
session is eligible for routing changes. By default, route preservation is disabled on the interface.
The example on this slide shows port1is reserved for SSL VPN connections and port2is used
for other services. Even if port2becomes primary connection because of route changes,
FortiGate will keep the existing SSL VPN sessions on port1interface.
Let's break down the explanation of the routing behavior in FortiGate in simpler
terms:
104 | P a g e
The Scenario
In a typical enterprise network, you might have multiple WAN links (Internet connections) for
redundancy or load balancing. For example:
How it works: When you enable this setting, FortiGate "locks" the session to the original
interface it started on.
105 | P a g e
o For example, if an SSL VPN session was initiated through WAN1 (port1), it will
continue to use WAN1 (port1) even if WAN2 (port2) becomes the preferred route
due to a routing change.
o This prevents issues where requests and responses go through different interfaces,
thus avoiding disconnections.
Example Explained
1. Scenario:
o Port1 is reserved for SSL VPN connections.
o Port2 is used for other services.
2. Routing Change:
o If port2 becomes the primary connection (perhaps because port1 fails or load
balancing changes the preference), FortiGate would, by default, try to route new
sessions through port2.
3. With set preserve-session-route Enabled:
o The existing SSL VPN sessions that started on port1 will continue to stay on port1,
even if port2 becomes the primary connection.
o This ensures that users with ongoing SSL VPN connections don't get disconnected
due to the routing change.
Summary
The set preserve-session-route command ensures that once a session starts on a specific
interface, it stays on that interface even if the routing table changes. This is especially important
in multi-WAN setups to avoid connection issues when routing changes occur.
106 | P a g e
The following are some best practices to keep in mind when using SSL VPNs. These best practices
can also be helpful in many SSL VPN troubleshooting situations:
Use a FortiClient version that is compatible with your FortiOS firmware
Enable split tunneling or create an egress firewall policy for SSL VPN connections in order to
allow access for external resources
Connect to the correct port number
Add SSL VPN groups, SSL VPN users, and destination addresses to the firewall policies
Set DTLS timeout for high latency network connections
Flush inactive sessions by timeout
Select the appropriate SSL VPN mode: It may be possible that your users need only one of
the SSL VPN modes. Use SSL VPN portals with the unused SSL mode disabled.
Reduce administrative effort by using remote authentication servers: Avoid using local
users if possible. Having a centralized authentication solution saves time and prevents
human errors. This is especially true in bigger environments.
Use a valid SSL certificate: Replace the default self-signed certificate with another one that
is trusted by your devices. You can purchase a certificate from a trusted vendor, or
you can implement your own PKI infrastructure to achieve this.
107 | P a g e
Use the principle of least privilege when configuring firewall policies for VPN traffic: This is
true for any firewall policy, but it is especially important when you are allowing remote
devices to connect to your network.
Use the client integrity check: For Windows clients, always verify that they have antivirus
software, firewall software, or both, installed.
If possible, do not allow connections from all locations: This is not always feasible, but it is
ideal to restrict access to connection requests from specific public IP addresses trusted by
your organization.
108 | P a g e
There are several useful troubleshooting commands available under diagnose vpn ssl.
They include:
list: Lists logged-on users
info: Shows general SSL VPN information
statistics: Shows statistics about memory usage on FortiGate
tunnel-test: Enables or disables SSL VPN old tunnel mode IP allocation method
web-mode-test: Enables or disables random session ID in proxy URL for testing
The command diagnose debug application sslvpnshows the entire list of debug
messages for SSL VPN connections.
Remember, to use the commands listed above, you must first run the diagnose debug
enablecommand. Also, check SSL VPN debug logs on FortiClient.
109 | P a g e
Lab
Configuring SSL VPN Tunnel Mode
In this lab, you will examine how to configure an SSL VPN connection in tunnel mode. You will
also manage user groups and portals for an SSL VPN.
Objectives
Configure and connect to an SSL VPN
Enable authentication security
Configure a firewall policy for SSL VPN users to access private network resources
Configure FortiClient for the SSL VPN connection in tunnel mode
110 | P a g e
You will use the remote access module of FortiClient, which supports the Fortinet SSL VPN client.
By default, SSL VPN tunnel mode settings and the VPN > SSL-VPN menus are hidden on the GUI in
FortiOS version 7.4. To enable the GUI menu, enter the following CLI commands:
end
The configuration file is preconfigured for you to show the SSL VPN menus.
5. Type the following credentials for the remote user, and then click Next:
Username student
Password fortinet
6. Leave the contact information field empty, and then click Next.
8. Enable User Group, click +, and then in the section on the right, select SSL_VPN_USERS.
9. Click Submit.
To review the settings of this group, click User & Authentication > User Groups.
112 | P a g e
Field Value
Listen on Interface(s) port1
Listen on Port 10443
Server Certificate Fortinet_Factory
Restrict Access Allow access from any host
Inactive For 3000 seconds
3. In the Tunnel Mode Client Settings section, verify the following setting:
Field Value
Address Range Automatically assign addresses
113 | P a g e
4. In the Authentication/Portal Mapping section, select All Other Users/Groups, and then
click Edit.
In tunnel mode, FortiClient establishes one or more routes in the SSL VPN user's host after the tunnel
is connected. Traffic destined to the internal subnets is correctly routed through the tunnel.
3. In the Tunnel Mode section, in the Routing Address Override field, select LOCAL_SUBNET.
4. Click OK.
115 | P a g e
1. Continuing on the Local-FortiGate GUI, click Policy & Objects > Firewall Policy.
2. Click Create New, and then configure the following firewall policy settings:
Field Value
Name SSL-VPN-Access
Incoming Interface SSL-VPN tunnel interface (ssl.root)
Outgoing Interface port3
Source Address > SSLVPN_TUNNEL_ADDR1
2. Click Desktop > forticlientsslvpn > 64bit, and then double-click forticlientsslvpn to configure
SSL VPN client settings.
3. Configure the following settings for the FortiClient SSL VPN application:
Field Value
Server 10.200.1.1
Customize port 10443
4. Continuing on the FortiClient SSL VPN application, in the User field, type student, and then in
the Password field, type fortinet.
5. Click Connect.
1. Continuing on the Remote-Client VM, open Firefox, and then access the following URL:
http://10.0.1.10
You are connected to the web server URL as if you were based in the local subnet
(10.0.1.0/24).
2. Click Dashboard > Network, and then view the SSL-VPN widget.
You can see that the student user is connecting from the remote host 10.200.3.1.
4. Click OK.
118 | P a g e
2. Click Log & Report > System Events, and then expand the VPN Events widget to view the logs.
119 | P a g e
The tunnel-up log in the VPN event list shows the SSL VPN connection in tunnel mode through FortiClient.
Notice this log displays two IP addresses: