SSL VPN with RADIUS password renew on FortiAuthenticator
This topic provides a sample configuration of SSL VPN for RADIUS users with Force Password Change on next logon. In this example, the RADIUS server is a FortiAuthenticator. A user test1 is configured on FortiAuthenticator with Force password change on next logon.
Sample network 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 SSL VPN connection is established over the WAN interface.
To configure SSL VPN using the GUI:
- Configure the interface and firewall address. Port1 interface connects to the internal network.
- Go to Network > Interface and edit the wan1
- Set IP/Network Mask to 20.120.123/255.255.255.0.
- Edit port1 interface and set IP/Network Mask to 168.1.99/255.255.255.0.
- Click OK.
- Go to Firewall & Objects > Address and create an address for internet subnet 168.1.0.
- Create a RADIUS user.
- Go to User& Device > RADIUS Servers to create a user.
- Set Authentication method to MS-CHAP-v2.
- Enter the IP/Name and Secret.
- Click Create.
Password renewal only works with the MS-CHAP-v2 authentication method.
- To enable the password-renew option, use these CLI commands.
config user radius edit “fac” set server “172.20.120.161” set secret <fac radius password> set auth-type ms_chap_v2 set password-renewal enable
next
end
- Configure user group.
- Go to User& Device > UserGroups to create a user group.
- For the Name, enter fac-group.
- In Remote Groups, click Add to add Remote Server you just created.
- Configure SSL VPN web portal.
- Go to VPN > SSL-VPN Portals to edit the full-access
This portal supports both web and tunnel mode.
- Disable Enable Split Tunneling so that all SSL VPN traffic goes through the FortiGate.
- Configure SSL VPN settings.
- Go to VPN > SSL-VPN Settings.
- Choose proper Listen on Interface, in this example, wan1.
- Listen on Port 10443.
- Set ServerCertificate to the authentication certificate.
- Under Authentication/Portal Mapping, set default Portal web-access for All OtherUsers/Groups.
- Create new Authentication/Portal Mapping for group fac-group mapping portal full-access.
- Configure SSL VPN firewall policy.
- Go to Policy & Objects > IPv4 Policy.
- Fill in the firewall policy name, in this example, sslvpn certificate auth.
- Incoming interface must be SSL-VPN tunnel interface(ssl.root).
- Set the Source Address to all and Source User to fac-group.
- Set the Outgoing Interface to the local network interface so that the remote user can access the internal network, in this example, port1.
- Set Destination Address to the internal protected subnet 168.1.0.
- Set schedule to always, service to ALL, and Action to Accept.
- Enable NAT.
- Configure any remaining firewall and security options as desired.
- Click OK.
To configure SSL 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. Connect Port1 interface to internal network.
config system interface edit “port1” set vdom “root”
set ip 192.168.1.99 255.255.255.0
next
end
config firewall address edit “192.168.1.0” set subnet192.168.1.0 255.255.255.0
next end
- Configure the RADIUS server.
config user radius edit “fac” set server “172.18.58.107” set secret <fac radius password> set auth-type ms_chap_v2 set password-renewal enable
next
end
- Configure user group.
config user group edit “fac-group” set member “fac”
next
end
- Configure SSL VPN web portal.
config vpn ssl web portal edit “full-access” set tunnel-mode enable set web-mode enable set ip-pools “SSLVPN_TUNNEL_ADDR1” set split-tunneling disable
next
end
- Configure SSL VPN settings.
config vpn ssl settings set servercert “server_certificate” set tunnel-ip-pools “SSLVPN_TUNNEL_ADDR1” set source-interface “wan1” set source-address “all” set default-portal “web-access” config authentication-rule edit 1 set groups “fac-group” set portal “full-access”
next
end
- Configure SSL VPN firewall policy.
Configure one firewall policy to allow remote user to access the internal network.
config firewall policy edit 1 set name “sslvpn web mode access” set srcintf “ssl.root” set dstintf “port1” set srcaddr “all” set dstaddr “192.168.1.0” set groups “fac-group” set action accept set schedule “always” set service “ALL”
set nat enable
next
end
To configure SSL 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. Connect Port1 interface to internal network.
config system interface edit “port1” set vdom “root”
set ip 192.168.1.99 255.255.255.0
next
end
config firewall address edit “192.168.1.0” set subnet192.168.1.0 255.255.255.0
next
end
- Configure user and user group.
config user local edit “sslvpnuser1” set type password set passwd your-password
next
end config user group edit “sslvpngroup” set member”vpnuser1″
next
end
- Configure and assign the password policy.
- Configure a password policy that includes an expiration date and warning time. The default start time for the password is the time the user was created.
config user password-policy
edit “pwpolicy1” set expire-days 2 set warn-days 1
next
end
- Assign the password policy to the user you just created.
config user local
edit “sslvpnuser1”
set type password set passwd-policy “pwpolicy1”
next
end
- Configure SSL VPN web portal.
config vpn ssl web portal edit “full-access” set tunnel-mode enable set web-mode enable set ip-pools “SSLVPN_TUNNEL_ADDR1” set split-tunneling disable
next
end
- Configure SSL VPN settings.
config vpn ssl settings set servercert “server_certificate” set tunnel-ip-pools “SSLVPN_TUNNEL_ADDR1” set source-interface “wan1” set source-address “all” set default-portal “web-access” config authentication-rule edit 1 set groups “sslvpngroup” set portal “full-access”
next
end
- Configure SSL VPN firewall policy.
Configure one firewall policy to allow remote user to access the internal network.
config firewall policy edit 1 set name “sslvpn web mode access”
set srcintf “ssl.root” set dstintf “port1” set srcaddr “all” set dstaddr “192.168.1.0” set groups “sslvpngroup” set action accept set schedule “always” set service “ALL” set nat enable
next
end
To see the results of the SSL VPN web connection:
- From a remote device, open a web browser and log into the SSL VPN web portal http://172.20.120.123:10443.
- Log in using the test1
Use a user which is configured on FortiAuthenticator with Force password change on next logon.
- Click Login. You are prompted to enter a new password.
- Go to VPN > Monitor> SSL-VPN Monitor to verify the user’s connection.
To see the results of the SSL VPN tunnel connection:
- Download FortiClient from forticlient.com.
- Open the FortiClient Console and go to Remote Access > Configure VPN.
- Add a new connection.
- Set the connection name.
- Set Remote Gateway to the IP of the listening FortiGate interface, in this example, 20.120.123.
- Select Customize Port and set it to 10443.
- Save your settings.
- Log in using the test1
You are prompted to enter a new password.
To check the SSL VPN connection using the GUI:
- Go to VPN > Monitor> SSL-VPN Monitor to verify the user’s connection.
- Go to Log & Report > VPN Events to view the details of the SSL VPN connection event log.
- Go to Log & Report > Forward Traffic to view the details of the SSL VPN traffic.
To check the web portal login using the CLI:
get vpn ssl monitor SSL VPN Login Users: | |
Index User Auth Type Timeout | From HTTP in/out HTTPS in/out |
0 test1 1(1) 229
SSL VPN sessions: |
10.1.100.254 0/0 0/0 |
Index User Source IP Duration
To check the tunnel login using the CLI: get vpn ssl monitor SSL VPN Login Users: |
I/O Bytes Tunnel/Dest IP |
Index User Auth Type Timeout | From HTTP in/out HTTPS in/out |
0 test1 1(1) 291
SSL VPN sessions: |
10.1.100.254 0/0 0/0 |
Index User Source IP Duration | I/O Bytes Tunnel/Dest IP |
0 test1 10.1.100.254 9 | 22099/43228 10.212.134.200 |