Courtsey Cloud Software Group /NetScaler
NetScaler Gateway presents all hosted, SaaS, web, enterprise, and mobile applications to users on any device and any browser. It uses nFactor Authentication to authenticate users against on-premises Microsoft AD and leverages Microsoft AD FS for Azure Multi-Factor Authentication (MFA)
NetScaler Gateway provides federated identity and supports SAML 2.0, OAuth, and OpenID to achieve single sign-on across all applications, whether web, VDI, enterprise, or SaaS applications.
NetScaler Gateway provides SSO to SaaS applications such as Office 365 and Salesforce, and it keeps the user directory on-premises. It can be implemented as an IdP or proxy for Microsoft Active Directory Federation Services (AD FS).
NetScaler Gateway provides nFactor authentication mechanisms and allows granular control over who is accessing the network, what is being accessed, and how and when it is accessed. It supports all the authentication mechanisms, such as RADIUS, TACACS, NTLM, Diameter, SAML 2.0, OAuth 2.0, and OpenID 2.0.
NetScaler Gateway allows granular access control to business applications based on the state of the end-user device, user, user location, and other data. An IT administrator can create, manage, and enforce the policies to access data securely in an application environment. These policies can be implemented for VDI, web, mobile, enterprise, and SaaS applications.
NetScaler Application Delivery Management includes Gateway Insight, which provides visibility of the end-to-end user experience for all applications accessed through NetScaler Gateway. It provides information for application support teams to troubleshoot issues regarding authentication failures, including EPA check failures and single sign-on failures.
People are connecting to organizational resources in increasingly complicated scenarios. People connect from organization-owned, personal, and public devices on and off the corporate network using smartphones, tablets, PCs, and laptops, often on multiple platforms. In this always-connected, multi-device, and multi-platform world, the security of user accounts is more important than ever.
Passwords, no matter their complexity, used across devices, networks, and platforms are no longer sufficient to ensure the security of the user account, especially when users tend to reuse passwords across accounts.
Sophisticated phishing and other social engineering attacks can result in usernames and passwords being posted and sold across the dark web. The security of the two-step verification process lies in its layered approach. Compromising multiple authentication factors presents a significant challenge for attackers. Even if an attacker manages to learn the user’s password, it is useless without also having possession of the additional authentication method. It works by requiring two or more of the following authentication methods:
Azure Multi-Factor Authentication helps safeguard access to data and applications. It provides an extra layer of security using a second form of authentication. Organizations can use conditional access to make the solution fit their specific needs.
There are different methods to leverage Azure MFA as a second factor of authentication. Such methods are briefly explained below with their pros and cons.
Microsoft Azure Multi-Factor Authentication server was the original method, and it is going to be deprecated. It should not be considered for any new implementation as
Network Policy Server (NPS) extension for Azure MFA is a supported solution that uses NPS Adapter to connect with Azure MFA Cloud-based. It can be used as the on-premises RADIUS server.
If your organization is federated with Azure AD, but Passwords Hash are not synchronized with Azure AD, then you can use on-premises AD for Lightweight Directory Access Protocol (LDAP) and enable Azure MFA as part of Access Policies on AD FS relay parties. Starting with Windows Server 2016, you can now configure Azure MFA for primary authentication.
If your organization is synchronizing Passwords Hash into Azure AD, Azure MFA can be leveraged via Conditional Access policies to challenge users for second-factor authentication.
Azure AD pass-through authentication (PTA) permits users to sign into both on-premises and cloud-based applications using the same passwords. When users sign in using Azure AD, this feature validates users’ passwords directly against on-premises Active Directory. Azure AD PTA is an alternative to Azure AD Password Hash Synchronization, which provides the same benefit of cloud authentication to organizations.
An environment with the following characteristics requires leveraging Azure MFA as a second factor of authentication:
Here are the design points for the proposed solution:
The proposed solution is based on the following components:
NetScaler Gateway is leveraging authentication, authorization, and auditing feature (NetScaler ADC AAA) and nFactor authentication mechanisms to authenticate the user with LDAP policy and leverage Access Policy on AD FS Relay Party to trigger Azure MFA validation process. After Azure MFA validates the user, AD FS generates SAML Assertion (SAML response) and redirects the user back to NetScaler Gateway. At that point, the user is authenticated, and NetScaler Gateway presents all applications that the user is authorized to use.
The solution requires two public DNS records and two public IP addresses:
Description | Value |
NetScaler Gateway FQDN | access.ctxdemos.com |
NetScaler authentication, authorization, and auditing FQDN | aaa.ctxdemos.com |
The solution uses one public SSL certificate:
Description | Value |
Common Name | access.ctxdemos.com |
Subject Alternative Name | sts.ctxdemos.com |
Subject Alternative Name | aaa.ctxdemos.com |
The solution also uses a wildcard SSL certificate issued by internal Microsoft Certificate Authority Services:
Description | Value |
Common Name | *.ctxdemos.com |
The following sequence diagram shows the authentication flow for the solution:
The authentication steps are:
Most of the steps mentioned above are seamless to users as they are occurring internally between various VIPs on the NetScaler ADC. The user experience is shown below:
Federation servers require the certificates in the following table:
Federation servers require the certificates in the following table:
Certificate Type | Description | What needs to be known before deploying |
Secure Sockets Layer (SSL) certificate | This is a standard Secure Sockets Layer (SSL) certificate that is used for securing communications between federation servers and clients. | This certificate must be bound to the default website in the Internet Information Services (IIS) for a Federation Server or a Federation Server Proxy. For a Federation Server Proxy, the binding must be configured in IIS prior to running the Federation Server Proxy Configuration Wizard successfully. Recommendation: Because this certificate must be trusted by clients of AD FS, use a server authentication certificate that is issued by a public (third-party) certification authority (CA). For example, Verisign. Tip: The Subject name of this certificate is used to represent the Federation Service name for each instance of AD FS that you deploy. For this reason, you may want to consider choosing a Subject name on any new CA-issued certificates that best represents the name of your company or organization to partners. |
Service communication certificate | This certificate enables WCF message security for securing communications between federation servers. | By default, the SSL certificate is used as the service communications certificate. This can be changed using the AD FS Management console. |
Token-signing certificate | This is a standard X509 certificate that is used for securely signing all tokens that the federation server issues. | The token-signing certificate must contain a private key, and it should chain to a trusted root in the Federation Service. By default, AD FS creates a self-signed certificate. However, you can change this later to a CA-issued certificate by using the AD FS Management snap-in, depending on the needs of your organization. |
Token-decryption certificate | This is a standard SSL certificate that is used to decrypt any incoming tokens that are encrypted by a partner federation server. It is also published in the federation metadata. | By default, AD FS creates a self-signed certificate. However, you can change this later to a CA-issued certificate by using the AD FS Management snap-in, depending on the needs of your organization. |
Certificate type | Demo Environment Configuration |
Secure Sockets Layer (SSL) certificate | Internal certificate issued by internal issuing CA on AD FS server. Public trusted certificate on NetScaler ADC. |
Service communication certificate | Internal certificate issued by AHS internal issuing certificate authority. |
Token-signing certificate | Auto generated by AD FS service. |
Token-decryption certificate | Auto generated by AD FS service. |
In the demo environment, a wildcard certificate is enrolled and installed on the server.
You can either create a service account or leverage Group Managed Service Accounts (gMSA). To use gMSA, you need to create a Key Distribution Service Root Key. So, launch PowerShell and run the following command:
Add-KdsRootKey -EffectiveTime ((get-date).addhours(-10))
This command creates a Key Distribution Service Root Key, stored in Active Directory, and it allows you to create a group Managed Service Account (gMSA) as the AD FS service account you create later. Run this command with Domain Admin rights.
You need DNS A record for your AD FS Federation Service Name internally and externally. In the demo environment, Internal DNS record is pointing to the AD FS server IP and External DNS record is pointing to the NetScaler Gateway public IP.
Record name | Scope | Type | IP address |
sts.ctxdemox.com | Internal | A | 22.22.22.6 |
sts.ctxdemox.com | External | A | 40.85.225.175 |
To add the AD FS role to Windows Server 2016 launch PowerShell and run the following command:
Install-WindowsFeature AD FS-Federation -IncludeManagementTools