AWS Client VPN provide a secure access to your AWS resources from your on premise by managing client-based VPN service. You can access your resources from any location using an OpenVPN-based VPN client.
You can enable two-factor authentication (2FA) for your AWS managed active directory 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.
To enable 2FA you can enable RADIUS authentication in AWS Workspace and configure policies in miniOrange to enable or disable 2FA for users.
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.
In VPN Clients that support RADIUS Challenge :
- VPN Clients that support RADIUS Challenge.
- VPN Clients that do not 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:
-> Palo Alto
-> 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.
Can't find your IDP ? Contact us on firstname.lastname@example.org. We'll help you set it up in no time.
IT IS HIGHLY RECOMMENDED THAT YOU CONTACT US FOR SETTING UP MFA FOR VPN.
Enable Two-Factor Authentication (2FA) for your VPN managed active directory to increase security level.
Step 1: Choose Your User Directory
1.1: Setup AD as User Directory
- Log in to miniOrange dashboard from the Admin Console.
- 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.
1.2: Setup miniOrange as a User Store
- Log in to miniOrange dashboard from the Admin Console.
- There are 3 ways to setup miniOrange as an Identity Source
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.
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: Amazon WorkSpace client
- Log in to the AWS Console..
- Click on WorkSpaces >> Directories.
- Select option directory and click on Actions >> Update Details >> Multi-Factor Authentication.
- Enable Multi-Factor Authentication option and fill the following information:
|RADIUS server 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
||Enter 1812 (or whichever port configured on your miniOrange Authentication Proxy).
|Shared secret code
||Enter the Shared secret that we used to configure RADIUS app in miniOrange IDP.
In step 1 we configured the shared secret as "sharedsecret"
|Server timeout (in seconds)
||Increase the timeout to 30 seconds.
||Keep default setting.
- Click on “Update and Exit”.
Step 8: miniOrange 2FA for AWS VPN Login
- Login to WorkSpaces client and enter Username and password.
- It will prompt you for 2 Factor code if you have enabled 2-factor authentication in miniOrange policy.
- Enter your 2-Factor code and you should be connected to VPN.
For Further Details:
Two Factor authentication
AWS Client VPN administration
What is AWS Client VPN ?