Fortigate-SSLVPN's FortiOS Handbook 4.0 MR1a
Fortigate-SSLVPN's FortiOS Handbook 4.0 MR1a
FortiOS SSL VPNs Handbook 4.0 MR1 9 December 2009 01-401-112804-20091209 Copyright 2009 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 Dynamic Threat Prevention System (DTPS), APSecure, FortiASIC, FortiBIOS, FortiBridge, FortiClient, FortiGate, FortiGate Unified Threat Management System, FortiGuard, FortiGuard-Antispam, FortiGuard-Antivirus, FortiGuard-Intrusion, FortiGuard-Web, FortiLog, FortiAnalyzer, FortiManager, Fortinet, FortiOS, FortiPartner, FortiProtect, FortiReporter, FortiResponse, FortiShield, FortiVoIP, and FortiWiFi are trademarks of Fortinet, Inc. in the United States and/or other countries. The names of actual companies and products mentioned herein may be the trademarks of their respective owners.
Contents
Whats in this book? 7
Audience . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 Restrictions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 Registering your Fortinet product. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 Customer service and technical support . . . . . . . . . . . . . . . . . . . . . . . . . 8 Training . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 Fortinet Tools and Documentation CD . . . . . . . . . . . . . . . . . . . . . . . . 8 Fortinet Knowledge Base . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 Comments on Fortinet technical documentation . . . . . . . . . . . . . . . . . . 8 Conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 IP addresses . . . . . . . . CLI constraints . . . . . . . Notes, Tips and Cautions . Typographical conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 9 9 9
11
11 12 12 12 14 14 14 14 15 15 15 15 15 15 16 16 17
Contents
Web-only mode client requirements . . . . . . . . . . . . . . . . . . . . . . Tunnel mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Tunnel-mode client requirements . . . . . . . . . . . . . . . . . . . . . . . Single Sign-on (SSO). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
17 18 18 19
21
21 22 22 23 23 24 25 25 25 26 26 26 27 28 30 30 30 32 35 35 37 38 38 41 42 43 44 44 45 46 47 47 48 49 49 51 55
Configuring user accounts and SSL VPN user groups . . . . . . . . . . . . . . . . . Creating user accounts. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Creating an SSL VPN user group . . . . . . . . . . . . . . . . . . . . . . . . . Configuring firewall policies. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Configuring firewall addresses . . . . . . . . . . . . . . . . . . . . . . . . . . . Configuring the SSL VPN firewall policy . . . . . . . . . . . . . . . . . . . . . . Configuring the tunnel mode firewall policy . . . . . . . . . . . . . . . . . . . .
FortiOS Handbook 4.0 MR1 SSL VPNs 401-401-112804-20091209 http://docs.fortinet.com/ Feedback
Contents
Configuring routing for tunnel mode . . . . . . . . . . . . . . . . . . . . . . Adding an Internet browsing policy. . . . . . . . . . . . . . . . . . . . . . . . . Enabling connection to an IPsec VPN . . . . . . . . . . . . . . . . . . . . . . . Viewing SSL VPN logs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Monitoring active SSL VPN sessions. . . . . . . . . . . . . . . . . . . . . . . . . . Troubleshooting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
56 57 57 59 61 62
63
63 64 65 65 66 67 74 75
77
77 77 77 78 78 79 79 79 79 80 80 82 84 86
Examples
Basic SSL VPN example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Infrastructure requirements . . . General configuration steps . . . . . Creating the firewall addresses . . . Creating the destination address
FortiOS Handbook 4.0 MR1 SSL VPNs 01-401-112804-200912095 http://docs.fortinet.com/ Feedback
87
87 88 88 88 88 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Contents
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 firewall policies . . . . . . . . . . . . . . . . . . . Add routing to tunnel mode clients . . . . . . . . . . . . . . . . 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 firewall policies . . . . . . . . . . Create the static route to tunnel mode clients . Enabling SSL VPN operation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
. . . . . .
89 89 89 90 91 92 93
. 93 . 94 . 94 . 94 . 95 . 96 . 97 . 100 . 100
Index
103
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.
Restrictions
This document is not intended for users who do not have administrative rights over their computers and therefore cannot connect to an internal network.
Training
Fortinet Training Services provides classes that orient you quickly to your new equipment, and certifications to verify your knowledge level. Fortinet provides a variety of training programs to serve the needs of our customers and partners world-wide. To learn about the training services that Fortinet provides, visit the Fortinet Training Services web site at http://campus.training.fortinet.com, or email them at [email protected].
Documentation
The Fortinet Technical Documentation web site, http://docs.fortinet.com, provides the most up-to-date versions of Fortinet publications, as well as additional technical documentation such as technical notes. In addition to the Fortinet Technical Documentation web site, you can find Fortinet technical documentation on the Fortinet Tools and Documentation CD, and on the Fortinet Knowledge Center.
Conventions
Conventions
Fortinet technical documentation uses the conventions described below.
IP addresses
To avoid publication of public IP addresses that belong to Fortinet or any other organization, the IP addresses used in Fortinet technical documentation are fictional and follow the documentation guidelines specific to Fortinet. The addresses used are from the private IP address ranges defined in RFC 1918: Address Allocation for Private Internets, available at http://ietf.org/rfc/rfc1918.txt?number-1918.
CLI constraints
CLI constraints, such as <address_ipv4>, indicate which data types or string patterns are acceptable input for a given parameter or variable value. CLI constraint conventions are described in the CLI Reference document for each product.
Tip: Highlights useful additional information, often tailored to your workplace activity.
Caution: Warns you about commands or procedures that could have unexpected or undesirable results including loss of data or damage to equipment.
Typographical conventions
Fortinet documentation uses the following typographical conventions:
Table 1: Typographical conventions in Fortinet technical documentation Convention Example
Button, menu, text box, From Minimum log level, select Notification. field, or check box label CLI input config system dns set primary <address_ipv4> end FGT-602803030703 # get system settings comments : (null) opmode : nat HTTP connections are not secure and can be intercepted by a third party. <HTML><HEAD><TITLE>Firewall Authentication</TITLE></HEAD> <BODY><H4>You must authenticate to use this service.</H4>
CLI output
Conventions
Table 1: Typographical conventions in Fortinet technical documentation Hyperlink Keyboard entry Navigation Publication Visit the Fortinet Technical Support web site, https://support.fortinet.com. Type a name for the remote VPN peer or client, such as Central_Office_1. Go to VPN > IPSEC > Auto Key (IKE). For details, see the FortiGate Administration Guide.
10
History
Over the past several years, as organizations have grown and become more complex, secure remote access to network resources has become critical for day-to-day operations. In addition, businesses are expected to provide clients with efficient, convenient services including knowledge bases and customer portals, and employees travelling across the country or around the world require timely and comprehensive access to network resources. Initial access to network resources used private networks and leased lines options that were inflexible and costly. As a result of the growing need for providing remote/mobile clients with easy, cost-effective and secure access to a multitude of resources, the concept of a Virtual Private Network was developed. In the past, VPN tunneling was performed generally at the Network Layer (Layer 3) or lower, as is the case with IPSec. To enable remote access, encrypted network connectivity was established between a remote node and the internal network, thereby making the remoteness of the connection invisible to all layers above Layer 4. The applications functioned identically when users were in the office or when they were remote, except that when requests filtered to the network level, they were relayed over the network connection tied to the users specific location. These connections required the installation and configuration of complicated client software on users computers. SSL VPNs establish connectivity using SSL, which functions at Levels 4 - 5 (Transport and Session). Information is encapsulated at Levels 6 - 7 (Presentation and Application), and SSL VPNs communicate at the highest levels in the OSI model. SSL is not strictly a web protocol - it is possible to use SSL to encrypt any application-level protocol.
11
What is a VPN?
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 nonapplication oriented tunnel that allows the users and networks to exchange a wide range of traffic regardless of application or protocol.
Figure 1: Encoded data going through a VPN tunnel
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.
FortiOS Handbook 4.0 MR1 SSL VPNs 01-401-112804-20091209 http://docs.fortinet.com/ Feedback
12
What is SSL?
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 blocklevel algorithm to encrypt and decrypt data, and is the primary primitive used to 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.
13
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. 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.
14
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. 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.
15
General topology
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.
Figure 2: Example SSL VPN configuration
Remote client
FortiGate_1
FTP 10.11.101.170
At the FortiGate unit, you configure a user group for SSL VPN authentication and define firewall 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 firewall 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.
16
You can enable a host integrity checker to scan the remote client. The integrity checker probes the remote client computer to verify that it is safe before access is granted. Security attributes recorded on the client computer (for example, in the Windows registry, in specific files, or held in memory due to running processes) are examined and uploaded to the FortiGate unit. 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 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 pre-defined 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.
17
Note: Web browsers offer different SSL security capabilities. The FortiGate unit offers an SSL version 2 option through the CLI if required to support older browsers. In addition, the FortiGate unit supports a range of cipher suites for negotiating SSL communications with a variety of web browsers. The web browser must at least support a 64-bit cipher length.
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. 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. 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 firewall policy and protection profiles on the FortiGate unit ensure that inbound traffic is screened and processed securely.
18
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').
19
20
Refer to the FortiGate Installation Guide and FortiGate Administration Guide to change the password, configure the interfaces of the FortiGate unit, and assign basic operating parameters, including a default gateway. Refer also to the Examples chapter for example SSL VPN configurations.
21
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 24. Setting the idle timeout setting on page 25. Setting the client authentication timeout on page 25. Specifying the cipher suite for SSL negotiations on page 25. 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 26. Changing the port number for web portal connections on page 27. By default, SSL VPN connections use port 10443. Customizing the web portal login page on page 28.
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.
22
23
To set tunnel-mode client IP address range - web-based manager 1 Go to Firewall > Address and select Create New. 2 Enter a Name, for example, SSL_VPN_tunnel_range. 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
24
To specify WINS and DNS services for clients - CLI config vpn ssl settings set dns-server1 <address_ipv4> 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
25
2 In Encryption Key Algorithm, select one of the following options: If the web browser on the remote client is capable of matching a 128-bit or greater cipher suite, select Default - RC4(128 bits) and higher. If the web browser on the remote client is capable of matching a high level of SSL encryption, select High - AES(128/256 bits) and 3DES. This option enables cipher suites that use more than 128 bits to encrypt data. If you are not sure which level of SSL encryption the remote client web browser supports, select Low - RC4(64 bits), DES and higher. 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
26
To enable FortiGate unit authentication by certificate - web-based manager 1 Go to VPN > SSL > Config. 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 << Global appears in the left menu, select it to enter global configuration. 2 Go to System > Admin > Settings. 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
27
The login page is a replacement message composed of HTML code, which you can modify. Global replacement messages apply to all VDOMs by default, but individual VDOMs can define their own messages. To configure the SSL VPN login page - web-based manager 1 If you want to edit the global login page and << Global appears in the left menu, select << Global to enter global configuration. 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.
28
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 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.
29
30
31
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.
32
3 Optionally, you can select the Virtual Desktop tab to configure the Virtual Desktop feature. See Configuring virtual desktop on page 44. Or, you can leave this configuration for later. 4 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 44 and Configuring host checking on page 42. 5 Select OK. The web portal is displayed. 6 Select Apply to save the settings. 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.
Edit Remove
33
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 dragged 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 35 Configuring the Session Information widget on page 37 Configuring the Connection Tool widget on page 41 Adding, editing, or deleting bookmarks on page 38
To modify the color scheme and other basic settings, select the Settings button. See Configuring basic web portal settings on page 32. You can also configure several advanced features. For more information, see Configuring host checking on page 42 Configuring cache cleaning on page 44 Configuring virtual desktop on page 44 Configuring client OS Check on page 46 (CLI only)
When you have finished configuring the web portal page, select Apply to save the modifications. 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 9 on page 33, 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
FortiOS Handbook 4.0 MR2 SSL VPNs 01-40002-112804-20091130 http://docs.fortinet.com/ Feedback
34
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.
35
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. 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:
36
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.
Select to edit the information in the widget. Select to close the widget and remove it from the web portal home page. Select to save the Session Information configuration. Select to exit the Session Information widget without saving any changes. Enter a customized name for the Session Information widget.
To configure Session Information settings - CLI To change the name of the web-access Session Information widget to My Session, you would enter: config vpn ssl web portal edit web-access
37
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 Select OK.
Delete
38
3 Select the X to the right of the bookmark that you want to delete. 4 Select Done. To add or edit bookmarks - web-based manager 1 Open the web portal. 2 In the Bookmarks widget, do one of the following: To add a bookmark, select Add. To edit an existing bookmark, select the Edit button and then select the bookmark. 3 Enter or edit the following information:
Adding Editing
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. See Configuring the Bookmarks widget on page 38. Enter the destination of the bookmark. For HTTP, enter the URL or just the hostname. For HTTPS, enter the URL. For RDP, VNC, Telnet or SSH, enter the hostname. For FTP or SMB, enter hostname or //<hostname>/<path>. 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.
Location
Description SSO
39
Value
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.
Add
4 Select OK. 5 If there is a Done button, you can select another bookmark to edit or select Done to leave the edit mode. 6 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 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
40
Widget configuration
Connection controls (for user only) 4 Optionally, enter a new Name for the widget. 5 Select the types of Applications (protocols and services) that the Connection Tool is enabled to access. 6 Select OK. 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
41
5 Select OK. 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
42
Action
MD5 Signatures
43
To enable cache cleaning - web-based manager 1 Go to VPN > SSL > Portal and select the Edit icon for the web portal. 2 Select the Settings button. 3 Select the Security Control tab. 4 Select Clean Cache. 5 Select OK. 6 Select 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 plugin. If the user does not have the plugin, it is automatically downloaded to the client computer.
44
7 Select OK. 8 Select Apply. To enable virtual desktop - CLI To enable virtual desktop on the full-access portal and apply the application control list List1, for example, you would enter: config vpn ssl web portal edit full-access set virtual-desktop enable set virtual-desktop-app-list List1 end
45
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} set action {allow | check-up-to-date | deny} set latest-patch-level {disable | 0 - 255} set tolerance {tolerance_num} end end
Variable set os-check {disable | enable} config os-check-list {windows-2000 | windows-xp | windows-vista} Description Enable or disable SSL VPN OS patch level check. Default disable. Configure the OS of the patch level check. Available when os-check is set to enable. Default disable No default.
set action {allow | Specify how to perform the patch level check. allow check-up-to-date | deny} allow - any level is permitted check-up-to-date - some patch levels are permitted. Make selections for latestpatch-level and tolerance. deny - OS version is not permitted access Available when os-check is set to enable. set latest-patch-level {disable | 0 - 255} set tolerance {tolerance_num} Specify the latest allowed patch level. Available when action is check-up-to-date. Specify the allowable patch level tolerance. Lowest acceptable patch level equals latest-patch-level minus tolerance. Available when action is set to check-up-to-date. 2000: 4 XP, Vista: 2 0
46
Type or edit the remote user name (for example, User_1). Select to prevent this user from authenticating. Select to authenticate this user using a password stored on the FortiGate unit, and then enter the password. The password should be at least six characters long. Select to authenticate this user using a password stored on an LDAP server. Select the LDAP server from the list. You can select only an LDAP server that has been added to the FortiGate LDAP configuration. Select to authenticate this user using a password stored on a RADIUS server. Select the RADIUS server from the list. You can select only a RADIUS server that has been added to the FortiGate configuration. Select to authenticate this user using a password stored on a TACACS+ server. Select the TACACS+ server from the list. You can select only a TACACS+ server that has been added to the FortiGate TACACS+ configuration.
LDAP
RADIUS
TACACS+
2 Select OK.
47
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
Type or edit the user group name (for example, Web-only_group). Select the user group type - SSL VPN. Select the SSL VPN web portal configuration to use with the User Group. For more information, see Configuring SSL VPN web portals on page 30. The list of Local users, RADIUS servers, LDAP servers, TACACS+ servers, or PKI users that can be added to the user group. To add a member to this list, select the name and then select the right arrow button. The list of Local users, RADIUS servers, LDAP servers, TACACS+ servers, or PKI users that belong to the user group. To remove a member, select the name and then select the left arrow button.
2 Select OK. To create an SSL VPN user group - CLI To create the user group web_only associated with the web-access portal and add members User_1, User_2, and User_3, you would enter: config user group edit web_only
FortiOS Handbook 4.0 MR2 SSL VPNs 01-40002-112804-20091130 http://docs.fortinet.com/ Feedback
48
set group-type sslvpn set member User_1 User_2 User_3 set sslvpn-portal web-access end
If no policy matches, the connection is dropped. You should order the firewall policy list top to bottom from most specific to most general. Only the first matching firewall policy is applied to a connection, and you want the best match to occur first. You will need at least one SSL VPN firewall 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. If you will provide tunnel mode access, you will need a second firewall policy an ACCEPT tunnel mode policy to permit traffic to flow between the SSL VPN tunnel and the protected networks.
Figure 15: Example of firewall policies for SSL VPN
49
The source address for your SSL VPN firewall policies will be the pre-defined all address. If this address is missing, you can add it. Both the address and the netmask are 0.0.0.0. The all address is used because VPN clients will be connecting from various addresses, not just one or two known networks. For improved security, if clients will be connecting from one or two known locations you should configure firewall addresses for those locations, instead of using the all address. To create a firewall address 1 Go to Firewall > Address and select Create New. 2 Enter the following information and select OK.
Figure 16: Firewall address
Enter a name to identify the firewall address. Addresses, address groups, and virtual IPs must have unique names. Select Subnet/IP Range. Enter the firewall IP address in any of the following formats: an IP address and a subnet mask, separated by a slash, for example 172.16.10.0/255.255.255.0 a CIDR-format IP address with netmask, for example 172.16.10.0/24 a single address, for example 172.16.10.3 an IP address range, for example 172.16.10.[4-5] Select the interface, zone, or virtual domain (VDOM) link to which you want to bind the IP address. Select Any if you want to bind the IP address to the interface/zone when you create a firewall policy.
Interface
To create a firewall address - CLI To create, for example, the address OfficeLAN for the protected network you would enter: config firewall address edit OfficeLAN set type ipmask set subnet 10.11.101.0/24 set associated-interface port2 end In the following example, there are firewall addresses defined for the protected network OfficeLAN and the SSL VPN tunnel user IP address range SSL_tunnel_users. You can also see the all preconfigured address.
50
the level of SSL encryption to use and the authentication method which SSL VPN user groups can use the firewall policy the times (schedule) and types of services that users can access the protection profile and logging that are applied to the connection
51
To create an SSL-VPN firewall policy - web-based manager 1 Go to Firewall > Policy > Policy and select Create New. 2 Enter the following information:
Figure 18: Configuring a new SSL VPN firewall policy
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 SSL-VPN user group.
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 26. 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.
52
User Authentication Select the authentication server type by which the user will be authenticated: Method Local RADIUS LDAP TACACS+ Any NAT For a local user group that will be bound to this firewall policy. For remote clients that will be authenticated by an external RADIUS server. For remote clients that will be authenticated by an external LDAP server. For remote clients that will be authenticated by an external TACACS+ server. Accept any of the above authentication methods. Local is attempted first, then RADIUS, then LDAP, then TACACS+. Enable or disable Network Address Translation (NAT) of the source address and port. When NAT is enabled, you can also configure Dynamic IP Pool. If you select a virtual IP as the Destination Address, but do not select the NAT option, the FortiGate unit performs destination NAT (DNAT) rather than full NAT. Source NAT (SNAT) is not performed. If you enable NAT, the IP address of the outgoing interface of the FortiGate unit is used as the source address for new sessions started by SSL VPN. Optionally, add information about the policy. The maximum length is 63 characters.
Comments
Identity Based Policy is automatically enabled for SSL VPN firewall policies. The following steps define the identity based policy. 3 Select Add. The New Authentication Rule dialog box opens.
Figure 19: New Authentication Rule
53
Selected Services
Schedule
Protection Profile
5 Select OK. You can repeat the preceding two steps to add identity-based policies for other user groups as needed. If you have more than one SSL VPN web portal, you will have multiple user groups. Your identity-based policies are listed in the firewall 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 can also use the icons to edit or delete policies.
54
To create an SSL VPN firewall policy - CLI To create the firewall policy shown in Figure 18 on page 52, enter 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 set groups SSL-VPN set schedule always set service ANY end end
55
Destination Address
Select the firewall address you created that represents the networks and servers to which the SSL VPN clients will connect. To select multiple firewall addresses or address groups, 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. Select Accept. Enable or disable Network Address Translation (NAT) of the source address and port of packets accepted by the policy. When NAT is enabled, you can also configure Dynamic IP Pool and Fixed Port. If you select a virtual IP as the Destination Address, but do not select the NAT option, the FortiGate unit performs destination NAT (DNAT) rather than full NAT. Source NAT (SNAT) is not performed. Enable NAT to use the IP address of the outgoing interface of the FortiGate unit as the source address for new sessions started by SSL VPN. Otherwise, disable NAT. Optionally, add information about the policy. The maximum length is 63 characters.
Action NAT
Comments
To configure the tunnel mode firewall 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. See the following section.
Device Distance
56
To add the tunnel mode route - CLI If you assigned 10.11.254.0/24 as the tunnel IP range, you would enter: config router static edit <id> set device ssl.root set dst 10.11.254.0/24 end
To configure the Internet browsing firewall 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 set schedule always set service ANY set nat enable end
57
To configure interconnection with a route-based IPsec VPN - web-based manager 1 Go to Firewall > Policy and select Create New. 2 Enter the following information and select OK.
Source Interface/Zone Source Address Destination Interface/Zone Destination Address Action NAT 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 virtual IPsec interface for your IPsec VPN. Select the address of the IPsec VPN remote protected subnet. Select ACCEPT. Enable.
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 and select Create New. 2 Enter the following information and select OK.
Source Interface/Zone Source Address Destination Interface/Zone Destination Address Action VPN tunnel Allow inbound Allow outbound NAT inbound 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. Select IPSEC. Select the Phase 1 configuration name of your IPsec VPN. Enable Enable Enable
58
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 Log & Report chapter of the FortiGate Administration Guide. 5 Select Apply. To enable logging - CLI config log {fortianalyzer | memory | syslog} setting set status enable end For some log locations, there are additional options that you can set.
59
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. 2 Select the Edit icon for your SSL VPN policy. 3 For each identity-based policy, select its Edit icon, select Log Allowed Traffic and 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 firewall 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.
60
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
Delete No. User Source IP Begin Time Description The connection identifiers. The user names of all connected remote users. The IP addresses of the host devices connected to the FortiGate unit. The starting time of each connection. Information about the services provided by an SSL VPN tunnel session. Subsession Tunnel IP: IP address that the FortiGate unit assigned to the remote client. Delete icon: Delete current subsession. Delete a web session.
Action
When a tunnel-mode user is connected, the Description field displays the IP address that the FortiGate unit assigned to the remote host (see Figure 22).
Figure 22: SSL VPN monitor list - Tunnel-mode user
Delete
If required, you can end a session/connection by selecting the Delete button in the row that corresponds to the connection.
FortiOS Handbook 4.0 MR2 SSL VPNs 01-40002-112804-20091130 http://docs.fortinet.com/ Feedback
61
Troubleshooting
To monitor SSL VPNs - web-based manager To list all of the SSL VPN sessions and their index numbers: get vpn ssl monitor To delete tunnel-mode or web-mode sessions: execute vpn sslvpn del-tunnel <index_int> execute vpn sslvpn del-web <index_int>
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 firewall 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 56. 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 config vpn ssl settings set route-source-interface enable end Error: Destination address of Split Tunneling policy is invalid. The SSL VPN firewall policy uses the ALL address as its destination. Specify the address of the protected network instead.
Error: The web page cannot be found. Tunnel connects, but there is no communication. Tunnel-mode connection shuts down after a few seconds
command:
62
3 Select Login. The FortiGate unit will redirect your web browser to the FortiGate SSL VPN web portal home page automatically.
FortiOS Handbook 4.0 MR1 SSL VPNs 01-401-112804-20091209 http://docs.fortinet.com/ Feedback
63
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 65. 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 74. 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 78. 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.
64
Applications
Depending on the web portal configuration and user group settings, one or more of the following server applications are available to you through Bookmarks or the Connection Tool: Ping enables you to test whether a particular server or host is reachable on the network. HTTP/HTTPS accesses web pages. Telnet (Teletype Network emulation) enables you to use your computer as a virtual text-only terminal to log in to a remote host. SSH (Secure Shell) enables you to exchange data between two computers using a secure channel. FTP (File Transfer Protocol) enables you to transfer files between your computer and a remote host. SMB/CIFS implements the Server Message Block (SMB) protocol to support file sharing between your computer and a remote server host. VNC (Virtual Network Computing) enables you to remotely control another computer, for example, accessing your work computer from your home computer. RDP (Remote Desktop Protocol), similar to VNC, enables you to remotely control a computer running Microsoft Terminal Services.
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 on page 66.
Note: If you want to access a web server or telnet server without first adding a bookmark to the My Bookmarks list, type the URL or IP address of the server into the appropriate field under Tools instead. For more information, see Using the Connection Tool on page 67.
65
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 boomark 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 70. 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. These fields are available if SSO is Static. 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
SSO fields SSO Credentials Username Password Static SSO fields Field Name Value
Add
66
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
67
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 25: An FTP session
Logout
Delete Rename
68
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 Up Upload Logout
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.
69
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 also specify language and locale by adding the -m parameter, For example: 10.11.101.12 -m fr Select the locale code that matches your local installation of Windows - for example, if your local machine has the Turkish version of Windows installed, select tr, regardless of the version of Windows installed on the server you connect to. The codes are as follows:
ar: Arabic da: Danish de: German de-ch: Swiss German en-gb: English, Great Britain en-us: English, US es: Spanish fi: Finnish fr: French fr-be: Belgian French fr-ch: Swiss French hr: Croatian it: Italian ja: Japanese lt: Lithuanian lv: Latvian mk: Macedonian no: Norwegian pl: Polish pt: Portuguese pt-br: Brazilian Portuguese ru: Russian sl: Slovenian sv: Sudanese tk: Turkmen tr: Turkish
70
4 Optionally, you can specify the screen resolution. Add -f to run RDP full-screen. For example: 10.11.101.12 -f Add -g <width>x<height> to specify the screen size in pixels. For example: 10.11.101.12 -g 800x600 5 Select Go. A login window opens.
The screen configuration dialog does not appear if you specified the screen resolution with the host address.
71
7 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.
8 Select Login. 9 To end the RDP session, Log out of Windows or select Cancel from the Logon window.
72
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. 6 To end the VNC session, close the VNC window.
73
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 80.
Figure 26: 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.
74
75
76
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. See Web-only mode client requirements on page 17 for detailed requirements.
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 Tunnel-mode client requirements on page 18 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).
77
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 Select Firmware Images and then FortiGate. The Support FTP site opens. 3 Select v4.00 and then select the latest firmware release, 4.0MR2, for example. The list of firmware images opens. 4 Select SSL VPN Clients. 5 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.
78
Windows
Double-click the SslvpnClient.exe or SslvpnClient.msi file and follow the onscreen 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. The command line terminal window opens. 3 If you are asked for your password, enter it. The License Agreement dialog appears in the command line terminal window. 4 Read the License Agreement and enter Yes to accept it. The FortiClient SSL VPN tunnel client (Linux) opens. You can begin using the application immediately or close it. 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. The Mac mounts the disk image as forticlientsslvpn. 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 3 Unmount the disk image by selecting the disk image file forticlientsslvpn_macosx_<version>.dmg and dragging it into the Trash.
79
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 81. 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. 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 81. Start tunnel mode operation. Stop tunnel mode operation. Close the tunnel mode client application.
Connection
80
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 80 for information about the fields. 6 Optionally, select Keep connection alive until manually stopped to prevent tunnel connections from closing due to inactivity. 7 Select OK.
81
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. The FortiClient SSL VPN tunnel client opens.
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 81. 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 83. Start tunnel mode operation. Stop tunnel mode operation.
82
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.... 3 Optionally, select Keep connection alive until manually stopped to prevent tunnel connections from closing due to inactivity. 4 Optionally, 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 82 for information about the fields. 8 Select Done.
83
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. The FortiClient SSL VPN tunnel client (Mac OS X) opens.
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 85. 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 85. Start tunnel mode operation. Stop tunnel mode operation.
Server
84
To configure tunnel client settings (Mac OS X) 1 Go to the Applications folder and double-click on forticlientsslvpn.app. The FortiClient SSL VPN tunnel client (Mac OS X) opens.
2 Select Settings.... 3 Optionally, select Keep connection alive until manually stopped to prevent tunnel connections from closing due to inactivity. 4 Optionally, 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.
FortiOS Handbook 4.0 MR1 SSL VPNs 01-401-112804-20091209 http://docs.fortinet.com/ Feedback
85
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 84 for information about the fields. 8 Select Done.
86
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 firewall 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
OfficeLAN 10.11.101.0/24 Internet HTTP/HTTPS 10.11.101.120 port 1 172.20.120.141 DNS 10.11.101.160 port 2 10.11.101.100
Remote client
FortiGate_1
FTP 10.11.101.170
Samba 10.11.101.180
87
Examples
Infrastructure requirements
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. For client requirements, see Web-only mode client requirements on page 17 and Tunnel-mode client requirements on page 18.
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 firewall policies: The SSL VPN firewall 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
88
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 - web-based manager 1 Go to VPN > SSL > Config. 2 Select Enable SSL-VPN. 3 In IP Pools, select Edit. 4 In the Available list, select SSL_tunnel_users and then select the down arrow button to move the address to the Selected list. Select OK. 5 Select Apply. 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
89
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
90
Examples
To create the SSL VPN firewall policy - web-based manager 1 Go to Firewall > Policy. 2 Select Create New and enter the following information:
Source Interface/Zone Source Address Destination Interface/Zone Destination Address Action User Authentication Method NAT port1 All port2 OfficeLAN SSL-VPN Local Enable
4 Select OK, and then select OK again. To create the SSL VPN firewall policy - CLI 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 1 set groups group1 set schedule always set service ANY end end
91
Examples
To create the tunnel-mode firewall policy - web-based manager 1 Go to Firewall > 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 firewall 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
92
Examples
user1 user2
Subnet_1 10.11.101.0/24
Internet
port 1 172.20.120.141
HTTP/HTTPS 10.11.101.120
DNS 10.11.101.160
FTP 10.11.101.170
Samba 10.11.101.180
Subnet_2 10.11.201.0/24
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.
93
Examples
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 firewall policies: two SSL VPN firewall 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.
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
94
Examples
To define tunnel client addresses - web-based manager 1 Go to Firewall > Address. 2 Select Create New, enter the following information, and select OK:
Address Name Type Subnet / IP Range Interface Tunnel_group1 Subnet / IP Range 10.11.254.[1-50] Any
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
95
Examples
4 Select the Edit icon on the Tunnel Mode widget. 5 In IP Pools, select Edit. 6 In the Available list, select Tunnel_ group2 and then select the down arrow button. Select OK. 7 Select OK in the Tunnel Mode widget. 8 Select OK. 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.
96
Examples
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 edit group2 set group-type sslvpn set member user2 set sslvpn-portal portal2 end
97
Examples
To create the SSL VPN firewall policies - web-based manager 1 Go to Firewall > Policy. 2 Select Create New and enter the following information:
Source Interface/Zone Source Address Destination Interface/Zone Destination Address Action User Authentication Method NAT port1 All port2 Subnet_1 SSL-VPN Local Enable
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 User Authentication Method NAT port1 All port3 Subnet_2 SSL-VPN Local Enable
7 Select OK, and then select OK again. To create the SSL VPN firewall 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
FortiOS Handbook 4.0 MR1 SSL VPNs 01-401-112804-20091209 http://docs.fortinet.com/ Feedback
98
Examples
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 firewall policies - web-based manager 1 Go to Firewall > 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 Action NAT sslvpn tunnel interface (ssl.root) Tunnel_group2 port3 Subnet_2 ACCEPT Enable
To create the tunnel-mode firewall 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
FortiOS Handbook 4.0 MR1 SSL VPNs 01-401-112804-20091209 http://docs.fortinet.com/ Feedback
99
Examples
dstaddr Subnet_2 action accept schedule always service ANY nat enable
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
100
Examples
101
Examples
102
Index
Symbols
%passwd%, 66 %username%, 66
D
deployment topology, 16, 88 destination firewall policy, 52, 55, 57, 58, 91, 92, 98, 99 destination NAT (DNAT), 53 documentation commenting on, 8 Fortinet, 8 downloading tunnel client, 78
A
adding bookmarks, 66 Address Name firewall address, 50 authentication timeout setting, 25
B
bookmarks user-defined, 66 bookmarks, web-portal, 65
E
example complex SSL VPN, 93 OS patch check, 101
C
cache cleaner introduction, 17 certificates self signed, 63 cipher suite, SSL negotiations, 25 client downloading, 78 using Linux, 82 using Mac OS, 84 using Windows, 80 client requirements tunnel mode, 18 web-only mode, 17 comments firewall policy, 53, 56 comments, documentation, 8 configuration, general steps, 21 connecting to FTP server, 68 to PC by RDP, 70 to PC by VNC, 73 to secure HTTP gateway, 63 to SMB/CIFS file share, 69 to SSH server, 70 to telnet server, 67 to web portal, 63 to web server, 67 to web-based manager, 22 Connection Tool using, 67 connections defining bookmarks to, 66 connectivity, testing for, 67 customer service, 8
F
firewall address address name, 50 IP range/subnet, 50 subnet, 50 firewall policy comments, 53, 56 destination, 52, 55, 57, 58, 91, 92, 98, 99 log traffic, 54 protection profile, 54 source, 52, 55, 57, 58, 91, 92, 98, 99 web-only mode access, 49 FortiGate documentation commenting on, 8 Fortinet customer service, 8 Fortinet documentation, 8 Fortinet Knowledge Center, 8 FTP server, connecting to, 68
H
home page, web portal features, 64 host check introduction, 17 OS, 46 host OS patch check, 46
I
idle timeout setting, 25 infrastructure requirements, 16, 88 overall, 16, 88 tunnel-mode clients, 18 installation note re installation on Vista, 19
103
Index
introduction deployment topology, 16 Fortinet documentation, 8 general configuration steps, 21 IP address range, tunnel mode, 23 IP range/subnet firewall address, 50 IPSec VPN comparison to SSL, 14
R
RDP setting locale, 70 setting screen resolution, 71 RDP session, establishing, 70 replacement message, to customize web portal login page, 28
S
screen resolution for RDP connection, 71 security choosing security level, 14 Single Sign On (SSO) bookmarks, 66 Single Sign-on (SSO) adding SSO bookmark (user), 66 overview, 19 SMB/CIFS file share connecting to, 69 source firewall policy, 52, 55, 57, 58, 91, 92, 98, 99 source NAT (SNAT), 53 SSH server, connecting to, 70 SSL VPN configuration overview, 21 default web portal, 32 downloading client, 78 enabling, 100 event logging, 59 host OS patch check, 46 using Linux client, 82 using Mac OS client, 84 using Windows client, 80 Virtual Desktop, 78 SSL VPN web portal, 30 default, 32 SSLv2 support note regarding, 18 subnet firewall address, 50
K
keyboard for RDP connection, 70
L
language for RDP connection, 70 locale for RDP connection, 70 log traffic, firewall policy, 54 logging enabling SSL VPN events, 60 setting event-logging parameters, 59 viewing SSL VPN logs, 60, 61 logging in to FortiGate secure HTTP gateway, 63
M
modes of operation overview, 16 tunnel mode, 18 web-only mode, 17
N
network configuration, 16, 88 recommended, 16
O
OS host patch check, 46 OS patch check example, 101
T
technical support, 8 telnet server, connecting to, 67 tunnel mode, 18 client requirements, 18 configuring FortiGate server, 55 IP address range, 23 web portal features, 74 tunnel mode client installing in Linux, 79 installing in Mac OS, 79 installing in Windows, 79 using in Linux, 82 using in Mac OS, 84 using in Windows, 80
P
patch check host OS, 46 ping host from remote client, 67 policy comments, 53, 56 log traffic, 54 protection profile, 54 port number for web-portal connections, 27 protection profile firewall policy, 54
U
URL for user log in, 63 FortiOS Handbook 4.0 MR1 SSL VPNs 01-401-112804-20091209 http://docs.fortinet.com/ Feedback
104
Index
user accounts, creating, 47 user groups for different access permissions, example, 93 user groups, creating, 47
V
Virtual Desktop, 78 using, 75 VNC starting a session, 73
web server connecting to, 67 web-based manager connecting to, 22 web-only mode, 17 client requirements, 17 firewall policy for, 49 widget tunnel mode, 74 widgets web portal, 64
W
web portal, 66 adding caption to home page, 35 customizing login page, 28 home page features, 64 logging in, 63 server applications, 65 setting login page port number, 27 SSL VPN,SSL VPN web portal customize, 30 tunnel mode features, 74 using bookmarks, 65 widgets, 64
X
X.509 security certificates, 26
105
Index
106