Category Archives: FortiGate

Configuration revision

Configuration revision

The Configuration Revisions menu enables you to manage multiple versions of configuration files on models that have a 512 flash memory and higher. Revision control requires either a configured central management server or the local hard drive. The central management server can either be a FortiManager unit or FortiCloud.

If central management is not configured on your FortiGate unit, a message appears to tell you to do one of the following:

  • enable central management
  • obtain a valid license.

When revision control is enabled on your FortiGate unit, and configurations backups have been made, a list of saved revisions of those backed-up configurations appears.

Configuration revisions are viewed in the System Information widget on the Dashboard.


Having trouble configuring your Fortinet hardware or have some questions you need answered? Check Out The Fortinet Guru Youtube Channel! Want someone else to deal with it for you? Get some consulting from Fortinet GURU!

Firmware

Firmware

Fortinet periodically updates the FortiGate firmware to include new features and resolve important issues. After you have registered your FortiGate unit, you can download firmware updates from the support web site, https://support.fortinet.com.

 

Before you install any new firmware, be sure to follow the steps below:

  • Review the Release Notes for a new firmware release.
  • Review the Supported Upgrade Paths document to make sure the upgrade from your current image to the desired new image is supported.
  • Backup the current configuration, including local certificates. For more information, see Firmware on page 2321.
  • Test the new firmware until you are satisfied that it applies to your configuration.

Installing new firmware without reviewing release notes or testing the firmware may result in changes to settings or unexpected issues.

Only FortiGate admin users and administrators whose access profiles contain system read and write privileges can change the FortiGate firmware.

 

Backing up the current configuration

In case you need to restore your FortiGate configuration, you should always back up the configuration before installing new firmware.

 

To create a local backup:

1. Go to System > Dashboard > Status and locate the System Information widget.

2. Select Backup beside System Configuration.

3. Choose either Local PC or USB Disk to save the configuration file.

4. If desired, select Encrypt configuration file.

5. Select Backup.

 

Restoring configuration

Rather than reconfigure the FortiGate manually, it is possible to upload a saved configuration file.

 

To restore your FortiGate configuration

1. Go to System > Dashboard > Status and locate the System Information widget.

2. Select [Restore] beside System Configuration.

3. Choose either Local PC or USB Disk depending the location of the file.

4. Select Choose File and browse to the correct file in the file manager window.

5. If a password was associated with the configuration file, enter it in the Password field.

6. Select Restore.

 

Troubleshooting

During the installation there are some possible errors that you may come across but the solutions are usually straightforward.

 

Error mes- sage

Reason and Solution

Configuration file error

This error occurs when attempting to upload a configuration file that is incompatible with the device. This may be due to the configuration file being for a different model or being saved from a different version of firmware.

Solution: upload a configuration file that is for the correct model of FortiGate device and the correct version of the firmware.

Invalid pass- word

When the configuration file is saved, it can be protected by a password. The password entered during the upload process is not matching the one associated with the configuration file.

Solution: use the correct password if the file is password protected.

Downloading firmware

Firmware images for all FortiGate units is available on the Fortinet Customer Support website, https://support.fortinet.com.

 

To download firmware

1. Log into the site using your user name and password.

2. Go to Download > Firmware Images.

3. A list of Release Notes is shown. If you have not already done so, download and review the Release Notes for the firmware you wish to upgrade your FortiGate unit to.

4. Select HTTPS Download.

Firmware can also be downloaded using FTP; however, as FTP is not an encrypted file transferring protocol, HTTPS downloading is recommended.

5. Navigate to find the folder for the firmware version you wish to use.

6. Select your FortiGate model from the list. If your unit is a FortiWiFi, be sure to get the appropriate firmware, which will have a filename starting with FWF.

7. Save the firmware image to your computer.

 

Testing new firmware before installing

FortiOS enables you to test a new firmware image by installing the firmware image from a system reboot and saving it to system memory. After completing this procedure, the FortiGate unit operates using the new firmware image with the current configuration. This new firmware image is not permanently installed. The next time the FortiGate unit restarts, it operates with the originally installed firmware image using the current configuration. If the new firmware image operates successfully, you can install it permanently using the procedure Testing new firmware before installing on page 2322 .

To use this procedure, you must connect to the CLI using the FortiGate console port and a RJ-45 to DB-9 or null modem cable. This procedure temporarily installs a new firmware image using your current configuration.

For this procedure, you must install a TFTP server that you can connect to from the FortiGate internal interface. The TFTP server should be on the same subnet as the internal interface.

To test the new firmware image

1. Connect to the CLI using a RJ-45 to DB-9 or null modem cable.

2. Make sure the TFTP server is running.

3. Copy the new firmware image file to the root directory of the TFTP server.

4. Make sure the FortiGate unit can connect to the TFTP server using the execute ping command.

5. Enter the following command to restart the FortiGate unit:

execute reboot

6. As the FortiGate unit reboots, press any key to interrupt the system startup. As the FortiGate unit starts, a series of system startup messages appears.

When the following messages appears:

Press any key to display configuration menu….

7. Immediately press any key to interrupt the system startup.

 

You have only 3 seconds to press any key. If you do not press a key soon enough, the FortiGate unit reboots and you must login and repeat the execute reboot command.

 

If you successfully interrupt the startup process, the following messages appears:

[G]: Get firmware image from TFTP server. [F]: Format boot device.

[B]: Boot with backup firmware and set as default

[C]: Configuration and information

[Q]: Quit menu and continue to boot with default firmware. [H]: Display this list of options.

Enter G, F, Q, or H:

8. Type G to get the new firmware image from the TFTP server.

The following message appears:

Enter TFTP server address [192.168.1.168]:

9. Type the address of the TFTP server and press Enter.

The following message appears:

Enter Local Address [192.168.1.188]:

10. Type an IP address of the FortiGate unit to connect to the TFTP server.

 

The IP address must be on the same network as the TFTP server.

Make sure you do not enter the IP address of another device on this network. The following message appears:

Enter File Name [image.out]:

11. Enter the firmware image file name and press Enter.

The TFTP server uploads the firmware image file to the FortiGate unit and the following appears.

Save as Default firmware/Backup firmware/Run image without saving: [D/B/R]

12. Type R.

 

The FortiGate image is installed to system memory and the FortiGate unit starts running the new firmware image, but with its current configuration.

You can test the new firmware image as required. When done testing, you can reboot the FortiGate unit, and the FortiGate unit will resume using the firmware that was running before you installed the test firmware.

 

Upgrading the firmware – web-based manager

Installing firmware replaces your current antivirus and attack definitions, along with the definitions included with the firmware release you are installing. After you install new firmware, make sure that antivirus and attack definitions are up to date.

Always remember to back up your configuration before making any changes to the firmware.

 

To upgrade the firmware

1. Log into the web-based manager as the admin administrative user.

2. Go to System > Dashboard > Status and locate the System Information widget.

3. Beside Firmware Version, select Update.

4. Type the path and filename of the firmware image file, or select Browse and locate the file.

5. Select OK.

The FortiGate unit uploads the firmware image file, upgrades to the new firmware version, restarts, and displays the FortiGate login. This process takes a few minutes.

 

Upgrading the firmware – CLI

Installing firmware replaces your current antivirus and attack definitions, along with the definitions included with the firmware release you are installing. After you install new firmware, make sure that antivirus and attack definitions are up to date. You can also use the CLI command execute update-now to update the antivirus and attack definitions. For more information, see the System Administration handbook.

Before you begin, ensure you have a TFTP server running and accessible to the FortiGate unit.

Always remember to back up your configuration before making any changes to the firmware.

 

To upgrade the firmware using the CLI

1. Make sure the TFTP server is running.

2. Copy the new firmware image file to the root directory of the TFTP server.

3. Log into the CLI.

4. Make sure the FortiGate unit can connect to the TFTP server.

You can use the following command to ping the computer running the TFTP server. For example, if the IP address of the TFTP server is 192.168.1.168:

execute ping 192.168.1.168

5. Enter the following command to copy the firmware image from the TFTP server to the FortiGate unit:

execute restore image tftp <filename> <tftp_ipv4>

Where <name_str>  is the name of the firmware image file and <tftp_ip4> is the IP address of the TFTP server. For example, if the firmware image file name is image.out and the IP address of the TFTP server is 192.168.1.168, enter:

execute restore image tftp image.out 192.168.1.168

The FortiGate unit responds with the message:

This operation will replace the current firmware version!

Do you want to continue? (y/n)

6. Type y.

7. The FortiGate unit uploads the firmware image file, upgrades to the new firmware version, and restarts. This process takes a few minutes.

8. Reconnect to the CLI.

9. Update antivirus and attack definitions, by entering:

execute update-now

 

Installing firmware from a system reboot using the CLI

There is a possibility that the firmware upgrade does not load properly and the FortiGate unit will not boot, or continuously reboots. If this occurs, it is best to perform a fresh install of the firmware from a reboot using the CLI.

This procedure installs a firmware image and resets the FortiGate unit to default settings. You can use this procedure to upgrade to a new firmware version, revert to an older firmware version, or re-install the current firmware.

To use this procedure, you must connect to the CLI using the FortiGate console port and a RJ-45 to DB-9, or null modem cable. This procedure reverts the FortiGate unit to its factory default configuration.

For this procedure you install a TFTP server that you can connect to from the FortiGate internal interface. The TFTP server should be on the same subnet as the internal interface.

Before beginning this procedure, ensure you back up the FortiGate unit configuration.

If you are reverting to a previous FortiOS version, you might not be able to restore the previous configuration from the backup configuration file.

Installing firmware replaces your current antivirus and attack definitions, along with the definitions included with the firmware release you are installing. After you install new firmware, make sure that antivirus and attack definitions are up to date.

 

To install firmware from a system reboot

1. Connect to the CLI using the RJ-45 to DB-9 or null modem cable.

2. Make sure the TFTP server is running.

3. Copy the new firmware image file to the root directory of the TFTP server.

4. Make sure the internal interface is connected to the same network as the TFTP server.

5. To confirm the FortiGate unit can connect to the TFTP server, use the following command to ping the computer running the TFTP server. For example, if the IP address of the TFTP server is 192.168.1.168:

execute ping 192.168.1.168

6. Enter the following command to restart the FortiGate unit.

execute reboot

The FortiGate unit responds with the following message:

This operation will reboot the system! Do you want to continue? (y/n)

7. Type y.

As the FortiGate unit starts, a series of system startup messages appears. When the following messages appears:

Press any key to display configuration menu……….

Immediately press any key to interrupt the system startup.

You have only 3 seconds to press any key. If you do not press a key soon enough, the FortiGate unit reboots and you must log in and repeat the execute reboot command.

If you successfully interrupt the startup process, the following messages appears:

[G]: Get firmware image from TFTP server. [F]: Format boot device.

[B]: Boot with backup firmware and set as default

[C]: Configuration and information

[Q]: Quit menu and continue to boot with default firmware. [H]: Display this list of options.

Enter G, F, Q, or H:

8. Type G to get to the new firmware image form the TFTP server.

 

The following message appears:

Enter TFTP server address [192.168.1.168]:

9. Type the address of the TFTP server and press Enter.

The following message appears:

Enter Local Address [192.168.1.188]:

10. Type an IP address the FortiGate unit can use to connect to the TFTP server. The IP address can be any IP

address that is valid for the network the interface is connected to.

Make sure you do not enter the IP address of another device on this network. The following message appears:

Enter File Name [image.out]:

11. Enter the firmware image filename and press Enter.

The TFTP server uploads the firmware image file to the FortiGate unit and a message similar to the following appears:

Save as Default firmware/Backup firmware/Run image without saving: [D/B/R]

12. Type D.

The FortiGate unit installs the new firmware image and restarts. The installation might take a few minutes to complete.

 

Reverting to a previous firmware version – CLI

This procedure reverts the FortiGate unit to its factory default configuration and deletes IPS custom signatures, web content lists, email filtering lists, and changes to replacement messages.

Before beginning this procedure, it is recommended that you:

  • back up the FortiGate unit system configuration using the command execute backup config
  • back up the IPS custom signatures using the command  execute backup ipsuserdefsig
  • back up web content and email filtering lists

To use the following procedure, you must have a TFTP server the FortiGate unit can connect to.

 

To revert to a previous firmware version using the CLI

1. Make sure the TFTP server is running

2. Copy the firmware image file to the root directory of the TFTP server.

3. Log into the FortiGate CLI.

4. Make sure the FortiGate unit can connect to the TFTP server execute by using the execute ping command.

5. Enter the following command to copy the firmware image from the TFTP server to the FortiGate unit:

execute restore image tftp <name_str> <tftp_ipv4>

Where <name_str> is the name of the firmware image file and <tftp_ip4> is the IP address of the TFTP server. For example, if the firmware image file name is imagev28.out and the IP address of the TFTP server is 192.168.1.168, enter:

execute restore image tftp image28.out 192.168.1.168

The FortiGate unit responds with this message:

This operation will replace the current firmware version!

Do you want to continue? (y/n)

6. Type y.

 

The FortiGate unit uploads the firmware image file. After the file uploads, a message similar to the following appears:

Get image from tftp server OK. Check image OK.

This operation will downgrade the current firmware version! Do you want to continue? (y/n)

7. Type y.

8. The FortiGate unit reverts to the old firmware version, resets the configuration to factory defaults, and restarts.

This process takes a few minutes.

9. Reconnect to the CLI.

10. To restore your previous configuration, if needed, use the command:

execute restore config <name_str> <tftp_ip4>

11. Update antivirus and attack definitions using the command:

execute update-now.

 

Reverting to a previous firmware version – web-based manager

The following procedures revert the FortiGate unit to its factory default configuration and deletes any configuration settings. If you are reverting to a previous FortiOS version, you might not be able to restore the previous configuration from the backup configuration file.

Always remember to back up your configuration before making any changes to the firmware.

 

To revert to a previous firmware version

1. Go to System > Dashboard > Status and locate the System Information widget.

2. Beside Firmware Version, select Update.

3. Type the path and filename of the firmware image file, or select Browse and locate the file.

4. Select OK.

The FortiGate unit uploads the firmware image file, reverts to the old firmware version, resets the configuration, restarts, and displays the FortiGate login. This process takes a few minutes.


Having trouble configuring your Fortinet hardware or have some questions you need answered? Check Out The Fortinet Guru Youtube Channel! Want someone else to deal with it for you? Get some consulting from Fortinet GURU!

Using the CLI

Using the CLI

The command line interface (CLI) is an alternative configuration tool to the web-based manager. While the configuration of the web-based manager uses a point-and-click method, the CLI requires typing commands or uploading batches of commands from a text file, like a configuration script.

 

This section also explains common CLI tasks that an administrator does on a regular basis and includes the topics:

  • Connecting to the CLI
  • Command syntax
  • Sub-commands
  • Permissions
  • Tips

 

Connecting to the CLI

You can access the CLI in three ways:

  • Locally with a console cable — Connect your computer directly to the FortiGate unit’s console port. Local access is required in some cases:
  • If you are installing your FortiGate unit for the first time and it is not yet configured to connect to your network, unless you reconfigure your computer’s network settings for a peer connection, you may only be able to connect to the CLI using a local serial console connection.
  • Restoring the firmware utilizes a boot interrupt. Network access to the CLI is not available until after the boot process has completed, making local CLI access the only viable option.
  • Through the network — Connect your computer through any network attached to one of the FortiGate unit’s network ports. The network interface must have enabled Telnet or SSH administrative access if you will connect using an SSH/Telnet client, or HTTP/HTTPS administrative access if you will connect using the CLI Console widget in the web-based manager.
  • Locally with FortiExplorer — Connect your computer directly to the FortiGate unit’s USB management port.

FortiExplorer provides direct access to the FortiOS setup wizard, Web-based Manager, and CLI console.

 

Connecting to the CLI using a local console

