The LoginTC RADIUS Connector is a complete two-factor authentication virtual machine packaged to run within your corporate network. The LoginTC RADIUS Connector enables Citrix NetScaler to use LoginTC for the most secure two-factor authentication.
Subscription Requirement
Your organization requires the Business or Enterprise plan to use the Iframe mode of the LoginTC RADIUS Connector. See the Pricing page for more information about subscription options.
There are a wide variety of authentication mechanism users can use to perform MFA with Citrix Gateway/ADC/NetScaler product suite.
Prefer Reading a PDF?
Download a PDF file with configuration instructions:
Citrix NetScaler compatibility:
Appliance not listed?
We probably support it. Contact us if you have any questions.
Before proceeding, please ensure you have the following:
LoginTC RADIUS Connector supported version: 2.5.0 or higher
In order to leverage the iframe based solution for Citrix NetScaler please upgrade to 2.5.0 or higher.
Start by creating a LoginTC Application for your deployment. An Application represents a service (e.g. An application is a service (e.g., VPN or web application) that you want to protect. e) that you want to protect with LoginTC.
Create a LoginTC Application in LoginTC Admin Panel, follow Create Application Steps.
If you have already created a LoginTC Application for your deployment, then you may skip this section and proceed to Installation.
Installationlogintc-user
password:The LoginTC RADIUS Connector runs CentOS 7.7 with SELinux. A firewall runs with the following open ports:
Port | Protocol | Purpose |
---|---|---|
22 | TCP | SSH access |
1812 | UDP | RADIUS authentication |
1813 | UDP | RADIUS accounting |
8888 | TCP | Web interface |
443 | TCP | Web interface |
80 | TCP | Web interface |
80 | TCP | Package updates (outgoing) |
123 | UDP | NTP, Clock synchronization (outgoing) |
No incoming traffic rules required
The LoginTC RADIUS Connector is designed to work within your network without the need to change incoming rules on your firewall.
Note: Username and Password
logintc-user
is used for SSH and web access. The default password is logintcradius
. You will be asked to change the default password on first boot of the appliance and will not be able to access the web interface unless it is changed.
The logintc-user
has sudo
privileges.
Configuration describes how the appliance will authenticate your RADIUS-speaking device with an optional first factor and LoginTC as a second factor. Each configuration has 4 Sections:
1. LoginTC
This section describes how the appliance itself authenticates against LoginTC Admin Panel with your LoginTC Application. Only users that are part of your organization and added to the domain configured will be able to authenticate.
2. First Factor
This section describes how the appliance will conduct an optional first factor. Either against an existing LDAP, Active Directory or RADIUS server. If no first factor is selected, then only LoginTC will be used for authentication.
3. Passthrough
This section describes whether the appliance will perform a LoginTC challenge for an authenticating user. The default is to challenge all users. However with either a static list or Active Directory / LDAP Group you can control whom gets challenged to facilitate seamless testing and rollout.
4. Client and Encryption
This section describes which RADIUS-speaking device will be connecting to the appliance and whether to encrypt API Key, password and secret parameters.
Data Encryption
It is strongly recommended to enable encryption of all sensitive fields for both PCI compliance and as a general best practice.
The web interface makes setting up a configuration simple and straightforward. Each section has a Test feature, which validates each input value and reports all potential errors. Section specific validation simplifies troubleshooting and gets your infrastructure protected correctly faster.
Close the console and navigate to your appliance web interface URL. Use username logintc-user
and the password you set upon initial launch of the appliance. You will now configure the LoginTC RADIUS Connector.
Create a new configuration file by clicking + Create your first configuration:
Configure which LoginTC Application to us:
Configuration values:
Property | Explanation |
---|---|
Application ID |
The 40-character Application ID, retrieve Application ID |
Application API Key |
The 64-character Application API Key, retrieve Application API Key |
Request Timeout |
Number of seconds that the RADIUS connector will wait for |
The Application ID and Application API Key are found on the LoginTC Admin Panel.
Click Test to validate the values and then click Next:
Configure the first authentication factor to be used in conjunction with LoginTC. You may use Active Directory / LDAP or an existing RADIUS server. You may also opt not to use a first factor, in which case LoginTC will be the only authentication factor.
Active Directory / LDAP Option
Select Active Directory if you have an AD Server. For all other LDAP-speaking directory services, such as OpenDJ or OpenLDAP, select LDAP:
Configuration values:
Property | Explanation | Examples |
---|---|---|
host |
Host or IP address of the LDAP server | ldap.example.com or 192.168.1.42 |
port (optional) |
Port if LDAP server uses non-standard (i.e., 389 /636 ) |
4000 |
bind_dn |
DN of a user with read access to the directory | cn=admin,dc=example,dc=com |
bind_password |
The password for the above bind_dn account | password |
base_dn |
The top-level DN that you wish to query from | dc=example,dc=com |
attr_username |
The attribute containing the user’s username | sAMAccountName or uid |
attr_name |
The attribute containing the user’s real name | displayName or cn |
attr_email |
The attribute containing the user’s email address | mail or email |
Group Attribute (optional) |
Specify an additional user group attribute to be returned the authenticating server. | 4000 |
RADIUS Group Attribute (optional) |
Name of RADIUS attribute to send back | Filter-Id |
LDAP Group (optional) |
The name of the LDAP group to be sent back to the authenticating server. | SSLVPN-Users |
encryption (optional) |
Encryption mechanism | ssl or startTLS |
cacert (optional) |
CA certificate file (PEM format) | /opt/logintc/cacert.pem |
Click Test to validate the values and then click Next.
Existing RADIUS Server Option
If you want to use your existing RADIUS server, select RADIUS:
Configuration values:
Property | Explanation | Examples |
---|---|---|
host |
Host or IP address of the RADIUS server | radius.example.com or 192.168.1.43 |
port (optional) |
Port if the RADIUS server uses non-standard (i.e., 1812 ) |
1812 |
secret |
The secret shared between the RADIUS server and the LoginTC RADIUS Connector | testing123 |
RADIUS Vendor-Specific Attributes
Common Vendor-Specific Attributes (VSAs) found in the FreeRADIUS dictionary files will be relayed.
Configure which users will be challenged with LoginTC. This allows you to control how LoginTC will be phased in for your users. This flexibility allows for seamless testing and roll out.
For example, with smaller or proof of concept deployments select the Static List option. Users on the static list will be challenged with LoginTC, while those not on the list will only be challenged with the configured First Authentication Factor. That means you will be able to test LoginTC without affecting existing users accessing your VPN.
For larger deployments you can elect to use the Active Directory or LDAP Group option. Only users part of a particular LDAP or Active Directory Group will be challenged with LoginTC. As your users are migrating to LoginTC your LDAP and Active Directory group policy will ensure that they will be challenged with LoginTC. Users not part of the group will only be challenged with the configured First Authentication Factor.
No Passthrough (default)
Select this option if you wish every user to be challenged with LoginTC.
Static List
Select this option if you wish to have a static list of users that will be challenged with LoginTC. Good for small number of users.
LoginTC challenge users: a new line separated list of usernames. For example:
jane.doe jane.smith john.doe john.smith
Active Directory / LDAP Group
Select this option if you wish to have only users part of a particular Active Directory or LDAP group to be challenged with LoginTC. Good for medium and large number of users.
Configuration values:
Property | Explanation | Examples |
---|---|---|
LoginTC challenge auth groups |
Comma separated list of groups for which users will be challenged with LoginTC | SSLVPN-Users or two-factor-users |
host |
Host or IP address of the LDAP server | ldap.example.com or 192.168.1.42 |
port (optional) |
Port if LDAP server uses non-standard (i.e., 389 /636 ) |
4000 |
bind_dn |
DN of a user with read access to the directory | cn=admin,dc=example,dc=com |
bind_password |
The password for the above bind_dn account | password |
base_dn |
The top-level DN that you wish to query from | dc=example,dc=com |
attr_username |
The attribute containing the user’s username | sAMAccountName or uid |
attr_name |
The attribute containing the user’s real name | displayName or cn |
attr_email |
The attribute containing the user’s email address | mail or email |
encryption (optional) |
Encryption mechanism | ssl or startTLS |
cacert (optional) |
CA certificate file (PEM format) | /opt/logintc/cacert.pem |
Configuration Simplified
If Active Directory / LDAP Option was selected in First Authentication Factor the non-sensitive values will be pre-populated to avoid retyping and potential typos.
Click Test to validate the values and then click Next.
Configure RADIUS client (e.g. your Citrix NetScaler):
Client configuration values:
Property | Explanation | Examples |
---|---|---|
name |
A unique identifier of your RADIUS client | CorporateVPN |
ip |
The IP address of your RADIUS client (e.g. your RADIUS-speaking VPN) | 192.168.1.44 |
secret |
The secret shared between the LoginTC RADIUS Connector and its client | bigsecret |
The Authenticate Mode
must be set to Iframe
.
Data Encryption
It is strongly recommended to enable encryption of all sensitive fields for both PCI compliance and as a general best practice.
Click Test to validate the values and then click Save.
TestingWhen you are ready to test your configuration, create a LoginTC user (if you haven’t already done so). The username should match your existing user. Provision a token by following the steps:
When you have loaded a token for your new user and domain, navigate to your appliance web interface URL:
Click Test Configuration:
Enter a valid username and password; if there is no password leave it blank. A simulated authentication request will be sent to the mobile or desktop device with the user token loaded. Approve the request to continue:
Congratulations! Your appliance can successfully broker first and second factor authentication. The only remaining step is to configure your RADIUS device!
If there was an error during testing, the following will appear:
In this case, click See logs and then click the /var/log/logintc/authenticate.log
tab to view the log file and troubleshoot:
Once you are satisfied with your setup, configure your Citrix NetScaler to use the LoginTC RADIUS Connector.
For your reference, the appliance web interface Settings page displays the appliance IP address and RADIUS ports:
The following are quick steps to set up Citrix NetScaler with LoginTC.
Property | Description |
---|---|
Choose Server Type |
Select RADIUS |
Name |
Choose a name for this authentication server |
Server Name/IP |
Enter the LoginTC RADIUS Connector FQDN or IP address |
Port |
Enter 1812 |
Server Key |
Enter the RADIUS client secret that you chose on the LoginTC RADIUS Connector |
Confirm Secret Key |
Confirm the secret |
Time-out |
Enter 95 |
shell
cd /netscaler/ns_gui/vpn
nsshare.js
file: cp nsshare.js nsshare.js.bkp
nsshare.js
for editing: vi nsshare.js
DialogueBodyII()
function:DialogueBodyII()
function and insert the Citrix Integration snippet (https://www.logintc.com/downloads/citrix-code-snippet-v1-app.txt):
// // Start of LoginTC Citrix Integration // var logintc_host = 'cloud.logintc.com'; var logintc_application_id = 'YOUR_APPLICATION_ID'; document.writeln('<script src="https://' + logintc_host + '/static/iframe/citrix-iframe-injector-v2.js"></script>'); document.writeln('<script>if (typeof logintc !== \'undefined\') { logintc.iframe.init({host: "' + logintc_host + '", applicationId: "' + logintc_application_id + '"}); }</script>'); // // End of LoginTC Citrix Integration //
Ensure that you have entered your Application ID
in the Citrix Integration snippet, retrieve Application ID
cp /netscaler/ns_gui/vpn/nsshare.js /var/vpn/vpn/nsshare.js
and cp /netscaler/ns_gui/vpn/nsshare.js.bkp /var/vpn/vpn/nsshare.js.bkp
Your NetScaler is now configured to use the LoginTC RADIUS Connector for authentication.
Testing Citrix MFA LogonCitrix NetScaler allows for multiple LoginTC RADIUS Connectors to be load balanced for high availability.
Steps to configure a health check monitoring user on the LoginTC RADIUS Connector:
logintc-user
When health checks requests are received for the monitoring user, the configured First Factor authentication will be checked and LoginTC verification will automatically passthrough. If First Factor authentication passes ACCESS-ACCEPT
will be returned.
LoginTC application dedicated for monitoring
Recommend creating a new LoginTC application and domain only for monitoring. No users need to be part of the application / domain.
(Optional) Active Directory check for monitoring user
Recommend leveraging a dedicated service account for First Factor authentication.
There are several options for managing your users within LoginTC:
Logs can be found on the Logs tab:
TroubleshootingIf you are unable to authenticate, navigate to your appliance web interface URL and click Status:
Ensure that all the status checks pass. For additional troubleshooting, click Logs:
Email Support
For any additional help please email support@cyphercor.com. Expect a speedy reply.
Follow these instructions to upgrade your LoginTC RADIUS virtual appliance to the latest version (3.0.7):
cd /tmp
curl -O https://www.logintc.com/downloads/logintc-radius-connector-3.0.7-upgrade.sh
sudo sh logintc-radius-connector-3.0.7-upgrade.sh
The upgrade script will restart your appliance after upgrading.
Execute:
sha1sum /tmp/logintc-radius-connector-3.0.7-upgrade.sh
Output SHA‑1 should match:
631fa21d614a1976e9c6141471878f114e544994
The LoginTC RADIUS Connector 2.X virtual appliance is built with CentOS 6.8. CentOS 6.X is End of Lifetime (EOL) November 30th, 2020. Although the appliance will still function it will no longer receive updates and nor will it be officially supported.
A new LoginTC RADIUS Connector 3.X virtual appliance has been created which runs CentOS 7.7.1908. It is virtually identical to the existing appliance, with the exception of the underlying operating system. Inline upgrade from CentOS 6.X to CentOS 7.X is not supported. As a result upgrade is deploying a new appliance. A migration script has been created to help quickly copy over existing configurations and ssl certificates to the new appliance and minimize manual steps.
Complete 2.X to 3.X upgrade guide: LoginTC RADIUS Connector Upgrade Guide