> RADIUS 2FA
RADIUS 2FA
The Protectimus RADIUS 2FA solution can be used to enable two-factor authentication for any software or equipment that supports RADIUS authentication protocol.
The Protectimus RADIUS Server connector works as a RADIUS server. It transfers authentication requests from the RADIUS device to the Protectimus multi-factor authentication (MFA) server and returns the answer permitting or denying access.

Add two-factor authentication (2FA / MFA) to protect your VPN, Wi-Fi, and any other software or device that supports RADIUS. To do that, integrate with Protectimus Cloud MFA Service or On-Premise Platform via RADIUS authentication protocol.
The list of software and devices that can be integrated with Protectimus via RADIUS authentication protocol includes but is not limited to:
- Ubuntu;
- macOS;
- Cisco ACS / ISE / ISR / Catalyst / SSH Network Device Access;
- Citrix ADC (NetScaler ADC), Citrix Gateway (NetScaler Gateway), Citrix Virtual Desktops (XenDesktop), Citrix Virtual Apps (XenApp);
- VMware Horizon View (VDI), VMware Horizon Cloud DaaS (VDI), VMware vCenter Server;
- OpenVPN;
- Juniper and Pulse Secure SSL VPN;
- F5 BIG-IP VPN;
- Palo Alto IPSEC and SSL VPN;
- FortiGate VPN;
- Check Point Remote Access VPN;
- Huawei SSL VPN;
- UserGate VPN;
- Windows VPN;
- Mikrotik;
- SonicWALL TZ, NSA, Aventail series;
- Wi-Fi hotspots, etc.
The Protectimus RADIUS 2FA software is easy to set up. But if you have any questions, our team is always ready to help you with deploying RADIUS two-factor authentication (2FA) even in the most complex infrastructure. Get in touch with our support team here.
To integrate Protectimus 2FA solution with your RADIUS supporting device or software you need to set up and configure Protectimus RADIUS Server, and then configure the authentication policies on the device or application you want to add Protectimus 2FA to:
- You allow the transmission of an authentication request over the RADIUS protocol to Protectimus RADIUS Server;
- The Protectimus RADIUS Server component receives and processes the authentication request;
- Then Protectimus RADIUS Server contacts the Protectimus authentication server to verify the one-time password entered by the user.
1. Install Protectimus RADIUS Server to enable RADIUS 2FA
1.1. Protectimus RADIUS Server Installation on any OS
To receive the latest version of Protectimus RADIUS Server, contact Protectimus customer service at [email protected].For Protectimus RADIUS Server to function, Java 8 must be installed.
Protectimus RADIUS Server can be started using the following command:
java -jar radius.jar
or
java -jar radius.jar --spring.config.additional-location=radius.yml
1.2. Protectimus RADIUS Server Installation on Windows
- Download the installer here.
- Run the installer as administrator.
- Check the RProxy checkbox.
ATTENTION!
If you plan to use the Protectimus On-Premise Platform, keep the Platform checkbox checked.
If you plan to use the Protectimus SAAS Service, uncheck the Platform checkbox.
If you plan to use the Protectimus On-Premise Platform |
If you use plan to use the Protectimus SAAS Service |
![]() |
![]() |
- Java (JDK 7 and above) must be installed on the machine, if not, it will be installed automatically, click Install.

- When Java is installed, click Next.

- Choose the folder to install the Protectimus components and click Install.

- When the installation is complete, you’ll see this message.

2. Get Registered and Configure Basic Settings
- Register with the Protectimus Cloud Service and activate API or the Protectimus On-Premise Platform.
- Add Resource.
- Add Users.
- Add Tokens or activate Users’ Self Service Portal.
- Assign Tokens to Users.
- Assign Tokens with Users to the Resource.
3. Configure Protectimus RADIUS Server
The Protectimus RADIUS Server settings can be configured by specifying them in the radius.yml file, which must be located in the same directory as the executable.
Available properties that you should add to the radius.yml file include:
3.1. RADIUS Settings
radius:
secret: secret
auth-port: 1812
listen-address: 0.0.0.0
attributes:
defaults:
Service-Type: NAS-Prompt-User
for-users:
john:
Service-Type: Login-User
PROPERTY NAME | PROTERTY STANDS FOR |
|
The secret to be used by your authentication proxy server and your RADIUS server. |
|
The port where the RADIUS server will run. |
|
The IP address the server listens on. |
|
Attributes that will be returned in response on successful authentication. |
|
Attributes for all users. |
|
Attributes for specific users. |
3.2. PROTECTIMUS API Settings (setting up connection to the PROTECTIMUS service )
protectimus-api:
login:
api-key:
url: https://api.protectimus.com/
resource-id:
resource-name:
PROPERTY NAME | PROTERTY STANDS FOR |
|
Your login in the PROTECTIMUS system. |
|
Your API key in the PROTECTIMUS system. |
|
If you are using the PROTECTIMUS cloud service, specify the following API URL: https://api.protectimus.com/ If you are using the Protectimus on-premise platform, the API URL will be something like: protectimus.api.url=http://127.0.0.1:8080/ |
|
ID of the resource that you created in the PROTECTIMUS system. |
|
Name of the resource that you created in the PROTECTIMUS system. |
3.3. LDAP Settings
ldap:
base: dc=test,dc=com
urls:
- ldap://127.0.0.1:389
principal-attribute: userPrincipalName
custom-filter: (memberof=cn=managers,ou=groups,dc=test,dc=com)
PROPERTY NAME | PROTERTY STANDS FOR |
|
The LDAP DN of Group or organizational unit containing all of the users you wish to permit to log in. |
|
The hostname or IP address of your domain controller. |
|
Is used for LDAP authentication by defined attribute. If you want to authenticate user with “sAMAccountName” instead of “userPrincipalName”, specify the attributes “query-attribute” and “principal-attribute” accordingly |
|
Is used to restrict which users are allowed to authenticate. |
3.4 Authentication Process Settings
auth:
providers:
re-enter-otp: true
principal-normalization: true
inline-mode:
enabled: false
separator: ''
PROPERTY NAME | PROTERTY STANDS FOR |
|
Could be:
|
|
When re-enter-otp is enabled, password is not requested after unsuccessful OTP check. |
|
When normalization is enabled any domain information is stripped from the username, so “username”, “DOMAIN\username” and “[email protected]” would all resolve to a single “username” |
|
Inline mode allows you to use 2FA in case when Access-Challenge is not supported. Inline mode can be activated with ‘enabled: true’ or using request attribute ‘State=INLINE’. In this case password must be in following format ‘password,otp’, if using separator: ‘,’. |
3.5. An Example of radius.yml file
```yaml
radius:
secret: secret
auth:
providers:
- LDAP
- PROTECTIMUS_OTP
ldap:
urls:
- ldap://localhost:389
base: dc=test,dc=com
username: uid=admin,ou=readOnly
password: secret
principal-attribute: sAMAccountName
protectimus-api:
login: [email protected]
api-key: secret
url: https://api.protectimus.com/
resource-id: 1
```
In this case password would be authenticated with LDAP storage, and OTP with Protectimus MFA.
Now you need to configure your device or application to communicate with Protectimus RADIUS Server service over RADIUS protocol.