CyLock MFA enables strong Multi-Factor Authentication for any firewall based SSL VPN user login. CyLock MFA integrates with the firewall through CyLock MFA RADIUS proxy component installed in a server within the organization’s local network.
The CyLock MFA RADIUS proxy component enables any firewall with RADIUS protocol support to carry out a strong Multi-Factor Authentication (MFA) during remote login to remote network through SSL VPN.
Firewall Devices: Fortinet FortiGate, Cisco ASA, Palo Alto and any firewall device which support RADIUS authentication.
CyLock MFA RADIUS proxy component needs to be installed within your network to enable MFA during SSL VPN login process. First factors (user login credentials) can be authenticated with an on-premise AD / LDAP / LDAP or against CyLock MFA local store. A typical deployment architecture and process is shown below.
Figure 1: Deployment Architecture Block diagram of integrating Fortinet Firewall with CyLock RADIUS Proxy
Note:
CyLock MFA RADIUS Proxy component will receive incoming RADIUS requests from your firewall during SSL VPN login. The proxy component will then perform the primary authentication (first factor authentication) either with your internal AD / LDAP / LDAP server or CyLock MFA local store, and then contact CyLock MFA Auth server for second factor authentication.
CyLock MFA RADIUS Proxy can be installed on a physical or virtual host within your network. We recommend a system with at least 4 vCPU, 200 MB disk space, and 4 GB RAM. Proxy supports the following operating systems:
Install Node.JS in the server where the CyLock MFA RADIUS Proxy component will be installed.
Download the CyLock MFA RADIUS Proxy component. Refer Prerequisites section above. After downloading, copy/move the Proxy Component to the respective server.
Go to the folder where the Proxy component has been copied. Extract the CyLock_radius_proxy.zip. After extracting, follow the below steps to configure the component.
On Windows or Linux machine go to the respective folder where the proxy component was copied & extracted.
Open the cyconfig.js file in CyRadius Folder with administrative privileges and change the following properties:
# | Property Name (key) | Description (value) |
---|---|---|
1 | url |
Enter Auth URL (Ex - https://demoauth.cybernexa.com/api/v2/srv/) Contact the CyLock Support Team to get the Auth Server URL. |
2 | id_sp | Customer ID value. Refer point #4 in Prerequisites section. |
3 | Authorization | API Key value. Refer point #4 in Prerequisites section. |
4 | radius_secret | Enter the encrypted RADIUS secret key. To obtain encrypted secret key please refer ‘Key Encryption Process’ section. |
Note: Do not modify the key in the key-value pair.
To enable RADIUS Proxy component, communicate with MS AD / LDAP server or LDAP server, configure the adconfig.js file.
Open the adconfig.js file in CyRadius Folder with administrative privileges and edit the following properties:
# | Property Name (key) | Description (value) |
---|---|---|
1 | Open_ldap_server | Enter your open ldap server URL (ex: ldaps://ldap.cybernexa.com) |
2 | domain | Provide your AD / LDAP domain name. |
3 | url | For secured LDAP: ldaps://computername.domain.com or else simply use For normal LDAP: ldap://computername.domain.com |
4 | baseDN | AD / LDAP Domain name |
5 | Password | AD / LDAP server Administrator user’s encrypted password. To obtain the encrypted AD/LDAP Password please refer ‘Key encryption Process’ section. |
Note: Do not modify the key in the key-value pair.
Encrypting RADIUS Secret Key and AD / LDAP Password.
a. After Unzip the radius_proxy.zip file. Go to the secure_cred directory and execute the "secure_cred.js" file using the command below
(i).node secure_cred.js
Figure 2: RADIUS and LDAP Admin Secret key encryption
You can copy and paste the Encrypted RADIUS Secret in cyconfig.js on radius_secret parameter.
You can copy and paste the Encrypted AD / LDAP Admin Secret in adconfig.js on password parameter.
Note:The RADIUS Secret and AD / LDAP Password should always be encrypted.
To start the component automatically create and run as service
For creating service file follow the below steps:
//*****Start of the file*****
[Unit]
Description=cylockradiusservice
After=syslog.target
After=network.target[Service]
User=cylock_iam
//Replace with your system user name
Type=simple
[Service]
Restart=always
StandardOutput=syslog
StandardError=syslog
//Provide the path of the CyLock MFA RADIUS proxy component (server.js)
WorkingDirectory=/home/cylock_iam/package/
//Provide the path of the CyLock MFA RADIUS proxy component (server.js)
ExecStart=/usr/bin/node /home/cylock_iam/package/server.js
SyslogIdentifier=cylockradiusservice
[Install]
1.WantedBy=multi-user.target
//******End of the file******
a.:wq!
a.systemctl enable cylockradiusservice.service
a.systemctl start cylockradiusservice.service
Note:For Windows OS, create a service for the batch file (.bat) using nssm.exe utility and start the service.
CyLock MFA integrates with your firewall device based VPN via RADIUS to add Mlti-Factor Authentication (MFA) to SSL VPN logins. In this context your firewall device will act as RADIUS client and the CyLock MFA RADIUS Proxy component as the RADIUS server.
1.Log in to the Fortinet’s FortiGate administrative interface by typing ip address of Fortinet firewall appliance ip address in address bar in the browser.
Figure 3: Fortinet Administrative console
2.Configure RADIUS server.
Figure 4 : Adding RADIUS Server
Figure 5: Configuring RADIUS Server
3.Associating the RADIUS Server to the SSL VPN group:
Click on the ‘User Groups’ under ‘Users & Device’ drop down menu
Here you can see existing VPN Group.
Click on Add and then Click OK. Refer Figure 6.
Figure 6: Associating RADIUS server to VPN
Click on the drop down of Remote Server. Refer Figure 7.
Figure 7: Clicking Remote server drop down
Select the Configured RADIUS Server as shown in the Figure 8 and Click OK.
Figure 8: Selecting configured RADIUS server
Then in Groups, Select ‘Any’ and Click OK.
Figure 9: Selecting the Groups ‘Any’
You can see the RADIUS Server is added, then click on ok as shown in the Figure 10.
Figure 10: Radius server added
Now RADIUS Server is associated with VPN Group.
Figure 11: RADIUS Server is associated with VPN Group
The Fortinet appliance has a default timeout of 5 seconds, which will fail for anything other than a passcode authentication. The timeout can be increased from the Fortinet command line interface to resolve the issue. CyLock MFA recommends increasing the timeout to at least 90 seconds
config system global
set remoteauthtimeout 120
end
config user radius
edit radius server name
set timeout 150
end
Example screenshot:
Figure 12: Configuring default timeout
Types of Authentication Options:
CyLock MFA allows the following authentication options to login SSL VPN.
# | Mode | Process Steps |
---|---|---|
1 | Default Mode | In password field enter << Your password >> (for carrying out the default authentication) |
2 | Online | In password field enter << Your password >>,1 (for carrying Online MFA Push authentication) |
3 | Online | In password field enter << Your password >>,2 (for carrying Online MFA Push+PIN authentication) |
4 | Online | In password field enter << Your password >>,3 (for carrying Online MFA Push+Bio authentication) |
5 | Offline (CR-OTP - Display) | In password field enter << Your password >>,4 (for carrying Offline MFA CR-OTP (Display) authentication) |
6 | Offline (CR-OTP – Email) | In password field enter << Your password >>,5 (for carrying out Offline MFA CR-OTP (Email) authentication) |
7 | Offline (CR-OTP – SMS) | In password field enter << Your password >>,6 (for carrying Offline MFA CR-OTP (SMS) authentication) |
8 | Offline (POTP - Email) | In password field enter << Your password >>,7 (for carrying out Offline MFA POTP (Email) authentication) |
9 | Offline (POTP – SMS) | In password field enter << Your password >>,8 (for carrying Offline MFA POTP (SMS) authentication) |
10 | Offline (TOTP) | In password field enter << Your password >>,9 (for carrying Offline MFA TOTP authentication) |
Figure 13: ForiClient home page
Figure 14 : Entering Username and Password (1FA)
Figure 15: Received PUSH notification (2FA)
Figure 16: Clicking on Enter PIN
Figure 17 : Entering 6 digit PIN
Figure 18: User connected to VPN successfully