Fortinet FortiGate SSL VPN Integration with AuthPoint

Deployment Overview

This document describes how to set up multi-factor authentication (MFA) for Fortinet® SSL VPN with AuthPoint as an identity provider. Fortinet SSL VPN must already be configured and deployed before you set up MFA with AuthPoint.

Fortinet SSL VPN can be configured to support MFA in several modes. For this integration, we set up SAML with AuthPoint.

This integration was tested with v7.0.0 build0066 of FortiGate 60E.

Fortinet SSL VPN Authentication Data Flow with AuthPoint

AuthPoint communicates with various cloud-based services and service providers with the SAML protocol. This diagram shows the data flow of an MFA transaction for Fortinet SSL VPN.

Diagram that shows the data flow of an MFA transaction for a SAML resource with the push authentication method.

Before You Begin

Before you begin these procedures, make sure that:

Configure Fortinet FortiGate SSL VPN

To start, you must download the metadata file from the Certificate Management page in the AuthPoint management UI. After you have that, you can configure Fortinet SSL VPN.

  1. Log in to WatchGuard Cloud.
  2. From the navigation menu, select Configure > AuthPoint. If you have a Service Provider account, you must select an account from Account Manager.
  3. Select Resources.
  4. Click Certificate.

  1. Next to AuthPoint certificate you will associate with your resource, click and select Download Certificate and Download Metadata. We recommend that you choose the certificate with the latest expiration date. If you do not have a certificate, or if all of your certificates have expired, click Add Certificate and use the newly created certificate.

    The AuthPoint metadata provides your resource, in this case Fortinet SSL VPN, with information necessary to identify AuthPoint as a trusted identity provider.

  1. Log in to the FortiGate 60E web UI at https://<IP address of FortiGate 60E>. The default IP address is 192.168.1.99.
  2. Select Network > Interfaces.
  3. Configure the external interface (wan1) and the internal interface (internal2). For information about how to configure interfaces, see the Fortinet User Guide.

Screenshot of Fortigate, picture1

  1. Select System > Feature Visibility.
  2. In the Additional Features section, enable the Certificates toggle.

Screenshot of Fortigate, picture2

  1. Click Apply.
  2. Select System > Certificates.
  3. From the Import drop-down list, select Remote Certificate.
  4. Click Upload and browse to select the AuthPoint certificate file that you downloaded in Step 5.
  5. Click OK.

Screenshot of Fortigate, picture3

  1. Configure the FortiGate SP (Service Provider) to be a SAML user. You must use the command line interface (CLI) to do this.

    FortiGaate-60E #config user saml

    FortiGate-60E (saml) #edit "fac-sslvpn"

    FortiGate-60E (fac-sslvpn) #set entity-id "https://<FortiGate external IP address>:10443/remote/saml/metadata/"

    FortiGate-60E (fac-sslvpn) #set single-sign-on-url "https://<FortiGate external IP address>:10443/remote/saml/login/"

    FortiGate-60E (fac-sslvpn) #set idp-entity-id "<entityID value from the AuthPoint metadata file>"

    FortiGate-60E (fac-sslvpn) #set idp-single-sign-on-url "<SingleSignOnService value from the AuthPoint metadata file>"

    FortiGate-60E (fac-sslvpn) #set idp-single-logout-url "<SingleLogoutService value from the AuthPoint metadata file>"

    FortiGate-60E (fac-sslvpn) #set idp-cert "REMOTE_Cert_1"

    REMOTE_Cert_1 is the certificate name of AuthPoint certificate you just uploaded.

    FortiGate-60E (fac-sslvpn) #set user-name "username"

    This command maps attributes between AuthPoint and FortiGate. You do not specify an actual user name.

    FortiGate-60E (fac-sslvpn) #next

    FortiGate-60E (saml) #end

  2. Select User & Authentication > User Groups.
  3. Click Create New.
  4. In the Name text box, type a name. In our example, we type saml_sslvpn.
  5. For Type, select Firewall.
  6. In the Remote Groups section, click Add.
  7. From the Remote Server drop-down list, select the fac-sslvpnthat you created in Step 16.
  8. For Groups, select Any.
  9. Click OK.

