FortiAuthenticator-6 0 0-Cookbook
FortiAuthenticator-6 0 0-Cookbook
Version 6.0.0
FORTINET DOCUMENT LIBRARY
https://docs.fortinet.com
FORTINET BLOG
https://blog.fortinet.com
NSE INSTITUTE
https://training.fortinet.com
FORTIGUARD CENTER
https://fortiguard.com/
FEEDBACK
Email: [email protected]
Change Log 5
Certificate management 6
FortiAuthenticator as a Certificate Authority 6
Creating a new CA on the FortiAuthenticator 6
Installing the CA on the network 8
Creating a CSR on the FortiGate 12
Importing and signing the CSR on the FortiAuthenticator 13
Importing the local certificate to the FortiGate 14
Configuring the certificate for the GUI 14
Results 15
FortiAuthenticator Certificate with SSL Inspection 16
Creating a CSR on the FortiGate 16
Creating an Intermediate CA on the FortiAuthenticator 18
Importing the signed certificate on the FortiGate 18
Configuring full SSL inspection 19
Results 21
FortiToken and FortiToken Mobile 23
FortiToken Mobile Push for SSL VPN 23
Adding a FortiToken to the FortiAuthenticator 24
Adding the user to the FortiAuthenticator 24
Creating the RADIUS client on the FortiAuthenticator 28
Connecting the FortiGate to the RADIUS server 29
Configuring the SSL VPN 32
Results 34
Self-service Portal 38
FortiAuthenticator user self-registration 38
Creating a self-registration user group 38
Enabling self-registration 39
Creating a new SMTP server 42
Results - Self-registration 42
Results - Administrator approval 45
VPNs 48
LDAP authentication for SSL VPN with FortiAuthenticator 48
Creating the user and user group on the FortiAuthenticator 48
Creating the LDAP directory tree on the FortiAuthenticator 50
Connecting the FortiGate to the LDAP server 50
Creating the LDAP user group on the FortiGate 51
Configuring the SSL VPN 53
Results 56
SMS two-factor authentication for SSL VPN 57
Creating an SMS user and user group on the FortiAuthenticator 58
Configuring the FortiAuthenticator RADIUS client 59
Configuring the FortiGate authentication settings 60
Configuring the SSL VPN 62
Certificate management
For this recipe, you will configure the FortiAuthenticator as a Certificate Authority (CA). This will allow the
FortiAuthenticator to sign certificates that the FortiGate will use to secure administrator GUI access.
This scenario includes creating a certificate request on the FortiGate, downloading the certificate to the network’s
computers, and then importing it to the FortiAuthenticator. You will sign the certificate with the FortiAuthenticator’s own
certificate, then download and import the signed certificate back to the FortiGate.
The process of downloading the certificate to the network’s computers will depend on which web browser you use.
Internet Explorer and Chrome use one certificate store, while Firefox uses another. This configuration includes both
methods.
1. On the FortiAuthenticator, go to Certificate Management > Certificate Authorities > Local CAs and create a
new CA.
Enter a Certificate ID, select Root CA certificate, and configure the key options as shown in the example.
The certificate must now be installed on the computers in your network as a trusted root CA. The steps below show
different methods of installing the certificate, depending on your browser.
1. In Windows Explorer, right-click on the certificate and select Install Certificate. Open the certificate and follow the
Certificate Import Wizard.
2. Make sure to place the certificate in the Trusted Root Certification Authorities store.
3. Finish the Wizard and select Yes to confirm and install the certificate.
Firefox
1. In the web browser, go to Options > Privacy & Security > Certificates and select View Certificates.
1. On the FortiGate, go to System > Certificates and select Generate to create a new certificate signing request
(CSR).
Enter a Certificate Name, the Internet facing IP address of the FortiGate, and a valid email address, then
configure the key options as shown in the example.
The Subject Alternative Name field must be configured with the internet facing IP address or FQDN in the
following format: IP:x.x.x.x or DNS:hostname.example.com.
2. Once created, the certificate will show a Status of Pending. Highlight the certificate and select Download.
1. Back on the FortiAuthenticator, go to Certificate Management > End Entities > Users and import the .csr
certificate created earlier.
Make sure to select the Certificate authority from the drop-down menu and set the Hash algorithm to SHA-
256, as configured earlier.
2. Once imported, you should see that the certificate has been signed by the FortiAuthenticator, with a Status of
Active. Highlight the certificate and select Export Certificate.
1. Back on the FortiGate, go to System > Certificates and select Local Certificate from the Import drop-down
menu.
Browse to the .cer certificate and select OK.
You should now see that the certificate's Status has changed from Pending to OK. You may have to refresh your
page to see the status change.
select Apply.
Results
Close and reopen your browser, and go to the FortiGate admin login page. If you click on the lock icon next to the
address bar, you should see that the certificate has been signed and verified by the FortiAuthenticator. As a result, no
certificate errors will appear.
For this recipe, you will create a certificate on the FortiGate, have it signed on the FortiAuthenticator, and configure the
FortiGate so that the certificate can be used for SSL deep inspection of HTTPS traffic.
Note that, for this configuration to work correctly, the FortiAuthenticator must be configured as a certificate authority
(CA), otherwise the certificate created in this recipe will not be trusted. For more information on how to do this, see
FortiAuthenticator as a Certificate Authority.
This scenario includes creating a certificate signing request (CSR), signing the certificate on the FortiAuthenticator, and
downloading the signed certificate back to the FortiGate. You will then create an SSL/SSH Inspection profile for full
SSL inspection, add the certificate created to the profile, and apply the profile to the policy allowing Internet access.
As an example, you will also have Application Control with Deep Inspection of Cloud Applications enabled. This
will apply inspection to HTTPS traffic. Note that you may use another security profile instead of Application Control.
1. On the FortiGate, go to System > Certificates and select Generate to create a new certificate signing request
(CSR).
Enter a Certificate Name, the Internet facing IP address of the FortiGate, and a valid email address, then
configure the key options as shown in the example.
The Subject Alternative Name field must be configured with the internet facing IP address or FQDN in the
following format: IP:x.x.x.x or DNS:hostname.example.com.
2. Once created, the certificate will show a Status of Pending. Highlight the certificate and select Download.
1. On the FortiAuthenticator, go to Certificate Management > Certificate Authorities > Local CAs and select
Import.
Set Type to CSR to sign, enter a Certificate ID, and import the CSR file. Make sure to select the Certificate
authority from the drop-down menu and set the Hash algorithm to SHA-256.
2. Once imported, you should see that the certificate has been signed by the FortiAuthenticator, showing a Status of
Active, and with the CA Type of Intermediate (non-signing) CA. Highlight the certificate and select Export
Certificate.
1. Back on the FortiGate, go to System > Certificates and select Import > Local Certificate.
Browse to the CRT file and select OK.
2. You should now see that the certificate has a Status of OK.
2. Add the certificate to your web browser's list of trusted certificates. End users will likely see certificate warnings
unless the certificate is installed in their browser.
3. Next go to Policy & Objects > IPv4 Policy and edit the policy that allows Internet access.
Under Security Profiles, enable SSL/SSH Inspection and select the custom profile created earlier.
Enable Application Control and set it to default.
Results
1. To test the certificate, open your web browser and attempt to navigate to an HTTPS website (in the example,
https://www.dropbox.com).
Click on the lock icon next to the address bar and click Show connection details.
2. You should now see that the certificate from the FortiGate (172.25.176.127) has signed and verified access to the
site. As a result, no certificate errors will appear.
This section describes various authentication scenarios involving FortiToken, a disconnected one-time password (OTP)
generator that's either a physical device or a mobile token. Time-based token passcodes require that the
FortiAuthenticator clock is accurate. If possible, configure the system time to be synchronized with a network time
protocol (NTP) server.
To perform token-based authentication, the user must enter the token passcode. If the user’s username and password
are also required, this is called two-factor authentication.
In this recipe, you set up FortiAuthenticator to function as a RADIUS server to authenticate SSL VPN users using
FortiToken Mobile Push two-factor authentication. With Push notifications enabled, the user can easily accept or deny
the authentication request.
For this configuration, you:
l Create a user on the FortiAuthenticator.
l Assign a FortiToken Mobile license to the user.
l Create the RADIUS client (FortiGate) on the FortiAuthenticator, and enable FortiToken Mobile Push notifications.
l Connect the FortiGate to the RADIUS server (FortiAuthenticator).
l Create an SSL VPN on the FortiGate, allowing internal access for remote users.
The following names and IP addresses are used:
l Username: gthreepwood
l User group: RemoteFTMGroup
l RADIUS server: OfficeRADIUS
l RADIUS client: OfficeServer
l SSL VPN user group: SSLVPNGroup
l FortiAuthenticator: 172.25.176.141
l FortiGate: 172.25.176.92
For the purposes of this recipe, a FortiToken Mobile free trial token is used. This recipe also assumes that the user has
already installed the FortiToken Mobile application on their smartphone. You can install the application for Android and
iOS. For details, see:
l FortiToken Mobile for Android
l FortiToken Mobile for iOS
1. On the FortiAuthenticator, go to Authentication > User Management > FortiTokens, and select Create New.
2. Set Token type to FortiToken Mobile, and enter the FortiToken Activation codes in the field provided.
1. On the FortiAuthenticator, go to Authentication > User Management > Local Users, and select Create New.
Enter a Username (gthreepwood) and enter and confirm the user password.
Enable Allow RADIUS authentication, and select OK to access additional settings.
2. Enable Token-based authentication and select to deliver the token code by FortiToken. Select the FortiToken
added earlier from the FortiToken Mobile drop-down menu.
Set Delivery method to Email. This will automatically open the User Information section where you can enter
the user email address in the field provided.
3. Next, go to Authentication > User Management > User Groups, and select Create New.
Enter a Name (RemoteFTMUsers) and add gthreepwood to the group by moving the user from Available users
to Selected users.
4. The FortiAuthenticator sends the FortiToken Mobile activation to the user’s email address. If the email does not
appear in the inbox, check the spam folder.
The user activates their FortiToken Mobile through the FortiToken Mobile application by either entering the
activation code provided or by scanning the QR code attached.
1. On the FortiAuthenticator, go to Authentication > RADIUS Service > Clients, and select Create New to add
the FortiGate as a RADIUS client.
2. Enter a Name (OfficeServer), the IP address of the FortiGate, and set a Secret. The secret is a pre-shared secure
password that the FortiGate will use to authenticate to the FortiAuthenticator.
3. Set Authentication method to Enforce two-factor authentication and check the Enable FortiToken Mobile
push notifications authentication checkbox.
4. Set Realms to local | Local users, and add RemoteFTMUsers to the Groups filter.
Note the Username input format. This is the format that the user must use to enter their
username in the web portal, made up of their username and realm. In this example, the
full username for gthreepwood is "gthreepwood@local".
1. On the FortiGate, go to User & Device > RADIUS Servers, and select Create New to connect to the RADIUS
server (FortiAuthenticator).
Enter a Name (OfficeRADIUS), the IP address of the FortiAuthenticator, and enter the Secret created before.
Select Test Connectivity to be sure you can connect to the RADIUS server. Then select Test User Credentials
and enter the credentials for gthreepwood.
Because the user has been assigned a FortiToken, the test should return stating that More validation is
required.
The FortiGate can now connect to the FortiAuthenticator as the RADIUS client configured earlier.
2. Then go to User & Device > User Groups, and select Create New to map authenticated remote users to a user
group on the FortiGate.
Enter a Name (SSLVPNGroup) and select Add under Remote Groups.
Select OfficeRADIUS under the Remote Server drop-down menu, and leave the Groups field blank.
2. Go to VPN > SSL-VPN Settings.
Under Connection Settings set Listen on Interface(s) to wan1 and Listen on Port to 10443.
Under Tunnel Mode Client Settings, select Specify custom IP ranges. The IP Ranges should be set to
SSLVPN_TUNNEL_ADDR1 and the IPv6 version by default.
Under Authentication/Portal Mapping, select Create New.
Set the SSLVPNGroup user group to the full-access portal, and assign All Other Users/Groups to web-
access — this will grant all other users access to the web portal only.
3. Then go to Policy & Objects > IPv4 Policy and create a new SSL VPN policy.
Set Incoming Interface to the SSL-VPN tunnel interface and set Outgoing Interface to the Internet-facing
interface (in this case, wan1).
Set Source to the SSLVPNGroup user group and the all address.
Set Destination to all, Schedule to always, Service to ALL, and enable NAT.
Results
1. From a remote device, open a web browser and navigate to the SSL VPN web portal (https://<fortigate-ip>:10443).
2. Enter gthreepwood‘s credentials and select Login. Use the correct format (in this case, username@realm), as
per the client configuration on the FortiAuthenticator.
3. The FortiAuthenticator will then push a login request notification through the FortiToken Mobile application. Select
Approve.
Upon approving the authentication, gthreepwood is successfully logged into the SSL VPN portal.
Self-service Portal
Configure general self-service portal options, including access control settings, self-registration options, replacement
messages, and device self-enrollment settings.
For this recipe, you will configure the FortiAuthenticator self-service portal to allow users to add their own account and
create their own passwords.
Note that enabling and using administrator approval requires the use of an email server, or SMTP server. Since
administrators will approve requests by email, this recipe describes how to add an email server to your
FortiAuthenticator. You will create and use a new server instead of the unit’s default server.
1. Go to Authentication > User Management > User Groups and create a new user group for self-registering
users.
Enter a Name and select OK. Users will be added to this group once they register through the self-registration
portal.
Enabling self-registration
2. Then go to Authentication > Self-service Portal > Self-registration and select Enable.
Enable Require administrator approval and Enable email to freeform addresses, and enter the
administrator’s email address in the field provided.
Enable Place registered users into a group, select the user group created earlier, and configure basic account
information to be sent to the user by Email.
Open the Required Field Configuration drop-down and enable First name, Last name, and Email address.
1. Go to System > Messaging > SMTP Servers and create a new email server for your users.
Enter a Name, the IP address of the FortiAuthenticator, and leave the default port value (25).
Enter the administrator’s email address, Account username, and Password.
Note that, for the purpose of this recipe, Secure connection will not be set to STARTTLS as a signed CA
certificate would be required.
2. Once created, highlight the new server and select Set as Default.
The new SMTP server will now be used for future user registration.
Results - Self-registration
1. When the user visits the login page, https://<FortiAuthenticator-IP>/auth/register/, they can click the Register
button, where they will be prompted to enter their information.
They will need to enter and confirm a Username, Password, First name, Last name, and Email address.
These are the only required fields, as configured in the FortiAuthenticator earlier.
Select Submit.
2. The user's registration is successful, and their information has been sent to the administrator for approval.
3. When the administrator has enabled the user’s account, the user will receive an activation welcome email.
The user's login information will be listed.
5. The user is now logged into their account where they can review their information.
As recommended in the user’s welcome email, the user may change their password. However, this is optional.
1. After receiving the user’s registration request, in the FortiAuthenticator as the administrator, go to Authentication
> User Management > Local Users. The user has been added, but their Status is listed as Not Activated.
2. In the administrator’s email account, open the user’s Approval Required email. The user’s full name will appear
in the email’s subject, along with their username in the email’s body.
Select the link to approve or deny the user.
3. The link will take you to the New User Approval page, where you can review the user’s information and either
approve or deny the user’s full registration.
Select Approve.
4. The user has now been approved and activated by the administrator.
This can be confirmed by going back to Authentication > User Management > Local Users. The user’s Status
has changed to Enabled.
5. You can also go to Logging > Log Access > Logs to view the successful login of the user and more information.
VPNs
This section contains information about creating and using a virtual private network (VPN).
This recipe describes how to set up FortiAuthenticator to function as an LDAP server for FortiGate SSL VPN
authentication. It involves adding users to FortiAuthenticator, setting up the LDAP server on the FortiAuthenticator, and
then configuring the FortiGate to use the FortiAuthenticator as an LDAP server.
1. On the FortiAuthenticator, go to Authentication > User Management > Local Users and select Create New.
Enter a name for the user, enter and confirm a password, and be sure to disable Allow RADIUS authentication
— RADIUS authentication is not required for this recipe.
Set Role as User, and select OK. New options will appear.
Make sure to enable Allow LDAP browsing — the user will not be able to connect to the FortiGate otherwise.
2. Create another user with the same settings. Later, you will use jgarrick on the FortiGate to query the LDAP
directory tree on FortiAuthenticator, and you will use bwayne credentials to connect to the VPN tunnel.
3. Next go to Authentication > User Management > User Groups, and create a user group for the FortiGate
users. Add the desired users to the group.
1. Go to Authentication > LDAP Service > Directory Tree, and create a Distinguished Name (DN). A DN is made
up of Domain Components (DC).
Both the users and user group created earlier are the User ID (UID) and the Common Name (CN) in the LDAP
Directory Tree.
Create an Organizational Unit (OU), and a Common Name (CN). Under the cn=HeadOffice entry, add UIDs for
the users.
If you mouse over a user, you will see the full DN of the LDAP server.
Later, you will use jgarrick on the FortiGate to query the LDAP directory tree on FortiAuthenticator, and you will
use bwayne credentials to connect to the VPN tunnel.
1. On the FortiGate, go to User & Device > LDAP Servers, and select Create New.
Enter a name for the LDAP server connection.
Set Server IP/Name to the IP of the FortiAuthenticator, and set the Common Name Identifier to uid.
Set Distinguished Name to dc=fortinet,dc=com, and set the Bind Type to Regular.
Enter the user DN for jgarrick of the LDAP server, and enter the user's Password.
The DN is an account that the FortiGate uses to query the LDAP server.
2. Go to VPN > SSL-VPN Settings.
Under Connection Settings set Listen on Port to 10443.
Under Tunnel Mode Client Settings, select Specify custom IP ranges and set it to SSLVPN_TUNNEL_
ADDR1.
Under Authentication/Portal Mapping, select Create New.
3. Assign the LDAPgroup user group to the full-access portal, and assign All Other Users/Groups to the desired
portal. Select Apply.
4. Select the prompt at the top of the screen to create a new SSL-VPN policy, including the LDAPgroup, as shown.
Results
4. On the FortiAuthenticator, go to Logging > Log Access > Logs and confirm the connection.
In this recipe, you will create an SSL VPN with two-factor authentication consisting of a username, password, and an
SMS token.
When a user attempts to connect to this SSL VPN, they are prompted to enter their username and password. After
successfully entering their credentials, they receive an SMS message on their mobile phone containing a 6-digit number
(called the FortiToken code). They must also enter this number to get access to the internal network and the Internet.
Although this recipe uses the FortiGuard Messaging Service, it will also work with any compatible SMS service you
configure as an SMS Gateway.
1. On the FortiAuthenticator, go to Authentication > User Management > Local Users and add/modify a user to
include SMS Token-based authentication and a Mobile number using the preferred SMS gateway as shown.
The Mobile number must be in the following format:
+[international-number]
Enable Allow RADIUS authentication.
2. Go to Authentication > User Management > User Groups and add the above user to a new SMS user group
1. Go to Authentication > RADIUS Service > Clients and create a new RADIUS client.
Enter a Name for the RADIUS client (the FortiGate) and enter its IP address (in the example, 172.20.121.56).
Choose to Enforce two-factor authentication and add the SMS user group to the Realms group filter as shown.
1. On the FortiGate, go to User & Device > RADIUS Servers and create the connection to the FortiAuthenticator
RADIUS server, using its IP address and pre-shared secret.
Use Test Connectivity to make sure that the FortiGate can communicate with the FortiAuthenticator.
2. Next, go to User & Device > User Groups and create a RADIUS user group called RADIUSgroup.
Set the Type to Firewall and add the RADIUS server to the Remote groups table.
1. Go to VPN > SSL-VPN Settings.
Under Connection Settings, set Listen on Port to 10443. Under Tunnel Mode Client Settings, select
Specify custom IP ranges and set IP Ranges to the SSL VPN tunnel address range.
Under Authentication/Portal Mapping, select Create New.
Assign the RADIUSgroup user group to the full-access portal, and assign All Other Users/Groups to the
desired portal.
1. Go to Policy & Objects > IPv4 Policy and create a new SSL-VPN policy, including the RADIUSgroup, as
shown.
Results
In this example, we will use the web portal to access the SSL VPN and test the two-factor authentication.
1. Open a browser and navigate to the SSL VPN web portal, in this case https://172.25.176.127:10443.
Enter a valid username and password and select Login. You should be prompted to enter a FortiToken Code.
2. The FortiToken Code should have been sent to your mobile phone as a text message containing a 6-digit
number.
Enter the number into the SSL VPN login portal and select Login.
4. To verify that the user has connected to the tunnel, on the FortiGate, go to Monitor > SSL-VPN Monitor.
5. On the FortiAuthenticator, go to Logging > Log Access > Logs to confirm the user's connection.
WiFi authentication
Virtual LANs (VLANs) are used to assign wireless users to different networks without requiring the use of multiple SSIDs.
Each user’s VLAN assignment is stored in the user database of the RADIUS server that authenticates the users.
This example creates dynamic VLANs for the Techdoc and Marketing departments. The RADIUS server is a
FortiAuthenticator. It is assumed a user group on the FortiAuthenticator has already been created (in this example,
employees).
config certificate ca
edit {name}
# CA certificate.
set name {string} Name. size[79]
set ca {string} CA certificate as a PEM file.
set range {global | vdom} Either global or VDOM IP address range for the CA cer-
tificate.
global Global range.
vdom VDOM IP address range.
set source {factory | user | bundle} CA certificate source type.
factory Factory installed certificate.
user User generated certificate.
bundle Bundle file certificate.
set trusted {enable | disable} Enable/disable as a trusted CA.
set scep-url {string} URL of the SCEP server. size[255]
1. On the FortiAuthenticator, go to Authentication > RADIUS Service > Clients and register the FortiGate as a
client.
Enable all EAP types, set Realm to local, and apply the employees user group.
2. Next go to Authentication > User Management > Local Users and create local user accounts as needed.
3. For each user, add the following RADIUS attributes which specify the VLAN information to be sent to the FortiGate.
The Tunnel-Private-Group-Id attribute specifies the VLAN ID.
In this example, jsmith is assigned VLAN 100 and twhite is assigned VLAN 200.
1. On the FortiGate, go to User & Device > RADIUS Servers and select Create New.
Enter the FortiAuthenticator IP address and the server Secret entered on the FortiAuthenticator earlier.
1. On the FortiGate, go to WiFi & Switch Controller > SSID and create a new SSID.
Set up DHCP service.
2. Select WPA2 Enterprise security and select your RADIUS server for authentication.
Enable Dynamic VLAN Assignment.
3. Then open the CLI Console and enter the following command to assignment and set the VLAN ID to 10. This
VLAN is used when RADIUS does not assign a VLAN:
config wireless-controller vap
edit example-wifi
set vlanid 10
next
end
1. Go to Network > Interfaces.
Create the VLAN interface for default VLAN-10 and set up DHCP service.
2. Then create two more VLAN interfaces: one for marketing-100 and another for techdoc-200, both with
DHCP service.
3. Create another policy that allows outbound traffic from techdoc-200 to the Internet.
For this policy too, under Logging Options, enable logging for All Sessions.
Results
The SSID will appear in the list of available wireless networks on the users’ devices.
Both twhite and jsmith can connect to the SSID with their credentials and access the Internet.
If a certificate warning message appears, accept the certificate.
1. Go to FortiView > Policies.
Note that traffic for jsmith and twhite will pass through different policies. In this example, the marketing-100-
internet policy is displayed, indicating that jsmith has connected to the WiFi.
2. Double-click to drill-down, where the user's identity (including username, source IP, and device address) is
confirmed.
3. When twhite has connected to the WiFi network, go to FortiView > Policies and drill-down. The user, and
techdoc-200-internet policy, is confirmed.
This recipe will walk you through the configuration of FortiAuthenticator as the RADIUS server for a FortiGate wireless
controller. WPA2-Enterprise with 802.1X authentication can be used to authenticate wireless users with
FortiAuthenticator. 802.1X utilizes the Extensible Authentication Protocol (EAP) to establish a secure tunnel between
participants involved in an authentication exchange.
EAP-TLS is the most secure form of wireless authentication because it replaces the client username/password with a
client certificate. Every end user, including the authentication server, that participates in EAP-TLS must possess at least
two certificates:
1. A client certificate signed by the certificate authority (CA)
2. A copy of the CA root certificate.
This recipe specifically focuses on the configuration of the FortiAuthenticator, FortiGate, and Windows 10 computer.
The FortiAuthenticator will act as the certificate authority for all certificates authenticated for client access. To enable
this functionality, a self-signed root CA certificate must be generated.
1. On the FortiAuthenticator, go to Certificate Management > Certificate Authorities > Local CAs and select
Create New. Configure the fields as required.
In order for the FortiAuthenticator to use a certificate in mutual authentication (supported by EAP‐
TLS), a local services
certificate has to be created on behalf of the FortiAuthenticator.
1. Go to Certificate Management > End Entities > Local Services and select Create New. Complete the
information in the fields pertaining to your organization.
In order for the FortiAuthenticator to present the newly created Local Services certificate as its authentication to the
WiFi client, the RADIUS-‐ EAP must be configured to use this certificate.
1. Go to Authentication > RADIUS Service > EAP and select Create New. Select the corresponding Local
Services certificate in the EAP Server Certificate section. Choose the Local CA certificate previous configured in the
The FortiAuthenticator has to be configured to allow RADIUS clients to make authorization requests to it.
1. Go to Authentication > RADIUS Service > Clients and select Create New.
Enter a Name, enter the FortiGate’s IP address, and enter a Secret. Set the Authentication method to
Password-only authentication and set Username input format to username@realm.
EAP-TLS should be the only EAP type selected to prevent fallback to a less secure version of authentication if a
The authentication of the WiFi client will be tied to a user account on the FortiAuthenticator. In this scenario, a local
user will be configured but remote users associated with LDAP can be configured as well.
1. Go to Authentication > User Management > Local Users and select Create New. Fill out applicable user
information.
The certificate created locally on the FortiAuthenticator will be associated with the local user. It is important to note that
the Name (CN) must match the username exactly of the user that is registered in the FortiAuthenticator (in the
example, eap-user).
1. Go to Certificate Management > End Entities > Users and select Create New. Fill out applicable user
information to map the certificate to the correct user.
In order to proxy the authentication request from the wireless client, the FortiGate will need to have a RADIUS server to
submit the authentication request to.
1. On the FortiGate, go to User & Device > RADIUS Servers and select Create New. Enter a Name, the
FortiAuthenticator’s IP address, and the same Secret set on the FortiAuthenticator.
In order for the WiFi client to connect using its certificate a SSID has to be configured on the FortiGate to accept this
type of authentication.
1. Go to WiFi & Switch Controller > SSID and create an SSID with DHCP for clients.
2. Set the following WiFi Settings, assigning the RADIUS Server configured earlier.
3. Then go to WiFi & Switch Controller > FortiAP Profiles and edit your FortiAP default profile.
Select the new SSID for both Radio 1 and Radio 2.
4. Then go to Policy & Objects > IPv4 Policy and create a policy that allows outbound traffic from the EAP-TLS
wireless interface to the Internet.
In order for the WiFi client to authenticate with the RADIUS server, the user certificate created in the FortiAuthenticator
must first be exported.
1. On the FortiAuthenticator, go to Certificate Management > End Entities > Users. Select the certificate and
select Export Key and Cert.
2. In the Export User Certificate and Key File dialog, enter and confirm a Passphrase. This password will be
used when importing the certificate into a Windows 10 computer. Select OK.
3. Select Download PKCS#12 file to pull this certificate to the Widows 10 computer. Select Finish.
1. On the Windows 10 computer, double-click the downloaded certificate file from the FortiAuthenticator. This will
launch the Certificate Import Wizard. Select Next.
2. Make sure the correct certificate is shown in the File name section in the File to Import window. Select Next.
3. Enter the Password created on the FortiAuthenticator during the export of the certificate. Select Mark this key as
exportable and leave the remaining options to default. Select Next.
4. In the Certificate Store, choose the Place all certificates in the following store. Select Browse and choose
Personal. Select Next, and then Finish. A dialog box will show up confirming the certificate was imported
successfully.
Create a new wireless SSID for this secure connection, in this case EAP-TLS.
1. On Windows 10, got to Control Panel > Network and Sharing Center > Set up a new connection or
network > Manually connect to a wireless network. Enter a Network name and set Security type to WPA2-
Enterprise. The Encryption type is set to AES.
2. Once created, you have the option to modify the wireless connection. Select Change connection settings.
3. In the Security tab, set Choose a network authentication method to Microsoft: Smart card or other
certificates, and select Settings.
4. Enable both Use a certificate on this computer and Use simple certificate selection.
Note that, for simplification purposes, Verify the server's identity by validating the certificate has been
disabled. However EAP-‐ TLS allows the client to validate the server as well as the server validate the client. To
enable this, you will need to import the CA from the FortiAuthenticator to the Windows 10 computer and make sure
that it is enabled as a Trusted Root Certification Authority.
Select OK for all dialog windows to confirm all settings. The configuration for the Windows 10 computer has been
completed and the user should be able to authenticate to WiFi via the certificate without using their username and
password.
Results
1. On the user's device, attempt to connect to the WiFi. Select the user's certificate and select OK.
2. On the FortiAuthenticator, go to Logging > Log Access > Logs to confirm the successful authentication.
3. On the FortiGate, go to Monitor > WiFi Client Monitor to view various information about the client.
You can also go to Log & Report > Forward Traffic to view more log details.
In this example, you use a RADIUS server to authenticate your WiFi clients.
The RADIUS server is a FortiAuthenticator that is used authenticate users who belong to the employees user group.
1. Go to Authentication > User Management > Local Users and create a user account.
2. Then go to Authentication > User Management > User Groups and create a local user group (employees),
1. Go to Authentication > RADIUS Service > Clients and create a client account.
Enable all EAP types, set Realm to local, and apply the employees user group.
1. Go to User & Device > RADIUS Servers and add the FortiAuthenticator as a RADIUS server.
Select Test Connectivity to confirm the successful connection.
1. Go to WiFi & Switch Controller > SSID and define your wireless network.
2. Connect the FortiAP unit to the interface. Then go to WiFi & Switch Controller > Managed FortiAPs. Notice
the Status is showing Waiting for Authorization.
When the FortiAP is listed, select and Authorize it.
3. The FortiAP is now Online. The Status may take a few minutes to update.
1. Go to Policy & Objects > IPv4 Policy and add a policy that allows WiFi users to access the Internet.
2. Under Logging Options, enable Log Allowed Traffic and All Sessions.
Results
This is an example of wireless single sign-on (WSSO) with a FortiGate and FortiAuthenticator. The WiFi users are
teachers and students at a school. These users each belong to a user group, either teachers (smaguire) or students
(whunting). The FortiAuthenticator performs user authentication and passes the user group name to the FortiGate so
that the appropriate security policy is applied.
This recipe assumes that an SSID and a FortiAP are configured on the FortiGate unit. In this configuration, you will be
changing the existing SSID’s WiFi settings so authentication is provided by the RADIUS server.
For this example, the student security policy applies a more restrictive web filter.
1. On the FortiAuthenticator, go to Authentication > RADIUS Service > Clients and select Create New.
Enter a Name, the Internet-facing IP address of the FortiGate, and a Secret.
Select the Password-only authentication method, select the Local users realm, and enable all EAP types.
1. Go to Authentication > User Management > Local Users and select Create New.
Create one teacher user (smaguire) and another student user (whunting).
2. Note that, after you create the users, RADIUS Attributes appears as an option.
If your configuration involves multiple users, it is more efficient to add RADIUS attributes in their respective user
groups, in the next step.
1. Go to Authentication > User Management > User Groups and create two user groups: teachers and
students.
Add the users to their respective groups.
2. Once created, edit both user groups and select Add Attribute.
3. Add the Fortinet-Group-Name RADIUS attribute to each group, which specifies the user group name to be sent to
the FortiGate.
1. On the FortiGate, go to User & Device > RADIUS Servers and select Create New.
Enter a Name, the Internet-facing IP address of the FortiAuthenticator, and enter the same Primary Server
Secret entered on the FortiAuthenticator.
1. Go to User & Device > User Groups and create two groups named the same as the ones created on the
FortiAuthenticator.
The student policy has a more restrictive Web Filter profile enabled.
1. Go to WiFi & Switch Controller > SSID and edit your pre-existing SSID interface.
Under WiFi Settings, set Security Mode to WPA2 Enterprise, set Authentication to RADIUS Server, and
add the RADIUS server configured on the FortiGate earlier from the dropdown menu.
Results
2. Then on the FortiGate go to Monitor > Firewall User Monitor. From here you can verify the user, the user
group, and that the WSSO authentication method was used.
LDAP Authentication
This article explains how to integrate the FortiAuthenticator with G Suite Secure LDAP using client authentication
through a certificate. You will use the LDAP in Google DB to authenticate end users for 802.1X and VPN.
1. Generating the G Suite certificate on page 126
2. Importing the certificate to FortiAuthenticator on page 127
3. Configuring LDAP on the FortiAuthenticator on page 129
4. Troubleshooting on page 131
You must first generate certificates to authenticate the LDAP client with Secure LDAP service.
Once you have uploaded the certificate to your client, G Suite will generate a client certificate and key.
Example:
l Cert: Google_2022_09_09_72372.crt
l Key: Google_2022_09_09_72372.key
Results:
4.
Results:
Now you can finish the LDAPS configuration using client authentication through certificate.
1. Go to Authentication > Remote Auth. Servers > LDAP > Create New.
2. Enter a name.
3. For Primary server name/IP enter ldap.google.com, and set the port to 636.
4. Enter the base distinguished name.
5. For the Username attribute, enter uid.
6. Select the option to obtain group memberships from Group attribute.
7. Enable Secure Connection and select either LDAPS or STARTTLS as the Protocol, and select the Google
CA certificate.
8. Enable Use Client Certificate for TLS Authentication, and select the LDAP certificate.
9. Select OK.
If required, you can now import users by clicking the Go button next to the Import users dropdown. This is not a
required step, but can be done in cases where you want to include additional information to their accounts or assign
FortiTokens.
Troubleshooting
Use Client Certificate for TLS Authentication is only supported in FortiAuthenticator 6.0.1 and higher.
The following is an example of an incorrect Trusted CA certificate entry. Please verify that you have followed the steps
included in Generating the G Suite certificate on page 126.