Created on 12-02-2019 06:28 AM Edited on 05-31-2024 12:17 AM By Anthony_E
Description
This article describes how to set up RADIUS authentication in addition to requiring client certificates for SSL VPN authentication.
Fortinet Documentation:
https://docs.fortinet.com/document/fortigate/6.2.0/cookbook/490351/ssl-vpn-authentication
Scope
FortiGate v6.2.2 and higher.
Solution
Combining RADIUS/LDAP authentication and requiring specific client certificates for SSL VPN is possible.
FortiGate can now (starting firmware 6.2.2) combine 'user peer' (required to specify what certificates match) and 'user LDAP/user RADIUS' and require login attempts to match both.
To achieve this, follow the steps below:
config user peer
edit "cert-user"
set ca "CA_1"
set subject "OU = your_org"
next
end
config user radius
edit "Radius"
set server "10.0.0.1"
set secret ENC XXXX
next
end
config user ldap
edit “LDAP”
set server “10.0.0.2”
set dn “OU=your_org,DC=domain,DC=org”
set type regular
set user “CN=admin,OU=your_org,DC=domain,DC=org”
set password ENC XXX
next
end
config user group
edit "radius-group"
set member "Radius"
config match
edit 1
set server-name "Radius"
set group-name "VPN-test"
end
next
edit “ldap-group”
set member “LDAP”
next
[...]
end
config vpn ssl setting
set reqclientcert enable
set user-peer "cert-user"
set servercert "vpn-server-cert"
set tunnel-ip-pools "tunnel-ip-pool"
set port 443
set source-interface "wan1"
set source-address all
set default-portal "tunnel-access"
config authentication-rule
edit 1
set group "test-group"
set client-cert enable
set user-peer "cert-user"
next
edit 2
[...]
end
end
Advanced Setup: Mixing authentication with and without certificate requirements.
Allowing both authentication with and without user certificates in the same general SSLVPN setup becomes a bit more complicated due the order FortiGate applies to check certificates and match against realms.
This requires at least two SSLVPN realms and a DNS record for each realm, all resolving to the SSLVPN interface IP.
conf vpn ssl web realm
edit realm-1
set virtual-host “cert.domain.org”
next
edit realm-2
set virtual-host “nocert.domain.org”
next
[...]
end
config vpn ssl setting
config authentication rule
edit 1
set realm realm-1
next
edit 2
set realm realm-2
next
[...]
end
end
Careful:
A new configuration option was introduced in 6.4 regarding unintended certificate requirements for any realm accessed via https://<FortiGate>/<realm>
config vpn ssl web realm
edit <realm>
set virtual-host-only enable
next
[...]
end
This setting enforces access to the specified realms via the virtual host only (https://<realm>.<FortiGate>), and ensures the realm in question cannot be visited via the default URL (https://<FortiGate>/<realm>).
This needs to be set for all realms associated with certificate requirements, so that certificate checks are only done for specified virtual-host realms, and any other virtual-host realms (and non-virtual-host realms) do not trigger a certificate request.
The Fortinet Security Fabric brings together the concepts of convergence and consolidation to provide comprehensive cybersecurity protection for all users, devices, and applications and across all network edges.
Copyright 2024 Fortinet, Inc. All Rights Reserved.