Screenshot of Fortigate, picture4

  1. Click OK.
  2. Select VPN > SSL-VPN Settings.
  3. From the Listen on Interface(s) drop-down list, select wan1.
  4. In the Listen on Port text box, type 10443.
  5. From the Server Certificate drop-down list, select Fortinet_Factory.
  6. In the Authentication/Portal Mapping section, click Create New.
  7. From the Users/Groups drop-down list, select the saml_sslvpn that you created.
  8. From the Portal drop-down list, select full-access.
  9. Click OK.
  10. Select the All Other Users/Groups, click Edit.
  11. From the Portal drop-down list, select full-access.
  12. Click OK.
  13. Leave the default value for all other settings.

Screenshot of Fortigate, picture5

  1. Click Apply.
  2. Select Policy & Objects > Addresses.
  3. Select Create New > Address.
  4. In the Name text box, type a name. In our example, we type LAN Subnet.
  5. From the Type drop-down list, select Subnet.
  6. In the IP/Netmask text box, type the LAN network.
  7. From the Interface drop-down list, select internal2.

Screenshot of Fortigate, picture6

  1. Click OK.
  2. Select Policy & Objects > Firewall Policy.
  3. Click Create New.
  4. In the Name text box, type a name.
  5. From the Incoming Interface drop-down list, select SSL-VPN tunnel interface (ssl.root).
  6. From the Outgoing interface drop-down list, select internal2.
  7. From the Source drop-down list, for Address, select all. For User, select saml_sslvpn.
  8. From the Destination drop-down list, for Address, select LAN Subnet.
  9. From the Service drop-down list, select ALL.
  10. Leave the default value for all other settings.

Screenshot of Fortigate, picture7

  1. Click OK.

Screenshot of Fortigate, picture8

  1. (Optional) To prevent an authentication timeout with the default time, enter these commands from the FortiGate CLI:

    FortiGaate-60E #config system global

    FortiGaate-60E (global) #set remoteauthtimeout 60

    FortiGaate-60E (global) #end

Configure AuthPoint

Before AuthPoint can receive authentication requests from Fortinet SSL VPN, you must add a SAML resource in AuthPoint. You must also create an authentication policy for the Fortinet SSL VPN resource to determine which users can authenticate and log in to Fortinet SSL VPN and which authentication methods they can use (Push, QR code, and OTP).

Add a SAML Resource in AuthPoint

From the AuthPoint management UI:

  1. From the navigation menu, select Resources. Click Add Resource.
    The Add Resource page opens.

  1. From the Type drop-down list, select SAML.
    Additional fields appear.

  1. On the SAML page, in the Name text box, type a name for this resource.
  2. From the Application Type drop-down list, select Fortinet Fortigate.
  3. In the Service Provider Entity ID text box, type https://<FortiGate external IP address>:10443/remote/saml/metadata/.
  4. In the Assertion Consumer Service text box, type https://<FortiGate external IP address>:10443/remote/saml/login/.
  5. From the User ID sent on redirection to service provider drop-down list, select which user ID attribute to send to the service provider. The service provider compares the user ID attribute for the AuthPoint user with the user name in your application. These values must match.
  6. From the Signature Method drop-down list, select SHA-256.
  7. From the AuthPoint Certificate drop-down list, select the certificate to associate with your resource. This must be the same certificate that you downloaded the metadata for in the previous section.
  8. Click Save.

Add a Group in AuthPoint

You must have at least one user group in AuthPoint to configure MFA. If you already have a group, you do not have to add another group.

To add a group to AuthPoint:

  1. From the navigation menu, select Groups.
  2. Click Add Group.
    The New Group page appears.

