Enable Windows Integrated Authentication on an Active Directory Domain
This guide is provided for configuring Windows Integrated Authentication (Kerberos/NTLM) with a Group Managed Service Account (gMSA) on the Web Portal.
Due to the unique nature of each company’s network and architecture, we cannot provide support for issues arising from following this documentation. It meets the technical requirements for Web Portal with Windows Integrated Authentication, but implementation is at your own responsibility.
Domain configuration
The Active Directory environment must support Kerberos or NTLM authentication.
Set up a Managed Service Account (gMSA)
Install the Web Portal service and run it with a domain managed service account instead of a domain admin account.
Prerequisites
- Active Directory schema level: Windows Server 2012 or later (required for gMSA)
- At least one domain controller running Windows Server 2012 or later
- KDS root key created (one-time setup)
- Membership in Domain Admins or Account Operators to create the account
Create the KDS root key (if not already created)
Run on a domain controller in an elevated PowerShell session:
Add-KdsRootKey -EffectiveTime ((Get-Date).AddHours(-10))This makes the root key immediately available.
Create the gMSA
Use New-ADServiceAccount:
New-ADServiceAccount ` -Name "WebPortalSvc" ` -DNSHostName "WebPortalSvc.domain.local" ` -PrincipalsAllowedToRetrieveManagedPassword "YourServerGroup" ` -Enabled $trueName: gMSA account nameDNSHostName: FQDN for the accountPrincipalsAllowedToRetrieveManagedPassword: computers/group allowed to use this gMSA
Grant administrative rights (optional / as needed)
By default, a gMSA has no special privileges.
To grant domain-level access (optional):
Add-ADGroupMember -Identity "Domain Admins" -Members "WebPortalSvc$"To grant local admin/logon capability (if needed):
Add-ADGroupMember -Identity "Administrateurs" -Members "WebPortalSvc$"Important: the trailing
$is required for gMSA account references in AD.
Reboot requirement
A reboot is required before continuing and installing/using the service account. Also refresh policies.
Install the gMSA on target servers
Run on each server that will use the gMSA:
Install-ADServiceAccount -Identity "WebPortalSvc"Test installation:
Test-ADServiceAccount -Identity "WebPortalSvc"Configure services to use the gMSA
-
Grant Log on as a service to the account:
- Open Group Policy Editor
- Go to:
Computer Configuration > Windows Settings > Security Settings > Local Policies > User Rights Assignment - Open
Log on as a service - Add
DOMAIN\WebPortalSvc$
-
Ensure NTFS permissions on Web Portal files/folders:
- Right-click application folder/executable > Properties > Security
- Add
DOMAIN\WebPortalSvc$ - Grant at least Read & Execute (or Full Control if required by your deployment)
-
Configure service identity:
- Account:
DOMAIN\WebPortalSvc$ - Password: leave blank
- Account:
Configure Service Principal Name (SPN)
The web service must be registered in Kerberos.
Run on a domain controller:
setspn -A HTTP/webserver.domain.com DOMAIN\WebPortalSvcReplace with your server FQDN and account.
If the Web Portal hosting server uses HTTP.sys, register SPN against the machine account:
setspn -S HTTP/portal.hiyoko.com:8008 WIN-HLBO0AGABB7setspn -S HTTP/portal.hiyoko.com:8009 WIN-HLBO0AGABB7Configure network on the client machine
To put a domain-joined client in the correct subnet:
- Identify the correct network interface
- Remove existing static IP (if incorrect)
- Assign static IP, subnet mask, and default gateway matching DNS/DC subnet
- Set DNS server addresses
Important: assign static IP addresses to domain controller and clients. Security policy synchronization requires machines to be in the same subnet in this context.
Allow required client connectivity
UDP/TCP 53 may be blocked, which prevents DNS queries.
Troubleshooting steps
Check DNS server status
On domain controller:
net start DNSVerify DNS service is running.
Verify DNS server IP
On client:
ipconfig /allConfirm DNS server IP matches the domain controller IP.
Test basic connectivity
On client:
ping <DC_IP_Address>If ping fails, troubleshoot network/firewall routing.
Check firewall rules
Ensure inbound/outbound UDP/TCP 53 is allowed on client and server.
Test with nslookup
nslookup domain.com <DC_IP_Address>If this works, default DNS server may be misconfigured or unreachable.
Review Event Viewer
On the domain controller, check DNS-related errors.
Configure Mozilla Firefox for Windows Integrated Authentication
Firefox does not use WIA by default.
Step 1: trusted negotiate URIs
- Open Firefox
- Go to
about:config - Accept warning
- Set
network.negotiate-auth.trusted-uristo your domains, for example:intranet.domain.com, domain.com
Step 2: trusted NTLM URIs
Set network.automatic-ntlm-auth.trusted-uris to the same domain list.
Step 3: Kerberos delegation URIs (if required)
Set network.negotiate-auth.delegation-uris, for example:
domain.com
Step 4: restart browser
Restart Firefox to apply changes.
Configure Google Chrome for Windows Integrated Authentication
Chrome uses Windows/system authentication settings.
Via Group Policy (recommended)
- Download Chrome ADMX templates:
- Copy
chrome.admxandchrome.admlto:C:\Windows\PolicyDefinitionsC:\Windows\PolicyDefinitions\en-US
- Open
gpedit.msc - Go to:
Computer Configuration > Administrative Templates > Google > Google Chrome
- Enable integrated authentication for intranet sites and configure trusted sites:
intranet.domain.com, domain.com
- Apply policy:
gpupdate /forceOther methods
Other methods (Chrome command line switches and flags) were not successful in this context.
Configure Microsoft Edge for Windows Integrated Authentication
Edge uses Microsoft Edge policies and Windows security zone settings.
Enable automatic logon in intranet zone
- Open Internet Options
Securitytab >Local Intranet>Custom Level- Under
User Authentication, set:Automatic logon only in Intranet zone
Configure Edge policies via GPO
Step 1: install Edge ADMX templates
- Download:
- Copy
msedge.admxandmsedge.admlto:C:\Windows\PolicyDefinitionsC:\Windows\PolicyDefinitions\en-US
Step 2: edit policy settings
- Open
gpedit.msc - Go to:
Computer Configuration > Administrative Templates > Microsoft Edge
- Enable:
Configure the list of servers that Microsoft Edge can delegate credentials to
- Configure trusted servers:
intranet.domain.com, domain.com
Step 3: apply policies
gpupdate /forceOther methods
Other methods (Edge command line switches and flags) were not successful in this context.
Troubleshooting integrated authentication
Check Kerberos tickets
On Windows client:
klistYou should see a ticket for HTTP/webserver.domain.com.
Clear cached credentials/tickets
klist purgeVerify SPN registration
On domain controller:
setspn -L serviceaccountEnsure HTTP/webserver.domain.com is listed.
Debug Kerberos in Firefox
Start Firefox with logging:
set NSPR_LOG_MODULES=negotiateauth:5set NSPR_LOG_FILE=%USERPROFILE%\Desktop\firefox.logstart firefox.exeReview firefox.log for authentication errors.
Check Chrome policies
In Chrome, open:
chrome://policyEnsure AuthServerWhitelist and AuthNegotiateDelegateWhitelist are applied.
Check Edge policies
In Edge, open:
edge://policyEnsure AuthServerWhitelist and AuthNegotiateDelegateWhitelist are applied.