Local console connections to the CLI are formed by directly connecting your management computer or console to the FortiGate unit, using its DB-9 or RJ-45 console port. To connect to the local console you need:

  • A computer with an available serial communications (COM) port.
  • The RJ-45-to-DB-9 or null modem cable included in your FortiGate package.
  • Terminal emulation software such as HyperTerminal for Microsoft Windows.

The following procedure describes connection using Microsoft HyperTerminal software; steps may vary with other terminal emulators.

 

To connect to the CLI using a local serial console connection

1. Using the null modem or RJ-45-to-DB-9 cable, connect the FortiGate unit’s console port to the serial communications (COM) port on your management computer.

2. On your management computer, start HyperTerminal.

3. For the Connection Description, enter a Name for the connection, and select OK.

4. On the Connect using drop-down list box, select the communications (COM) port on your management computer you are using to connect to the FortiGate unit.

5. Select OK.

6. Select the following Port settings and select OK.

Bits per second                         9600

Data bits                                     8

Parity                                          None

Stop bits                                     1

Flow control                              None

  1. 7. Press Enter or Return on your keyboard to connect to the CLI.
  2. 8. Type a valid administrator account name (such as admin) and press Enter.
  3. 9. Type the password for that administrator account and press Enter. (In its default state, there is no password for the admin account)

The CLI displays the following text:

Welcome!

Type ? to list available commands.

You can now enter CLI commands, including configuring access to the CLI through SSH or Telnet.

 

Enabling access to the CLI through the network (SSH or Telnet)

SSH or Telnet access to the CLI is accomplished by connecting your computer to the FortiGate unit using one of its RJ-45 network ports. You can either connect directly, using a peer connection between the two, or through any intermediary network.

If you do not want to use an SSH/Telnet client and you have access to the web-based manager, you can alternatively access the CLI through the network using the CLI Console widget in the web-based manager.

You must enable SSH and/or Telnet on the network interface associated with that physical network port. If your computer is not connected directly or through a switch, you must also configure the FortiGate unit with a static route to a router that can forward packets from the FortiGate unit to your computer. You can do this using either a local console connection or the web-based manager.

 

Requirements

  • A computer with an available serial communications (COM) port and RJ-45 port
  • Terminal emulation software such as HyperTerminal for Microsoft Windows l  The RJ-45-to-DB-9 or null modem cable included in your FortiGate package l  A network cable
  • Prior configuration of the operating mode, network interface, and static route.

 

To enable SSH or Telnet access to the CLI using a local console connection

1. Using the network cable, connect the FortiGate unit’s network port either directly to your computer’s network port, or to a network through which your computer can reach the FortiGate unit.

2. Note the number of the physical network port.

3. Using a local console connection, connect and log into the CLI.

4. Enter the following command:

config system interface edit <interface_str>

set allowaccess <protocols_list>

end

where:

  • <interface_str> is the name of the network interface associated with the physical network port and containing its number, such as port1
  • <protocols_list> is the complete, space-delimited list of permitted administrative access protocols, such as https ssh telnet

For example, to exclude HTTP, HTTPS, SNMP, and PING, and allow only SSH and Telnet administrative access on port1:

config system interface edit port1

set allowaccess ssh telnet end

5. To confirm the configuration, enter the command to display the network interface’s settings.

show system interface <interface_str>

The CLI displays the settings, including the allowed administrative access protocols, for the network interfaces.

 

Connecting to the CLI using SSH

Once the FortiGate unit is configured to accept SSH connections, you can use an SSH client on your management computer to connect to the CLI.

Secure Shell (SSH) provides both secure authentication and secure communications to the CLI. FortiGate units support 3DES and Blowfish encryption algorithms for SSH.

Before you can connect to the CLI using SSH, you must first configure a network interface to accept SSH connections. The following procedure uses PuTTY. Steps may vary with other SSH clients.

 

To connect to the CLI using SSH

1. On your management computer, start an SSH client.

2. In Host Name (or IP Address), enter the IP address of a network interface on which you have enabled SSH administrative access.

3. In Port, enter 22.

4. For the Connection type, select SSH.

5. Select Open.

The SSH client connects to the FortiGate unit.

The SSH client may display a warning if this is the first time you are connecting to the FortiGate unit and its SSH key is not yet recognized by your SSH client, or if you have previously connected to the FortiGate unit but used a different IP address or SSH key. This is normal If your management computer is directly connected to the FortiGate unit with no network hosts between them.

6. Click Yes to verify the fingerprint and accept the FortiGate unit’s SSH key. You will not be able to log in until you have accepted the key.

7. The CLI displays a login prompt.

8. Type a valid administrator account name (such as admin) and press Enter.

9. Type the password for this administrator account and press Enter.