Screenshot that shows the Groups page.

  1. In the Name text box, type a descriptive name for the group.
  2. (Optional) In the Description text box, type a description of the group.

Screen shot of the New Group page.

  1. Click Save.
    Your group is listed on the Groups page.

Screenshot of the Save button on the New Group page.

Add an Authentication Policy to AuthPoint

Authentication policies specify which resources users can authenticate to and which authentication methods they can use (Push, QR code, and OTP).

You must have at least one authentication policy in AuthPoint that includes the FortiGate SSL VPN resource. If you already have authentication policies, you do not have to create a new authentication policy. You can add this resource to your existing authentication policies.

Users that do not have an authentication policy for a specific resource cannot authenticate to log in to that resource.

To configure an authentication policy:

  1. From the navigation menu, select Authentication Policies.
  2. Click Add Policy.

Screenshot of the Add Policy button on the Authentication Policies page.

  1. Type a name for this policy.
  2. From the Select the authentication options drop-down list, select Authentication options and select which authentication options users can choose from when they authenticate.

    For SAML resources, if you select more than one authentication option, users must select one of the available options when they authenticate. For example, if you select OTP and Push, users can choose to type their OTP or approve a push to authenticate. You cannot require that they do both.

  1. Select which groups this policy applies to. You can select more than one group. To configure this policy to apply to all groups, select All Groups.
  2. Select the resource that you created in the previous section. If you want this policy to apply to additional resources, select each resource this policy applies to. To configure this policy to apply to all resources, select All Resources.

Screenshot of the Add Policy page with the groups and resources selected

  1. (Optional) If you have configured policy objects such as a Network Location, select which policy objects apply to this policy. When you add a policy object to a policy, the policy only applies to user authentications that are the same as the conditions of the policy objects. For example, if you add a Network Location to a policy, the policy only applies to user authentications that come from that Network Location. Users who only have a policy that includes a Network Location do not get access to the resource when they authenticate outside of that Network Location (because they do not have a policy that applies, not because authentication is denied).

    If you configure policy objects, we recommend that you create a second policy for the same groups and resources without the policy objects. The policy with the policy objects should have a higher priority.

Screenshot of the Policy Objects drop-down list.

  1. Click Save.
    Your policy is created and added to the end of the policy list.

    When you create a new policy, we recommend that you review the order of your policies. AuthPoint always adds new policies to the end of the policy list.

Screenshot of the Save button on the Add Policy page.

Add Users to AuthPoint

Before you assign users to a group, you must add the users to AuthPoint. There are two ways to add AuthPoint user accounts:

  • Sync users from an external user database
  • Add local AuthPoint users

Each user must be a member of a group. You must add at least one group before you can add users to AuthPoint.

Test the Integration

To test AuthPoint MFA with Fortinet SSL VPN, you can authenticate with a mobile token on your mobile device. For SAML resources, you can choose any method (push, QR code, or one-time password).

In this example, we show the push authentication method (users receive a push notification in the mobile app that they must approve to authenticate).

To connect from the SSL VPN web portal:

  1. In a web browser, go to the portal address.
  2. Type your email address or AuthPoint user name. Click Next.
  3. If required, in the Password text box, type your password.
  4. For the authentication method, select Send Push.
  5. Approve the authentication request that is sent to your mobile device.
    You are logged in to the SSL-VPN Portal.

To connect from the SSL VPN tunnel mode with FortiClient:

  1. In FortiClient, select the Remote Access tab.
  2. From the VPN Name drop-down list, select the your VPN tunnel.
  3. Click SAML Login.
  4. Type your email address or AuthPoint user name. Click Next.
  5. If required, in the Password text box, type your password.
  6. For the authentication method, select Send Push.
  7. Approve the authentication request that is sent to your mobile device.
    The VPN connects successfully.

Screenshot of FortiClient, picture1