Agentless VPN with RADIUS and FortiToken mobile push on FortiAuthenticator
This is a sample configuration of Agentless VPN that uses FortiAuthenticator as a RADIUS authentication server and FortiToken mobile push two-factor authentication. If you enable push notifications, users can accept or deny the authentication request.
Sample topology
Sample configuration
WAN interface is the interface connected to ISP. This example shows static mode. You can also use DHCP or PPPoE mode. The Agentless VPN connection is established over the WAN interface.
To configure FortiAuthenticator using the GUI:
-
On the FortiAuthenticator, go to System > Administration > System Access and configure a Public IP/FQDN for FortiToken Mobile. If the FortiAuthenticator is behind a firewall, the public IP/FQDN will be an IP/port forwarding rule directed to one of the FortiAuthenticator interfaces. The interface that receives the approve/deny FTM push responses must have the FortiToken Mobile API service enabled.
-
Add a FortiToken mobile license on the FortiAuthenticator:
-
Go to Authentication > User Management > FortiTokens.
-
Click Create New.
-
Set Token type to FortiToken Mobile and enter the FortiToken Activation codes.
-
-
Create the RADIUS client (FortiGate) on the FortiAuthenticator:
-
Go to Authentication > RADIUS Service > Clients to add the FortiGate as a RADIUS client OfficeServer).
-
Enter the FortiGate IP address and set a Secret.
The secret is a pre-shared secure password that the FortiGate uses to authenticate to the FortiAuthenticator.
-
Set Authentication method to Enforce two-factor authentication.
-
Select Enable FortiToken Mobile push notifications authentication.
-
Set Realms to local | Local users.
-
-
Create a user and assign FortiToken mobile to the user on the FortiAuthenticator:
-
Go to Authentication > User Management > Local Users to create a user agentlessvpnuser1.
-
Enable Allow RADIUS authentication and click OK to access additional settings.
-
Enable Token-based authentication and select to deliver the token code by FortiToken.
-
Select the FortiToken added from the FortiToken Mobile dropdown menu.
-
Set Delivery method to Email and fill in the User Information section.
-
Go to Authentication > User Management > User Groups to create a group agentlessvpngroup.
-
Add agentlessvpnuser1 to the group by moving the user from Available users to Selected users.
-
-
Install the FortiToken mobile application on your Android or iOS smartphone.
The FortiAuthenticator sends the FortiToken mobile activation to the user’s email address.
-
Activate the FortiToken mobile through the FortiToken mobile application by entering the activation code or scanning the QR code.
To configure Agentless VPN using the GUI:
-
Configure the interface and firewall address. The port1 interface connects to the internal network.
-
Go to Network > Interfaces and edit the wan1 interface.
-
Set IP/Network Mask to 172.20.120.123/255.255.255.0.
-
Edit port1 interface and set IP/Network Mask to 192.168.1.99/255.255.255.0.
-
Click OK.
-
Go to Policy & Objects > Address and create an address for internet subnet 192.168.1.0.
-
-
Create a RADIUS user and user group:
-
On the FortiGate, go to User & Authentication > RADIUS Servers to create a user to connect to the RADIUS server (FortiAuthenticator).
-
For Name, use FAC-RADIUS.
-
Enter the IP address of the FortiAuthenticator, and enter the Secret created above.
-
Click Test Connectivity to ensure you can connect to the RADIUS server.
-
Select Test User Credentials and enter the credentials for agentlessvpnuser1.
The FortiGate can now connect to the FortiAuthenticator as the RADIUS client.
-
Go to User & Authentication > User Groups and click Create New to map authenticated remote users to a user group on the FortiGate.
-
For Name, use AgentlessVPNGroup.
-
In Remote Groups, click Add.
-
In the Remote Server dropdown list, select FAC-RADIUS.
-
Leave the Groups field blank.
-
-
Configure Agentless VPN portals.
-
Go to VPN > Agentless VPN Portals, and click Create New.
-
Enter a name, such as agentless-portal.
-
Under Predefined Bookmarks, click Create New, and enter the following details:
Field
Value
Name
Windows Server
Type
RDP
Host
192.168.1.114
Port
3389
Single Sign-On
Disable
Username
Set the username to log in to Windows Server.
Password
Set the password to log in to Windows Server.
Port
3389
-
Click OK to save the predefined bookmark.
-
Click OK to save the portal settings.
-
Create another Agentless VPN portal and name it portal-access-disabled.
-
Click OK to save the portal settings.
-
Disable Agentless VPN for the newly created portal (that is, portal-access-disabled) using CLI:
config vpn ssl web portal edit "portal-access-disabled" set web-mode disable next end
-
-
Configure Agentless VPN settings:
-
Go to VPN > Agentless VPN Settings.
-
Set Agentless VPN status to Enable.
-
Set Listen on Interface(s) to wan1.
-
Set Listen on Port to 10443.
-
Choose a certificate for Server Certificate. The default is Fortinet_Factory.
-
In Authentication/Portal Mapping, select All Other Users/Groups, and click Edit.
-
Use Portal dropdown to select portal-access-disabled.
-
Click OK.
-
In Authentication/Portal Mapping, click Create New.
-
Set Users/Groups to AgentlessVPNgroup.
-
Set Portal to agentless-portal.
-
Click OK.
-
-
Click Apply to save the Agentless VPN settings.
-
-
Configure Agentless VPN firewall policy.
-
Go to Policy & Objects > Firewall Policy, and click Create New.
-
Set Name to Agentless VPN firewall policy.
-
Set Schedule to always and Action to Accept.
-
Set Incoming interface to Agentless VPN interface (ssl.root).
-
Choose an Outgoing Interface. This example uses port1.
-
Set the Source to all and User/group to AgentlessVPNGroup.
-
In this example, the Destination is the internal, protected subnet 192.168.1.0.
-
Set Service to ALL.
-
Enable NAT.
-
Configure any remaining firewall and security options as desired.
-
Click OK.
-
To configure Agentless VPN using the CLI:
-
Configure the interface and firewall address:
config system interface edit "wan1" set vdom "root" set ip 172.20.120.123 255.255.255.0 next end -
Configure internal interface and protected subnet, then connect the port1 interface to the internal network:
config system interface edit "port1" set vdom "root" set ip 192.168.1.99 255.255.255.0 next endconfig firewall address edit "192.168.1.0" set subnet 192.168.1.0 255.255.255.0 next end -
Create a RADIUS user and user group:
config user radius edit "FAC-RADIUS" set server "172.20.120.161" set secret <FAC client secret> next endconfig user group edit "sslvpngroup" set member "FAC-RADIUS" next end -
Configure Agentless VPN portal and predefine RDP bookmark for windows server.
config vpn ssl web portal edit "agentless-portal" set web-mode enable config bookmark-group edit "gui-bookmarks" config bookmarks edit "Windows Server" set apptype rdp set host "192.168.1.114" set port 3389 set logon-user "your-windows-server-user-name" set logon-password your-windows-server-password next end next end next end -
Configure another Agentless VPN portal and disable Agentless VPN on it.
config vpn ssl web portal edit "portal-access-disabled" set web-mode disable next end -
Configure Agentless VPN settings:
config vpn ssl settings set banned-cipher SHA1 SHA256 SHA384 set servercert "server_certificate" set port 1443 set source-interface "wan1" set source-address "all" set default-portal "portal-access-disabled" config authentication-rule edit 1 set groups "agentlessvpngroup" set portal "agentless-portal" next end end -
Configure one Agentless VPN firewall policy to allow remote user to access the internal network:
config firewall policy edit 1 set name "Agentless VPN firewall policy" set srcintf "ssl.root" set dstintf "port1" set srcaddr "all" set dstaddr "192.168.1.0" set action accept set schedule "always" set service "ALL" set nat enable set groups “agentlessvpngroup” next end
To see the results of web portal:
-
From a remote device, use a web browser to log into the Agentless VPN web portal http://172.20.120.123:10443.
-
Log in using the agentlessvpnuser1 credentials.
The FortiAuthenticator pushes a login request notification through the FortiToken Mobile application.
-
Check your mobile device and select Approve.
When the authentication is approved, agentlessvpnuser1 is logged into the Agentless VPN portal.
To check the Agentless VPN connection using the GUI:
-
On FortiGate, go to Dashboard > Agentless VPN Monitor to verify the list of Agentless VPN users.
If the Agentless VPN Monitor is hidden, click + under the Dashboard, search for Agentless VPN Monitor, and add it to the display.
-
Go to Log & Report > System Events, and use the dropdown to select VPN Events to view VPN logs.
To check the Agentless VPN portal login using the CLI:
get vpn ssl monitor Agentless VPN Login Users: Index User Auth Type Timeout From HTTP in/out HTTPS in/out 0 agentlessvpnuser1 1(1) 229 10.1.100.254 0/0 0/0 Agentless VPN sessions: Index User Source IP Duration I/O Bytes Tunnel/Dest IP