SSL VPN multi-realm
This sample recipe shows how to create a multi-realm SSL VPN that provides different portals for different user groups.
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. d. Click OK.
- Go to Firewall & Objects > Address and create an address for internet QA_subnet with subnet 192.168.1.0/24 and HR_subnet with subnet 10.1.100.0/24.
- Configure user and user group.
- Go to User& Device > UserDefinition to create local users qa-user1 and hr-user1.
- Go to User& Device > UserGroups to create separate user groups for web-only and full-access portals:
- QA_group with member qa-user1.
- HR_group with the member hr-user1.
- SSL VPN web portal configuration.
- Go to VPN > SSL-VPN Portals to create portal qa-tunnel.
- Enable tunnel-mode.
- Create a portal hr-web with web-mode enabled.
- SSL VPN realms configuration.
- Go to System > Feature Visibility to enable SSL-VPN Realms.
- Go to VPN > SSL-VPN Realms to create realms for qa and hr.
- SSL VPN settings configuration.
- Go to VPN > SSL-VPN Settings.
- Choose proper Listen on Interface, in this example, wan1.
- Listen on Port 10443.
- Choose a certificate for ServerCertificate. The default is Fortinet_Factory.
- Under Authentication/Portal Mapping, set default Portal Web-access for All OtherUsers/Groups.
- Create new Authentication/Portal Mapping for group QA_group mapping portal qa-tunnel.
- Specify realm with qa.
- Add another entry for group HR_group mapping portal hr-web.
- Specify realm with hr.
- SSL VPN firewall policy configuration.
- Go to Policy & Objects > IPv4 Policy.
- Create a firewall policy for QA access.
- Fill in the firewall policy name. In this example: QA sslvpn tunnel mode access.
- Incoming interface must be SSL-VPN tunnel interface(ssl.root).
- Choose an Outgoing Interface. In this example: port1.
- Set the source to all and group to QA_group.
- In this example, the destination is the internal protected subnet QA_subnet.
- Set schedule to always, service to ALL, and Action to Accept.
- Click OK.
- Create a firewall policy for HR access.
- Fill in the firewall policy name. In this example: HR sslvpn web mode access.
- Incoming interface must be SSL-VPN tunnel interface(ssl.root).
- Choose an Outgoing Interface. In this example: port1.
- Set the source to all and group to HR_group.
- In this example, the destination is the internal protected subnet HR_subnet.
- Set schedule to always, service to ALL, and Action to Accept.
- 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 “QA_subnet” set subnet 192.168.1.0 255.255.255.0
next edit “HR_subnet” set subnet 10.1.100.0 255.255.255.0
next
end
- Configure user and user group.
config user local edit “qa_user1” set type password set passwd your-password
next
end config user group edit “QA_group” set member “qa_user1”
next
end config user local edit “hr_user1” set type password set passwd your-password
next
end config user group edit “HR_group” set member “hr_user1”
next
end
- Configure SSL VPN web portal.
config vpn ssl web portal edit “qa-tunnel” set tunnel-mode enable set ip-pools “SSLVPN_TUNNEL_ADDR1” set split-tunneling enable set split-tunneling-routing-address “QA_subnet”
next
end config vpn ssl web portal edit “hr-web” set web-mode enable
next
end
- Configure SSL VPN realms.
Using the GUI is the easiest way to configure SSL VPN realms.
- Go to System > Feature Visibility to enable SSL-VPN Realms.
- Go to VPN > SSL-VPN Realms to create realms for qa and hr.
- Configure SSL VPN settings.
config vpn ssl settings set servercert “Fortinet_Factory” set tunnel-ip-pools “SSLVPN_TUNNEL_ADDR1” set tunnel-ipv6-pools “SSLVPN_TUNNEL_IPv6_ADDR1” set source-interface “wan1” set source-address “all” set source-address6 “all” set default-portal “full-access” config authentication-rule edit 1 set groups “QA_group” set portal “qa-tunnel” set realm qa
next edit 2 set groups “HR_group” set portal “hr-web” set realm hr
next
end
- Configure SSL VPN firewall policy.
Configure two firewall policies to allow remote QA user to access internal QA network and HR user to access HR network.
config firewall policy edit 1 set name “QA sslvnpn tunnel access” set srcintf “ssl.root” set dstintf “port1” set srcaddr “all” set dstaddr “QA_subnet” set groups “QA_group” set action accept set schedule “always” set service “ALL”
next edit 2 set name “HR sslvpn web access” set srcintf “ssl.root” set dstintf “port1” set srcaddr “all” set dstaddr “HR_subnet” set groups “HR_group” set action accept set schedule “always” set service “ALL”
next
end
To see the results for QA user:
- Download FortiClient from forticlient.com.
- Open the FortiClient Console and go to Remote Access.
- Add a new connection.
l Set VPN Type to SSL VPN. l Set Remote Gateway to https://172.20.120.123:10443/qa..
- Select Customize Port and set it to 10443.
- Save your settings.
- Use the credentials you’ve set up to connect to the SSL VPN tunnel.
If the user’s computer has AntiVirus software installed, a connection is established; otherwise FortiClient shows a compliance warning.
- After connection, traffic to subnet 168.1.0 goes through the tunnel.
- In FGT, go to VPN > Monitor> SSL-VPN Monitor to verify the list of SSL users.
- In FGT, go to Log & Report > Traffic Log > Forward Traffic and view the details of the traffic.
To see the results for HR user:
- In a web browser, log into the portal https://172.20.120.123:10443/hr using the credentials you’ve set up to connect to the SSL VPN tunnel.
- Go to VPN > Monitor> SSL-VPN Monitor to verify the list of SSL users.
- Go to Log & Report > Traffic Log > Forward Traffic and view the details of the traffic.