Agentless VPN with LDAP user password renew
This is a sample configuration of Agentless VPN for LDAP users with Force Password Change on next logon. In this example, the LDAP server is a Windows 2012 AD server. A user ldu1 is configured on Windows 2012 AD server with Force password change on next logon.
|
|
The LDAP renewal method is designed to replace (reset) the user password, meaning that the Active Directory password policy will not be enforced. For example, users can reuse the same password or use old ones. |
You must have generated and exported a CA certificate from the AD server and then have imported it as an external CA certificate into the FortiGate.
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 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.
-
-
Import CA certificate into FortiGate:
-
Go to System > Features Visibility and ensure Certificates is enabled.
-
Go to System > Certificates and select Import > CA Certificate.
-
Select Local PC and then select the certificate file.
The CA certificate now appears in the list of External CA Certificates. In this example, it is called CA_Cert_1.
-
If you want, you can use CLI commands to rename the system-generated CA_Cert_1 to be more descriptive:
config vpn certificate ca rename CA_Cert_1 to LDAPS-CA end
-
-
Configure the LDAP user:
The LDAP user must either be an administrator, or have the proper permissions delegated to it, to be able to change passwords of other registered users on the LDAP server.
-
Go to User & Authentication > LDAP Servers and click Create New.
-
Specify Name and Server IP/Name.
-
Specify Common Name Identifier and Distinguished Name.
-
Set Bind Type to Regular.
-
Specify Username and Password.
-
Enable Secure Connection and set Protocol to LDAPS.
-
For Certificate, select LDAP server CA LDAPS-CA from the list.
-
To enable the
password-renewoption, use these CLI commands.config user ldap edit "ldaps-server" set password-expiry-warning enable set password-renewal enable next end
-
-
Configure user group:
-
Go to User & Authentication > User Groups to create a user group.
-
Enter a Name.
-
In Remote Groups, click Add to add ldaps-server.
-
-
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 ldaps-group.
-
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 ldaps-group.
-
Set Destination Address. In this example, the destination is the internal, protected subnet 192.168.1.0.
-
Set Service to ALL.
-
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 -
Import CA certificate into FortiGate:
-
Go to System > Features Visibility and ensure Certificates is enabled.
-
Go to System > Certificates and select Import > CA Certificate.
-
Select Local PC and then select the certificate file.
The CA certificate now appears in the list of External CA Certificates. In the example, it is called CA_Cert_1.
-
If you want, you can use CLI commands to rename the system-generated CA_Cert_1 to be more descriptive:
config vpn certificate ca rename CA_Cert_1 to LDAPS-CA end
-
-
Configure the LDAP server:
The LDAP user must either be an administrator, or have the proper permissions delegated to it, to be able to change passwords of other registered users on the LDAP server.
config user ldap edit "ldaps-server" set server "172.20.120.161" set cnid "cn" set dn "cn=Users,dc=qa,dc=fortinet,dc=com" set type regular set username "CN=Administrator,cn=users,DC=qa,DC=fortinet,DC=com" set password ********** set group-member-check group-object set secure ldaps set ca-cert "LDAPS-CA" set port 636 set password-expiry-warning enable set password-renewal enable next end -
Configure user group:
config user group edit "ldaps-group" set member "ldaps-server" 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 servercert "server_certificate" set source-interface "wan1" set source-address "all" set default-portal "portal-access-disable" config authentication-rule edit 1 set groups "ldaps-group" set portal "agentless-portal" next end end -
Configure one Agentless VPN firewall policy to allow remote user to access the internal network. This policy does not allow traffic initiated from internal network to remote client.
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 "ldaps-group" 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 ldu1 credentials.
Use a user that is configured on FortiAuthenticator with Force password change on next logon.
-
Click Login. You are prompted to enter a new password. The prompt will timeout after 90 seconds.
-
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 web portal login using the FortiOS CLI:
# get vpn ssl monitor Agentless VPN Login Users: Index User Auth Type Timeout From HTTP in/out HTTPS in/out 0 ldu1 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