The FortiGate unit displays a command prompt (its host name followed by a #. You can now enter CLI commands.

If three incorrect login or password attempts occur in a row, you will be disconnected. If this occurs, wait one minute, then reconnect to attempt the login again.

 

Connecting to the CLI using Telnet

Once the FortiGate unit is configured to accept Telnet connections, you can use a Telnet client on your management computer to connect to the CLI.

Telnet is not a secure access method. SSH should be used to access the CLI from the Internet or any other untrusted network.

Before you can connect to the CLI using Telnet, you must first configure a network interface to accept Telnet connections.

 

To connect to the CLI using Telnet

1. On your management computer, start a Telnet client.

2. Connect to a FortiGate network interface on which you have enabled Telnet.

3. Type a valid administrator account name (such as admin) and press Enter.

4. Type the password for this administrator account and press Enter.

The FortiGate unit displays a command prompt (its host name followed by a #. You can now enter CLI commands.

If three incorrect login or password attempts occur in a row, you will be disconnected. If this occurs, wait one minute, then reconnect to attempt the login again.

 

Connecting to the CLI locally with FortiExplorer

FortiExplorer is a standalone software solution that allows you to connect to your FortiGate device using the USB interface of your management computer. FortiExplorer provides direct access to the FortiOS setup wizard, Web- based Manager, and CLI console.

FortiExplorer is available for download from the Customer Service & Support web site https://support.fortinet.com in firmware images. FortiExplorer is available for both Microsoft Windows and Mac OS X computers.

FortiExplorer provides a user-friendly tool that you can use to configure a FortiGate unit over a standard USB connection, rather than using a console cable or Ethernet connection.

Do not connect the USB cable until after FortiExplorer has been installed.

 

Installing FortiExplorer on Microsoft Windows

To install FortiExplorer on a Microsoft Windows workstation:

1. Double-click the .msi or .exe file and follow the instructions on-screen.

2. Connect the USB cable to the FortiGate unit and then to the management computer.

3. The FortiExplorer Fortinet Device Easy Configuration Utility opens when the USB cable is connected. Select

Install the hardware automatically and select Next.

4. After a moment, FortiExplorer will launch.

 

Installing FortiExplorer on Mac OS X

To install FortiExplorer on a Mac OS X workstation:

1. Double-click the .dmg file and drag the FortiExplorer program file into the Applications folder.

2. Connect the USB cable to the FortiGate unit and then to the management computer.

3. Double-click the FortiExplorer icon to launch the application.

 

Starting the CLI from FortiExplorer

The below image shows the FortiExplorer tool connected to a FortiGate 100D device, under Devices, click on Commandline Interface and you will be connected to the CLI:

 

Command syntax

When entering a command, the command line interface (CLI) requires that you use valid syntax and conform to expected input constraints. It will reject invalid commands.

Fortinet documentation uses the following conventions to describe valid command syntax

 

Terminology

Each command line consists of a command word that is usually followed by words for the configuration data or other specific item that the command uses or affects:

get system admin

To describe the function of each word in the command line, especially if that nature has changed between firmware versions, Fortinet uses terms with the following definitions.

 

Command syntax terminology

  • command — A word that begins the command line and indicates an action that the FortiGate unit should perform on a part of the configuration or host on the network, such as config or execute. Together with other words, such as fields or values, that end when you press the Enter key, it forms a command line. Exceptions include multiline command lines, which can be entered using an escape sequence.

Valid command lines must be unambiguous if abbreviated. Optional words or other command line permutations are indicated by syntax notation.

  • sub-command — A kind of command that is available only when nested within the scope of another command.

After entering a command, its applicable sub-commands are available to you until you exit the scope of the command, or until you descend an additional level into another sub-command. Indentation is used to indicate levels of nested commands.

Not all top-level commands have sub-commands. Available sub-commands vary by their containing scope.

  • object — A part of the configuration that contains tables and/or fields. Valid command lines must be specific enough to indicate an individual object.
  • table — A set of fields that is one of possibly multiple similar sets which each have a name or number, such as an administrator account, policy, or network interface. These named or numbered sets are sometimes referenced by other parts of the configuration that use them.
  • field — The name of a setting, such as ip or hostname. Fields in some tables must be configured with values.

Failure to configure a required field will result in an invalid object configuration error message, and the FortiGate unit will discard the invalid table.

  • value — A number, letter, IP address, or other type of input that is usually your configuration setting held by a field.

Some commands, however, require multiple input values which may not be named but are simply entered in sequential order in the same command line. Valid input types are indicated by constraint notation.

  • option — A kind of value that must be one or more words from of a fixed set of options.

 

Indentation

Indentation indicates levels of nested commands, which indicate what other subcommittees are available from within the scope. For example, the edit sub-command is available only within a command that affects tables, and the next sub-command is available only from within the edit sub-command:

config system interface edit port1

set status up end

 

Notation

Brackets, braces, and pipes are used to denote valid permutations of the syntax. Constraint notations, such as <address_ipv4>, indicate which data types or string patterns are acceptable value input.

Command syntax notation

Convention                              Description

Square brackets[ ]        A non-required word or series of words. For example:

[verbose {1 | 2 | 3}]

indicates that you may either omit or type both the verbose word and its accompanying option, such as verbose 3.

A word constrained by data type. The angled brackets contain a descriptive name followed by an underscore ( _ ) and suffix that indicates the valid data type. For example, <retries_int>, indicates that you should enter a number of retries, such as 5.

 

Angle brackets< >

Data types include:

  • <xxx_name>: A name referring to another part of the configuration, such as policy_A.
  • <xxx_index>: An index number referring to another part of the configuration, such as 0 for the first static route.
  • <xxx_pattern>: A regular expression or word with wild cards that matches possible variations, such as *@example.com to match all email addresses ending in @example.com.
  • <xxx_fqdn>: A fully qualified domain name (FQDN), such as mail.example.com.
  • <xxx_email>: An email address, such as admin@example.com.
  • <xxx_ipv4>: An IPv4 address, such as 192.168.1.99.
  • <xxx_v4mask>: A dotted decimal IPv4 netmask, such as 255.255.255.0.
  • <xxx_ipv4mask>: A dotted decimal IPv4 address and netmask separated by a space, such as 192.168.1.99 255.255.255.0.
  • <xxx_ipv4/mask>: A dotted decimal IPv4 address and CIDR-notation netmask separated by a slash, such as 192.168.1.1/24
  • <xxx_ipv4range> : A hyphen ( – )-delimited inclusive range of IPv4 addresses, such as 192.168.1.1-192.168.1.255.
  • <xxx_ipv6>: A colon( : )-delimited hexadecimal IPv6 address, such as 3f2e:6a8b:78a3:0d82:1725:6a2f:0370:6234.
  • <xxx_v6mask>: An IPv6 netmask, such as /96.

 

Convention                              Description

  • <xxx_ipv6mask>: A dotted decimal IPv6 address and netmask separated by a space.
  • <xxx_str>: A string of characters that is not another data type, such as P@ssw0rd. Strings containing spaces or special characters must be surrounded in quotes or use escape sequences.
  • <xxx_int>: An integer number that is not another data type, such as 15 for the number of minutes.

 

Curly braces{ }

A word or series of words that is constrained to a set of options delimited by either vertical bars or spaces. You must enter at least one of the options, unless the set of options is surrounded by square brackets [ ].

 

Options delimited by ver- tical bars |

Mutually exclusive options. For example:

{enable | disable}

indicates that you must enter either enable or disable, but must not enter both.

Non-mutually exclusive options. For example:

 

Options delimited by spaces

{http https ping snmp ssh telnet}

indicates that you may enter all or a subset of those options, in any order, in a space-delimited list, such as:

ping https ssh

 

Subcommands

Each command line consists of a command word that is usually followed by words for the configuration data or other specific item that the command uses or affects:

get system admin

Sub-commands are available from within the scope of some commands.When you enter a sub-command level, the command prompt changes to indicate the name of the current command scope. For example, after entering:

config system admin

the command prompt becomes:

(admin)#

Applicable sub-commands are available to you until you exit the scope of the command, or until you descend an additional level into another sub-command.

For example, the edit sub-command is available only within a command that affects tables; the next sub- command is available only from within the edit sub-command:

config system interface

edit port1

set status up

next

end

 

Sub-command scope is indicated by indentation.

Available sub-commands vary by command. From a command prompt within config, two types of sub- commands might become available:

  • commands affecting fields
  • commands affecting tables

 

Commands for tables

clone <table>                             Clone (or make a copy of) a table from the current object.

For example, in config firewall policy, you could enter the fol- lowing command to clone security policy 27 to create security policy 30:

clone 27 to 30

In config antivirus profile, you could enter the following com- mand to clone an antivirus profile named av_pro_1 to create a new anti- virus profile named av_pro_2:

clone av_pro_1 to av_pro_2 clone may not be available for all tables.

Remove a table from the current object.

 

delete <table>

For example, in config system admin, you could delete an admin- istrator account named newadmin by typing delete newadmin and pressing Enter. This deletes newadmin and all its fields, such as newad- min’s first-name and email-address.

delete is only available within objects containing tables.

edit <table>                                Create or edit a table in the current object.

For example, in config system admin:

  • edit the settings for the default admin administrator account by typing edit admin.
  • add a new administrator account with the name newadmin and edit newadmin‘s settings by typing edit newadmin.

edit is an interactive sub-command: further sub-commands are available from within edit.

edit changes the prompt to reflect the table you are currently editing.

edit is only available within objects containing tables.

In objects such as security policies, <table> is a sequence number. To create a new entry without the risk of overwriting an existing one, enter edit 0. The CLI initially confirms the creation of entry 0, but assigns the next unused number after you finish editing and enter end.

end                                              Save the changes to the current object and exit the config command.

This returns you to the top-level command prompt.

get                                               List the configuration of the current object or table.

  • In objects, get lists the table names (if present), or fields and their val- ues.
  • In a table, get lists the fields and their values.

For more information on get commands, see the CLI Reference.

Remove all tables in the current object.

For example, in config user local, you could type get to see the list of user names, then type purge and then y to confirm that you want to delete all users.

purge

purge is only available for objects containing tables.

Caution: Back up the FortiGate unit before performing a purge. purge cannot be undone. To restore purged tables, the configuration must be restored from a backup.

Caution: Do not purge system interface or system admin tables. purge does not provide default tables. This can result in being unable to connect or log in, requiring the FortiGate unit to be formatted and restored.

rename <table> to <table>       Rename a table.

For example, in config system admin, you could rename admin3 to fwadmin by typing rename admin3 to fwadmin.

rename is only available within objects containing tables.

show                                           Display changes to the default configuration. Changes are listed in the form of configuration commands.

Example of table commands

From within the system admin object, you might enter:

edit admin_1

The CLI acknowledges the new table, and changes the command prompt to show that you are now within the admin_1 table:

new entry ‘admin_1’ added

(admin_1)#

 

Commands for fields

abort                         Exit both the edit and/or config commands without saving the fields.

append                      Add an option to an existing list.

end                            Save the changes made to the current table or object fields, and exit the config com- mand. (To exit without saving, use abort instead.)

get

List the configuration of the current object or table.

  • In objects, get lists the table names (if present), or fields and their values.
  • In a table, get lists the fields and their values.

move                         Move an object within a list, when list order is important. For example, rearranging security policies within the policy list.

next

Save the changes you have made in the current table’s fields, and exit the edit com- mand to the object prompt. (To save and exit completely to the root prompt, use end instead.)

next is useful when you want to create or edit several tables in the same object, without leaving and re-entering the config command each time.

next is only available from a table prompt; it is not available from an object prompt.

select                        Clear all options except for those specified.

For example, if a group contains members A, B, C, and D and you remove all users except for B, use the command select member B.

Set a field’s value.

set <field>

<value>

For example, in config system admin, after typing edit admin, you could type set password newpass to change the password of the admin administrator to newpass.

Note: When using set to change a field containing a space-delimited list, type the whole new list. For example, set <field> <new-value> will replace the list with the <new-value> rather than appending <new-value> to the list.

show                         Display changes to the default configuration. Changes are listed in the form of con- figuration commands.

unselect                    Remove an option from an existing list.

unset <field>            Reset the table or object’s fields to default values.

For example, in config system admin, after typing edit admin, typing unset password resets the password of the admin administrator account to the default (in this case, no password).

 

Example of field commands

From within the admin_1 table, you might enter:

set password my1stExamplePassword

to assign the value my1stExamplePassword to the password field. You might then enter the next command to save the changes and edit the next administrator’s table.

 

Permissions

Depending on the account that you use to log in to the FortiGate unit, you may not have complete access to all CLI commands. Access profiles control which CLI commands an administrator account can access. Access profiles assign either read, write, or no access to each area of the FortiGate software. To view configurations, you must have read access. To make changes, you must have write access.

Unlike other administrator accounts, the administrator account named admin exists by default and cannot be deleted. The admin administrator account is similar to a root administrator account. This administrator account always has full permission to view and change all FortiGate configuration options, including viewing and changing all other administrator accounts. Its name and permissions cannot be changed. It is the only administrator account that can reset another administrator’s password without being required to enter that administrator’s existing password.

Set a strong password for the admin administrator account, and change the pass- word regularly. By default, this administrator account has no password. Failure to maintain the password of the admin administrator account could compromise the security of your FortiGate unit.

For complete access to all commands, you must log in with the administrator account named admin.

 

Tips

Basic features and characteristics of the CLI environment provide support and ease of use for many CLI tasks.

 

Help

To display brief help during command entry, press the question mark (?) key.

  • Press the question mark (?) key at the command prompt to display a list of the commands available and a description of each command.
  • Type a word or part of a word, then press the question mark (?) key to display a list of valid word completions or subsequent words, and to display a description of each.

Shortcuts and key commands

Shortcuts and key commands

Action                                                                                                                          Keys

List valid word completions or subsequent words.                                                               ?

If multiple words could complete your entry, display all possible completions with help- ful descriptions of each.

Complete the word with the next available match.

Press the key multiple times to cycle through available matches.

Tab

Recall the previous command.

Command memory is limited to the current session.

Up arrow, or

Ctrl + P

Recall the next command.                                                                                                  Down arrow, or

Ctrl + N

Move the cursor left or right within the command line.                                                        Left or Right arrow

Move the cursor to the beginning of the command line.                                                      Ctrl + A

Move the cursor to the end of the command line.                                                               Ctrl + E

Move the cursor backwards one word.                                                                                Ctrl + B

 

 

Action                                                                                                                          Keys

Move the cursor forwards one word.                                                                                    Ctrl + F

Delete the current character.                                                                                               Ctrl + D

Abort current interactive commands, such as when entering multiple lines.

If you are not currently within an interactive command such as config or edit, this closes the CLI connection.

Ctrl + C

Continue typing a command on the next line for a multi-line command.

 

For each line that you want to continue, terminate it with a backslash ( \ ). To complete the command line, terminate it by pressing the spacebar and then the Enter key, without an immediately preceding backslash.

\ then Enter

 

Command abbreviation

You can abbreviate words in the command line to their smallest number of non-ambiguous characters. For example, the command get system status could be abbreviated to g sy stat.

Adding and removing options from lists

When adding options to a list, such as a user group, using the set command will remove the previous configuration. For example. if you wish to add user D to a user group that already contains members A, B, and C, the command would need to be set member A B C D. If only set member D was used, then all former members would be removed from the group.

However, there are additional commands which can be used instead of set for changing options in a list.

 

Additional commands for lists

append                      Add an option to an existing list.

For example, append member would add user D to a user group while all previous group members are retained

select

Clear all options except for those specified.

For example, if a group contains members A, B, C, and D and you remove all users except for B, use the command select member B.

unselect                    Remove an option from an existing list.

For example, unselect member A would remove member A from a group will all previous group members are retained.

Environment variables

The CLI supports the following environment variables. Variable names are case-sensitive.

 

Environment variables

$USERFROM            The management access type (ssh, telnet, jsconsole for the CLI Console wid- get in the web-based manager, and so on) and the IP address of the administrator that configured the item.

$USERNAME            The account name of the administrator that configured the item.

$SerialNum               The serial number of the FortiGate unit.

For example, the FortiGate unit’s host name can be set to its serial number.

config system global

set hostname $SerialNum end

 

Special characters

The characters <, >, (,), #, ‘, and “ are not permitted in most CLI fields. These characters are special characters, also known as reserved characters.

You may be able to enter special character as part of a string’s value by using a special command, enclosing it in quotes, or preceding it with an escape sequence — in this case, a backslash ( \ ) character.

In other cases, different keystrokes are required to input a special character. If you need to enter ? as part of config, you first need to input CTRL-V. If you enter the question mark (?) without first using CTRL-V, the question mark has a different meaning in CLI: it will show available command options in that section.

For example, if you enter ? without CTRL-V:

edit “*.xe

token line: Unmatched double quote.

If you enter ? with CTRL-V:

edit “*.xe?”

new entry ‘*.xe?’ added

Entering special characters

Character                                                  Keys

?                                                                    Ctrl + V then ?

Tab                                                               Ctrl + V then Tab

Space

(to be interpreted as part of a string value, not to end the string)

Enclose the string in quotation marks: “Security Admin- istrator”.

Enclose the string in single quotes: ‘Security Admin- istrator’.

Precede the space with a backslash: Security\ Admin- istrator.

Character                                                  Keys

(to be interpreted as part of a string value,    \’ not to end the string)

”                                                                    \”

(to be interpreted as part of a string value, not to end the string)

\                                                                     \\

 

Using grep to filter get and show command output

In many cases, the get and show (and diagnose) commands may produce a large amount of output. If you are looking for specific information in a large get or show command output, you can use the grep command to filter the output to only display what you are looking for. The grep command is based on the standard UNIX grep, used for searching text output based on regular expressions.

Use the following command to display the MAC address of the FortiGate unit internal interface:

get hardware nic internal | grep Current_HWaddr

Current_HWaddr            00:09:0f:cb:c2:75

Use the following command to display all TCP sessions in the session list and include the session list line number in the output

get system session list | grep -n tcp

Use the following command to display all lines in HTTP replacement message commands that contain URL (upper or lower case):

show system replacemsg http | grep -i url

There are three additional options that can be applied to grep:

-A <num> After

-B <num> Before

-C <num> Context

 

The option -f is also available to support Fortinet contextual output, in order to show the complete configuration. The following example shows the difference in output when -f option is used versus when it is not.

 

Using -f:

show | grep -f ldap-group1 config user group

edit “ldap-group1”

set member “pc40-LDAP” next

end

config firewall policy edit 2

set srcintf “port31”

set dstintf “port32” set srcaddr “all”

set action accept

set identity-based enable set nat enable

config identity-based-policy edit 1

set schedule “always”

set groups “ldap-group1” set dstaddr “all”

set service “ALL” next

end next

end

 

Without using -f:

show | grep ldap-group1 edit “ldap-group1”

set groups “ldap-group1”

 

Language support and regular expressions

Characters such as ñ, é, symbols, and ideographs are sometimes acceptable input. Support varies by the nature of the item being configured. CLI commands, objects, field names, and options must use their exact ASCII characters, but some items with arbitrary names or values may be input using your language of choice. To use other languages in those cases, you must use the correct encoding.

Input is stored using Unicode UTF-8 encoding but is not normalized from other encodings into UTF-8 before it is stored. If your input method encodes some characters differently than in UTF-8, your configured items may not display or operate as expected.

Regular expressions are especially impacted. Matching uses the UTF-8 character values. If you enter a regular expression using another encoding, or if an HTTP client sends a request in an encoding other than UTF-8, matches may not be what you expect.

For example, with Shift-JIS, backslashes ( \ ) could be inadvertently interpreted as the symbol for the Japanese yen ( ¥ ) and vice versa. A regular expression intended to match HTTP requests containing money values with a yen symbol therefore may not work it if the symbol is entered using the wrong encoding.

 

For best results, you should:

  • use UTF-8 encoding, or
  • use only the characters whose numerically encoded values are the same in UTF-8, such as the US-ASCII characters that are also encoded using the same values in ISO 8859-1, Windows code page 1252, Shift-JIS and other encodings, or
  • for regular expressions that must match HTTP requests, use the same encoding as your HTTP clients.

HTTP clients may send requests in encodings other than UTF-8. Encodings usually vary by the client’s operating system or input language. If you cannot predict the cli- ent’s encoding, you may only be able to match any parts of the request that are in Eng- lish, because regardless of the encoding, the values for English characters tend to be encoded identically. For example, English words may be legible regardless of inter- preting a web page as either ISO 8859-1 or as GB2312, whereas simplified Chinese characters might only be legible if the page is interpreted as GB2312.

If you configure your FortiGate unit using other encodings, you may need to switch language settings on your management computer, including for your web browser or Telnet/SSH client. For instructions on how to configure your management computer’s operating system language, locale, or input method, see its documentation.

If you choose to configure parts of the FortiGate unit using non-ASCII characters, verify that all systems interacting with the FortiGate unit also support the same encodings. You should also use the same encoding throughout the configuration if possible in order to avoid needing to switch the language settings of the web- based manager and your web browser or Telnet/SSH client while you work.

Similarly to input, your web browser or CLI client should usually interpret display output as encoded using UTF-8. If it does not, your configured items may not display correctly in the web-based manager or CLI. Exceptions include items such as regular expressions that you may have configured using other encodings in order to match the encoding of HTTP requests that the FortiGate unit receives.

 

To enter non-ASCII characters in the CLI Console widget

1. On your management computer, start your web browser and go to the URL for the FortiGate unit’s web-based manager.

2. Configure your web browser to interpret the page as UTF-8 encoded.

3. Log in to the FortiGate unit.

4. Go to System > Dashboard > Status.

5. In title bar of the CLI Console widget, click Edit (the pencil icon).

6. Enable Use external command input box.

7. Select OK.

8. The Command field appears below the usual input and display area of the CLI Console widget.

9. In Command, type a command.

 

Entering encoded characters (CLI Console widget):

10. Press Enter.

In the display area, the CLI Console widget displays your previous command interpreted into its character code equivalent, such as:

edit \743\601\613\743\601\652

and the command’s output.

 

To enter non-ASCII characters in a Telnet/SSH client

1. On your management computer, start your Telnet or SSH client.

2. Configure your Telnet or SSH client to send and receive characters using UTF-8 encoding.

Support for sending and receiving international characters varies by each Telnet/SSH client. Consult the documentation for your Telnet/SSH client.

3. Log in to the FortiGate unit.

4. At the command prompt, type your command and press Enter.

 

Entering encoded characters (PuTTY):

You may need to surround words that use encoded characters with single quotes ( ‘ ).

Depending on your Telnet/SSH client’s support for your language’s input methods and for sending international characters, you may need to interpret them into character codes before pressing Enter.

For example, you might need to enter:

edit ‘\743\601\613\743\601\652’

5. The CLI displays your previous command and its output.

 

Screen paging

You can configure the CLI to pause after displaying each page’s worth of text when displaying multiple pages of output. When the display pauses, the last line displays –More–. You can then either:

  • press the spacebar to display the next page.
  • type Q to truncate the output and return to the command prompt.

This may be useful when displaying lengthy output, such as the list of possible matching commands for command completion, or a long list of settings. Rather than scrolling through or possibly exceeding the buffer of your terminal emulator, you can simply display one page at a time.

To configure the CLI display to pause when the screen is full:

config system console set output more

end

 

Baud rate

You can change the default baud rate of the local console connection. To change the baud rate enter the following commands:

config system console

set baudrate {115200 | 19200 | 38400 | 57600 | 9600}

end

 

Editing the configuration file on an external host

You can edit the FortiGate configuration on an external host by first backing up the configuration file to a TFTP server. Then edit the configuration file and restore it to the FortiGate unit.

Editing the configuration on an external host can be timesaving if you have many changes to make, especially if your plain text editor provides advanced features such as batch changes.

 

To edit the configuration on your computer

1. Use execute backup to download the configuration file to a TFTP server, such as your management computer.

2. Edit the configuration file using a plain text editor that supports Unix-style line endings.

Do not edit the first line. The first line(s) of the configuration file (preceded by a # char- acter) contains information about the firmware version and FortiGate model. If you change the model number, the FortiGate unit will reject the configuration file when you attempt to restore it.

3. Use execute restore to upload the modified configuration file back to the FortiGate unit.

The FortiGate unit downloads the configuration file and checks that the model information is correct. If it is, the FortiGate unit loads the configuration file and checks each command for errors. If a command is invalid, the FortiGate unit ignores the command. If the configuration file is valid, the FortiGate unit restarts and loads the new configuration.

 

Using Perl regular expressions

Some FortiGate features, such as spam filtering and web content filtering can use either wildcards or Perl regular expressions.

See http://perldoc.perl.org/perlretut.html for detailed information about using Perl regular expressions. For more information on using Perl expressions see the Security Profiles chapter of The Handbook.

 

Differences between regular expression and wildcard pattern matching

In Perl regular expressions, the period (‘.’) character refers to any single character. It is similar to the question mark (‘?’) character in wildcard pattern matching. As a result:

  • fortinet.com not only matches example.com but also matches exampleacom, examplebcom, exampleccom and so on.

To match a special character such as the period (‘.’) and the asterisk (‘*’), regular expressions use the slash (‘\’) escape character. For example:

  • To match example.com, the regular expression should be example\.com.

In Perl regular expressions, the asterisk (‘*’) means match 0 or more times of the character before it, not 0 or more times of any character. For example:

  • exam*\.com matches exammmm.com but does not match eample.com.

To match any character 0 or more times, use ‘.*’ where ‘.’ means any character and the ‘*’ means 0 or more times. For example:

  • the wildcard match pattern exam*.com is equivalent to the regular expression exam.*\.com.

 

Word boundary

In Perl regular expressions, the pattern does not have an implicit word boundary. For example, the regular expression “test” not only matches the word “test” but also matches any word that contains the word “test” such as “atest”, “mytest”, “testimony”, “atestb”. The notation “\b” specifies the word boundary. To match exactly the word “test”, the expression should be \btest\b.

 

Case sensitivity

Regular expression pattern matching is case sensitive in the Web and Spam filters. To make a word or phrase case insensitive, use the regular expression /i. For example, /bad language/i will block all instances of “bad language” regardless of case.

 

Perl regular expression examples

Expression  Matches

abc                abc (that exact character sequence, but anywhere in the string)

^abc              abc at the beginning of the string

abc$              abc at the end of the string

 

Expression  Matches

a|b                 either of a and b

^abc|abc$     the string abc at the beginning or at the end of the string

ab{2,4}c        an a followed by two, three or four b’s followed by a c

ab{2,}c          an a followed by at least two b’s followed by a c

ab*c               an a followed by any number (zero or more) of b’s followed by a c

ab+c              an a followed by one or more b’s followed by a c

ab?c              an a followed by an optional b followed by a c; that is, either abc or ac

a.c                 an a followed by any single character (not newline) followed by a c

a\.c                a.c exactly

[abc]              any one of a, b and c

[Aa]bc           either of Abc and abc

[abc]+            any (nonempty) string of a’s, b’s and c’s (such as a, abba, acbabcacaa)

[^abc]+          any (nonempty) string which does not contain any of a, b and c (such as defg)

\d\d                any two decimal digits, such as 42; same as \d{2}

/i                    makes the pattern case insensitive. For example,  /bad language/i blocks any instance of “bad language” regardless of case.

\w+                a “word”: a nonempty sequence of alphanumeric characters and low lines (underscores), such as foo and 12bar8 and foo_1

100\s*mk       the strings 100 and mk optionally separated by any amount of white space (spaces, tabs, newlines)

abc\b             abc when followed by a word boundary (e.g. in abc! but not in abcd)

perl\B            perl when not followed by a word boundary (e.g. in perlert but not in perl stuff)

\x                   tells the regular expression parser to ignore white space that is neither backslashed nor within a character class. You can use this to break up your regular expression into (slightly) more readable parts.


Having trouble configuring your Fortinet hardware or have some questions you need answered? Check Out The Fortinet Guru Youtube Channel! Want someone else to deal with it for you? Get some consulting from Fortinet GURU!

Chapter 24 – System Administration

Chapter 24 – System Administration

This guide contains the following sections:

Using the CLI provides an overview of the command line interface (CLI) for FortiOS. If you are new to the FortiOS CLI, this chapter provides a high level overview of how to use this method of administration.

Interfaces describes the FortiGate interface options and configuration choices.

Central management describes how to configure the FortiGate unit to use FortiManager as a method of maintaining the device and other features that FortiManager has to facilitate the administration of multiple devices.

Monitoring describes various methods of collecting log data and tracking traffic flows and tends.

VLANs discusses the implementation of virtual local area networks (VLANs) in FortiOS and how to configure and use them.

PPTP and L2TP describes these virtual private network (VPN) types and how to configure them.

Session helpers describes what session helpers are and how to view and configure them.

Advanced concepts describes more involved administrative topics to enhance network security and traffic efficiency.


Having trouble configuring your Fortinet hardware or have some questions you need answered? Check Out The Fortinet Guru Youtube Channel! Want someone else to deal with it for you? Get some consulting from Fortinet GURU!

The SSL VPN Web Portal

The SSL VPN Web Portal

This chapter explains how to use and configure the web portal features. This chapter is written for end users as well as administrators.

The following topics are included:

  • Connecting to the FortiGate unit
  • Web portal overview
  • Portal configuration
  • Using the Bookmarks widget Using the Quick Connection Tool Using the SSL VPN virtual desktop Using FortiClient

 

Connecting to the FortiGate unit

You can connect to the FortiGate unit using a web browser. The URL of the FortiGate interface may vary from one installation to the next. If required, ask your FortiGate administrator for the URL of the FortiGate unit, and obtain a user name and password. You can connect to the web portal using an Android phone, iPhone, or iPad. The FortiGate unit will display the content of the portal to fit the device’s screen.

In addition, if you will be using a personal or group security (X.509) certificate to connect to the FortiGate unit, your web browser may prompt you for the name of the certificate. Your FortiGate administrator can tell you which certificate to select.

 

To log into the secure FortiGate HTTP gateway

1. Using the web browser on your computer, browse to the URL of the FortiGate unit (for example, https://<FortiGate_IP_address>:443/remote/login). The FortiGate unit may offer you a self-signed security certificate. If you are prompted to proceed, select Yes.

A second message may be displayed to inform you that the FortiGate certificate distinguished name differs from the original request. This message is displayed because the FortiGate unit is attempting to redirect your web browser connection. You can ignore the message.

2. When you are prompted for your user name and password:

  • In the Name field, type your user name.
  • In the Password field, type your password.

3. Select Login.

The FortiGate unit will redirect your web browser to the FortiGate SSL VPN web portal home page automatically.

 

Web portal overview

After logging in to the web portal, the remote user is presented with a web portal page similar to the following:

 

Various widgets provide the web portal’s features:

  • Session Information displays the elapsed time since login and the volume of HTTP and HTTPS traffic, both inbound and outbound.
  • Quick Connection enables you to connect to network resources without using or creating a bookmark.
  • Download Forticlient provides access to the FortiClient tunnel application for various operating systems.
  • Bookmarks provides links to network resources. You can use the administrator-defined bookmarks and you can add your own bookmarks.

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.

After making any changes to the web portal configuration, be sure to select Apply.

 

Portal configuration

The SSL VPN web portal enables users to access network resources through a secure channel using a web browser. Fortinet administrators can configure log in privileges for system users and which network resources are available to the users.

The portal configuration determines what the user sees when they log in to the portal. Both the system administrator and the user have the ability to customize the SSL VPN portal.

There are three pre-defined default web portal configurations available:

  • fullaccess: Includes all widgets available to the user – Session Information, Tunnel Mode options, Connection Launcher, Remote Desktop, and Predefined Bookmarks.
  • tunnel-access: Includes Session Information and Tunnel Mode options.
  • web-access: Includes Session Information and Predefined Bookmarks widgets.

You can also create your own web portal to meet your corporate requirements.

 

Portal page

Create New                                 Creates a new web portal.

Edit                                             Select a portal from the list to enable the Edit option, and modify the portal configuration.

Delete                                         Removes a portal configuration.

To remove multiple portals from the list, select the check box beside the portal names, then select Delete.

Name                                           The name of the web portal.

Ref.                                              Displays the number of times the object is referenced in other con- figurations on the FortiGate unit, such as security policies.

To view the location of the referenced object, select the number in Refcolumn.

To view more information about how the object is used, select one of:

View the list page for these objects – automatically redirects you to the list page where the object is referenced at.

Edit this object – modifies settings within that particular setting that the object is referenced with.

View the details for this object – similar to the log viewer table, contains information about what settings are configured within that particular setting that the object is referenced with.

 

Portal settings

A web portal defines SSL VPN user access to network resources. The portal configuration determines what SSL VPN users see when they log in to the unit. Both the Fortinet administrator and the SSL VPN user have the ability to customize the web portal settings. Portal settings are configured in VPN > SSL-VPN Portals.

The following settings are available, allow you to configure general and security console options for your web portal.

 

Portal Setting                                       Description

Name                                                       The name for the portal.

Limit Users to One SSL-VPN Con- nection at a Time

You can set the SSL VPN tunnel such that each user can only log into the tunnel one time concurrently per user per login. That is, once logged into the portal, they cannot go to another system and log in with the same credentials again. This option is disabled by default.

Tunnel Mode                                          These settings determine how tunnel mode clients are assigned IPv4 addresses.

Enable Split Tun- neling Select so that the VPN carries only the traffic for the networks behind the FortiGate unit. The user’s other traffic follows its normal route.

If you enable split tunneling, you are required to set the Routing Address, which is the address that your corporate network is using. Traffic intended for the Routing Address will not be split from the tunnel.

Source IP Pools              Select an IP Pool for users to acquire an IP address when con- necting to the portal. There is always a default pool available if you do not create your own.

Tunnel Mode Client

Options

These options affect how the FortiClient application behaves when connected to the FortiGate VPN tunnel. When enabled, a check box for the corresponding option appears on the VPN login screen in FortiClient, and is not enabled by default.

  • Allow client to save password – When enabled, if the user selects this option, their password is stored on the user’s computer and will automatically populate each time they connect to the VPN.
  • Allow client to connect automatically – When enabled, if the user selects this option, when the FortiClient application is launched, for example after a reboot or system startup, FortiClient will automatically attempt to connect to the VPN tunnel.
  • Allow client to keep connections alive – When enabled, if the user selects this option, the FortiClient connection will not shut down. When not selected, during periods of inactivity, FortiClient will attempt to stay connected every three minutes for a maximum of 10 minutes.

 

Enable Web Mode                                 Select to enable web mode access.

Portal Setting                                       Description

Portal Message                                      This is a text header that appears on the top of the web portal.

Theme                                                     Select a color styling specifically for the web portal.

 

Show Session Information

The Show Session Information widget displays the login name of the user, the amount of time the user has been logged in and the inbound and outbound traffic statistics.

 

Show Connection Launcher                Displays the Connection Launcher widget in the web portal.

Show Login History                              Select to include user login history on the web portal.

User Bookmarks                                    Enable to allow users to add their own bookmarks in the web portal.

 

Predefined Bookmarks

Select to include bookmarks on the web portal. Bookmarks are used as links to internal network resources. When a bookmark is selected from a bookmark list, a pop-up window appears with the web page. Telnet, VNC, and RDP require a browser plugin. FTP and Samba replace the bookmarks page with an HTML file- browser.

 

Predefined Bookmarks

Bookmarks are used as links to specific resources on the network. When a bookmark is selected from a bookmark list, a pop-up window appears with the requested web page. Telnet, RDP, and VNC pop up a window that requires a browser plug-in. FTP and Samba replace the bookmarks page with an HTML file-browser.

A web bookmark can include login credentials to automatically log the SSL VPN user into the web site. When the administrator configures bookmarks, the web site credentials must be the same as the user’s SSL VPN credentials. Users configuring their own bookmarks can specify alternative credentials for the web site.

 

Applications available in the web portal

Depending on the web portal configuration and user group settings, one or more of the following server applications are available to you through Predefined Bookmarks, as well as the Quick Connection widget:

  • Citrix makes use of SOCKS so that the Citrix client can connect to the SSL VPN port forward module to provide the connection.
  • FTP (File Transfer Protocol) enables you to transfer files between your computer and a remote host.
  • HTTP/HTTPS accesses web pages.
  • Port Forward provides the middle ground between web mode and tunnel mode. When the SSL VPN receives data from a client application, the data is encrypted and sent to the FortiGate unit, which then forwards the traffic to the application server.
  • RDP (Remote Desktop Protocol), similar to VNC, enables you to remotely control a computer running Microsoft Terminal Services.
  • SMB/CIFS implements the Server Message Block (SMB) protocol to support file sharing between your computer and a remote server host.
  • SSH (Secure Shell) enables you to exchange data between two computers using a secure channel.
  • TELNET (Teletype Network emulation) enables you to use your computer as a virtual text-only terminal to log in to a remote host.
  • VNC (Virtual Network Computing) enables you to remotely control another computer, for example, accessing your work computer from your home computer.

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.

Windows file sharing through SMB/CIFS is supported through shared directories.

 

Implementing post-authentication CSRF protection in SSL VPN web mode

This attribute can enable/disable verification of a referer in the HTTP request header in order to prevent a Cross- Site Request Forgery (CSRF) attack.

 

Syntax:

config vpn ssl settings

set check-referer [enable|disable]

end

 

Using the Bookmarks widget

The Bookmarks widget shows both administrator-configured and user-configured bookmarks. Administrator bookmarks cannot be altered but you can add, edit or delete user bookmarks.

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 2276.

If you want to access a web server or telnet server without first adding a bookmark to the My Bookmarks list, use the Connection Tool instead. For more information, see Using the Bookmarks widget on page 2276.

 

Adding bookmarks

You can add frequently used connections as bookmarks. Afterward, select any hyperlink from the Bookmarks list to initiate a session.

 

To add a bookmark

1. In the web portal, select New Bookmark.

2. Enter the following information:

Name                                           Enter the name to display in the Bookmarks list.

Type                                            Select the abbreviated name of the server application or network service from the drop-down list.

Location                                     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 Using the Bookmarks widget on page 2276.

Description                                Optionally enter a short description. The description displays when you pause the mouse pointer over the hyperlink.

SSO                                             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.

SSO fields

SSO Credentials                        SSL VPN Login — Use your SSL VPN login credentials.

Alternative — Enter Username and Password below.

Username                                   Alternative username. Available if SSO Credentials is Alternative.

Password                                   Alternative password. Available if SSO Credentials is Alternative.

Static SSO fields                       These fields are available if SSO is Static.

Field Name                                 Enter the field name, as it appears in the HTML form.

Value                                           Enter the field value.

To use the values from SSO Credentials, enter %passwd% for password or %username% for username.

Add                                             Add another Field Name / Value pair.

3. Select OK and then select Done.

 

Groupbased SSL VPN bookmarks

This CLI-only feature allows administrators to add bookmarks for groups of users. SSL VPN will only output the matched group-name entry to the client.

 

Syntax:

config vpn ssl web portal edit “portal-name”

set user-group-bookmark enable*/disable next

end

conf vpn ssl web user-group-bookmark edit “group-name”

conf bookmark

edit “bookmark1”

…. next

end next

end

 

Groupbased SSL VPN bookmarks

This CLI-only feature allows administrators to add bookmarks for groups of users. SSL VPN will only output the matched group-name entry to the client.

 

Syntax:

config vpn ssl web portal edit <portal-name>

set user-group-bookmark [enable | disable]

next end

config vpn ssl web user-group-bookmark edit <group-name>

config bookmark edit <bookmark1>

…. next

end next

end

 

Using the Quick Connection Tool

The Quick Connection Tool widget enables a user to connect to a resource when it isn’t a predefined bookmark.

You can connect to any type of server without adding a bookmark to the Bookmarks list. The fields in the Quick

Connection Tool enable you to specify the type of server and the URL or IP address of the host computer. See the following procedures:

  • To connect to a web server on page 2279
  • To ping a host or server behind the FortiGate unit on page 2279
  • To start a Telnet session on page 2279
  • To start an FTP session on page 2279
  • To start an SMB/CIFS session on page 2280
  • To start an SSH session on page 2280
  • To start an RDP session on page 2280
  • To start a VNC session on page 2281

Except for ping, these services require that you have an account on the server to which you connect.

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

3. Select Go.

A Telnet window opens.

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.

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.

4. Enter your user name and password and then select Login.

You must have a user account on the remote host to log in.

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.

 

To start an SSH session

1. In Type, select SSH.

2. In the Host field, type the IP address of the SSH host.

For example: 10.11.101.12

3. Select Go.

A login window opens.

4. Select Connect.

A SSH session starts and you are prompted to log in to the remote host. You must have a user account to log in. After you log in, you may enter any series of valid commands at the system prompt.

5. To end the session, select Disconnect (or type exit) and then close the SSH connection window.

 

To start an RDP session

1. In Type, select RDP.

2. In the Host field, type the IP address of the RDP host.

For example: 10.11.101.12

3. Optionally, you can specify additional options for RDP by adding them to the Host field following the host address. See RDP options on page 2281 for information about the available options.

For example, to use a French language keyboard layout you would add the -m parameter:

10.11.101.12 -m fr

4. Select Go.

A login window opens.

5. When you see a screen configuration dialog, click OK.

The screen configuration dialog does not appear if you specified the screen resolution with the host address.

6. When you are prompted to log in to the remote host, type your user name and password. You must have a user account on the remote host to log in.

7. Select Login.

If you need to send Ctrl-Alt-Delete in your session, use Ctrl-Alt-End.

8. To end the RDP session, Log out of Windows or select Cancel from the Logon window.

 

RDP options

 

Locale/Keyboard

Use this option if the remote computer might not use the same keyboard layout -m <locale>

The supported values of  <locale> are:

as your computer. Select the locale code that matches your computer.

ar da de

de-ch en-gb en-uk en-us es

fi fr

fr-be fr-ca fr-ch hr

hu

Arabic Danish German

Swiss German British English UK English

US English Spanish Finnish French

Belgian French Canadian French Swiss French Croatian Hungarian

it ja lt lv

mk no pl pt

pt-br ru

sl sv tk tr

Italian Japanese Lithuanian Latvian Macedonian Norwegian Polish Portuguese Brazilian Por- tuguese Russian Slovenian Sudanese Turkmen Turkish

 

To start a VNC session

1. In Type, select VNC.

2. In the Host field, type the IP address of the VNC host.

For example: 10.11.101.12

3. Select Go.

A login window opens.

4. Type your user name and password when prompted to log in to the remote host.

You must have a user account on the remote host to log in.

5. Select OK.

If you need to send Ctrl-Alt-Delete in your session, press F8, then select Send Ctrl-Alt-Delete from the pop-up menu.

6. To end the VNC session, close the VNC window.

 

Using the SSL VPN virtual desktop

The virtual desktop feature is available for Windows only. When you start an SSL VPN session, the virtual desktop replaces your normal desktop. When the virtual desktop exits, your regular desktop is restored. Virtual desktop information is encrypted so that no information from it remains available after your session ends.

To use the SSL VPN virtual desktop, simply log in to an SSL VPN that requires the use of the virtual desktop. Wait for the virtual desktop to initialize and replace your desktop with the SSL VPN desktop, which has a Fortinet SSL VPN logo as wallpaper. Your web browser will open to the web portal page.

You can use the virtual desktop just as you use your regular desktop, subject to the limitations that virtual desktop application control imposes. If it is enabled in the web portal virtual desktop settings, you can switch between the virtual desktop and your regular desktop. Right-click the SSL VPN Virtual Desktop icon in the taskbar and select Switch Desktop.

To see the web portal virtual desktop settings, right-click the SSL VPN Virtual Desktop icon in the taskbar and select Virtual Desktop Option.

When you have finished working with the virtual desktop, right-click the SSL VPN Virtual Desktop icon in the taskbar and select Exit. Select Yes to confirm. The virtual desktop closes and your regular desktop is restored.

 

Using FortiClient

Remote users can use FortiClient Endpoint Security to initiate an SSL VPN tunnel to connect to the internal network. FortiClient uses local port TCP 1024 to initiate an SSL encrypted connection to the FortiGate unit, on port TCP 10443. When connecting using FortiClient, the FortiGate unit authenticates the FortiClient SSL VPN request based on the user group options. the FortiGate unit establishes a tunnel with the client and assigns a virtual IP address to the client PC. Once the tunnel has been established, the user can access the network behind the FortiGate unit.

For information on configuring the FortiGate unit for SSL VPN connectivity, see Basic configuration on page 2248. For details on configuring FortiClient for SSL VPN connections, see the FortiClient documentation.

 

Setup examples

The examples in this chapter demonstrate the basic configurations needed for common connections to the SSL VPN tunnel and portals, applying the steps outlined in Basic configuration on page 2248.

The following examples are included: Secure Internet browsing

Split Tunnel

Multiple user groups with different access permissions

 

Secure Internet browsing

This example sets up an SSL VPN tunnel that provides remote users the ability to access the Internet while traveling, and ensures that they are not subject to malware and other dangers, by using the corporate firewall to filter all of their Internet traffic. Essentially, the remote user will connect to the corporate FortiGate unit to surf the Internet.

Using SSL VPN and FortiClient SSL VPN software, you create a means to use the corporate FortiGate to browse the Internet safely.

 

Creating an SSL VPN IP pool and SSL VPN web portal

1. Go to VPN > SSL-VPN Portals and select tunnel-access.

2. For Source IP Pools select SSLVPN_TUNNEL_ADDR1.

3. Select OK.

 

Creating the SSL VPN user and user group

1. Create the SSL VPN user and add the user to a user group configured for SSL VPN use.

2. Go to User & Device > User Definition and select Create New to add the user:

User Name                                 twhite

Password                                   password

3. Select OK.

4. Go to User & Device > User Groups and select Create New to add twhite to a group called SSL VPN:

Name                                           SSL VPN

Type                                            Firewall

5. Move twhite to the Members list.

6. Select OK.

 

Creating a static route for the remote SSL VPN user

Create a static route to direct traffic destined for tunnel users to the SSL VPN tunnel.

1. Go to Network > Static Routes and select Create New to add the static route.

Destination IP/Mask                 10.212.134.0/255.255.255.0

Device                                         ssl.root

2. Select OK.

 

The Destination IP/Mask matches the network address of the remote SSL VPN user.

 

Creating security policies

Create an SSL VPN security policy with SSL VPN user authentication to allow SSL VPN traffic to enter the FortiGate unit. Create a normal security policy from ssl.root to wan1 to allow SSL VPN traffic to connect to the Internet.

1. Go to Policy & Objects > IPv4 Policy and select Create New.

2. Add an SSL VPN security policy as below, and click OK.

Incoming Interface                   wan1

Source Address                        all

Source User(s)                          SSL VPN

Outgoing Interface                   ssl.root

3. Select Create New to add a security policy that allows remote SSL VPN users to connect to the Internet:

Incoming Interface                   ssl.root

Source Address                        all

Source User(s)                          SSL VPN

Outgoing Interface                   wan1

Destination Address                 all

Schedule                                    always

Service                                       ALL

Action                                         ACCEPT

4. Select OK.

 

Configuring authentication rules

1. Go to VPN > SSL-VPN Settings and select Create New under Authentication/Portal Mapping.

2. Add an authentication rule for the remote user:

Users/Groups                            Tunnel

Portal                                          tunnel-access

3. Select OK and Apply.

 

Results

Using the FortiClient SSLVPN application, access the VPN using the address https://172.20.120.136:443/ and log in as twhite. Once connected, you can browse the Internet.

From the FortiGate web-based manager, go to Monitor > SSL-VPN Monitor to view the list of users connected using SSL VPN. The Subsession entry indicates the split tunnel which redirects to the Internet.

 

Split Tunnel

In this configuration, remote users are able to securely access the head office internal network through the head office firewall, yet browse the Internet without going through the head office FortiGate. Split tunneling is enabled by default for SSL VPN on FortiGate units.

The solution below describes how to configure FortiGate SSL VPN split tunneling using the FortiClient SSL VPN software, available from the Fortinet Support site.

Without split tunneling, all communication from remote SSL VPN users to the head office internal network and to the Internet uses an SSL VPN tunnel between the user’s PC and the head office FortiGate unit. Connections to the Internet are routed back out the head office FortiGate unit to the Internet. Replies come back into the head office FortiGate unit before being routed back through the SSL VPN tunnel to the remote user.

In short, enabling split tunneling protects the head office from potentially harmful access and external threats that may occur as a result of the end user’s indiscretion while browsing the Internet. By contrast, disabling split tunneling protects the end user by forcing all their Internet traffic to pass through the FortiGate firewall.

 

Creating a firewall address for the head office server

1. Go to Policy & Objects > Addresses and select Create New and add the head office server address:

Category                                     Address

Name                                           Head office server

Type                                            Subnet

Subnet / IP Range                     192.168.1.12

Interface                                     Internal

2. Select OK.

 

Creating an SSL VPN IP pool and SSL VPN web portal

1. Go to VPN > SSL-VPN Portals and select tunnel-access.

2. Enter the following:

Name                                                 Connect to head office server

Enable Tunnel Mode                      Enable

Enable Split Tunneling                   Enable

Routing Address        Internal

Source IP Pools                               SSLVPN_TUNNEL_ADDR1

3. Select OK.

 

Creating the SSL VPN user and user group

Create the SSL VPN user and add the user to a user group.

1. Go to User & Device > User Definition, select Create New and add the user:

User Name                                 twhite

Password                                   password

2. Select OK.

3. Go to User & Device > User Groups and select Create New to add the new user to the SSL VPN user group:

Name                                           Tunnel

Type                                            Firewall

4. Move twhite to the Members list.

5. Select OK.

 

Creating a static route for the remote SSL VPN user

Create a static route to direct traffic destined for tunnel users to the SSL VPN tunnel.

1. Go to Network > Static Routes and select Create New

Destination IP/Mask                 10.212.134.0/255.255.255.0

Device                                         ssl.root

2. Select OK.

 

Creating security policies

Create an SSL VPN security policy with SSL VPN user authentication to allow SSL VPN traffic to enter the FortiGate unit. Create a normal security policy from ssl.root to wan1 to allow SSL VPN traffic to connect to the Internet.

1. Go to Policy & Objects > IPv4 Policy and select Create New.

2. Complete the following:

Incoming Interface                   wan1

Source Address                        all

Source User(s)                          Tunnel

Outgoing Interface                   internal

Destination Address                 Head office server

3. Select OK.

4. Add a security policy that allows remote SSL VPN users to connect to the Internet.

5. Select Create New.

6. Complete the following and select OK:

Incoming Interface                   ssl.root

Source Address                        all

Source User(s)                          Tunnel

Outgoing Interface                   wan1

Destination Address                 all

Schedule                                    always

Service                                       ALL

Action                                         ACCEPT

 

Configuring authentication rules

1. Go to VPN > SSL-VPN Settings and select Create New under Authentication/Portal Mapping.

2. Add an authentication rule for the remote user:

Users/Groups                            Tunnel

Portal                                          tunnel-access

3. Select OK and Apply.

 

Results

Using the FortiClient SSL VPN application on the remote PC, connect to the VPN using the address https://172.20.120.136:443/ and log in with the twhite user account. Once connected, you can connect to the head office server or browse to web sites on the Internet.

From the web-based manager, go to Monitor > SSL-VPN Monitor to view the list of users connected using SSL VPN. The Subsession entry indicates the split tunnel which redirects SSL VPN sessions to the Internet.

 

Multiple user groups with different access permissions

You might need to provide access to several user groups with different access permissions. Consider the following example topology in which users on the Internet have controlled access to servers and workstations on private networks behind a FortiGate unit.

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 group’s assigned web portal.

 

General configuration steps

1. Create firewall addresses for:

  • The destination networks.
  • Two non-overlapping tunnel IP address ranges that the FortiGate unit will assign to tunnel clients in the two user groups.

2. Create two web portals.

3. Create two user accounts, User1 and User2.

4. Create two user groups. For each group, add a user as a member and select a web portal. In this example, User1 will belong to Group1, which will be assigned to Portal1 (similar configuration for User2).

5. Create security policies:

  • Two SSL VPN security policies, one to each destination.
  • Two tunnel-mode policies to allow each group of users to reach its permitted destination network.

6. Create the static route to direct packets for the users to the tunnel.

 

Creating the firewall addresses

Security policies do not accept direct entry of IP addresses and address ranges. You must define firewall addresses in advance.

 

Creating the destination addresses

SSL VPN users in this example can access either Subnet_1 or Subnet_2.

 

To define destination addresses – web-based manager:

1. Go to Policy & Objects > Addresses.

2. Select Create New, enter the following information, and select OK:

Name                                           Subnet_1

Type                                            Subnet

Subnet/IP Range                       10.11.101.0/24

Interface                                     port2

3. Select Create New, enter the following information, and select OK:

Name                                           Subnet_2

Type                                            Subnet

Subnet/IP Range                       10.11.201.0/24

Interface                                     port3

 

Creating the tunnel client range addresses

To accommodate the two groups of users, split an otherwise unused subnet into two ranges. The tunnel client addresses must not conflict with each other or with other addresses.

 

To define tunnel client addresses – web-based manager:

1. Go to Policy & Objects > Addresses.

2. Select Create New, enter the following information, and select OK:

Name                                           Tunnel_group1

Type                                            IP Range

Subnet/IP Range                       10.11.254.1-10.11.254.50

Interface                                     Any

3. Select Create New, enter the following information, and select OK.

Name                                           Tunnel_group2

Type                                            IP Range

Subnet/IP Range                       10.11.254.51-10.11.254.100

Interface                                     Any

 

Creating the web portals

To accommodate two different sets of access permissions, you need to create two web portals, portal1 and portal2, for example. Later, you will create two SSL VPN user groups, one to assign to portal1 and the other to assign to portal2.

 

To create the portal1 web portal:

1. Go to VPN > SSL-VPN Portals and select Create New.

2. Enter portal1 in the Name field.

3. In Source IP Pools, select Tunnel_ group1.

4. Select OK.

 

To create the portal2 web portal:

1. Go to VPN > SSL-VPN Portals and select Create New.

2. Enter portal2 in the Name field and select OK.

3. In IP Pools, select Tunnel_ group2

4. Select OK.

Later, you can configure these portals with bookmarks and enable connection tool capabilities for the convenience of your users.

 

Creating the user accounts and user groups

After enabling SSL VPN and creating the web portals that you need, you need to create the user accounts and then the user groups that require SSL VPN access.

Go to User & Device > User Definition and create user1 and user2 with password authentication. After you create the users, create the SSL VPN user groups.

 

To create the user groups – web-based manager:

1. Go to User & Device > User Groups.

2. Select Create New and enter the following information:

Name                                           Group1

Type                                            Firewall

3. From the Available list, select User1 and move it to the Members list by selecting the right arrow button.

4. Select OK.

5. Repeat steps 2 through 4 to create Group2, assigned to Portal2, with User2 as its only member.

 

Creating the security policies

You need to define security policies to permit your SSL VPN clients, web-mode or tunnel-mode, to connect to the protected networks behind the FortiGate unit. Before you create the security policies, you must define the source and destination addresses to include in the policy. See Creating the firewall addresses on page 2288.

Two types of security policy are required:

  • An SSL VPN policy enables clients to authenticate and permits a web-mode connection to the destination network.

In this example, there are two destination networks, so there will be two SSL VPN policies. The authentication ensures that only authorized users can access the destination network.

  • A tunnel-mode policy is a regular ACCEPT security policy that enables traffic to flow between the SSL VPN tunnel interface and the protected network. Tunnel-mode policies are required if you want to provide tunnel-mode connections for your clients. In this example, there are two destination networks, so there will be two tunnel-mode policies.

 

To create the SSL VPN security policies – web-based manager:

1. Go to Policy & Objects > IPv4 Policy and select Create New.

2. Enter the following information and click OK:

Incoming Interface                   ssl.root (sslvpn tunnel interface)

Source Address                        All

Source User(s)                          Group1

Outgoing Interface                   port2

Destination Address                 Subnet_1

Service                                       All

3. Select Create New.

4. Enter the following information:

Incoming Interface                   ssl.root (sslvpn tunnel interface)

Source Address                        All

Source User(s)                          Group2

Outgoing Interface                   port3

Destination Address                 Subnet_2

Service                                       All

5. Click OK.

 

Configuring authentication rules

1. Go to VPN > SSL-VPN Settings and select Create New under Authentication/Portal Mapping.

2. Add an authentication rule for the first remote group:

Users/Groups                            Group1

Portal                                          Portal1

3. Select OK and Apply.

4. Select Create New and add an authentication rule for the second remote group:

Users/Groups                            Group2

Portal                                          Portal2

5. Select OK and Apply.

 

To create the tunnel-mode security policies – web-based manager:

1. Go to Policy & Objects > IPv4 Policy and select Create New.

2. Enter the following information, and select OK:

Incoming Interface                   ssl.root (sslvpn tunnel interface)

Source Address                        Tunnel_group1

Source User(s)                          Group1

Outgoing Interface                   port2

Destination Address                 Subnet_1

Service                                       All

Action                                         ACCEPT

Enable NAT                                Enable

3. Select Create New.

4. Enter the following information, and select OK:

Incoming Interface                   ssl.root (sslvpn tunnel interface)

Source Address                        Tunnel_group2

Source User(s)                          Group2

Outgoing Interface                   port3

Destination Address                 Subnet_2

Service                                       All

Action                                         ACCEPT

Enable NAT                                Enable

 

Create the static route to tunnel mode clients

Reply packets destined for tunnel mode clients must pass through the SSL VPN tunnel. You need to define a static route to allow this.

 

To add a route to SSL VPN tunnel mode clients – web-based manager:

1. Go to Network > Static Routes and select Create New.

2. Enter the following information and select OK.

 

Destination IP/Mask                 10.11.254.0/24

This IP address range covers both ranges that you assigned to SSL VPN tunnel-mode users. See Creating the tunnel client range addresses on page 2289.

Device                                         Select the SSL VPN virtual interface, ssl.root for example.

In this example, the IP Pools field on the VPN > SSL-VPN Settings page is not used because each web portal specifies its own tunnel IP address range.

 

Troubleshooting

This section contains tips to help you with some common challenges of SSL VPNs.

  • Enter the following to display debug messages for SSL VPN:

diagnose debug application sslvpn -1

This command enables debugging of SSL VPN with a debug level of -1. The -1 debug level produces detailed results.

  • Enter the following command to verify the debug configuration:

diagnose debug info debug output: disable console timestamp: disable

console no user log message: disable sslvpn debug level: -1 (0xffffffff) CLI debug level: 3

This output verifies that SSL VPN debugging is enabled with a debug level of -1, and shows what filters are in place. The output above indicates that debug output is disabled, so debug messages are not displayed. The output also indicates that debugging has not been enabled for any software systems.

  • Enter the following to enable displaying debug messages:

diagnose debug enable

To view the debug messages, log into the SSL VPN portal. The CLI displays debug output similar to the following:

FGT60C3G10002814 # [282:root]SSL state:before/accept initialization (172.20.120.12) [282:root]SSL state:SSLv3 read client hello A (172.20.120.12)

[282:root]SSL state:SSLv3 write server hello A (172.20.120.12) [282:root]SSL state:SSLv3 write change cipher spec A (172.20.120.12) [282:root]SSL state:SSLv3 write finished B (172.20.120.12) [282:root]SSL state:SSLv3 flush data (172.20.120.12)

[282:root]SSL state:SSLv3 read finished A:system lib(172.20.120.12) [282:root]SSL state:SSLv3 read finished A (172.20.120.12)

[282:root]SSL state:SSL negotiation finished successfully (172.20.120.12)

[282:root]SSL established: DHE-RSA-AES256-SHA SSLv3 Kx=DH Au=RSA Enc=AES(256) Mac=SHA1

  • Enter the following to stop displaying debug messages:

diagnose debug disable

The following is a list of potential issues. The suggestions below are not exhaustive, and may not reflect your network topology.

 

There is no response from the SSL VPN URL.

  • Go to VPN > SSL-VPN Settings and check the SSL VPN port assignment. Also, verify that the SSL VPN policy is configured correctly.
  • Check the URL you are attempting to connect to. It should follow this pattern:

https://<FortiGate IP>:<Port>/remote/login

  • Ensure that you are using the correct port number in the URL.

 

FortiClient cannot connect.

Read the Release Notes to ensure that the version of FortiClient you are using is compatible with your version of FortiOS.

 

Tunnelmode connection shuts down after a few seconds.

This issue can occur when there are multiple interfaces connected to the Internet (for example, a dual WAN). Upgrade to the latest firmware then use the following CLI command:

config vpn ssl settings

set route-source-interface enable end

 

When you attempt to connect using FortiClient or in Web mode, you are returned to the login page, or you receive the following error message: “Unable to logon to the server. Your user name or password may not be configured properly for this connection. (-12).

  • Ensure that cookies are enabled in your browser.
  • If you are using a remote authentication server, ensure that the FortiGate is able to communicate with it.
  • Access to the web portal or tunnel will fail if Internet Explorer has the privacy Internet Options set to High. If set to High, Internet Explorer will block cookies that do not have a compact privacy policy, and that use personally identifiable information without your explicit consent.

 

You receive an error message stating: “Destination address of Split Tunneling policy is invalid.

The SSL VPN security policy uses the ALL address as its destination. Change the address to that of the protected network instead.

 

The tunnel connects but there is no communication.

Go to Network > Static Routes and ensure that there is a static route to direct packets destined for the tunnel users to the SSL VPN interface.

 

You can connect remotely to the VPN tunnel but are unable to access the network resources.

Go to Policy & Objects > IPv4 Policy and examine the policy allowing VPN access to the local network. If the destination address is set to all, create a firewall address for the internal network. Change the destination address and attempt to connect remotely again.

 

Users are unable to download the SSL VPN plugin.

Go to VPN > SSL-VPN Portals to make sure that the option to Limit Users to One SSL-VPN Connection at a Time is disabled. This allows users to connect to the resources on the portal page while also connecting to the VPN through FortiClient.

 

Users are being assigned to the wrong IP range.

Ensure that the same IP Pool is used in VPN Portal and VPN Settings to avoid conflicts. If there is a conflict, the portal settings will be used.

 

Sending tunnel statistics to FortiAnalyzer

By default, logged events include tunnel-up and tunnel-down status events. Other events, by default, will appear in the FortiAnalyzer report as “No Data Available”. More accurate results require logs with action=tunnel- stats, which is used in generating reports on the FortiAnalyzer (rather than the tunnel-up and tunnel-down event logs). The FortiGate does not, by default, send tunnel-stats information.

To allow VPN tunnel-stats to be sent to FortiAnalyzer, configure the FortiGate unit as follows using the CLI:

config system settings

set vpn-stats-log ipsec ssl set vpn-stats-period 300

end


Having trouble configuring your Fortinet hardware or have some questions you need answered? Check Out The Fortinet Guru Youtube Channel! Want someone else to deal with it for you? Get some consulting from Fortinet GURU!

The SSL VPN Client

The SSL VPN Client

The remote client connects to the SSL VPN tunnel in various ways, depending on the VPN configuration.

  • Web mode requires nothing more than a web browser.For detailed information about supported browsers, see Web-only mode on page 2243.
  • Tunnel mode establishes a connection to the remote protected network that any application can use. If the client computer runs Microsoft Windows, they can download the tunnel mode client from the web portal. If the client computer runs Linux or Mac OS X, the user needs to download the tunnel mode client application from the Fortinet Support web site. See the Release Notes for your FortiOS firmware for the specific operating system versions that are supported. The remote user must use the standalone tunnel client application.
  • The virtual desktop application creates a virtual desktop on a user’s PC and monitors the data read/write activity of the web browser running inside the virtual desktop. When the application starts, it presents a ‘virtual desktop’ to the user. The user starts the web browser from within the virtual desktop and connects to the SSL VPN web portal. The browser file/directory operation is redirected to a new location, and the data is encrypted before it is written to the local disk. When the virtual desktop application exits normally, all the data written to the disk is removed. If the session terminates abnormally (power loss, system failure, etc.), the data left behind is encrypted and unusable to the user. The next time you start the virtual desktop, the encrypted data is removed.

 

 

FortiClient

Remote users can use the FortiClient software to initiate an SSL VPN tunnel to connect to the internal network. FortiClient uses local port TCP 1024 to initiate an SSL encrypted connection to the FortiGate unit, on port TCP 443. When connecting using FortiClient, the FortiGate unit authenticates the FortiClient SSL VPN request based on the user group options. The FortiGate unit establishes a tunnel with the client and assigns a virtual IP address to the client PC. Once the tunnel has been established, the user can access the network behind the FortiGate unit.

FortiClient software is available for download at www.forticlient.com and is available for Windows, Mac OS X, Apple iOS, and Android.

 

Tunnel mode client configuration

The FortiClient SSL VPN tunnel client requires basic configuration by the remote user to connect to the SSL VPN tunnel. When distributing the FortiClient software, provide the following information for the remote user to enter once the client software has been started. Once entered, they can select Connect to begin an SSL VPN session.

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.

Remote Gateway                       Enter the IP address or FQDN of the FortiGate unit that hosts the SSL VPN.

Username                                   Enter your username.

Client Certificate

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.


Having trouble configuring your Fortinet hardware or have some questions you need answered? Check Out The Fortinet Guru Youtube Channel! Want someone else to deal with it for you? Get some consulting from Fortinet GURU!

Basic configuration

Basic configuration

Configuring SSL VPN involves a number of configurations within FortiOS that you need to complete to make it all come together. This chapter describes the components required, and how and where to configure them to set up the FortiGate unit as an SSL VPN server. The configurations and steps are high level, to show you the procedures needed, and where to locate the options in FortiOS. For real-world examples, see Setup examples on page 2283.

There are three or four key steps to configuring an SSL VPN tunnel. The first three in the points below are mandatory, while the others are optional. This chapter outlines these key steps as well as additional configurations for tighter security and monitoring.

 

The key steps are:

  • Create user accounts and user groups for the remote clients. (User accounts and groups on page 2248)
  • Create a web portal to define user access to network resources. (Configuring SSL VPN web portals on page 2253)
  • Configure the security policies. (Configuring security policies on page 1)
  • For tunnel-mode operation, add routing to ensure that client tunnel-mode packets reach the SSL VPN interface. (Routing in tunnel mode on page 2260)
  • Setup logging of SSL VPN activities. (SSL VPN logs on page 2266)

 

This section contains the following information:

User accounts and groups Configuring SSL VPN web portals Configuring encryption key algorithms Additional configuration options

 

User accounts and groups

The first step for an SSL VPN tunnel is to add the users and user groups that will access the tunnel. You may already have users defined for other authentication-based security policies.

The user group is associated with the web portal that the user sees after logging in. You can use one policy for multiple groups, or multiple policies to handle differences between the groups such as access to different services, or different schedules.

 

To create a user account:

  • In the web-based manager, go to User & Device > User Definition, and select Create New.
  • In the CLI, use the commands in config user local.

All users accessing the SSL tunnel must be in a firewall user group. User names can be up to 64 characters long.

 

To create user groups:

  • In the web-based manager, go to User & Device > User Groups and select Create New.
  • In the CLI, use the commands in config user group.

Guest group and SSO group have been removed from config user group and config vpn ssl web user-group-bookmark.

 

Authentication

Remote users must be authenticated before they can request services and/or access network resources through the web portal. The authentication process can use a password defined on the FortiGate unit or optionally use established external authentication mechanisms such as RADIUS or LDAP.

To authenticate users, you can use a plain text password on the local FortiGate unit, forward authentication requests to an external RADIUS, LDAP or TACACS+ server, or utilize PKI certificates.

For information about how to create RADIUS, LDAP, TACACS+ or PKI user accounts and certificates, see the Authentication Guide.

FortiOS supports LDAP password renewal notification and updates through SSL VPN. Configuration is enabled using the CLI commands:

config user ldap edit <username>

set server <domain>

set password-expiry-warning enable set password-renewal enable

end

 

For more information, see the Authentication Guide.

 

MAC host check

When a remote client attempts to log in to the portal, you can have the FortiGate unit check against the client’s MAC address to ensure that only a specific computer or device is connecting to the tunnel. This can ensure better security should a password be compromised.

MAC addresses can be tied to specific portals and can be either the entire MAC address or a subset of the address. MAC host checking is configured in the CLI using the folowing commands:

conf vpn ssl web portal edit portal

set mac-addr-check enable set mac-addr-action allow

config mac-addr-check-rule edit “rule1”

set mac-addr-list 01:01:01:01:01:01 08:00:27:d4:06:5d set mac-addr-mask 48

end

end

 

IP addresses for users

After the FortiGate unit authenticates a request for a tunnel-mode connection, the FortiGate unit assigns the SSL VPN client an IP address for the session. The address is assigned from an IP Pool, which is a firewall address defining an IP address range.

Take care to prevent overlapping IP addresses. Do not assign to clients any IP addresses that are already in use on the private network. As a precaution, consider assigning IP addresses from a network that is not commonly used (for example, 10.254.254.0/24).

 

To set tunnel-mode client IP address range – web-based manager:

1. Go to Policy & Objects > Addresses and select Create New.

2. Enter an Name, for example, SSL_VPN_tunnel_range.

3. Select a Type of IP Range.

4. 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].

5. In Interface, select Any.

6. Select OK.

 

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

 

DHCP relay of IP address

The FortiGate can get an IP address via DHCP server for SSL VPN services, however it is only configurable in the CLI Console by editing the ssl.root interface.

 

To enable DHCP relay service and relay IP address – CLI:

config system interface edit ssl.root

set dhcp-relay-service [enable|disable]

set dhcp-relay-ip next

end

 

Authentication of remote users

When remote users connect to the SSL VPN tunnel, they must perform authentication before being able to use the internal network resources. This can be as simple as assigning users with their own passwords, connecting to an LDAP server or using more secure options. FortiOS provides a number of options for authentication as well as security option for those connected users.

The web portal can include bookmarks to connect to internal network resources. A web (HTTP/HTTPS) bookmark can include login credentials so that the FortiGate unit automatically logs the user into the website. This means that the user logs into the SSL VPN and then does not have to enter any more credentials to visit preconfigured web sites.

Both the administrator and the end user can configure bookmarks, including SSO bookmarks. To add bookmarks as a web portal user, see Using the Bookmarks widget on page 2276.

 

Setting the client authentication timeout

The client authentication timeout controls how long an authenticated user will remain connected. When this time expires, the system forces the remote client to authenticate again. As with the idle timeout, a shorter period of time is more secure. The default value is 28800 seconds (8 hours). You can only modify this timeout value in the CLI.

For example, to change the authentication timeout to 18 000 seconds, enter the following commands in the CLI:

config vpn ssl settings set auth-timeout 18000

end

You can also set the idle timeout for the client, to define how long the user does not access the remote resources before they are logged out.

 

Allow one-time login per user

You can set the SSL VPN tunnel such that each user can only log into the tunnel one time concurrently per user per login. That is, once logged into the portal, they cannot go to another system and log in with the same credentials again.

 

To allow one-time login per user – web-based manager:

Go to VPN > SSL-VPN Portals, select a portal, and enable Limit Users to One SSL-VPN Connection at a Time. It is disabled by default.

 

To allow one-time login per user – CLI:

config vpn ssl web portal edit <portal_name>

set limit-user-logins enable

end

 

Strong authentication with security certificates

The FortiGate unit supports strong (two-factor) authentication through X.509 security certificates (version 1 or 3). The FortiGate unit can require clients to authenticate using a certificate, and the client can require the FortiGate unit to authenticate using a certificate.

For information about obtaining and installing certificates, see the Authentication Guide.

You can select the Require Client Certificate option so that clients must authenticate using certificates. The client browser must have a local certificate installed, and the FortiGate unit must have the corresponding CA certificate installed.

When the remote client initiates a connection, the FortiGate unit prompts the client browser for its client-side certificate as part of the authentication process.

 

To require client authentication by security certificates – web-based manager:

1. Go to VPN > SSL-VPN Settings.

2. Select Require Client Certificate.

3. Select Apply.

 

To require client authentication by security certificates – CLI:

config vpn ssl settings

set reqclientcert enable end

If your SSL VPN clients require strong authentication, the FortiGate unit must offer a CA certificate that the client browser has installed.

In the FortiGate unit SSL VPN settings, you can select which certificate the FortiGate offers to authenticate itself. By default, the FortiGate unit offers its factory installed (Fortinet_CA_SSLProxy) certificate from Fortinet to remote clients when they connect. If you leave the default setting, a warning appears that recommends you purchase a certificate for your domain and upload it for use.

 

To enable FortiGate unit authentication by certificate – web-based manager:

1. Go to VPN > SSL-VPN Settings.

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

 

FortiOS will check the server certificate to verify that the certificate is valid. Only valid server certificates should be used.

 

NSA Suite B cryptography support

FortiOS supports the use of ECDSA Local Certificates for SSL VPN Suite B. The National Security Agency (NSA) developed Suite B algorithms in 2005 to serve as a cryptographic base for both classified and unclassified information at an interoperable level.

FortiOS allows you to import, generate, and use ECDSA certificates defined by the Suite B cryptography set. To generate ECDSA certificates, use the following command in the CLI:

exec vpn certificate local generate ec <certificate-name_str> <elliptic-curve-name>

<subject_str> [<optional_information>]

 

Configuring SSL VPN web portals

The SSL VPN portal enables remote users to access internal network resources through a secure channel using a web browser. FortiGate administrators can configure login privileges for system users as well as the network resources that are available to the users.

FortiOS supports LDAP password renewal notification and updates through SSL VPN. Configuration is enabled using the CLI commands:

config user ldap edit <username>

set server <domain>

set password-expiry-warning enable set password-renewal enable

end

 

For more information, see the Authentication Guide.

This step in the configuration of the SSL VPN tunnel sets up the infrastructure; the addressing, encryption, and certificates needed to make the initial connection to the FortiGate unit. This step is also where you configure what the remote user sees with a successful connection. The portal view defines the resources available to the remote users and the functionality they have on the network.

 

SSL connection configuration

To configure the basic SSL VPN settings for encryption and login options, go to VPN > SSL-VPN Settings.

Listen on Interface(s)               Define the interface which the FortiGate will use to listen for SSL VPN tun- nel requests. This is generally your external interface.

Listen on Port                           Enter the port number for HTTPS access.

Redirect port 80 to this login port Enable to redirect the admin HTTP port to the admin HTTPS port.

There are two likely scenarios for this:

  • SSL VPN is not in use, in which case the admin GUI runs on port 443 or 10443, and port 80 is redirected.
  • SSL VPN runs on port 443, in which case port 80 is redirected to 443 and the admin port runs on 10443.

If the administrator chooses to run SSL VPN on port 80, the redirect option is invalid.

This can also be configured in the CLI as shown below (note that HTTPS-redirect is disabled by default):

 

Syntax:

config vpn ssl settings

set https-redirect [enable | disable]

end

 

Restrict Access

Restrict accessibility to either Allow access from any host or to Limit access to specific hosts as desired. If selecting the latter, you must spe- cify the hosts.

Idle Logout                                Type the period of time (in seconds) that the connection can remain inact- ive before the user must log in again. The range is from 10 to 28800 seconds. Setting the value to 0 will disable the idle connection timeout. This setting applies to the SSL VPN session. The interface does not time out when web application sessions or tunnels are up.

Server Certificate

Select the signed server certificate to use for authentication. If you leave the default setting (Fortinet_CA_SSLProxy), the FortiGate unit offers its built-in certificate from Fortinet to remote clients when they connect. A warning appears that recommends you purchase a certificate for your domain and upload it for use.

Require Client Certificate        Select to use group certificates for authenticating remote clients. When the remote client initiates a connection, the FortiGate unit prompts the client for its client-side certificate as part of the authentication process.

For information on using PKI to provide client certificate authentication, see the Authentication Guide.

 

Address Range

Select Automatically assign addresses or Specify custom IP ranges. The latter will allow you to select the range or subnet firewall addresses that represent IP address ranges reserved for tunnel-mode SSL VPN clients.

 

DNS Server                                 If you select Specify, you may enter up to two DNS servers (IPv4 or IPv6) to be provided for the use of clients.

 

Specify WINS Servers               Enable to access options for entering up to two WINS servers (IPv4 or IPv6)

to be provided for the use of clients.

 

Allow Endpoint Regis- tration

Select so that FortiClient registers with the FortiGate unit when con- necting. If you configured a registration key by going to System > Config > Advanced, the remote user is prompted to enter the key. This only occurs on the first connection to the FortiGate unit.

 

Portal configuration

The portal configuration determines what the remote user sees when they log in to the portal. Both the system administrator and the user have the ability to customize the SSL VPN portal.

To view the portals settings page, go to VPN > SSL-VPN Portals. There are three pre-defined default portal configurations available:

  •  fullaccess
  • ltunnel-access
  • lweb-access

Each portal type includes similar configuration options. Select between the different portals by double-clicking one of the default portals in the list. You can also create a custom portal by selecting the Create New option at the top.

Portal Setting                                       Description

Name                                                       The name for the portal.

Limit Users to One SSL-VPN Con- nection at a Time

You can set the SSL VPN tunnel such that each user can only log into the tunnel one time concurrently per user per login. That is, once logged into the portal, they cannot go to another system and log in with the same credentials again. This option is disabled by default.

Tunnel Mode                                          These settings determine how tunnel mode clients are assigned IPv4 addresses.

Enable Split Tunneling Select so that the VPN carries only the traffic for the networks behind the FortiGate unit. The user’s other traffic follows its normal route.

If you enable split tunneling, you are required to set the Routing Address, which is the address that your corporate network is using. Traffic intended for the Routing Address will not be split from the tunnel.

Source IP Pools              Select an IP Pool for users to acquire an IP address when con- necting to the portal. There is always a default pool available if you do not create your own.

Portal Setting                                       Description

Tunnel Mode Client

Options

These options affect how the FortiClient application behaves when connected to the FortiGate VPN tunnel. When enabled, a check box for the corresponding option appears on the VPN login screen in FortiClient, and is not enabled by default.

 

  • Allow client to save password – When enabled, if the user selects this option, their password is stored on the user’s computer and will automatically populate each time they connect to the VPN.
  • Allow client to connect automatically – When enabled, if the user selects this option, when the FortiClient application is launched, for example after a reboot or system startup, FortiClient will automatically attempt to connect to the VPN tunnel.
  • Allow client to keep connections alive – When enabled, if the user selects this option, the FortiClient connection will not shut down. When not selected, during periods of inactivity, FortiClient will attempt to stay connected every three minutes for a maximum of 10 minutes.

 

Enable Web Mode                                 Select to enable web mode access.

Portal Message                                      This is a text header that appears on the top of the web portal.

Theme                                                     Select a color styling specifically for the web portal.

 

Show Session Information

The Show Session Information widget displays the login name of the user, the amount of time the user has been logged in and the inbound and outbound traffic statistics.

 

Show Connection Launcher                Displays the Connection Launcher widget in the web portal.

Show Login History                              Select to include user login history on the web portal.

User Bookmarks                                    Enable to allow users to add their own bookmarks in the web portal.

 

Predefined Bookmarks

Select to include bookmarks on the web portal. Bookmarks are used as links to internal network resources. When a bookmark is selected from a bookmark list, a pop-up window appears with the web page. Telnet, VNC, and RDP require a browser plugin. FTP and Samba replace the bookmarks page with an HTML file- browser.

 

Options to allow firewall address to be used in routing table for SSL VPN

If destination Named Address is set in Network > Static Routes and Address Range is set to Automatically assign addresses in VPN > SSL-VPN Settings, SSL VPN should refresh the routing table automatically.

If your network configuration does not contain a default SSL VPN portal, you might receive the error message “Input value is invalid” when you attempt to access VPN > SSL-VPN Portals.

To enable a default portal – CLI:

config vpn ssl settings

set default-portal <full-access | tunnel-access |

web-access>

end

 

 

Adding bookmarks

A web bookmark can include login credentials to automatically log the SSL VPN user into the website. When the administrator configures bookmarks, the website credentials must be the same as the user’s SSL VPN credentials. Users configuring their own bookmarks can specify alternative credentials for the website.

 

To add a bookmark – web-based manager:

1. On the VPN > SSL-VPN Portals page, ensure Enable User Bookmarks is enabled.

2. Select Create New and enter the following information:

Category                                     Select a category, or group, to include the bookmark. If this is the first book- mark added, you will be prompted to add a category. Otherwise, select Create from the drop-down list.

Name                                           Enter a name for the bookmark.

Type                                            Select the type of link from the drop-down list. Telnet, VNC, and RDP require a browser plugin. FTP and Samba replace the bookmarks page with an HTML file-browser.

URL                                             Enter the IP address source.

Description                                Enter a brief description of the link.

Single Sign-On                          Enable if you wish to use Single Sign-On (SSO) for any links that require authentication.

When including a link using SSO, be sure to use the entire URL. For example, http://10.10.1.0/login, rather than just the IP address.

3. Select OK.

For more configuration options, see Configuring SSL VPN web portals on page 2253.

 

Personal bookmarks

The administrator has be ability to view bookmarks the remote client has added to their SSL VPN login in the bookmarks widget. This enables the administrator to monitor and, if needed, remove unwanted bookmarks that do not meet with corporate policy.

To view and maintain remote client bookmarks, go to VPN > SSL-VPN Personal Bookmarks.

For more information about available bookmark applications, see Applications available in the web portal on page 2275

 

To enable personal bookmarks:

1. Go to System > Feature Select.

2. Enable SSLVPN Personal Bookmark Management.

3. Select Apply.

 

SSL VPN Realms

You can go to VPN > SSL-VPN Realms and create custom login pages for your SSL VPN users. You can use this feature to customize the SSL VPN login page for your users and also to create multiple SSL VPN logins for different user groups.

In order to create a custom login page using the web-based manager, this feature must be enabled using Feature Select.

Before you begin, copy the default login page text to a separate text file for safe-keep- ing. Afterward, if needed, you can restore the text to the original version.

 

To configure SSL VPN Realms – web-based manager:

1. Configure a custom SSL VPN login by going to VPN > SSL-VPN Realms and selecting Create New. Users access different portals depending on the URL they enter.

2. The first option in the custom login page is to enter the path of the custom URL.

This path is appended to the address of the FortiGate unit interface to which SSL VPN users connect. The actual path for the custom login page appears beside the URL path field.

3. You can also limit the number of users that can access the custom login at any given time.

4. You can use HTML code to customize the appearance of the login page.

5. After adding the custom login, you must associate it with the users that will access the custom login. Do this by going to VPN > SSL-VPN Settings and adding a rule to the Authentication/Portal Mapping section.

6. Under Authentication/Portal Mapping, click Create New and select the user group(s) and the associated Realm.

 

To configure SSL VPN Realms – CLI:

config vpn ssl web realm edit <url-path>

set login-page <content_str> set max-concurrent-user <int> set virtual-host <hostname_str>

end

 

Where the following variables are set:

Variable                                                    Description                                                               Default

edit <url-path>                Enter the URL path to access the SSL-VPN login page.

Do not include “http://”.

No default.

login-page <content_str>       Enter replacement HTML for SSL-VPN login page.        No default.

max-concurrent-user <int>      Enter the maximum number of concurrent users allowed. Range 0-65 535. 0 means unlimited.

virtual-host <hostname_str>   Enter the virtual host name for this realm. Optional.

Maximum length 255 characters.

0

No default.

Configuring encryption key algorithms

The FortiGate unit supports a range of cryptographic cipher suites to match the capabilities of various web browsers. The web browser and the FortiGate unit negotiate a cipher suite before any information (for example, a user name and password) is transmitted over the SSL link. You can only configure encryption key algorithms for SSL VPN in the CLI.

 

To configure encryption key algorithms – CLI:

Use the following CLI command,

config vpn ssl settings

set algorithm <cipher_suite>

end

where one of the following variables replaces <cipher_suite>:

 

Variable                   Description

low             Use any cipher suite; AES, 3DES, RC4, or DES.

medium         Use a 128-bit or greater cipher suite; AES, 3DES, or RC4.

high            Use a ciper suite grather than 128 bits; AES or 3DES.

 

Note that the algorithm <cipher_suite> syntax is only available when the sslvpn-enable attribute is set to enable.

 

Additional configuration options

Beyond the basics of setting up the SSL VPN, you can configure a number of other options that can help to ensure your internal network is secure and can limit the possibility of attacks and viruses entering the network from an outside source.

 

Routing in tunnel mode

If you are creating a SSL VPN connection in tunnel mode, you need to add a static route so that replies from the protected network can reach the remote SSL VPN client.

 

To add the tunnel mode route – web-based manager:

1. Go to Network > Static Routes and select Create New.

2. Enter the Destination IP/Mask of the tunnel IP address that you assigned to the users of the web portal.

3. Select the SSL VPN virtual interface for the Device.

4. Select OK.

 

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

 

DTLS tunneling to improve upload/download speed

The Datagram Transport Layer Security (DTLS) protocol is supported for SSL VPN connections. DTLS tunneling implementation avoids TCP over TCP issues and can improve throughput. DTLS support can be enabled in the CLI as described below:

 

To configure DTLS tunneling – CLI:

config vpn ssl settings

set dtls-tunnel [enable | disable] (default: enabled)

end

 

Changing the port number for web portal connections

You can specify a different TCP port number for users to access the web portal login page through the HTTPS link. By default, the port number is 443 and users can access the web portal login page using the following default URL:

https://:443/remote/login

where <FortiGate_IP_address> is the IP address of the FortiGate interface that accepts connections from remote users.

To change the SSL VPN port – web-based manager:

1. If Current VDOM appears at the bottom left of the screen, select Global from the list of VDOMs.

2. Go to VPN > SSL-VPN Settings.

3. Type an unused port number in the Listen on Port field and select Apply.

 

To change the SSL VPN port – CLI:

This is a global setting. For example, to set the SSL VPN port to 10443, enter the following:

config vpn ssl settings set port 10443

end

 

HTTP to HTTPS redirect support

The admin HTTP port can be redirected to the admin HTTPS port. This is enabled in VPN > SSL-VPN Settings

using the option Redirect port 80 to this login port. There are two likely scenarios for this:

  • SSL VPN is not in use, in which case the admin GUI runs on port 443 or 10443, and port 80 is redirected.
  • SSL VPN runs on port 443, in which case port 80 is redirected to 443 and the admin port runs on 10443. If the administrator chooses to run SSL VPN on port 80, the redirect option is invalid.

This can also be configured in the CLI as described below:

 

To redirect HTTP to HTTPS port – CLI:

config vpn ssl settings

set https-redirect [enable | disable] (default: disabled)

end

 

SSL offloading

To configure SSL offloading, which allows or denies client renegotiation, you must use the CLI. This helps to resolve the issues that affect all SSL and TLS servers that support renegotiation, identified by the Common Vulnerabilities and Exposures system in CVE-2009-3555. The SSL offloading renegotiation feature is considered a workaround until the IETF permanently resolves the issue.

The CLI command is ssl-client-renegotiation and is found under the config firewall vip syntax.

 

Host check

When you enable AV, FW, or AV-FW host checking in the web portal Security Control settings, each client is checked for security software that is recognized by the Windows Security Center. As an alternative, you can create a custom host check that looks for security software selected from the Host Check list. For more information, see Additional configuration options on page 2259.

The Host Check list includes default entries for many security software products.

Host integrity checking is only possible with client computers running Microsoft Win- dows platforms.

 

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

 

Replacing the host check error message

You can add your own host security check error message using either the web-based manager or the CLI. The default message reads: “Your PC does not meet the host checking requirements set by the firewall. Please check that your OS version or antivirus and firewall applications are installed and running properly or you have the right network interface.”

 

To replace the host check error message – web-based manager:

1. Navigate to System > Replacement Messages and select Extended View in the upper right corner.

2. Scroll down to SSL VPN and select Hostcheck Error Message.

3. Edit the text in the right-hand column below and select Save.

If you are unhappy with the new message, you can restore the message to its default by selecting RestorDefault instead of Save.

 

To replace the host check error message – CLI:

Configure the host check error message using the following command.

config system replacemsg sslvpn hostcheck-error

 

Creating a custom host check list

You can add your own software requirements to the host check list using the CLI. Host integrity checking is only possible with client computers running Microsoft Windows platforms. Enter the following commands:

config vpn ssl web host-check-software edit <software_name>

set guid <guid_value>

set type <av | fw>

set version <version_number>

end

If known, enter the Globally Unique Identifier (GUID) for the host check application. Windows uses GUIDs to identify applications in the Windows Registry. The GUID can be found in the Windows registry in the HKEY_ CLASSES_ROOT section.

To obtain the exact versioning, in Windows, right-click on the .EXE file of the application and select Properties, then select the Version tab.

Host Check is applicable for both SSLVPN Web Mode and SSLVPN Tunnel mode.

 

Windows OS check

The Windows patch check enables you to define the minimum Windows version and patch level allowed when connecting to the SSL VPN portal. When the user attempts to connect to the web portal, FortiOS performs a query on the version of Windows the user has installed. If it does not match the minimum requirement, the connection is denied. The Windows patch check is configured in the CLI.

The following example shows you how to add an OS check to the ‘g1portal’ web portal. This OS check accepts all Windows XP users and Windows 2000 users running patch level 3.

To specify the acceptable patch level, you set the latest-patch-level and the tolerance. The lowest acceptable patch level is latest-patch-level minus tolerance. In this case, latest-patch-level is 3 and tolerance is 1, so 2 is the lowest acceptable patch level.

config vpn ssl web portal edit g1portal

set os-check enable

config os-check-list windows-2000 set action check-up-to-date

set latest-patch-level 3 set tolerance 1

end

config os-check-list windows-xp set action allow

end end

 

Host check for Windows firewall

The Windows built-in firewall does not have a GUID in root\securitycenter or root\securitycenter2, but you can use a registry value to detect the firewall status.

If Windows firewall is on, the following registry value will be set to 1:

  • KeyName: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\ FirewallPolicy\StandardProfile
  • ValueName: EnableFirewall

In FortiOS, use the registry-value-check feature to define the Windows Firewall software by entering the following in the CLI:

config vpn ssl web host-check-software edit “Microsoft-Windows-Firewall”

config check-item-list edit 1

set target “HKLM\\SYSTEM\\CurrentControlSet\\Services\\SharedAccess\\Parameters\\Firew allPolicy\\StandardProfile:EnableFirewall==1”

set type registry next

edit 2

set target “HKLM\\SYSTEM\\CurrentControlSet\\Services\\SharedAccess\\Parameters\\Firew allPolicy\\PublicProfile:EnableFirewall==1”

set type registry next

edit 3

set target “HKLM\\SYSTEM\\CurrentControlSet\\Services\\SharedAccess\\Parameters\\Firew allPolicy\\DomainProfile:EnableFirewall==1”

set type registry next

end

set type fw next

set host-check custom

set host-check-policy Microsoft-Windows-Firewall

 

Configuring virtual desktop

Available for 32-bit Windows XP, Windows Vista, and Windows 7 client PCs, the virtual desktop feature completely isolates the SSL VPN session from the client computer’s desktop environment. All data is encrypted, including cached user credentials, browser history, cookies, temporary files, and user files created during the session. When the SSL VPN session ends normally, the files are deleted. If the session ends due to a malfunction, files might remain, but they are encrypted so that the information is protected.

When the user starts an SSL VPN session that has virtual desktop enabled, the virtual desktop replaces the user’s normal desktop. When the virtual desktop exits, the user’s normal desktop is restored.

Virtual desktop requires the Fortinet cache cleaner plugin. If the plugin is not present, it automatically downloads to the client computer.

 

To enable virtual desktop :

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

 

Configuring virtual desktop application control

You can control which applications users can run on their virtual desktop. To do this, you create an Application Control List of either allowed or blocked applications. When you configure the web portal, you select the list to use.

Configure the application control list in the CLI.

 

To create an Application Control List – CLI:

If you want to add ‘BannedApp’ to ‘List1’, a list of blocked applications, you would enter:

config vpn ssl web virtual-desktop-app-list edit “List1”

set action block config apps

edit “BannedApp”

set md5s “06321103A343B04DF9283B80D1E00F6B” end

end

 

Configuring client OS Check

The SSLVPN client OS Check feature can determine if clients are running the Windows 2000, Windows XP, Windows Vista or Windows 7 operating system. You can configure the OS Check to do any of the following:

  • Allow the client access.
  • Allow the client access only if the operating system has been updated to a specified patch (service pack) version.
  • Deny the client access.

The OS Check has no effect on clients running other operating systems.

 

To configure OS Check:

OS Check is configurable only in the CLI.

 

config vpn ssl web portal edit <portal_name>

set os-check enable

config os-check-list {windows-2000 | windows-xp | windows-vista | windows-7}

set action {allow | check-up-to-date | deny} set latest-patch-level {disable | 0 – 255} set tolerance {tolerance_num}

end end

 

Adding WINS and DNS services for clients

You can specify the WINS or DNS servers that are made available to SSL-VPN clients.

DNS servers provide the IP addresses that browsers need to access web sites. For Internet sites, you can specify the DNS server that your FortiGate unit uses. If SSL VPN users will access intranet sites using URLs, you need to provide them access to the intranet’s DNS server. You specify a primary and a secondary DNS server.

A WINS server provides IP addresses for named servers in a Windows domain. If SSL VPN users will access a Windows network, you need to provide them access to the domain WINS server. You specify a primary and a secondary WINS server.

To specify WINS and DNS services for clients – web-based manager:

1. Go to VPN > SSL-VPN Settings.

2. Next to DNS Server select Specify.

3. Enter the IP addresses of DNS servers in the DNS Server fields as needed. Fields are available for both IPv4 and IPv6 addresses.

4. Select Specify WINS Servers, and enter the IP addresses of WINS servers in the WINS Server fields as needed. Fields are available for both IPv4 and IPv6 addresses.

5. Select Apply.

 

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

 

Setting the idle timeout setting

The idle timeout setting controls how long the connection can remain idle before the system forces the remote user to log in again. For security, keep the default value of 5000 seconds or less. Set the timeout value to 0 to disable idle timeouts.

 

To set the idle timeout – web-based manager:

1. Go to VPN > SSL-VPN Settings and enable Idle Logout.

2. In the Inactive For field, enter the timeout value.

The valid range is from 10 to 28800 seconds.

3. Select Apply.

 

To set the idle timeout – CLI:

config vpn ssl settings

set idle-timeout <seconds_int>

end

 

SSL VPN logs

Logging is available for SSL VPN traffic so you can monitor users connected to the FortiGate unit and their activity. For more information on configuring logs on the FortiGate unit, see the Logging and Reporting Guide.

 

To enable logging of SSL VPN events – web-based manager:

1. Go to Log & Report > Log Settings.

2. Enable Event Logging, and select VPN activity event.

3. Select Apply.

To view the SSL VPN log data, in the web-based manager, go to Log & Report and select either the Event Log or Traffic Log.

In event log entries, look for the sub-types “sslvpn-session” and “sslvpn-user”.

For information about how to interpret log messages, see the FortiGate Log Message Reference.

 

Monitoring active SSL VPN sessions

You can go to User & Device > Monitor to view a list of active SSL VPN sessions. The list displays the user name of the remote user, the IP address of the remote client, and the time the connection was made. You can also see which services are being provided, and delete an active web session from the FortiGate unit.

 

To monitor SSL VPNs – web-based manager:

To view the list of active SSL VPN sessions, go to Monitor > SSL-VPN Monitor.

When a tunnel-mode user is connected, the Description field displays the IP address that the FortiGate unit assigned to the remote host.

If required, you can end a session/connection by selecting its checkbox and then clicking the Delete icon.

 

Importing and using a CA-signed SSL certificate

Use the following set of instructions to import a CA-signed SSL certificate and configure an SSL VPN using that certificate.

 

Import the signed certificate into your FortiGate device

1. Unzip the file downloaded from the CA.

There should be two .CRT files: a CA certificate with bundle in the file name, and a local certificate.

2. Log in to your FortiGate unit and browse to System > Certificates.

3. Select Create New > Local Certificate to import the local certificate.

The status of the certificate will change from PENDING to OK.

4. Import the CA certificate by selecting Import > CA Certificate.

It will be listed in the CA Certificates section of the certificates list. You can now configure SSL VPN using the signed certificate.

 

Configure your FortiGate device to use the signed certificate

1. Log in to your FortiGate unit and browse to VPN > SSL-VPN Settings.

2. In the Connection Settings section, locate the Server Certificate field.

3. Select the new certificate from the drop-down menu.

4. Select Apply to configure SSL VPN to use the new certificate.

 

Implement post-authentication CSRF protection in SSL VPN web mode

This attribute can enable/disable verification of a referrer in the HTTP request header in order to prevent a Cross- Site Request Forgery attack.

 

Syntax:

config vpn ssl settings

set check-referer [enable|disable]

end

 

DTLS support

The Datagram Transport Layer Security (DTLS) protocol is now supported for SSL VPN connections. DTLS allows datagram-based applications to communicate in a way that prevents eavesdropping, tampering, or message forgery. It is similar to the Transport Layer Security (TLS) protocol. DTLS support can be enabled in the CLI as described below.

 

Syntax

config vpn ssl settings

set dtls-tunnel [enable | disable] (default: enabled)

end

 

Allow firewall address to be used in routing table for SSL VPN

If destination Named Address is set in Network > Static Routes and Address Range is set to Automatically assign addresses is enabled in VPN > SSL-VPN Settings, SSL VPN should refresh the routing table automatically.

To view the routes in the routing table, go to Monitor > Routing Monitor.


Having trouble configuring your Fortinet hardware or have some questions you need answered? Check Out The Fortinet Guru Youtube Channel! Want someone else to deal with it for you? Get some consulting from Fortinet GURU!

Introduction to SSL VPN

Introduction to SSL VPN

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. Employees traveling across the country or around the world require timely and comprehensive access to network resources. 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 (VPN) was developed.

SSL VPNs establish connectivity using SSL, which functions at Levels 4 – 5 (Transport and Session layers). Information is encapsulated at Levels 6 – 7 (Presentation and Application layers), and SSL VPNs communicate at the highest levels in the OSI model. SSL is not strictly a Virtual Private Network (VPN) technology that allows clients to connect to remote networks in a secure way. A VPN is a secure logical network created from physically separate networks. VPNs use encryption and other security methods to ensure that only authorized users can access the network. VPNs also ensure that the data transmitted between computers cannot be intercepted by unauthorized users. When data is encoded and transmitted over the Internet, the data is said to be sent through a “VPN tunnel”. A VPN tunnel is a non-application oriented tunnel that allows the users and networks to exchange a wide range of traffic regardless of application or protocol.

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.

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.

FortiOS supports the SSL and TLS versions defined below:

 

SSL and TLS version support table

Version                                          RFC

SSL 2.0                                             RFC 6176

SSL 3.0                                             RFC 6101

TLS 1.0                                             RFC 2246

TLS 1.1                                             RFC 4346

TLS 1.2                                             RFC 5246

 

SSL VPN modes of operation

When a remote client connects to the FortiGate unit, the FortiGate unit authenticates the user based on username, password, and authentication domain. A successful login determines the access rights of remote users according to user group. The user group settings specify whether the connection will operate in web-only mode or tunnel mode.

 

Webonly 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 (note that there is no minimum Java/JRE version requirement—any version of Java/JRE currently supported by the supplier of the Java/JRE for the operating system should work).

Support for SSL VPN web-only mode is built into FortiOS. The feature comprises of an SSL daemon running on the FortiGate unit, and a web portal, which provides users with access to network services and resources including HTTP/HTTPS, Telnet, FTP, SMB/CIFS, VNC, RDP, and SSH.

In web-only mode, the FortiGate unit acts as a secure HTTP/HTTPS gateway and authenticates remote users as members of a user group. After successful authentication, the FortiGate unit redirects the web browser to the web portal home page and the user can access the server applications behind the FortiGate unit.

When the FortiGate unit provides services in web-only mode, a secure connection between the remote client and the FortiGate unit is established through the SSL VPN security in the FortiGate unit and the SSL security in the web browser. After the connection has been established, the FortiGate unit provides access to selected services and network resources through a web portal.

FortiGate SSL VPN web portals have a 1- or 2-column page layout and portal functionality is provided through small applets called widgets. Widget windows can be moved or minimized. The controls within each widget depend on its function. There are predefined web portals and the administrator can create additional portals.

Configuring the FortiGate unit involves 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.

The following table lists the operating systems and web browsers supported by SSL VPN web-only mode.

 

VPN Web-only Mode, supported operating systems and web browsers

Operating System                                    Web Browser

Microsoft Windows 7 32-bit SP1              • Microsoft Internet Explorer versions 9, 10 and 11

  • Mozilla Firefox version 33

Microsoft Windows 7 64-bit SP1              • Microsoft Internet Explorer versions 9, 10 and 11

  • Mozilla Firefox version 33

Linux CentOS version 5.6 and

Ubuntu version 12.0.4

  • Mozilla Firefox version 5.6

Other operating systems and web browsers may function correctly, but are not supported by Fortinet.

 

Tunnel mode

In Tunnel mode, remote clients connect to a FortiGate unit that acts as a secure HTTP/HTTPS gateway and authenticates remote users as members of a user group.

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 user and the FortiGate unit. Another option 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.

 

SSL VPN Tunnel client standalone installer (build 2300) supported operating systems

Operating System                    Release

Microsoft Windows                  • 8.1 (32-bit & 64-bit), 8 (32-bit & 64-bit), 7 (32-bit & 64-bit), and XP SP3 in .exe and .msi formats

Linux                                          • CentOS and Ubuntu in .tar.gz format

Virtual Desktop                         • In .jar format for Microsoft Windows 7 SP1 (32-bit)

 

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 security policy and protection profiles on the FortiGate unit ensure that inbound traffic is screened and processed securely.

The user account used to install the SSL VPN client on the remote computer must have administrator privileges.

If you are using Windows Vista, you must disable UAC (User Account Control) before installing the SSL VPN tunnel client. IE7 in Windows Vista runs in Protected Mode by default. To install SSL VPN client ActiveX, you need to launch IE7 by using ‘Run as administrator’ (right-click the IE7 icon and select ‘Run as administrator’).

For information about client operating system requirements, see the Release Notes for your FortiGate firmware. For information on configuring tunnel mode, see Tunnel mode client configuration on page 2269.

 

Port forwarding mode

While tunnel mode provides a Layer 3 tunnel that users can run any application over, the user needs to install the tunnel client, and have the required administrative rights to do so. In some situations, this may not be desirable, yet the simple web mode does not provide enough flexibility for application support (for example, if you wish to use an email client that communicates with a POP3 server). The port forward mode, or proxy mode, provides this middle ground between web mode and tunnel mode.

SSL VPN port forwarding listens on local ports on the user’s computer. When it receives data from a client application, the port forward module encrypts and sends the data to the FortiGate unit, which then forwards the traffic to the application server.

The port forward module is implemented with a Java applet, which is downloaded and runs on the user’s computer. The applet provides the up-to-date status information such as addressing and bytes sent and received.

On the user end, the user logs into the FortiGate SSL VPN portal, and selects a port forward bookmark configured for a specific application. The bookmark defines the server address and port as well as which port to listen to on the user’s computer.

The user must configure the application on the PC to point to the local proxy instead of the application server. For information on this configuration change, see the applic- ation documentation.

This mode only supports client/server applications that are using a static TCP port. It will not support client/server applications using dynamic ports or traffic over UDP.

 

Application support

With Citrix application servers, the server downloads an ICA configuration file to the user’s PC. The client application uses this information to connect to the Citrix server. The FortiGate unit will read this file and append a SOCKS entry to set the SOCKS proxy to ‘localhost’. The Citrix client will then be able to connect to the SSL VPN port forward module to provide the connection. When configuring the port forwarding module, a selection is available for Citrix servers.

For Windows Remote Desktop Connections, when selecting the RDP option, the tunnel will launch the RDP client and connect to the local loopback address after the port forward module has been initiated.

 

Antivirus and firewall host compatibility

The following tables list the antivirus and firewall client software packages that are supported in FortiOS.

 

Supported Windows XP antivirus and firewall software  
Product supported Antivirus Firewall
 

Symantec Endpoint Protection V11

 

 

 

Kaspersky Antivirus 2009

 

 
 

McAfee Security Center v8.1

 

 

 

Trend Micro Internet Security Pro

 

 

 

F-Secure Internet Security 2009

 

 

 

Supported Windows 7 32-bit and 64-bit antivirus and firewall software

 

Product supported Antivirus Firewall
 

CA Internet Security 2011

 

 

 

AVG Internet Security 2011

   
 

F-Secure Internet Security 2011

 

 

 

Kaspersky Internet Security 2011

 

 

 

McAfee Internet Security 2011

 

 

 

Norton 360TM Version 4.0

 

 

 

NortonTM Internet Security 2011

 

 

 

Panda Internet Security 2011

 

 

 

Sophos Security Suite

 

 

 

Trend Micro Titanium Internet Security

 

 

 

ZoneAlarm Security Suite

 

 

 

Symantec Endpoint Protection Small Business Edition 12.0

 

 

Traveling and security

Because SSL VPN provides a means for “on-the-go” users to dial in to the network while away from the office, you need to ensure that wherever and however they choose to dial in is secure, and not potentially compromising the corporate network.

 

Host check

To reinforce security, 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. For more information, see Host check on page 2261.

Host Check is applicable for both SSL VPN Web Mode and SSL VPN Tunnel mode.

 

SSL VPN and IPv6

FortiOS supports SSL VPN with IPv6 addressing, and is available for all the java applets (Telnet, VNC, RDP, and so on). IPv6 configurations for security policies and addressing include:

  • Policy matching for IPv6 addresses
  • Support for DNS resolving in SSL VPN
  • Support IPv6 for ping
  • FTP applications
  • SMB

In essentially any of the following instructions, replace IPv4 with IPv6 to achieve the same desired results, but for IPv6 addresses and configurations.


Having trouble configuring your Fortinet hardware or have some questions you need answered? Check Out The Fortinet Guru Youtube Channel! Want someone else to deal with it for you? Get some consulting from Fortinet GURU!