How-To Configure Kerberos Authentication
Introduction
Traditionally, a user has always been required to enter their username and password in order to log in to RapidIdentity. Customers may deem this process redundant when a user has already logged into their domain-joined Windows workstation.
Kerberos Authentication is supported in RapidIdentity 3.5 and newer. This process eliminates the username and password requirement when a user is logging in from a domain-joined Windows workstation.
Prerequisites
Prior to attempting to configure Kerberos Authentication, you should complete the following tasks:
Ensure that you are licensed for Kerberos Authentication
Verify that you are running the latest version of RapidIdentity 3.5 or newer
Active Directory Configuration
Create a user in Active Directory to handle Kerberos Authentication. The only requirements for this user account are:
Select the option to prevent the user from changing their password
Select the option to indicate that the user’s password never expires
Select the option to not require kerberos pre-authentication
In Powershell, execute the following command:
setspn -a HTTP/{RapidIdentityURL} {KerberosUsername}
RapidIdentityURL: The FQDN of your RapidIdentity server, for example “my.example.com”
KerberosUsername: The username created previously in step 1a
Group Policy Configuration
Certain configuration changes need to be made on each Windows workstation to support Kerberos Authentication. Rather than manage these individually, a group policy can be configured to automate that process.
Add your RapidIdentity URL to the Internet Sites list
User Configuration > Policies > Administrative Templates > Windows Components > Internet Explorer > Internet Control Panel > Security Page > Site to Zone Assignments List
Set this policy to Enabled
Add an assignment for your RapidIdentity server to Intranet Sites, for example
Value Name:https://my.example.com
Value: 1
Configure a batch script (see template below) to configure Firefox and store it in \\test.local\NETLOGON\kerberos.bat
Set the Group Policy to run this batch script on user logon
Computer Configuration > Policies > Windows Settings > Scripts > Startup
Note
On your Windows workstations, Internet Explorer should be configured to “Enable Integrated Windows Authentication”. This should be enabled by default, but can be verified by opening Internet Explorer Settings and finding the setting on the Advanced tab.
Note
Google Chrome shares Internet Explorer configuration, so no additional configuration should be necessary to enable Google Chrome to use Kerberos Authentication.
Firefox Batch Script
@echo off FOR /F "tokens=*" %%R IN ('dir /B /AD "%APPDATA%\Mozilla\Firefox\Profiles\*.default"') DO CALL:write_settings %%R GOTO:EOF :write_settings >nul DIR "%APPDATA%\Mozilla\Firefox\Profiles\%1\prefs.js" /A /B if ERRORLEVEL 1 GOTO:EOF REM configure the prefs.js file if it hasn't already been configured >nul find "my.example.com" %APPDATA%\Mozilla\Firefox\Profiles\%1\prefs.js || ( echo user_pref^("network.negotiate-auth.trusted-uris", "https://my.example.com"^); >> %APPDATA%\Mozilla\Firefox\Profiles\%1\prefs.js echo user_pref^("network.negotiate-auth.delegation-uris", "https://my.example.com"^); >> %APPDATA%\Mozilla\Firefox\Profiles\%1\prefs.js echo user_pref^("network.automatic-ntlm-auth.trusted-uris", "https://my.example.com"^); >> %APPDATA%\Mozilla\Firefox\Profiles\%1\prefs.js ) ATTRIB -A "%APPDATA%\Mozilla\Firefox\Profiles\%1\prefs.js" GOTO:EOF
Appliance Configuration
The RapidIdentity Appliance must be able to resolve your domain through DNS. Ideally, your appliance will be configured to use your domain controllers for DNS. Alternatively, you can configure your hosts file to point to your domain, however, your appliance will be limited to using only one domain controller for Kerberos Authentication
In RapidIdentity Appliance Configuration (idauto-apps), navigate to Core Configuration > Authentication > Kerberos Configuration and configure the following parameters with your values
Domain: test.local
KDC Address: test.local
Service Principal: HTTP/my.example.com@test.local
Service Principal Password: Configured earlier in step 1 of Active Directory Configuration
In RapidIdentity Appliance Configuration (idauto-apps), navigate to Core Configuration > Authentication and create an authentication policy for Kerberos Authentication
Criteria > Kerberos > Enabled: Checked
Authentication Methods > Kerberos > Required: Checked
Note: Additional authentication methods can be enabled (such as TOTP) to provide additional authentication.
Current Limitations
Cloud Hosted Active Directories: It is currently unsupported to attempt Kerberos Authentication against a Cloud Hosted Active Directory.
UPN Suffix: It is currently unsupported to attempt Kerberos Authentication using UPN Suffixes.
Trusts: It is currently unsupported to attempt Kerberos Authentication against a trusted domain.
Multiple Domains: It is currently unsupported to attempt Kerberos Authentication against multiple domains.