Fortigate SSLVPN 40 mr3
Fortigate SSLVPN 40 mr3
Fortigate SSLVPN 40 mr3
FortiOS Handbook: SSL VPN v3 24 June 2011 01-431-112804-20110624 for FortiOS 4.0 MR3 Copyright 2011 Fortinet, Inc. All rights reserved. No part of this publication including text, examples, diagrams or illustrations may be reproduced, transmitted, or translated in any form or by any means, electronic, mechanical, manual, optical or otherwise, for any purpose, without prior written permission of Fortinet, Inc. Trademarks The symbols and denote respectively federally registered trademarks and unregistered trademarks of Fortinet, Inc., its subsidiaries and affiliates including, but not limited to, the following names: Fortinet, FortiGate, FortiOS, FortiASIC, FortiAnalyser, FortiSwitch, FortiBIOS, FortiLog, FortiVoIP, FortiResponse, FortiManager, FortiWiFi, FortiGuard, FortiReporter, FortiClient, FortiLog, APSecure, ABACAS. Other trademarks belong to their respective owners.
Contents
Introduction 7
Audience . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
9
10 10 11 12 12 12 12 12 13 13 13 13 13 14 15 15 16 17 17
What is a VPN?. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
General topology . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
19
20 20
Contents
Configuring SSL VPN settings . . . . . . . . . . . . . . . . . . . . . . . . Enabling SSL VPN operation. . . . . . . . . . . . . . . . . . . . . . . Specifying an IP address range for tunnel-mode clients . . . . . . . . Adding WINS and DNS services for clients . . . . . . . . . . . . . . . Setting the idle timeout setting . . . . . . . . . . . . . . . . . . . . . . Setting the client authentication timeout . . . . . . . . . . . . . . . . . Specifying the cipher suite for SSL negotiations . . . . . . . . . . . . Enabling strong authentication through X.509 security certificates . . . Configuring the FortiGate unit to require strong client authentication Configuring the FortiGate unit to provide strong authentication . . . Changing the port number for web portal connections . . . . . . . . . Customizing the web portal login page . . . . . . . . . . . . . . . . . Configuring SSL VPN web portals . . . . . . . Before you begin . . . . . . . . . . . . . . Default web portal configurations . . . Configuring tunnel mode settings . . . . . Configure a port forward tunnel . . . . The Session Information widget . . . . . . The Bookmarks widget . . . . . . . . . . . The Connection Tool widget . . . . . . . . Host checking . . . . . . . . . . . . . . . Configuring the custom host check list. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . .
20 21 21 22 23 23 23 24 24 24 25 25 27 27 27 30 32 33 33 35 36 37 38 38 39 40 40 41 41 42 42 43 44 46 47 47 48 49 51 52
Windows OS check . . . . . . . . . . . . . . . . . . . Configuring cache cleaning . . . . . . . . . . . . Configuring virtual desktop . . . . . . . . . . . . . Configuring virtual desktop application control. Configuring client OS Check . . . . . . . . . . . .
Configuring user accounts and user groups for SSL VPN . . . . . . . . . . . . . . . Creating user accounts. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Creating a user group for SSL VPN users . . . . . . . . . . . . . . . . . . . . . Configuring security policies . . . . . . . . . . Configuring firewall addresses . . . . . . . Configuring the SSL VPN security policy. . Configuring the tunnel mode security policy Configuring routing for tunnel mode . . Adding an Internet browsing policy. . . . . Enabling connection to an IPsec VPN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
53
53
Contents
Web portal overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Applications available in the web portal . . . . . . . . . . . . . . . . . . . . . . Using the Bookmarks widget . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Adding bookmarks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Using the Connection Tool . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . RDP options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Tunnel-mode features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Using the SSL VPN Virtual Desktop . . . . . . . . . . . . . . . . . . . . . . . . . . Using FortiClient . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . FortiClient for Windows configuration . . . . . . . . . . . . . . . . . . . . . . .
54 55 55 56 57 61 63 63 64 64
65
65 65 65 66 66 67 67 67 67 67 67 68 69 70
Downloading the SSL VPN tunnel mode client . . . . . . . . . . . . . . . . . . . . . Installing the tunnel mode client Windows . . . . . . . . . . Linux . . . . . . . . . . . . MAC OS client . . . . . . . Using the tunnel mode client Windows client . . . . . Linux client . . . . . . . MAC OS X client . . . . . . . . . . . .
Examples
Basic SSL VPN example . . . . . . . . . . . . . . . . . . . . . . . Infrastructure requirements . . . . . . . . . . . . . . . . . General configuration steps . . . . . . . . . . . . . . . . . . . Creating the firewall addresses . . . . . . . . . . . . . . . . . Creating the destination address . . . . . . . . . . . . . . Creating the tunnel client range address . . . . . . . . . . Enabling SSL VPN and setting the tunnel user IP address range Creating the web portal. . . . . . . . . . . . . . . . . . . . . . Creating the user account and user group . . . . . . . . . . . . Creating the security policies. . . . . . . . . . . . . . . . . . . Add routing to tunnel mode clients . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
71
71 72 72 72 72 73 73 73 74 75 76
Contents
Multiple user groups with different access permissions example General configuration steps . . . . . . . . . . . . . . . . . Creating the firewall addresses . . . . . . . . . . . . . . . Creating the destination addresses . . . . . . . . . . . Creating the tunnel client range addresses . . . . . . . Creating the web portals . . . . . . . . . . . . . . . . . . . Creating the user accounts and user groups. . . . . . . . . Creating the security policies. . . . . . . . . . . . . . . . . Create the static route to tunnel mode clients . . . . . . . . Enabling SSL VPN operation. . . . . . . . . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
77 77 78 78 78 79 80 81 83 84
Index
85
Introduction
This document provides a general introduction to SSL VPN technology, explains the features available with SSL VPN and gives guidelines to decide what features you need to use, and how the FortiGate unit is configured to implement the features. The following chapters are included in this document: Introduction to SSL VPN provides useful general information about VPN and SSL, how the FortiGate unit implements them, and gives guidance on how to choose between SSL and IPsec. Setting up the FortiGate unit explains how to configure the FortiGate unit and the web portal. Along with these configuration details, this chapter also explains how to grant unique access permissions, configure the SSL virtual interface (ssl.root), and describes the SSL VPN OS Patch Check feature that allows a client with a specific OS patch to access SSL VPN services. Using the web portal explains how to use a web portal and its widgets. Access to different network resource types, such as SMB, FTP, RDP is covered. Using the SSL VPN tunnel client explains how to install and use the tunnel mode clients for Windows, Linux, and Mac OS X. Examples explores several configuration scenarios with step-by-step instructions. While the information provided is enough to set up the described SSL VPN configurations, these scenarios are not the only possible SSL VPN setups.
Audience
This document is specifically addressed to system administrators responsible for configuring SSL VPN services for their business/enterprise. In addition, users who have full administrative rights over their computers and must connect to a local internal network may use this guide as a source of general SSL VPN information and also about the configuration of SSL clients. This document is not intended for users who do not have administrative rights over their computers and therefore cannot connect to an internal network.
Audience
Introduction
What is a VPN?
Virtual Private Network (VPN) technology allows clients to connect to remote networks in a secure way. A VPN is a secure logical network created from physically separate networks. VPNs use encryption and other security methods to ensure that only authorized users can access the network. VPNs also ensure that the data transmitted between computers cannot be intercepted by unauthorized users. When data is encoded and transmitted over the Internet, the data is said to be sent through a VPN tunnel. A VPN tunnel is a non-application oriented tunnel that allows the users and networks to exchange a wide range of traffic regardless of application or protocol.
What is SSL?
The advantages of a VPN over an actual physical private network are two-fold. Rather than utilizing expensive leased lines or other infrastructure, you use the relatively inexpensive, high-bandwidth Internet. Perhaps more important though is the universal availability of the Internet - in most areas, access to the Internet is readily obtainable without any special arrangements or long wait times.
What is SSL?
SSL (Secure Sockets Layer) as HTTPS is supported by most web browsers for exchanging sensitive information securely between a web server and a client. SSL establishes an encrypted link, ensuring that all data passed between the web server and the browser remains private and secure. SSL protection is initiated automatically when a user (client) connects to a web server that is SSL-enabled. Once the successful connection is established, the browser encrypts all the information before it leaves the computer. When the information reaches its destination, it is decrypted using a secret (private) key. Any data sent back is first encrypted, and is decrypted when it reaches the client.
Goals of SSL
SSL has four main goals: 1 Confidentiality of communications 2 Integrity of data 3 Authentication of server 4 Authentication of client (non-repudiation) Good security for a VPN requires confirming the identity of all communicating parties. You can ensure identity using password authentication (shared secrets) or digital certificates. A shared secret is a passphrase or password that is the same on both ends of a tunnel. The data is encrypted using a session key, which is derived from the shared secret. The gateways can encrypt and decrypt the data correctly only if they share the same secret. Digital certificates use public key-based cryptography to provide identification and authentication of end gateways. Cryptography, the art of protecting information by transforming it into an unreadable format, is an integral part of VPN technology. The basic building blocks of cryptographic configurations are cryptographic primitives. Cryptographic primitives are low-level cryptographic algorithms or routines that are used to configure computer security systems, such as SSL, SSH, and TLS. Each primitive is designed to do one very specific task, such as encryption of data or a digital signature on a set of data. There are four cryptographic primitives that are specific to VPNs: 1 Symmetric ciphers (confidentiality) Symmetric encryption uses a very fast block-level algorithm to encrypt and decrypt data, and is the primary primitive used to
SSL VPN for FortiOS 4.0 MR3 01-431-112804-20110624 http://docs.fortinet.com/ Feedback
10
What is SSL?
protect data confidentiality. Both sides of the tunnel will use the same encrypt/decrypt key, which is the primary weakness of symmetric ciphers. A key is usually a large number that is fed to a cryptographic algorithm to encrypt plaintext data into ciphertext or to decrypt ciphertext data into plaintext. 2 Asymmetric ciphers (authenticity and non-repudiation) To guarantee the identities of both parties in a transaction, SSL VPN uses asymmetric encryption. This involves the creation of a key pair for each party. The keys are related mathematically - data encrypted with one key can be decrypted only with the other key in the pair, and vice versa. One key is labeled the public key and can be freely distributed. The other key is the private key and it must be kept secret. The SSL VPN authenticates each party by checking that it has something that no other party should have - its private key. If the SSL VPN can decrypt a message from a party using that partys public key, the message must have been encrypted with that partys private key. As the private key is known only to the sending party, the senders identity is proven. This proof of identity also makes it impossible for the sending party to later repudiate (deny sending) the message. 3 Message digests (integrity) VPNs send sensitive data over the public Internet. To make sure that what is sent is the same as what is received, and vice versa, SSL VPN uses message digests. A message digest is an irreversible mathematical function that takes a message of any size and encodes it as a fixed length block of cipher text. The fixed length cipher is called the digest. It is essentially a cryptographic summary of the message. Every message has only one digest and no two messages should ever create the same digest if only a single letter of our message is changed, the entire message digest will be different. 4 Digital signatures (authenticity and non-repudiation) A digital signature or digital signature scheme is a type of asymmetric cryptography. For messages sent through an insecure channel, a correctly implemented digital signature gives the receiver reason to believe the message was sent by the claimed sender. The signer cannot claim they did not sign a message, while also claiming their private key remains secret. In some cases, a non-repudiation scheme offers a time stamp for the digital signature, so that even if the private key is exposed, the signature is still valid. In addition to identifying the user, authentication also defines the resources a user can access. A user must present specified credentials before being allowed access to certain locations on the network. Authentication can either take place through a firewall or through an external authentication server such as Remote Authentication Dial-In User Service (RADIUS). An authentication server is a trusted third party that provides authentication services to other systems on a network.
SSL certificates
SSL certificates are a mechanism by which a web server can prove to users that the public key that it offers them for use with the SSL is in fact the public key of the organization with which the user intends to communicate. A trusted third-party signs the certificate thereby assuring users that the public key contained within the certificate belongs to the organization whose name appears in the certificate. Upon receiving a certificate from Your Company, a user can know for sure that the key within the certificate is Your Companys key and it is safe to use to encrypt any communications related to establishment of a session key. The web server transmits their public key to users at the beginning of an SSL session using an SSL certificate.
11
Encryption level is determined by the length of the encryption key. The longer the key, the stronger the encryption level, and the greater the security provided. Within a VPN, after the end points on a tunnel agree upon an encryption scheme, the tunnel initiator encrypts the packet and encapsulates it in an IP packet. The tunnel terminator recovers the packet, removes the IP information, and then decrypts the packet.
Authentication differences
IPsec is a well-established technology with robust features that support many legacy products such as smart cards and biometrics. SSL supports a web single sign-on to a web portal front-end, from which a number of different enterprise applications may be accessed. The Fortinet implementation enables you to assign a specific port for the web portal and to customize the login page if desired.
Connectivity considerations
IPsec supports multiple connections to the same VPN tunnela number of remote VPN devices effectively become part of the same network.
12
General topology
SSL forms a connection between two end points such as a remote client and an enterprise network. Transactions involving three (or more) parties are not supported because traffic passes between client and server applications only.
Access control
IPsec VPNs provide secure network access only. Access to the network resources on a corporate IPsec VPN can be enabled for specific IPsec peers and/or clients. The amount of security that can be applied to users is limited. SSL VPNs provide secure access to certain applications. Web-only mode provides remote users with access to server applications from any thin client computer equipped with a web browser. Tunnel-mode provides remote users with the ability to connect to the internal network from laptop computers as well as airport kiosks, Internet cafes, and hotels. Access to SSL VPN applications is controlled through user groups.
General topology
In the most common SSL VPN Internet scenario, the remote client connects to the Internet through an ISP that offers connections with dynamically assigned IP addresses. The clients packets are routed to the public interface of the FortiGate unit. For example, Figure 2 shows a FortiGate gateway that can be reached by a mobile user.
13
Re
C ote
lien
Fo 41
rtiG
ate
_1
10 rt 3 1. Po 1.20 .1 10
Se
2 4 t_ /2 ne 1.0 ub 0 S 1 .2 .1 10
rve
rs
At the FortiGate unit, you configure a user group for SSL VPN authentication and define security policies for each network resource that users are permitted to access. You can easily expand the resources available to your users by adding or changing security policies. If you want to provide different resource access to different users, you can create multiple user groups. The general infrastructure requirements are quite simple: The FortiGate unit must be operating in NAT/Route mode and have a static public IP address. The ISP assigns IP addresses to remote clients before they connect to the FortiGate unit.
S P T 0 T 12 /H 1. P 0 T 1 r T 1. H .1 ve 0 er 6 10 S 1 1. S 0 N .1 r D 11 . ve 70 10 er 1 S 1. P 0 r T .1 F 1 ve .1 er 80 S .1 10 1 ba 10 . am 1 S .1 10
14
You can enable a cache cleaner to remove any sensitive data that would otherwise remain on the remote computer after the session ends. For example, all cache entries, browser history, cookies, encrypted information related to user authentication, and any temporary data generated during the session are removed from the remote computer. If the clients browser cannot install and run the cache cleaner, the user is not allowed to access the SSL-VPN portal.
Web-only mode
Web-only mode provides remote users with a fast and efficient way to access server applications from any thin client computer equipped with a web browser. Web-only mode offers true clientless network access using any web browser that has built-in SSL encryption and the Sun Java runtime environment. Support for SSL VPN web-only mode is built into the FortiOS operating system. The feature comprises of an SSL daemon running on the FortiGate unit, and a web portal, which provides users with access to network services and resources including HTTP/HTTPS, telnet, FTP, SMB/CIFS, VNC, RDP and SSH. In web-only mode, the FortiGate unit acts as a secure HTTP/HTTPS gateway and authenticates remote users as members of a user group. After successful authentication, the FortiGate unit redirects the web browser to the web portal home page and the user can access the server applications behind the FortiGate unit. When the FortiGate unit provides services in web-only mode, a secure connection between the remote client and the FortiGate unit is established through the SSL VPN security in the FortiGate unit and the SSL security in the web browser. After the connection has been established, the FortiGate unit provides access to selected services and network resources through a web portal. FortiGate SSL VPN web portals have a 1- or 2-column page layout with selectable color schemes. Portal functionality is provided through small applets called widgets. Widget windows can be moved or minimized. The controls within each widget depend on its function. There are predefined web portals and the administrator can create additional portals. Configuring the FortiGate unit involves enabling the SSL VPN feature and selecting the appropriate web portal configuration in the user group settings. These configuration settings determine which server applications can be accessed. SSL encryption is used to ensure traffic confidentiality. For information about client operating system and browser requirements, see the Release Notes for your FortiGate firmware. For information on configuring a web portal see Customizing the web portal login page on page 25.
Tunnel mode
Tunnel mode offers remote users the freedom to connect to the internal network using the traditional means of web-based access from laptop computers, as well as from airport kiosks, hotel business centers, and Internet cafs. If the applications on the client computers used by your user community vary greatly, you can deploy a dedicated SSL VPN client to any remote client through its web browser. The SSL VPN client encrypts all traffic from the remote client computer and sends it to the FortiGate unit through an SSL VPN tunnel over the HTTPS link between the web browser and the FortiGate unit. Also available is split tunneling, which ensures that only the traffic for the private network is sent to the SSL VPN gateway. Internet traffic is sent through the usual unencrypted route. This conserves bandwidth and alleviates bottlenecks.
15
In tunnel mode, remote clients connect to the FortiGate unit and the web portal login page using Microsoft Internet Explorer, Mozilla Foundation/Firefox, Mac OS, or Linux. The FortiGate unit acts as a secure HTTP/HTTPS gateway and authenticates remote users as members of a user group. After successful authentication, the FortiGate unit redirects the web browser to the web portal home page dictated by the user group settings. If the user does not have the SSL VPN client installed, they will be prompted to download the SSL VPN client (an ActiveX or Java plugin) and install it using controls provided through the web portal. SSL VPN tunnel mode can also be initiated from a standalone application on Windows, Mac OS, and Linux. When the user initiates a VPN connection with the FortiGate unit through the SSL VPN client, the FortiGate unit establishes a tunnel with the client and assigns the client a virtual IP address from a range of reserved addresses. The client uses the assigned IP address as its source address for the duration of the connection. After the tunnel has been established, the user can access the network behind the FortiGate unit.
Note: If the tunnel mode and session information widgets are the only widgets configured, the user will automatically be logged into the SSL-VPN tunnel.
Configuring the FortiGate unit to establish a tunnel with remote clients involves enabling the feature through SSL VPN configuration settings and selecting the appropriate web portal configuration for tunnel-mode access in the user group settings. The security policy and protection profiles on the FortiGate unit ensure that inbound traffic is screened and processed securely.
Note: The user account used to install the SSL VPN client on the remote computer must have administrator privileges.
Note: If you are using Windows Vista, you must disable UAC (User Account Control) before installing the SSL VPN tunnel client. This UAC setting must be disabled before the SSL VPN tunnel client is installed. IE7 in Windows Vista runs in Protected Mode by default. To install SSL VPN client ActiveX, you need to launch IE7 by using 'Run as administrator' (right-click the IE7 icon and select 'Run as administrator').
For information about client operating system requirements, see the Release Notes for your FortiGate firmware. For information on configuring tunnel mode, see Configuring tunnel mode settings on page 30.
16
On the user end, the user logs into the FortiGate SSL VPN portal, and selects a port forward bookmark configured for a specific application. The bookmark defines the server address and port as well as which port to listen to on the users computer.
Note: The user must configure the application on the PC to point to the local proxy instead of the application server. For information on this configuration change, see the application documentation. This mode only supports client/server applications that are using a static TCP port. It will not support client/server applications using dynamic ports or traffic over UDP.
For information on configuring a port forward tunnel, see Configure a port forward tunnel on page 32.
Application support
With Citrix application servers, the server downloads an ICA configuration file to the users PC. The client application uses this information to connect to the Citrix server. The FortiGate unit will read this file and append a SOCKS entry to set the SOCKS proxy to localhost. The Citrix client will then be able to connect to the SSL VPN port forward module to provide the connection. When configuring the port forwarding module, an selection is available for Citrix servers. For Windows Remote Desktop Connections, when selecting the RDP option, the tunnel will launch the RDP client and connect to the local loopback address after the port forward module has been initiated.
17
18
For information on changing the password, configuring the interfaces of the FortiGate unit, and assigning basic operating parameters, including a default gateway, the System Administration Guide. See also to the chapter, Examples on page 71, for example SSL VPN configurations. This section describes how to configure the FortiGate unit as an SSL VPN server. The following topics are included in this section: General configuration steps Configuring SSL VPN settings Configuring SSL VPN web portals Configuring user accounts and user groups for SSL VPN Configuring security policies SSL VPN logs Monitoring active SSL VPN sessions Troubleshooting
19
20
As part of the SSL VPN configuration, you can also make the modifications described in the following sections: Adding WINS and DNS services for clients on page 22. Setting the idle timeout setting on page 23. Setting the client authentication timeout on page 23. Specifying the cipher suite for SSL negotiations on page 23. The cipher suite determines the level of data security, but it must be compatible with the capabilities of the clients browsers. Enabling strong authentication through X.509 security certificates on page 24. Changing the port number for web portal connections on page 25. By default, SSL VPN connections use port 10443. Customizing the web portal login page on page 25.
Most of these settings are on the VPN > SSL > Config page in the web-based manager and config vpn ssl settings in the CLI. You can configure multiple settings at the same time.
To set tunnel-mode client IP address range - web-based manager 1 Go to Firewall Objects > Address > Address and select Create New. 2 Enter an Address Name, for example, SSL_VPN_tunnel_range.
21
3 In the Subnet/IP Range field, enter the starting and ending IP addresses that you want to assign to SSL VPN clients, for example 10.254.254.[80-100]. 4 In Interface, select Any. 5 Select OK. 6 Go to VPN > SSL > Config. 7 In IP Pools, select Edit.
Note: When you select Edit, a popup window will open. If your browser blocks popup windows, you will have to unblock it to continue with the following steps.
8 In the Available list, select the address you created for the SSL VPN tunnel range and then select the down arrow button to move it to the Selected list. Select OK. 9 Select Apply. To set tunnel-mode client IP address range - CLI If your SSL VPN tunnel range is for example 10.254.254.80 - 10.254.254.100, you could enter config firewall address edit SSL_tunnel_users set type iprange set end-ip 10.254.254.100 set start-ip 10.254.254.80 end end config vpn ssl settings set tunnel-ip-pools SSL_tunnel_users end
22
set dns-server2 <address_ipv4> set wins-server1 <address_ipv4> set wins-server2 <address_ipv4> end
For example, to change the authentication timeout to 18 000 seconds, enter the following commands: config vpn ssl settings set auth-timeout 18000 end
23
If the web browser on the remote client is capable of matching a high level of SSL encryption. This option enables cipher suites that use more than 128 bits to encrypt data. Low - RC4(64 bits), DES and higher If you are not sure which level of SSL encryption the remote client web browser supports. The web browser must at least support a 64-bit cipher length. 3 Select Apply. To set the encryption algorithm - CLI config vpn ssl settings set algorithm {default | high | low} end
24
2 From the Server Certificate list, select the certificate that the FortiGate unit uses to identify itself to SSL VPN clients. 3 Select Apply. To enable FortiGate unit authentication by certificate - CLI For example, to use the example_cert certificate config vpn ssl settings set servercert example_cert end
To change the SSL VPN port - web-based manager 1 If Current VDOM appears at the bottom left of the screen, select Global from the list of VDOMs. 2 Go to VPN > SSL > Config. 3 Type an unused port number in SSLVPN Login Port, and select Apply.
Note: Do not select port number 443 for user access to the web portal login page. Port number 443 is reserved to support administrative connections to the FortiGate unit through the web-based manager.
To change the SSL VPN port - CLI This is a global setting. For example, to set the SSL VPN port to 10443, enter: config global config system global set sslvpn-sport 10443 end
25
2 Go to System > Config > Replacement Messages. 3 Expand the SSL VPN row and select the Edit icon for the SSL VPN login message.
Caution: Before you begin, copy the default web portal login page text to a separate text file for safe-keeping. Afterward, if needed you can restore the text to the original version.
4 Edit the HTML text, subject to the following restrictions: The login page must be an HTML page containing a form with ACTION="%%SSL_ACT%%" and METHOD="%%SSL_METHOD%%" The form must contain the %%SSL_LOGIN%% tag to provide the login form. The form must contain the %%SSL_HIDDEN%% tag. 5 Select OK. To configure the SSL VPN login page - CLI Do one of the following: If VDOMs are enabled and you want to modify the global login page, enter: config global config system replacemsg sslvpn sslvpn-login If you want to modify the login page for a VDOM, enter: config vdom edit <vdom_name> config system replacemsg-group edit default config sslvpn edit sslvpn-login
To change the login page content, enter the modified page content as a string. In this example, the page title is changed to Secure Portal login and headings are added above the login dialog which say example.com Secure Portal: set buffer "<html><head><title>Secure Portal login</title> <meta http-equiv="Pragma" content="no-cache"><meta httpequiv="cache-control" content="no-cache"> <meta httpequiv="cache-control" content="must-revalidate"><link href="/sslvpn/css/login.css" rel="stylesheet" type="text/css"><script type="text/javascript">if (top && top.location != window.location) top.location = top.location;if (window.opener && window.opener.top) { window.opener.top.location = window.opener.top.location; self.close(); }</script></head><body class="main"> <center><table width="100%" height="100%" align="center" class="container" valign="middle" cellpadding="0" cellspacing="0"><tr valign=top><td align=center> <h1>example.com</h1><h3>Secure Portal</h3></td></tr><tr valign=top><td><form action="%%SSL_ACT%%" method="%%SSL_METHOD%%" name="f"><table class="list" cellpadding=10 cellspacing=0 align=center width=400 height=180>%%SSL_LOGIN%%</table>%%SSL_HIDDEN%%</td></tr></ table></form></center></body><script>document.forms[0].use rname.focus();</script></html>" end
26
Your console application determines how the text wraps. It is easier to edit the code in a separate text editor and then paste the finished code into the set buffer command. Be sure to enclose the entire string in quotation (") marks.
You can modify a default portal or a portal that you have already defined. Select the Edit icon next to the web portal in the Portal list. The SSL VPN web portal you select will open. To configure basic web portal settings - web-based manager 1 Go to VPN > SSL > Portal and select Edit. 2 Select Settings. 3 Enter the following information:
27
Enter a name to identify this web portal. Select the applications that users can access through this web portal. Enter the text that will appear at the top of the web portal window to a maximum of 31 characters. Select the color scheme for this web portal. Select either the single-column or two-column layout. The web portal can display a second HTML page in a popup window when the web portal home page is displayed. Enter the URL.
4 Optionally, you can select the Virtual Desktop tab to configure the Virtual Desktop feature. See Configuring virtual desktop on page 39. Or, you can leave this configuration for later. 5 Optionally, you can select the Security Control tab to configure cache cleaning and client check. Or, you can leave this configuration for later. For information on these features, see Configuring cache cleaning on page 38 and Host checking on page 36. 6 Select OK then Apply. To configure basic web portal settings - CLI To use the orange theme with a two-column layout and allow users all types of access with the full-access portal, you could enter: config vpn ssl web portal edit full-access set allow-access ftp ping rdp smb ssh telnet vnc web set heading "Welcome to the example.com web portal" set theme orange set page-layout double-column end In the config vpn ssl web portal command, you can also configure client check, client OS check, cache cleaning, and virtual desktop. Or, you can leave this configuration for later. These features are described later in this chapter.
28
Edit Remove
To configure the web portal page - web-based manager On the web portal page itself, you, as administrator, can make several adjustments to the appearance of the portal: Arrange widgets on the page by dragging them by their title bar. Add a widget by choosing a widget from the Add Widget list. Remove a widget by selecting the Remove icon in the widget title bar. Configure a widget by selecting the Edit icon in the widget title bar. For configuration information about each widget type, see the following sections: Configuring tunnel mode settings on page 30 The Session Information widget on page 33 The Connection Tool widget on page 35
To modify the color scheme and other basic settings, select the Settings button. You can also configure several advanced features. For more information, see The Connection Tool widget on page 35 Configuring cache cleaning on page 38 Configuring virtual desktop on page 39 Configuring client OS Check on page 40 (CLI only)
When you have finished configuring the web portal page, select Apply to save the modifications.
29
To configure the web portal page - CLI You can also define a portal layout using CLI commands. Unlike configuring with the webbased manager, a new portal created in the CLI has by default no heading and no widgets. Also, the widgets do not have default names. You must specify all of this information. For example, to create the portal layout shown in Figure 3 on page 29, you would enter: config vpn ssl web portal set heading "Welcome to SSL VPN Service" set page-layout double-column set theme blue edit myportal config widget edit 0 set type info set name "Session Information" set column one next edit 0 set type bookmark set name "Bookmarks" set column one next edit 0 set type tunnel set name "Tunnel Mode" set column two next edit 0 set type tool set name "Connection Tool" set column two end
Note: When you use edit 0, as in this example, the CLI automatically assigns an unused index value when you exit the edit shell by typing end.
Optionally, you can enable a split tunneling configuration so that the VPN carries only the traffic for the networks behind the FortiGate unit. The users other traffic follows its normal route.
30
To configure tunnel mode settings - web-based manager 1 Go to VPN > SSL > Portal and select Create New. 2 If the Tunnel Mode widget is missing, add it by selecting Tunnel Mode from the Add Widget list in the top right corner of the window. 3 Select the Edit icon in the Tunnel Mode widget title bar.
Figure 4: Tunnel Mode widget - edit mode
IP Pools
Split Tunneling
The remaining items in the widget are controls that are available to the user during an SSL VPN session. 5 Select OK in the Tunnel Mode widget. 6 Select Apply.
31
To configure tunnel mode settings - CLI To enable tunnel mode operation for portal2 portal users and assign them addresses from the SSLVPN_TUNNEL_ADDR2 range, you would enter: config vpn ssl web portal edit portal2 config widget edit 0 set type tunnel set tunnel-status enable set ip-mode range set ip-pools SSLVPN_TUNNEL_ADDR2 end end The preceding example applies to a web portal that does not already have a tunnel mode widget. To modify the settings on an existing tunnel mode widget, you need to determine the widgets number. Enter: config vpn ssl web portal edit portal1 config widget show In the output, you will see, for example, edit 3 set name "Tunnel Mode" set type tunnel ... You can now enter edit 3 and modify the tunnel mode widgets settings. To force all traffic through the tunnel - CLI If you disable split tunneling, all of the users traffic to other networks passes through the SSL VPN tunnel. But, this does not apply to traffic between the user and the users local network. For enhanced security, some administrators prefer to force all of the users traffic, including traffic with the local network, to pass through the SSL VPN tunnel. To do this, enable exclusive-routing in the tunnel widget settings. For example: config vpn ssl web portal edit portal2 config widget edit 0 set type tunnel set tunnel-status enable set ip-mode range set ip-pools SSLVPN_TUNNEL_ADDR2 set split-tunneling disable set set exclusive-routing enable end end
32
To configure a port forward tunnel - web-based manager 1 Go to VPN > SSL > Portal and select an existing web portal configuration. 2 Select to add a bookmark. 3 Enter the Name of the application. 4 Select the Type of PortForward. 5 Enter the Location of the server. 6 Entre the Remote Port of the server and the Listening Port on the users PC. 7 Select OK. To configure a port forward tunnel - CLI ... config bookmarks edit <bookmark_name> set apptype portforward set host <hostname_or_IP> set remote-port <server_port> set listening-port <client_port> next end
33
Widget configuration
Bookmarks list
4 Optionally, you can change the Name of the Bookmarks widget. 5 Select the Applications check boxes for the types of bookmarks that you want to support. 6 To add a bookmark, select Add. 7 Enter or edit the following information:
Name Type Enter a name for the bookmark. Select the type of application to which the bookmark links. For example, select HTTP/HTTPS for a web site. Only the application types that you configured for this widget are in the list. You can select Edit in the widget title bar to enable additional application types. Enter the destination of the bookmark. Optionally, enter a descriptive tooltip for the bookmark. A Single Sign-On (SSO) bookmark automatically enters the login credentials for the bookmark destination. Select one of: Disabled This is not an SSO bookmark. Automatic Use the users SSL VPN credentials for login. Static Use the login credentials defined below. Enter a required login page field name, User Name for example. Enter the value to enter in the field identified by Field Name. If you are an administrator configuring a bookmark for users: Enter %usrname% to represent the users SSL VPN user name. Enter %passwd% to represent the users SSL VPN password. Enter another Field Name / Value pair, for the password for example. A new set of Field Name / Value fields is added. Fill them in.
Single Sign-On settings available when SSO is Static Field Name Value
Add
8 Select OK. 9 Select Apply at the top of the web portal page to save the changes that you made. To configure the Bookmarks widget and add/edit bookmarks - CLI To allow only FTP and web connections on the web-access portal and to configure a bookmark to example.com, you would enter: config vpn ssl web portal edit web-access config widget edit 1 set type bookmark set allow-apps ftp web
34
config bookmarks edit "example" set apptype web set description "example bookmark" set url "http://example.com" end end end To delete bookmarks - CLI To delete the bookmark added above, you would enter: config vpn ssl web portal edit web-access config widget edit 1 config bookmarks delete example end end end
Widget configuration
4 Optionally, enter a new Name for the widget. 5 Select the types of Applications that the Connection Tool is enabled to access. 6 Select OK.
35
To configure the Connection Tool widget - CLI To change, for example, the full-access portal Connection Tool widget to allow all application types except Telnet, you would enter: config vpn ssl web portal edit full-access config widget edit 3 set allow-apps ftp rdp smb ssh vnc web end end end
Host checking
Host checking enables you to increase the security of your network, by verifying the SSL VPN client has a specific antivirus, firewall or other software installed on their computers. Only clients that meet the requirements are permitted to log on. When the client attempts to log in to the VPN network, FortiOS uses the host check information to verify a specific application and/or version is installed on the client computer. If not, the user cannot log into the portal.
Note: Host integrity checking is only possible with client computers running Microsoft Windows platforms.
To configure host checking - web-based manager 1 Go to VPN > SSL > Portal. 2 Select the web portal and then select Edit. 3 Select the Settings button. 4 Select the Security Control tab and enter the following information:
Host Check AV FW AV-FW Custom None Interval Policy Select the type of host check to perform. Check for a running antivirus application recognized by the Windows Security Center. Check for a running firewall application recognized by the Windows Security Center. Check for both an antivirus application and a firewall application recognized by the Windows Security Center. Check for security applications that you choose from the VPN > SSL > Host Check page. See the Policy field. Select to disable host checking. Select how often to recheck the host. Range is every 120 seconds to 259 200 seconds. Enter 0 to not recheck the host during the session. This field is available if Host Check is Custom. It lists the acceptable security applications for clients. Select Edit to choose the acceptable security applications. Use the arrow buttons to move applications between the Available and Selected lists. Clients will be checked for the applications in the Selected list. Select OK. The Available list contains the applications from VPN > SSL > Host Check page. You can add or remove applications from the Host Check list. See Configuring the custom host check list on page 37.
5 Select OK.
36
To configure host checking - CLI To configure the full-access portal to check for AV and firewall software on client Windows computers, you would enter the following: config vpn ssl web portal edit full-access set host-check av-fw end To configure the full-access portal to perform a custom host check for FortiClient Host Security AV and firewall software, you would enter the following: config vpn ssl web portal edit full-access set host-check custom set host-check-policy FortiClient-AV FortiClient-FW end
To add an entry to the Host Check list - web-based manager 1 Go to VPN > SSL > Host Check. 2 Select Create New and enter the following information:
Name Type GUID Enter a name of the application. The name does not need to match the actual application name. Select the type of security application. Can be AV for antivirus or FW for firewall. Enter the Globally Unique IDentifier (GUID) for the host check application, if known. Windows uses GUIDs to identify applications in the Windows Registry. The GUID can be found in the Windows registry in the HKEY_CLASSES_ROOT section. The version of the security application. To get the exact versioning, in Windows right-click on the .EXE file of the application and select Properties. Select the Version tab. If you do not know the GUID, add alternative checks for the application. The security software is considered found only if all checks succeed. Select how to check for the application: File Look for a file. This could be the applications executable file or any other file that would confirm the presence of the application. In File/Path, enter the full path to the file. Where applicable, you can use environment variables enclosed in percent (%) marks. For example, %ProgramFiles%\Fortinet\FortiClient\FortiClient.exe Process Look for the application as a running process. In Process, enter the applications executable file name. Registry Search for a Windows Registry entry. In Registry, enter a registry item, for example HKLM\SOFTWARE\Fortinet\FortiClient\Misc
Version
37
Windows OS check
Action
Select one of Require If the item is found, the client meets the check item condition. Deny If the item is found, the client is considered to not meet the check item condition. Use this option if it is necessary to prevent use of a particular security product. If Type is File or Process, enter one or more known MD5 signatures for the application executable file.You can use a third-party utility to calculate MD5 signatures or hashes for any file. You can enter multiple signatures to match multiple versions of the application.
MD5 Signatures
3 Select OK.
Windows OS check
The Windows patch check enables you to define the minimum Windows version and patch level allowed when connecting to the SSL VPN portal. When the user attempts to connect to the web portal, FortiOS performs a query on the version of Windows the user has installed. If it does not match the minimum requirement, the connection is denied. The Windows patch check is configured in the CLI. The following example shows how you would add an OS check to the g1portal web portal. This OS check accepts all Windows XP users and Windows 2000 users running patch level 3. To specify the acceptable patch level, you set the latest-patch-level and the tolerance. The lowest acceptable patch level is latest-patch-level minus tolerance. In this case, latest-patch-level is 3 and tolerance is 1, so 2 is the lowest acceptable patch level. config vpn ssl web portal edit g1portal set os-check enable config os-check-list windows-2000 set action check-up-to-date set latest-patch-level 3 set tolerance 1 end config os-check-list windows-xp set action allow end end
To enable cache cleaning - web-based manager 1 Go to VPN > SSL > Portal, select the web portal and then select Edit. 2 Select the Settings button. 3 Select the Security Control tab.
38
Windows OS check
4 Select Clean Cache. 5 Select OK then Apply. To enable cache cleaning - CLI To enable cache cleaning on the full-access portal, you would enter: config vpn ssl web portal edit full-access set cache-cleaner enable end Cache cleaning requires a browser plug-in. If the user does not have the plug-in, it is automatically downloaded to the client computer.
39
Windows OS check
40
The OS Check has no effect on clients running other operating systems. To configure OS Check - CLI OS Check is configurable only in the CLI. config vpn ssl web portal edit <portal_name> set os-check enable config os-check-list {windows-2000 | windows-xp | windows-vista | windows-7} set action {allow | check-up-to-date | deny} set latest-patch-level {disable | 0 - 255} set tolerance {tolerance_num} end end
41
To create a user account - CLI If you want to create a user account, for example User_1 with the password 1_user, you would enter: config user local edit User_1 set passwd "1_User" set status enable set type password end
If no policy matches, the connection is dropped. You should order the security policy list top to bottom from most specific to most general. Only the first matching security policy is applied to a connection, and you want the best match to occur first.
42
You will need at least one SSL VPN security policy. This is an identity-based policy that authenticates users and enables them to access the SSL VPN web portal. The SSL VPN user groups named in the policy determine who can authenticate and which web portal they will use. From the web portal, users can access protected resources or download the SSL VPN tunnel client application. This section contains the procedures needed to configure security policies for web-only mode operation and tunnel-mode operation. These procedures assume that you have already completed the procedures outlined in Configuring user accounts and user groups for SSL VPN on page 41. If you will provide tunnel mode access, you will need a second security policy an ACCEPT tunnel mode policy to permit traffic to flow between the SSL VPN tunnel and the protected networks.
43
the level of SSL encryption to use and the authentication method. which SSL VPN user groups can use the security policy. the times (schedule) and types of services that users can access. the UTM features and logging that are applied to the connection.
44
To create an SSL-VPN security policy - web-based manager 1 Go to Policy > Policy > Policy and select Create New. 2 Enter the following information:
Source Interface/Zone Source Address Destination Interface/Zone Select the name of the FortiGate network interface to that connects to the Internet. Select all. Select the FortiGate network interface that connects to the protected network.
Destination Address Select the firewall address you created that represents the networks and servers to which the SSL VPN clients will connect. If you want to associate multiple firewall addresses or address groups with the Destination Interface/Zone, from Destination Address, select Multiple. In the dialog box, move the firewall addresses or address groups from the Available Addresses section to the Members section, then select OK. Action Select SSL-VPN. This option is available only if there is at least one user group with SSL VPN access enabled.
SSL Client Certificate Allow access only to holders of a (shared) group certificate. The holders of the group certificate must be members of an SSL VPN user group, Restrictive and the name of that user group must be present in the Allowed field. See Enabling strong authentication through X.509 security certificates on page 24. Cipher Strength Select the bit level of SSL encryption. The web browser on the remote client must be capable of matching the level that you select: Any, High >= 164, or Medium >= 128. A security policy for an SSL VPN is automatically an identity-based policy. Add a user group to the policy. The Edit Authentication Rule window opens on top of the security policy. Enter the following information and then select OK. You can select Add again to add more groups. Select user groups in the left list and use the right arrow button to move them to the right list. Select service in the left list and use the right arrow button to move them to the right list. Select the ANY service to allow the user group access to all services.
3 Select OK. Your identity-based policies are listed in the security policy table. The FortiGate unit searches the table from the top down to find a policy to match the clients user group. Using the move icon in each row, you can change the order of the policies in the table to ensure the best policy will be matched first. You can also use the icons to edit or delete policies. To create an SSL VPN security policy - CLI To create the security policy by entering the following CLI commands. config firewall policy edit 0 set srcintf port1 set dstintf port2 set srcaddr all set dstaddr OfficeLAN set action ssl-vpn set nat enable config identity-based-policy edit 0
FortiOS Handbook v3: SSL VPN 01-431-112804-20110624 http://docs.fortinet.com/ Feedback
45
set groups SSL-VPN set schedule always set service ANY end end
To configure the tunnel mode security policy - CLI config firewall policy edit <id> set srcintf ssl.root set dstintf <dst_interface_name> set srcaddr <tunnel_ip_address> set dstaddr <protected_network_address_name> set schedule always set service ANY set nat enable end This policy enables the SSL VPN client to initiate communication with hosts on the protected network. If you want to enable hosts on the protected network to initiate communication with the SSL VPN client, you should create another Accept policy like the preceding one but with the source and destination settings reversed. You must also add a static route for tunnel mode operation.
SSL VPN for FortiOS 4.0 MR3 01-431-112804-20110624 http://docs.fortinet.com/ Feedback
46
To configure the Internet browsing security policy - CLI To enable browsing the Internet through port1, you would enter: config firewall policy edit 0 set srcintf ssl.root set dstintf port1 set srcaddr SSL_tunne_users set dstaddr all
FortiOS Handbook v3: SSL VPN 01-431-112804-20110624 http://docs.fortinet.com/ Feedback
47
set schedule always set service ANY set nat enable end
To configure interconnection with a route-based IPsec VPN - CLI If, for example, you want to enable SSL VPN users to connect to the private network (address name OfficeAnet) through the toOfficeA IPsec VPN, you would enter: config firewall policy edit 0 set srcintf ssl.root set dstintf toOfficeA set srcaddr SSL_tunnel_users set dstaddr OfficeAnet set action accept set nat enable set schedule always set service ANY
end
To configure interconnection with a policy-based IPsec VPN - web-based manager 1 Go to Firewall > Policy > Policy and select Create New. 2 Enter the following information and select OK.
Source Interface/Zone Source Address Destination Interface/Zone Destination Address Select the virtual SSL VPN interface, ssl.root, for example. Select the firewall address you created that represents the IP address range assigned to SSL VPN clients. Select the FortiGate network interface that connects to the Internet. Select the address of the IPsec VPN remote protected subnet.
48
Select IPSEC. Select the Phase 1 configuration name of your IPsec VPN. Enable Enable Enable
To configure interconnection with a policy-based IPsec VPN - CLI If, for example, you want to enable SSL VPN users to connect to the private network (address name OfficeAnet) through the OfficeA IPsec VPN, you would enter: config firewall policy edit 0 set srcintf ssl.root set dstintf port1 set srcaddr SSL_tunnel_users set dstaddr OfficeAnet set action ipsec set schedule always set service ANY set inbound enable set outbound enable set natinbound enable set vpntunnel toOfficeA end In this example, port1 is connected to the Internet.
3 If the options are concealed, select the expand arrow beside each option to reveal and configure associated settings. 4 If logs will be written to system memory, from the Log Level list, select Information. For more information, see the Logging and Reporting Guide. 5 Select Apply. To enable logging - CLI config log {fortianalyzer | memory | syslog} setting set status enable end
FortiOS Handbook v3: SSL VPN 01-431-112804-20110624 http://docs.fortinet.com/ Feedback
49
For some log locations, there are additional options available. To enable logging of SSL VPN events - web-based manager 1 Go to Log&Report > Log Config > Event Log. 2 Select Enable, and then select one or more of the following options: SSL VPN user authentication event SSL VPN administration event SSL VPN session event 3 Select Apply. To enable logging of SSL VPN events - CLI config log {fortianalyzer | memory | syslog} filter set event enable set sslvpn-log-adm enable set sslvpn-log-auth enable set sslvpn-log-session enable end To enable logging of SSL VPN traffic - web-based manager 1 Go to Firewall > Policy > Policy. 2 Select your SSL VPN policy and then select Edit. 3 For each identity-based policy, select its Edit icon, select Log Allowed Traffic, then select OK. 4 Select OK. 5 Select the Edit icon for your tunnel-mode policy. 6 Select Log Allowed Traffic and then select OK. To enable logging of SSL VPN traffic - CLI Your SSL VPN security policy is number 2 with a single identity-based policy, and your tunnel-mode policy is number 5, you would enable traffic logging by entering: config firewall policy edit 2 config identity-based-policy edit 1 set logtraffic enable end edit 5 set logtraffic enable end To view SSL VPN logs - web-based manager 1 Go to Log&Report > Log Access and select the Memory or Disk tab. 2 From the Log Type list select Event Log or Traffic Log, as needed. In event log entries look for the sub-types sslvpn-session and sslvpn-user. In the traffic logs, look for the sub-type allowed. For web-mode traffic, the source is the host IP address. For tunnel-mode traffic, the source is the address assigned to the host from the SSL VPN address pool.
50
To view SSL VPN logs - CLI execute log filter category {event | traffic} execute log filter device {fortianalyzer | memory | syslog} execute log display The console displays the first 10 log messages. To view more messages, run the command again. You can do this until you have seen all of the selected log messages. To restart viewing the list from the beginning, use the command execute log filter start-line 1 For information about how to interpret log messages, see the FortiGate Log Message Reference.
51
Troubleshooting
Troubleshooting
Here is a list of common SSL VPN problems and the likely solutions.
No response from SSL VPN URL Check that SSL VPN is enabled. Check SSL VPN port assignment (default 10443). Check SSL VPN security policy. Check URL: https://<FortiGate_IP>:<SSLVPN_port>/remote/login Check that there is a static route to direct packets destined for the tunnel users to the SSL VPN interface. See Configuring routing for tunnel mode on page 47. This issue occurs when there are multiple interfaces connected to the Internet, for example, a dual WAN configuration. Upgrade the FortiGate unit firmware to at least v3.0 MR4 or higher, then use the following CLI
Error: The web page cannot be found. Tunnel connects, but there is no communication. Tunnel-mode connection shuts down after a few seconds
command:
config vpn ssl settings set route-source-interface enable end Error: Destination address of Split Tunneling policy is invalid. When trying to connect using FortiClient SSL VPN (standalone) the following error message Unable to logon to the server. Your user name or password may not be configured properly for this connection. (-12) is returned. When trying to login to the web portal, login and password are entered and login page will be sent back. The SSL VPN security policy uses the ALL address as its destination. Specify the address of the protected network instead. Cookies must be enabled for SSL VPN to function in Web portal or with the FortiClient SSL client. Access to the web portal or tunnel will fail if Internet Explorer has the privacy Internet Options set to High. If set to High, Internet Explorer will: Block cookies that do not have a compact privacy policy. Block cookies that use personally identifiable information without your explicit consent.
52
53
Four widgets provide the web portals features: Session Information displays the elapsed time since login and the volume of HTTP and HTTPS traffic, both inbound and outbound. Bookmarks provides links to network resources. You can use the administrator-defined bookmarks and you can add your own bookmarks. See Using the Bookmarks widget on page 55. Connection Tool enables you to connect to network resources without using or creating a bookmark. Tunnel Mode connects and disconnects the tunnel mode SSL connection to the FortiGate unit. While the tunnel is active, the widget displays the amount of data that is sent and received. For more information, see Tunnel-mode features on page 63. Tunnel mode requires a downloadable client application. If your computer is running Microsoft Windows, the Tunnel Mode widget provides a download link if you need to install the client on your computer. If you are using Macintosh or Linux, you can obtain and install an appropriate client application from the Fortinet Support site. For more information, see Downloading the SSL VPN tunnel mode client on page 66. Depending on the web portal configuration and user group settings, some widgets might not be present. For example, the predefined web-access portal contains only the Session Information and Bookmarks widgets. While using the web portal, you can select the Help button to get information to assist you in using the portal features. This information displays in a separate browser window. When you have finished using the web portal, select the Logout button in the top right corner of the portal window.
Note: After making any changes to the web portal configuration, be sure to select Apply.
54
Some server applications may prompt you for a user name and password. You must have a user account created by the server administrator so that you can log in.
Note: Windows file sharing through SMB/CIFS is supported through shared directories.
The FortiGate unit forwards client requests to servers on the Internet or internal network. To use the web-portal applications, you add the URL, IP address, or name of the server application to the My Bookmarks list. For more information, see Adding bookmarks.
Note: If you want to access a web server or telnet server without first adding a bookmark to the My Bookmarks list, use the Connection Tool instead. For more information, see Using the Connection Tool on page 57.
55
Adding bookmarks
You can add frequently used connections as bookmarks. Afterward, select any hyperlink from the Bookmarks list to initiate a session. To add a bookmark 1 In the Bookmarks widget, select Add. 2 Enter the following information:
Name Type Location Enter the name to display in the Bookmarks list. Select the abbreviated name of the server application or network service from the drop-down list. Enter the IP address or FQDN of the server application or network service. For RDP connections, you can append some parameters to control screen size and keyboard layout. See To start an RDP session on page 60. Optionally enter a short description. The description displays when you pause the mouse pointer over the hyperlink. Single Sign On (SSO) is available for HTTP/HTTPS bookmarks only. Disabled This is not an SSO bookmark. Automatic Use your SSL VPN credentials or an alternate set. See the SSO Credentials field. Static Supply credentials and other required information (such as an account number) to a web site that uses an HTML form for authentication. You provide a list of the form field names and the values to enter into them. This method does not work for sites that use HTTP authentication, in which the browser opens a pop-up dialog box requesting credentials. SSL VPN Login Use your SSL VPN login credentials. Alternative Enter Username and Password below. Alternative username. Available if SSO Credentials is Alternative. Alternative password. Available if SSO Credentials is Alternative. Enter the field name, as it appears in the HTML form. Enter the field value. To use the values from SSO Credentials, enter %passwd% for password or %username% for username. Add another Field Name / Value pair.
Description SSO
Add
56
Except for ping, these services require that you have an account on the server to which you connect.
Note: When you use the Connection Tool, the FortiGate unit may offer you its self-signed security certificate. Select Yes to proceed. A second message may be displayed to inform you of a host name mismatch. This message is displayed because the FortiGate unit is attempting to redirect your web browser connection. Select Yes to proceed.
To connect to a web server 1 In Type, select HTTP/HTTPS. 2 In the Host field, type the URL of the web server. For example: http://www.mywebexample.com or https://172.20.120.101 3 Select Go. 4 To end the session, close the browser window. To ping a host or server behind the FortiGate unit 1 In Type, select Ping. 2 In the Host field, enter the IP address of the host or server that you want to reach. For example: 10.11.101.22 3 Select Go. A message stating whether the IP address can be reached or not is displayed. To start a telnet session 1 In Type, select Telnet. 2 In the Host field, type the IP address of the telnet host. For example: 10.11.101.12
57
4 Select Connect. 5 A telnet session starts and you are prompted to log in to the remote host. After you log in, you may enter any series of valid telnet commands at the system prompt. 6 To end the session, select Disconnect (or type exit) and then close the TELNET connection window. To start an FTP session 1 In Type, select FTP. 2 In the Host field, type the IP address of the FTP server. For example: 10.11.101.12 3 Select Go. A login window opens. 4 Enter your user name and password and then select Login. You must have a user account on the remote host to log in.
Figure 7: An FTP session
New Directory Up
Logout Upload
Delete Rename
58
5 Manipulate the files in any of the following ways: To download a file, select the file link in the Name column. To access a subdirectory (Type is Folder), select the link in the Name column. To create a subdirectory in the current directory, select New directory. To delete a file or subdirectory from the current directory, select its Delete icon. To rename a file in the current directory, select its Rename icon. To upload a file to the current directory from your client computer, select Upload. When the current directory is a subdirectory, you can select Up to access the parent directory. 6 To end the FTP session, select Logout. To start an SMB/CIFS session 1 In Type, select SMB/CIFS. 2 In the Host field, type the IP address of the SMB or CIFS server. For example: 10.11.101.12 3 Select Go. A login window opens. 4 Enter your user name and password and then select Login. You must have a user account on the remote host to log in. New Directory Logout Up Upload
Delete Rename 5 Manipulate the files in any of the following ways: To download a file, select the file link in the Name column. To access a subdirectory (Type is Folder), select the file link in the Name column. To create a subdirectory in the current directory, select New Directory. To delete a file or subdirectory from the current directory, select its Delete icon. To rename a file, select its Rename icon. To upload a file from your client computer to the current directory, select Upload. When the current directory is a subdirectory, you can select Up to access the parent directory. 6 To end the SMB/CIFS session, select Logout and then close the SMB/CIFS window.
59
To start an SSH session 1 In Type, select SSH. 2 In the Host field, type the IP address of the SSH host. For example: 10.11.101.12 3 Select Go. A login window opens. 4 Select Connect. A SSH session starts and you are prompted to log in to the remote host. You must have a user account to log in. After you log in, you may enter any series of valid commands at the system prompt.
5 To end the session, select Disconnect (or type exit) and then close the SSH connection window. To start an RDP session 1 In Type, select RDP. 2 In the Host field, type the IP address of the RDP host. For example: 10.11.101.12 3 Optionally, you can specify additional options for RDP by adding them to the Host field following the host address. See RDP options on page 61 for information about the available options. For example, to use a French language keyboard layout you would add the -m parameter: 10.11.101.12 -m fr 4 Select Go. A login window opens.
60
The screen configuration dialog does not appear if you specified the screen resolution with the host address. 6 When you are prompted to log in to the remote host, type your user name and password. You must have a user account on the remote host to log in.
7 Select Login. If you need to send Ctrl-Alt-Delete in your session, use Ctrl-Alt-End. 8 To end the RDP session, Log out of Windows or select Cancel from the Logon window.
RDP options
When you specify the RDP server address, you can also specify other options for your remote desktop session.
Screen resolution -f Make RDP fullscreen. Use this command to make the RDP window full screen or a specific the -g <width>x<height> window size. <width> and <height> are in pixels Example: -g 800x600 Authentication -u <user name> -p <password> Use these options to send your authentication credentials with the -d <domain> connection request, instead of entering them after the connection is established.
61
Locale/Keyboard Use this option if the remote computer might not use the same keyboard layout as your computer. Select the locale code that matches your computer.
-m <locale> The supported values of <locale> are: ar da de de-ch en-gb en-uk en-us es fi fr fr-be fr-ca fr-ch hr hu Arabic Danish German Swiss German British English UK English US English Spanish Finnish French Belgian French Canadian French Swiss French Croatian Hungarian it ja lt lv mk no pl pt pt-br ru sl sv tk tr Italian Japanese Lithuanian Latvian Macedonian Norwegian Polish Portuguese Brazilian Portuguese Russian Slovenian Sudanese Turkmen Turkish
To start a VNC session 1 In Type, select VNC. 2 In the Host field, type the IP address of the VNC host. For example: 10.11.101.12 3 Select Go. A login window opens. 4 Type your user name and password when prompted to log in to the remote host. You must have a user account on the remote host to log in.
5 Select OK. If you need to send Ctrl-Alt-Delete in your session, press F8, then select Send Ctrl-Alt-Delete from the pop-up menu. 6 To end the VNC session, close the VNC window.
62
Tunnel-mode features
Tunnel-mode features
For Windows users, the web portal Tunnel Mode widget provides controls for your tunnel mode connection and also provides status and statistics about its operation. You can also control and monitor tunnel mode operation from the standalone client application. For more information, see Using the tunnel mode client on page 67.
Figure 8: Fortinet SSL VPN tunnel mode widget
Initiate a session and establish an SSL VPN tunnel with the FortiGate unit. End the session and close the tunnel to the FortiGate unit. Refresh the status and statistics immediately. The state of the SSL VPN tunnel: Up an SSL VPN tunnel with the FortiGate unit has been established. Down a tunnel connection has not been initiated. The number of bytes of data transmitted from the client to the FortiGate unit since the tunnel was established. The number of bytes of data received by the client from the FortiGate unit since the tunnel was established.
63
Using FortiClient
Using FortiClient
Remote users can use FortiClient Endpoint Security to initiate an SSL VPN tunnel to connect to the internal network. FortiClient uses local port TCP 1024 to initiate an SSL encrypted connection to the FortiGate unit, on port TCP 10443. When connecting using FortiClient SSL, the FortiGate unit authenticates the FortiClient SSL VPN request based on the user group options. the FortiGate unit establishes a tunnel with the client and assigns a virtual IP address to the client PC. Once the tunnel has been established, the user can access the network behind the FortiGate unit. For information on configuring the FortiGate unit for SSL VPN connectivity, see Basic SSL VPN example on page 71.
64
Client configurations
There are several configurations of SSL VPN applications available. web mode tunnel mode virtual desktop
Web mode
SSL VPN web mode requires nothing more than a web browser. Microsoft Internet Explorer, Mozilla Firefox, and Apple Safari browsers are supported. For detailed information about supported browsers see the Release Notes for your FortiOS firmware.
Tunnel mode
SSL VPN tunnel mode establishes a connection to the remote protected network that any application can use. This requires a tunnel client application specific to your computer operating system. The tunnel client application installs a network driver that sends and receives data through the SSL VPN tunnel. If your computer runs Microsoft Windows, you can download the tunnel mode client from the web portal Tunnel Mode widget. After you install the client, you can start and stop tunnel operation from the Tunnel Mode widget, or you can open the tunnel mode client as a standalone application. You can find the tunnel mode client on the Start menu at All Programs > FortiClient > FortiClient SSL VPN. If your computer runs Linux or Mac OS X, you can obtain an appropriate tunnel mode client application from the Fortinet Support web site. See the Release Notes for your FortiOS firmware for the specific operating system versions that are supported. On Linux and Mac OS X platforms, tunnel mode operation cannot be initiated from the web portal Tunnel Mode widget. You must use the standalone tunnel client application. When a system configuration must involve more secure disposal of cached data, the SSL VPN Virtual Desktop should be used. (Available on Windows only).
65
The most recent version of the SSL VPN standalone client applications can be found at: http://support.fortinet.com/ To download the SSL VPN tunnel client 1 Log in to Fortinet Support at http://support.fortinet.com/. 2 In the Download area, select Firmware Images. 3 Select FortiGate. 4 Select v4.00 and then select the latest firmware release. 5 Select SSL VPN Clients. 6 Select the appropriate client. Windows: SslvpnClient.exe or SslvpnClient.msi Linux: forticlientsslvpn_linux_<version>.tar.gz Mac OS X: forticlientsslvpn_macosx_<version>.dmg
Note: The location of the SSL VPN tunnel client on the Support web site is subject to change. If you have difficulty finding the appropriate file, contact Customer Support.
66
Windows
Double-click the SslvpnClient.exe or SslvpnClient.msi file and follow the on-screen instructions.
Linux
1 Extract the forticlientsslvpn_linux_<version>.tar.gz package file to a folder and run the client program forticlientsslvpn. When you run the install program for the first time, you will have to set up system parameters (root privileges) before you run the program or before other users without administrator privileges can use the application. 2 In the First Run dialog, select OK. After this initial setup is complete, a user with a normal (non-administrator) account can establish an SSL VPN tunnel session.
MAC OS client
1 Double-click on the forticlientsslvpn_macosx_<version>.dmg file. 2 Double-click the forticlientsslvpn.pkg file inside the disk image and follow the instructions. The application installs the program forticlientsslvpn.app in the Applications folder
Windows client
To use the SSL VPN standalone tunnel client (Windows) 1 Go to Start > All Programs > FortiClient > FortiClient SSL VPN. 2 Enter the following information. Use the Connect and Disconnect buttons to control the tunnel connection.
Connection Name If you have pre-configured the connection settings, select the connection from the list and then select Connect. Otherwise, enter the settings in the fields below. To pre-configure connection settings, see To configure tunnel client settings (Windows) on page 68. Enter the IP address or FQDN of the FortiGate unit that hosts the SSL VPN. Enter your user name. Enter the password associated with your user account. Use this field if the SSL VPN requires a certificate for authentication. Select the required certificate from the drop-down list. The certificate must be installed in the Internet Explorer certificate store.
67
Connection
Status: Connected or Disconnected Duration: Hours, minutes, seconds since session started Bytes Sent / Bytes Received: amount of data transferred Select to open the Settings dialog. See To configure tunnel client settings (Windows) on page 68. Start tunnel mode operation. Stop tunnel mode operation. Close the tunnel mode client application.
To configure tunnel client settings (Windows) 1 Go to Start > All Programs > FortiClient > FortiClient SSL VPN. 2 Select Settings.... 3 Select New Connection, or select an existing connection and then select Edit. 4 Enter the Connection Name. 5 Enter the connection information. You can also enter a Description. Select OK. See To use the SSL VPN standalone tunnel client (Windows) on page 67 for information about the fields. 6 Select Keep connection alive until manually stopped to prevent tunnel connections from closing due to inactivity. 7 Select OK.
Linux client
To use the SSL VPN standalone tunnel client (Linux) 1 Go to the folder where you installed the Linux tunnel client application and double-click on forticlientsslvpn. 2 Enter the following information. Use the Connect and Stop buttons to control the tunnel connection.
Connection If you have pre-configured the connection settings, select the connection from the list and then select Connect. Otherwise, enter the settings in the fields below. To pre-configure connection settings, see To configure tunnel client settings (Windows) on page 68. Enter the IP address or FQDN of the FortiGate unit that hosts the SSL VPN. In the smaller field, enter the SSL VPN port number (default 10443). Enter your user name. Enter the password associated with your user account. Use this field if the SSL VPN requires a certificate for authentication. Select the certificate file (PKCS#12) from the drop-down list, or select the Browse (...) button and find it. Enter the password required for the certificate file. Select to open the Settings dialog. See To configure tunnel client settings (Linux) on page 68.
Password Settings...
To configure tunnel client settings (Linux) 1 Go to the folder where you installed the Linux tunnel client application and double-click forticlientsslvpn. 2 Select Settings....
68
3 Select Keep connection alive until manually stopped to prevent tunnel connections from closing due to inactivity. 4 Select Start connection automatically. The next time the tunnel mode application starts, it will start the last selected connection. 5 If you use a proxy, enter in Proxy the proxy server IP address and port. Enter proxy authentication credentials immediately below in User and Password. 6 Select the + button to define a new connection, or select from the list an existing connection to modify. For a new connection, the Connection window opens. For an existing connection, the current settings appear in the Settings window and you can modify them. 7 Enter the connection information. If you are creating a new connection, select Create when you are finished. See To use the SSL VPN standalone tunnel client (Linux) on page 68 for information about the fields. 8 Select Done.
MAC OS X client
To use the SSL VPN standalone tunnel client (Mac OS X) 1 Go to the Applications folder and double-click on forticlientsslvpn.app. 2 Enter the following information. Use the Connect and Stop buttons to control the tunnel connection.
Connection If you have pre-configured the connection settings, select the connection from the list and then select Connect. Otherwise, enter the settings in the fields below. To pre-configure connection settings, see To configure tunnel client settings (Mac OS X) on page 69. Enter the IP address or FQDN of the FortiGate unit that hosts the SSL VPN. In the smaller field, enter the SSL VPN port number (default 10443). Enter your user name. Enter the password associated with your user account. Use this field if the SSL VPN requires a certificate for authentication. Select the certificate file (PKCS#12) from the drop-down list, or select the Browse (...) button and find it. Enter the password required for the certificate file. Select to open the Settings dialog. See To configure tunnel client settings (Mac OS X) on page 69.
Server
Password Settings...
To configure tunnel client settings (Mac OS X) 1 Go to the Applications folder and double-click on forticlientsslvpn.app. 2 Select Settings.... 3 Select Keep connection alive until manually stopped to prevent tunnel connections from closing due to inactivity. 4 Select Start connection automatically. The next time the tunnel mode application starts, it will start the last selected connection.
FortiOS Handbook v3: SSL VPN 01-431-112804-20110624 http://docs.fortinet.com/ Feedback
69
5 If you use a proxy, enter in Proxy the proxy server IP address and port. Enter proxy authentication credentials immediately below in User and Password. 6 Select the + button to define a new connection, or select from the list an existing connection to modify. 7 Enter the connection information. If you are creating a new connection, select Create when you are finished. See To use the SSL VPN standalone tunnel client (Mac OS X) on page 69 for information about the fields. 8 Select Done.
70
Examples
In the most common Internet scenario, the remote client connects to an ISP that offers connections with dynamically assigned IP addresses. The ISP forwards packets from the remote client to the Internet, where they are routed to the public interface of the FortiGate unit. At the FortiGate unit, you configure user groups and security policies to define the server applications and IP address range or network that remote clients will be able to access behind the FortiGate unit. This section contains the following topics: Basic SSL VPN example Multiple user groups with different access permissions example
Re
C ote
lien
F tiG or 1 e_ at
S P T 0 T 12 /H 1. P 0 T 1 r T 1. H .1 ve 0 er 6 10 S 1.1 S 0 N .1 r D 11 . ve 7 0 10 er 1 S 1. P 0 r T .1 F 1 ve .1 er 80 S .1 10 1 ba 10 . am 1 S .1 10
71
Examples
Infrastructure requirements
The FortiGate unit must be operating in NAT mode and have a static public IP address. The ISP assigns IP addresses to remote clients before they connect to the FortiGate unit.
For information about client operating system and browser requirements, see the Release Notes for your FortiGate firmware.
2 Create the web portal. 3 Create user accounts. 4 Create the SSL VPN user group and add the users. In the user group configuration, you specify the web portal to which the users are directed. 5 Create the security policies: The SSL VPN security policy enables web mode access to the protected network. The tunnel-mode policy enables tunnel mode access to the protected network.
6 Create a static route to direct packets destined for tunnel users to the SSL VPN tunnel.
To define destination addresses - CLI config firewall address edit OfficeLAN set type ipmask set subnet 10.11.101.0/24 set associated-interface port2 end
72
Examples
To define destination addresses - CLI config firewall address edit SSL_tunnel_users set type ipmask set subnet 10.11.254.0/24 end
Enabling SSL VPN and setting the tunnel user IP address range
By default, SSL VPN is not enabled. At the same time as you enable SSL VPN, you can define the IP address range from which SSL VPN tunnel-mode clients are assigned their virtual IP addresses. To enable SSL VPN and set tunnel address range - CLI config vpn ssl settings set sslvpn-enable enable set tunnel-ip-pools SSL_tunnel_users end To set tunnel address range - web-based manager 1 Go to VPN > SSL > Config. 2 In IP Pools, select Edit. 3 In the Available list, select SSL_tunnel_users and then select the down arrow button to move the address to the Selected list. 4 Select OK. 5 Select Apply.
73
Examples
4 Select OK, then select OK again. To create the web portals - CLI config vpn ssl web portal edit portal1 config widget edit 0 set type tunnel set tunnel-status enable end end
3 From the Available list, select user1 and move it to the Members list by selecting the right arrow button. 4 Select OK. To create the user group - CLI config user group edit group1 set group-type sslvpn set member user1 set sslvpn-portal portal1 end
74
Examples
To create the SSL VPN security policy - web-based manager 1 Go to Policy > Policy > Policy. 2 Select Create New and enter the following information:
Source Interface/Zone Source Address Destination Interface/Zone Destination Address Action User Authentication Method port1 All port2 OfficeLAN SSL-VPN Local
4 Select OK, and then select OK again. To create the SSL VPN security policy - CLI config firewall policy edit 0 set srcintf port1 set dstintf port2 set srcaddr all set dstaddr OfficeLAN set action ssl-vpn config identity-based-policy edit 1 set groups group1 set schedule always set service ANY end end
75
Examples
To create the tunnel-mode security policy - web-based manager 1 Go to Policy > Policy > Policy. 2 Select Create New, enter the following information, and select OK:
Source Interface/Zone Source Address Destination Interface/Zone Destination Address Schedule Service Action NAT sslvpn tunnel interface (ssl.root) SSL_tunnel_users port2 OfficeLAN always ANY ACCEPT Enable
To create the tunnel-mode security policy - CLI config firewall policy edit 0 set srcintf ssl.root set dstintf port2 set srcaddr SSL_tunnel_users set dstaddr OfficeLAN set action accept set schedule always set service ANY set nat enable end
Device
To add a route to SSL VPN tunnel mode clients - CLI config router static edit 0 set device ssl.root set dst 10.11.254.0/24 end
76
Examples
Us
Us
er2
10 rt 3 1. Po 1.20 .1 10
0 F
S P T 0 T 12 /H 1. P 0 T 1 r T 1. H .1 ve 0 er 16 10 S 1. S 0 N .1 r D 11 . ve 70 10 er 1 S 1. P 0 r T .1 F 11 ve . er 80 S .1 10 1 ba 10 . am 1 S .1 10
In this example configuration, there are two users: user1 can access the servers on Subnet_1 user2 can access the workstation PCs on Subnet_2
You could easily add more users to either user group to provide them access to the user groups assigned web portal.
2 Create two web portals. 3 Create two user accounts, user1 and user2. 4 Create two user groups. For each group, add a user as a member and select a web portal. In this example, user1 will belong to group1, which will be assigned to portal1. 5 Create security policies: two SSL VPN security policies, one to each destination two tunnel-mode policies to allow each group of users to reach its permitted destination network
6 Create the static route to direct packets for the users to the tunnel.
2 4 t_ /2 ne 1.0 ub 0 S 1.2 .1 10
77
Examples
3 Select Create New, enter the following information, and select OK.
Address Name Type Subnet / IP Range Interface Subnet_2 Subnet / IP Range 10.11.201.0/24 port3
To define destination addresses - CLI config firewall address edit Subnet_1 set type ipmask set subnet 10.11.101.0/24 set associated-interface port2 next edit Subnet_2 set type ipmask set subnet 10.11.201.0/24 set associated-interface port3 end
78
Examples
3 Select Create New, enter the following information, and select OK.
Address Name Type Subnet / IP Range Interface Tunnel_group2 Subnet / IP Range 10.11.254.[51-100] Any
To define tunnel client addresses - CLI config firewall address edit Tunnel_group1 set type iprange set end-ip 10.11.254.50 set start-ip 10.11.254.1 next edit Tunnel_group2 set type iprange set end-ip 10.11.254.100 set start-ip 10.11.254.51 end
79
Examples
To create the web portals - CLI config vpn ssl web portal edit portal1 set allow-access ftp ping rdp smb ssh telnet vnc web config widget edit 0 set type tunnel set tunnel-status enable set ip-pools "Tunnel_group1" end next edit portal2 set allow-access ftp ping rdp smb ssh telnet vnc web config widget edit 0 set type tunnel set tunnel-status enable set ip-pools "Tunnel_group2" end end end Later, you can configure these portals with bookmarks and enable connection tool capabilities for the convenience of your users.
3 From the Available list, select user1 and move it to the Members list by selecting the right arrow button. 4 Select OK. 5 Repeat steps 2 through 4 to create group2, assigned to portal2, with user2 as its only member. To create the user groups - CLI config user group edit group1 set group-type sslvpn set member user1 set sslvpn-portal portal1 next
SSL VPN for FortiOS 4.0 MR3 01-431-112804-20110624 http://docs.fortinet.com/ Feedback
80
Examples
edit group2 set group-type sslvpn set member user2 set sslvpn-portal portal2 end
To create the SSL VPN security policies - web-based manager 1 Go to Policy > Policy > Policy. 2 Select Create New and enter the following information:
Source Interface/Zone Source Address Destination Interface/Zone Destination Address Action port1 All port2 Subnet_1 SSL-VPN
4 Select OK, and then select OK again. 5 Select Create New and enter the following information:
Source Interface/Zone Source Address Destination Interface/Zone Destination Address Action port1 All port3 Subnet_2 SSL-VPN
81
Examples
7 Select OK, and then select OK again. To create the SSL VPN security policies - CLI config firewall policy edit 0 set srcintf port1 set dstintf port2 set srcaddr all set dstaddr Subnet_1 set action ssl-vpn set nat enable config identity-based-policy edit 1 set groups group1 set schedule always set service ANY end next edit 0 set srcintf port1 set dstintf port3 set srcaddr all set dstaddr Subnet_2 set action ssl-vpn set nat enable config identity-based-policy edit 1 set groups group2 set schedule always set service ANY end end To create the tunnel-mode security policies - web-based manager 1 Go to Policy > Policy > Policy. 2 Select Create New, enter the following information, and select OK:
Source Interface/Zone Source Address Destination Interface/Zone Destination Address Action NAT sslvpn tunnel interface (ssl.root) Tunnel_group1 port2 Subnet_1 ACCEPT Enable
3 Select Create New, enter the following information, and select OK:
Source Interface/Zone Source Address Destination Interface/Zone Destination Address sslvpn tunnel interface (ssl.root) Tunnel_group2 port3 Subnet_2
82
Examples
Action NAT
ACCEPT Enable
To create the tunnel-mode security policies - CLI config firewall policy edit 0 set srcintf ssl.root set dstintf port2 set srcaddr Tunnel_group1 set dstaddr Subnet_1 set action accept set schedule always set service ANY set nat enable next edit 0 set srcintf ssl.root set dstintf port3 set srcaddr Tunnel_group2 set dstaddr Subnet_2 set action accept set schedule always set service ANY set nat enable end end
Device
To add a route to SSL VPN tunnel mode clients - CLI config router static edit 0 set device ssl.root set dst 10.11.254.0/24 end
83
Examples
84
Index
Symbols
%passwd%, 56 %username%, 56
F
FortiClient, 64 FTP server, connecting to, 58
A
adding bookmarks, 56 authentication timeout setting, 23
H
home page, web portal features, 54 host check, 36 custom, 37 introduction, 14 OS, 40 host OS, patch check, 40
B
bookmarks user-defined, 56 web-portal, 55
I
idle timeout setting, 23 infrastructure requirements, 14, 72 installation on Vista, 16 integrity check, 36 introduction deployment topology, 13 IP address tunnel mode range, 21 IPsec VPN comparison to SSL, 12
C
cache cleaner introduction, 15 certificates self signed, 53 checking windows version, 38 cipher suite, SSL negotiations, 23 client downloading, 66 using Linux, 68 using Mac OS, 69 using Windows, 67 client integrity check, 36 connecting defining bookmarks to, 56 to FTP server, 58 to PC by RDP, 60 to PC by VNC, 62 to secure HTTP gateway, 53 to SMB/CIFS file share, 59 to SSH server, 60 to telnet server, 57 to web portal, 53 to web server, 57 to web-based manager, 20 Connection Tool, using, 57 connectivity, testing for, 57
K
keyboard map for RDP session in SSL VPN, 62
L
locale for RDP session in SSL VPN, 62 logging enabling SSL VPN events, 50 setting event-logging parameters, 49 viewing SSL VPN logs, 50, 51
M
modes of operation overview, 14 port forwarding, 16 tunnel mode, 15 web-only mode, 15
D
default web portal, 27 deployment topology, 13, 14, 72 downloading tunnel client, 66
N
network configuration, 14, 72 recommended, 13
E
example complex SSL VPN, 77
85
Index
O
OS host patch check, 40 OS patch check, 38
P
patch check host OS, 40 ping host from remote client, 57 port forwarding, 16 number, web-portal connections, 25
tunnel mode, 15 configuring FortiGate server, 46 IP address range, 21 web portal features, 63 tunnel mode client installing in Linux, 67 installing in Mac OS, 67 installing in Windows, 67 using in Linux, 68 using in Mac OS, 69 using in Windows, 67
U
URL for user login, 53 user accounts, creating, 41 user groups creating, 41 for different access permissions, example, 77
R
RDP establish session, 60 setting screen resolution, 61 replacement message, to customize web portal login page, 25
V
Virtual Desktop, 66 using, 63 VNC starting a session, 62
S
screen resolution for RDP connection, 61 secure HTTP gateway login, 53 security choosing security level, 12 security policy web-only mode access, 43 Single Sign On (SSO) adding SSO bookmark (user), 56 bookmarks, 56 overview, 17 SMB/CIFS file share connecting to, 59 SSH server, connecting to, 60 SSL VPN default web portal, 27 downloading client, 66 enabling, 84 event logging, 49 FortiClient, 64 host OS patch check, 40 using Linux client, 68 using Mac OS client, 69 using Windows client, 67 Virtual Desktop, 66 web portal, 27
W
web portal, 56 customizing login page, 25 home page features, 54 logging in, 53 server applications, 55 setting login page port number, 25 SSL VPN,SSL VPN web portal customize, 27 tunnel mode features, 63 using bookmarks, 55 widget, 54 web server connecting to, 57 web-based manager connecting to, 20 web-only mode, 15 security policy for, 43 widget tunnel mode, 63 web portal, 54 windows version check, 38
T
telnet server, connecting to, 57
X
X.509 security certificates, 24
86
Index
87
Index
88