OpenVPN is VPN software and protocol which use both the VPN techniques to provide security to site-to-site connections. Also, it secure point-to-point connection. You can enable two-factor authentication (2FA) for your OpenVPN managed active directory to increase security level. When you enable 2FA, your users enter their username and password (first factor) as usual, and they have to enter an authentication code (the second factor) which will share on your virtual or hardware 2FA solution.
miniOrange 2FA for VPN Login
miniOrange accomplishes this by acting as a RADIUS server, that accepts the username/password of the user entered as a RADIUS request, validates the user against the user store as Active Directory ( AD ), prompts him for the 2-factor authentication and either grants/revokes access based on the input by the user.
Types of 2FA Authentication with RADIUS
The 2-factor authentication can be of two types depending on the VPN clients.
VPN Clients that support RADIUS Challenge.
VPN Clients that do not support RADIUS Challenge.
In VPN Clients that support RADIUS Challenge :
First step is user's username & password get validated against the credentials stored in Active Directory and 2nd request sends a success response, this request is sent to validate the 2-factor authentication of the user, on successful authentication user is granted access to the application.
Authentication methods : All Authentication methods supported by miniOrange. Software Token, Push Notification, OTP over Email to name a few.
RADIUS Clients that support this authentication type: -> OpenVPN -> Palo Alto -> Fortinet -> Pulse Secure Connect Secure SSL
We can connect with any External IDP/Directory
miniOrange provides user authentication from external directories like ADFS, Microsoft Active Directory, Azure AD, OpenLDAP, Google, AWS Cognito etc. It also provides user authentication with other IDPs like Shibboleth, PING, Okta, OneLogin, KeyCloak and many more.
From the Side Menu, Click on User Stores >> Add User Store
Select User Store type as AD/LDAP.
STORE LDAP CONFIGURATION IN MINIORANGE: Choose this option if you want to keep your configuration in miniOrange. If active directory is behind a firewall, you will need to open the firewall to allow incoming requests to your AD.
STORE LDAP CONFIGURATION ON PREMISE: Choose this option if you want to keep your configuration in your premise and only allow access to AD inside premises. You will have to download and install miniOrange gateway in your premise.
Enter LDAP Display Name and LDAP Identifier of your choice. Select Directory Type as Active Directory.
Enter the LDAP Server URL or IP Address against LDAP Server URL field.
Go to AD FS-> Domain-> respective Users -> Properties-> Attribute Editor. Now copy the value of distinguishedName and paste it against Bind Account DN.
Enter the valid password for the user from above step.
Search Base is the location in the directory where the search for a user begins.
If you want to add extra conditions on user search you can add it in Search Filter. Select a suitable Search Filter from the Drop-Down. To use custom Search Filter select "Custom Search Filter" option and provide the search filter in the input field that shows up.
You can also configure following options while setting up AD.
Here's the list of the attributes and what it does when we enable it. You can enable/disable accordingly.
All user authentications will be done with LDAP credentials if you Activate it
Sync users in miniOrange
Users will be created in miniOrange after authentication with LDAP
If LDAP credentials fail then user will be authenticated through miniOrange
Allow users to change password
This allows your users to change their password. It updates the new credentials in your LDAP server
Enable administrator login
On enabling this, your miniOrange Administrator login authenticates using your LDAP server
Show IdP to users
If you enable this option, this IdP will be visible to users
Send Configured Attributes
If you enable this option, then only the attributes configured below will be sent in attributes at the time of login
Click on Save. After this, it will show you the list of User stores. Click on Test Configuration to check whether you have enter valid details. For that, it will ask for username and password.
On Successful connection with LDAP Server, a success message is shown.
Click on Test Attribute Mapping.
Enter a valid Username. Then, click on Test. Mapped Attributes corresponding to the user are fetched.
After successful Attribute Mapping Configuration, go back to the ldap configuration and enable Activate LDAP in order to authenticate users from AD/LDAP.
Here, fill the user details without the password and then click on the Create User button.
Click on On Boarding Status tab. Check the email, with the registered e-mail id and select action Send Activation Mail with Password Reset Link from Select Action dropdown list and then click on Apply button.
Now, Open your email id. Open the mail you get from miniOrange and then click on the link to set your account password.
On the next screen, enter the password and confirm password and then click on the Reset Password button.
Now, you can log in into miniOrange account by entering your credentials.
1.2.2 Bulk Upload Users in miniOrange via Uploading CSV File.
Navigate to Users >> User List. Click on Add User button.
In Bulk User Registration download sample csv format from our console and edit this csv file according to the instructions.
To bulk upload users, choose the file make sure it is in comma separated .csv file format then click on Upload.
After uploading the csv file successfully, you will see a success message with a link.
Click on that link you will see list of users to send activation mail. Select users to send activation mail and click on Send Activation Mail. An activation mail will be sent to the selected users.
1.2.3 Self User Registration
miniOrange self user registration allows end users to register themselves using customized registration form. miniOrange admin users can customize the registration form by adding more custom fields accodring to their choice. Learn More
Step 2: User Import and Provisioning from Active Directory
This step involves Importing the users from the Active Directory and Provisioning them.
Go to Settings in the Customer Admin Account.
Enable the "Enable User Auto Registration" option and click Save.
(Optional) To send a welcome email to all the end users that will be imported, enable the "Enable sending Welcome Emails after user registration" option and click Save.
From the Left-Side menu select Users >> User Sync/Provisioning.
In Setup Provisioning tab select Active Directory in the Select Application Drop Down.
Toggle the Import Users Check box and set Select User Unique Identifier as samaccountname.
Click on Save and the click on the Import Users tab.
Select Active Directory in the Select App to Import Users From Dropdown.
Then click on Import to import all the users from Active Directory to miniOrange.
You can view all the Users you have imports by selecting Users >> User List from Left Panel.
All the imported users will be auto registered.
Step 3: Creating User Groups(Recommended)
Select Groups >> Manage Groups from left panel.
Click on the Create Group button on the top.
Enter an appropriate Group Name and click on Create Group.
In this guide we have created a Group by name VPN_Group.
Assign various members to the group using the Assign User option associated with the group in the groups list.
Select the Users that are required to be assigned to this group. Then Select Assign to Group in Select Action Dropdown. Then click Apply.
Step 4: Configuring 2FA two factor authentication for End-Users
Login into your End-User Dashboard using Active Directory Credentials.
Select Configure 2FA from left panel.
Browse through the Second factor options and choose an appropriate method to be used by the particular End-User during login.
In this guide, we have selected the method "OTP OVER SMS". You can explore the guide to setup other methods here.
Click on configure/reconfigure "OTP OVER SMS".
Enter you phone number along with the necessary country code and click on SAVE below. After the Phone details are saved successfully, click on the Save button on the top bar to set this as your 2FA method.
To use a particular method of 2FA, we configure that method first and then select the method and click on SAVE.
Currently used method is denoted by green color.
Step 5: Add the Radius Client in miniOrange
Go to Apps >> Manage Apps. Click on Add Application button.
Select Radius tab and select Radius Client.
Configure details below to add Radius Client.
Any name for your reference.
IP address of VPN server which will send Radius authentication request.
Security key. For Eg. "sharedsecret" (Keep this with you, you will need to configure same on VPN Server).
Do not Support Challenge:
Keep this Unchecked.
Configure the following Policy details for the Radius App.
Group for which the policy will apply.
Any Identifier that specifies policy name.
Login Method for the users associated with this policy.
Enable 2-Factor Authentication
Enables Second Factor during Login for users associated with this policy.
Enable Adaptive Authentication
Enables Adaptive Authentication for Login of users associated with this policy.
Click on Save.
NOTE: For On-Premise version follow the below steps before testing the connectivity.
Only For On-Premise Version
Step 1: Enable the RADIUS Servlet.
By Default, the RADIUS Server does not get started with Tomcat.
Open the WEB.xml file from your miniOrange repository .....\mo-idp-server-3.3.0\moas\WEB_INF\web.xml.
Search for RadiusServerInit.
Uncomment the commented RadiusServerInit Servlet.
Keep the port 1812 open for using RADIUS Service.
Save and Restart Tomcat.
Step 2: Open Firewall Ports.
In order to receive the RADIUS request, it is necessary to open UDP traffic on ports 1812 and 1813 for the machine where On-Premise IdP is deployed.
If the hosting machine is a Windows Machine then you can follow this document.
If the hosting machine is a Linux Machine then you can follow this document.
NOTE: If your machine is hosted on AWS, then enable the ports from the AWS panel.
Step 6: Add Another Policy (Optional)
Here, we will configure a policy for the User Group that we created in the Step 3 and associate it with the VPN Application.
Click on Policies tab >> App Authentication Policy.
Click on Add Policy tab.
In Step 1 Select the RADIUS App that we configured earlier.
In Step 2 Select the required User Group in Group Name and enter Policy name as “<Any Name>”.
In this guide, we will configure a Password Only policy for Open_VPN group. So, only the Open_VPN group members can access VPN Services without a Second Factor.
Admin can change the second factor of the End user from the User List.
Under Action Click on Select and then select Reset Second Factor.
Step 7: Configure OpenVPN Server
Open your OpenVPN Server Admin Dashboard
Select General option under Authentication section.
Select RADIUS and click on Save Settings.
Click on Update Running Server in the Pop up that appears.
Select RADIUS option under Authentication section.
Select the PAP option under Select RADIUS Authentication Method.
Configure the following details
Hostname or IP Address:
For on-premise version: IP of server where IDP(miniOrange) is installed
For cloud version: Contact us at email@example.com to get the IP
Security Key that was configured in miniOrange IDP. In step 1 we configured this as "sharedsecret"
Click on Save Settings and then on Update Running Server in the Pop up that appears.
Step 8: Test miniOrange 2FA for OpenVPN Login
Connect to OpenVPN by entering the hostname of the server.
Enter your AD username & password and click on Connect.
Now, you are prompted for the 2-factor authentication code. Enter the code and click on Continue.