Kerberos authentication is always used when:

  • Both endpoints are at least W2K or higher
    AND
  • In case of a trust, Kerberos is supported

 

Kerberos is supported within an AD forest and between AD forests when a forest trust is used.

In all other cases NTLM authentication is used.

 

Let's say you have the following layout:

  • Domain A
    • Multiple DCs
    • Clients and servers
  • Domain B
    • Multiple DCs
    • Clients and servers
  • Domain A trusts Domain B and vice versa

 

If NTLM is used the order of authentication is:

  1. CLIENT-DOMAIN_A wants to access MEMBERSRV-DOMAIN_B
  2. CLIENT-DOMAIN_A connects to MEMBERSRV-DOMAIN_B
  3. MEMBERSRV-DOMAIN_B connects to a DC in DOMAIN_B and asks do you know: CLIENT-DOMAIN_A
  4. The DC in DOMAIN_B says NO, but I do trust DOMAIN_A. Let me check.
  5. A DC in DOMAIN_B connects to a DC in DOMAIN_A and asks do you know: CLIENT-DOMAIN_A
  6. The DC in DOMAIN_A says: yes, it's OK
  7. The DC in DOMAIN_B sets up an access token for domain B for CLIENT-DOMAIN_A.
  8. CLIENT-DOMAIN_A accesses MEMBERSRV-DOMAIN_B

 

If KERBEROS is used the order of authentication is:

  1. CLIENT-DOMAIN_A wants to access MEMBERSRV-DOMAIN_B
  2. CLIENT-DOMAIN_A connects to a DC in DOMAIN_A and asks for a ticket to access MEMBERSRV-DOMAIN_B
  3. The DC in DOMAIN_A says: let me check, just a sec.
  4. The DC in DOMAIN_A says: that server does not exist within the domain or the forest. However I do have a trust with DOMAIN_B. Go to a DC in DOMAIN_B
  5. CLIENT-DOMAIN_A connects to a DC in DOMAIN_B and asks for a ticket to access MEMBERSRV-DOMAIN_B
  6. The DC in DOMAIN_B says: let me check, just a sec.
  7. The DC in DOMAIN_B says: here's your ticket and access token. have fun
  8. CLIENT-DOMAIN_A accesses MEMBERSRV-DOMAIN_B

 

More information can be found in the following MS articles:

 

 

Cheers,

Jorge

------------------------------------------------------------------------------------------------
* This posting is provided "AS IS" with no warranties and confers no rights!
* Always test before implementing!
------------------------------------------------------------------------------------------------