Cisco AnyConnect is a uniform security endpoint agent which deliver multiple security services to protect the enterprise. Also, it provides visibility along with the control which is required you to identify who and which devices are accessing the extended enterprise.
You can enable two-factor authentication (2FA) for your Cisco AnyConnect Managed AD 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 Cisco AnyConnect 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
-> Cisco AnyConnect
We can connect with any Directory
miniOrange provides user authentication from external directories like Microsoft Active Directory, Azure AD, AWS Cognito etc.
Can't find your Directory ? Contact us on email@example.com. We'll help you setting 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.
Refer our guide to setup LDAPS on windows server.
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: Configure Cisco AnyConnect with miniOrange RADIUS server
- Login to Cisco ASA via ASDM.
- Navigate to Configuration >>> Remote Access VPN
- In the Remote Access VPN navigation tree, under AAA/Local Users click AAA Server Groups >>> Add.
- The Add AAA Server Group dialog box opens.
- Enter a name for the AAA server group and set the Protocol to RADIUS.
||Indicates how accounting messages are sent. Recommended single mode.
||Specifies the method by which failed servers are reactivated.
||Time for which a RADIUS server is skipped over by transaction requests
|Max Failed Attempts
||Maximum number of retransmission attempts. Recommended 1.
- In the AAA Server Groups pane, select the server group that you just created.
- In the Servers in the Selected Group pane, click Add.
- The Add AAA Server dialog box opens
|| Name of protected Cisco interface.
||For on-premise version: IP of server where IDP(miniOrange) is installed
For cloud version: Contact us at firstname.lastname@example.org to get the IP
|Server Authentication Port
||RADIUS authentication port.
||It should be 1812
|Server Accounting Port
||RADIUS accounting port
||It should be 1813
||Length of time between retries
|Server Secret Key
|| It shared between the miniOrange RADIUS Connector and its client
|Microsoft CHAPv2 Capable
||Whether or not the RADIUS server uses CHAPv2.
||It should be unchecked
- Navigate to Configuration >> Clientless SSL VPN Access >> Connection Profiles.
- From Connection Profiles, click Add or Edit.
- The Add Clientless SSL VPN Connection Profile dialog box opens.
- Add a relevant server name and choose Authnetication method to be "AAA".
- For the AAA Server Group select group made in the earlier steps.
- Click on Ok .
Step 8: Configure VPN Network Client Profile
- Navigate to Configuration >>> Remote Access VPN
- In the Remote Access VPN navigation tree, under Network (Client) Access click on AnyConnect Client Profile.
- Click to Add a new or Edit an existing Client Profile.
- Configure the profile as preferred
- In the sidebar, click on Preferences(Cont)/Preferences(Part 2) and scroll down then enter 60 for Authentication Timeout Values (or 10 seconds longer than the AAA RADIUS server timeout and 20 seconds longer than the LoginTC RADIUS Connector Request Timeout).
- Click on Ok .
- In the sidebar, click on Server List >> Add to add a server.
- Enter the FQDN of your Cisco ASA VPN exposed end-point in the Hostname and a hostname or IP Address in the Host Address then click on ok .
- Click on Apply .
Step 9: miniOrange 2FA for Cisco AnyConnect Login