SlideShare ist ein Scribd-Unternehmen logo
1 von 47
Downloaden Sie, um offline zu lesen
Kerberos Survival Guide


Presented by:
JD Wade, SharePoint Consultant, MCITP

Mail: jd.wade@hrizns.com
Blog: http://wadingthrough.com
LinkedIn: JD Wade
Twitter: http://twitter.com/JDWade
Who is JD Wade?
• SharePoint Consultant since 2007
• Certified KnowledgeLake Partner
• With Horizons since 2005
• Member of SharePoint 2007 and 2010 TAP
• Over 10 years of IT experience
• Technical Editor for book SharePoint 2010
  Disaster Recovery
  http://tinyurl.com/SPDRBook2010
• Loves anything related to sound
• Probably has one of the driest senses of humor in
  the room
Agenda
•Overview
•Logon Process
•Accessing a Web Site
•Troubleshooting Kerberos Demos
•Delegation and Demos
Kerberos




           Massachusetts Institute of Technology
Details Out of Scope
•Renewing tickets
•Ticket expiration
•Keys
•Authenticator
•TGT Structure
•Service Ticket Structure
•Encryption/Decryption
•Multiple domains/forests
Dependencies
Service Principal Name




Service Class   Host Name   Port




          HTTP/website:80
Service Classes allowed by host
alerter            clipsrv      dnscache
http               msiserver    netman
policyagent        rpc          scardsvr
scm                time         wins
appmgmt            dcom         eventlog
ias                mcsvc        nmagent
protectedstorage   rpclocator   scesrv
seclogon           trksvr       www
browser            dhcp         eventsystem
iisad              netdde       oakley
rasman             rpcss        Schedule
snmp               trkwks       fax
cifs               dmserver     plugplay
min                netddedsm
remoteaccess       rsvp
spooler            ups
cisvc              dns
messenger          netlogon
replicator         samss
Tapisrv            w3svc
Kerberos
•Benefits
    •Delegated Authentication
    •Interoperability
    •More Efficient Authentication
    •Mutual Authentication
Logon Process
KDC
KDC
KDC




SPN
KDC
Access Web Site
401
SPN
<system.webServer>
   <security>
      <authentication>
         <windowsAuthentication enabled="true" useAppPoolCredentials="true" />
      </authentication>
   </security>
</system.webServer>
Troubleshooting
Kerberos Demos
Delegation
Demo
FBA   Kerberos
Demo
References
•Ken Schaefer’s Multi-Part Kerberos Blog Posts:
http://www.adopenstatic.com/cs/blogs/ken/archive/2006/10
/20/512.aspx
•What Is Kerberos Authentication?
http://technet.microsoft.com/en-
us/library/cc780469%28WS.10%29.aspx
•How the Kerberos Version 5 Authentication Protocol
Works
http://technet.microsoft.com/en-
us/library/cc772815%28WS.10%29.aspx
•Explained: Windows Authentication in ASP.NET 2.0
http://msdn.microsoft.com/en-us/library/ff647076.aspx
References
•Kerberos Authentication Tools and Settings
http://technet.microsoft.com/en-
us/library/cc738673%28WS.10%29.aspx
•How To: Use Protocol Transition and Constrained
Delegation in ASP.NET 2.0
http://msdn.microsoft.com/en-us/library/ff649317.aspx
•Spence Harbar’s Blog
http://www.harbar.net
Q&A
Appendix
•Kerberos is an open authentication protocol. Kerberos v5
was invented in 1993 at MIT.
•Authentication is the process of proving your identity to a
remote system.
    • Your identity is who you are, and authentication is
      the process of proving that. In many systems your
      identity is your username, and you use a secret
      shared between you and the remote system (a
      password) to prove that your identity.
•User password is encrypted as the user key. User key is
stored in credentials cache. Once the logon session key is
received, the user key is discarded.
•Service password is encrypted as the service key.
•KDCs are found through a DNS query. Service registered
in DNS by DCs.
•Showing detail behind what is happening inside of KDC
but for day-to-day, use can just remember KDC
•Another reason for simplification: encryption upon
encryption upon encryption…just remember it is encrypted
•This is a Windows-centric Kerberos presentation
•Load balanced solutions need service account
•All web applications hosted using the same SPN have to
be hosted with the same account
•Use A records, not CNAME records
•Terms
•Key Distribution Center (KDC) – In Windows AD, KDC
lives on domain controllers (DC), KDCs share a long term
key across all DCs.
•KDC security account database – In Windows, it is Active
Directory
•Authorization Service (AS) – part of the KDC
•Ticket Granting Service (TGS) – part of the KDC
•Ticket Granting Ticket (TGT) - A user's initial ticket from
the authentication service, used to request service tickets,
and meant only for use by the ticket granting service.
Keeps the user from having to enter password each time a
ticket is requested.
Tickets
•Ticket Granting Ticket (TGT)
    •A user's initial ticket from the authentication service
    •Used to request service tickets
    •Meant only for use by the ticket-granting service.
    •Service ticket for the KDC (service class = krbtgt)
•Service Ticket
    •Enables the ticket-granting service (TGS) to safely
    transport the requester's credentials to the target
    server or service.
Tools
•Knowledge
•SetSPN
•Windows Security Logs
•Windows 2008 ADUC or ADSIEdit
•Kerbtray or Klist
•Netmon and Fiddler
•IIS Logs and IIS7 Failed Request Tracing
•LDP
•Kerberos Logging
    •Event Logging and/or Debug Logs
•Troubleshooting
    • Have user logon and logoff if they don’t regularly:
      TGTs are only renewable for so long and then they
      expire (7 day default), then password has to be re-
      entered.
    • Remember that authenticators contain the current
      time. Check for time sync issues.
•Common Issues
   • Missing SPN
   • Duplicate SPN
   • SPN assigned to wrong service account
   • Times are out of sync
   • Client TGT expired (7 days)
   • IE and non-default ports
•Request TGT (Remember there is even more complexity)
1. User (client) logs into workstation entering their
   password.
2. Client builds an authentication service request
   containing the user’s username (KPN), the SPN of the
   TGS, and encrypts the current time using the user’s
   password as an authenticator.
3. Client sends these three items to the KDC.
4. KDC get user’s password from AD, decrypts time and
   verifies it is valid.
5. AS generates a logon session key and encrypts with
   the user’s password. AS generates a service ticket
   which contains a logon session key and the user’s KPN
   encrypted with the AS shared key. This is a special
   service ticket called a Ticket Granting Ticket (TGT).
•Request TGT (Remember there is even more complexity)
6. KDC sends both to the client.
7. Client decrypts logon session key using its password
   and stores the logon session key in cache. The client
   stores the TGT in cache.
•Access Service (Remember there is even more complexity)
1. User (client) encrypts the current time using the logon
   session key in cache creating an authenticator and
   sends the authenticator, the user’s KPN, the name of
   the target service (SPN), and the TGT to the TGS.
2. TGS decrypts the TGT using its shared key to access
   the logon session key. The logon session key is used to
   decrypt the authenticator and confirms the time is valid.
3. TGS extracts the user’s KPN from the TGT. TGS
   generates a service session key and encrypts the
   service session key using the logon session key. TGS
   uses server session key to generate service ticket and
   encrypts it using service’s password.
4. TGS sends service session key and the service ticket
   to the client.
•Access Service (Remember there is even more complexity)
5. Client decrypts service session key using cached logon
   session key, adds current time (as well as other items),
   and encrypts with the service session key to create an
   authenticator.
6. Client sends ticket and authenticator to remote server
   which runs service.
7. Service decrypts service ticket accessing the server
   session key and the KPN. Using the service session
   key, the service decrypts the authenticator and confirms
   the current time is valid. A Windows access token is
   generated
8. (Optional) If client requests mutual authentication,
   service encrypts current time using the service session
   key creating an authenticator and sends to the client.
9. Clients decrypts authenticator and validates time.
Troubleshooting Tools
• Patience – Test methodically and
• Knowledge - Know your Forests, Domains, Trusts,
  Functional Levels…get a basic lay of the land.
• Always test from a different machine than the web
  server or domain controller!
• SetSPN
• Windows Security Logs
• Windows 2008 ADUC
• Kerbtray
• Netmon and Fiddler
• IIS Logs and IIS7 Failed Request Tracing
• Kerberos Logging
    • Event Logging and/or Debug Logs
Common Issues that break Kerberos
    • Times are out of sync – authenticators contain
      current time
    • Missing SPN
    • Duplicate SPN
    • SPN assigned to wrong service account
    • IIS Providers are incorrect (For IIS 5 or 6, see
      http://support.microsoft.com/kb/215383)
    • IIS 7 – remember Kernel mode authentication and
      check settings
    • Client TGT expired (7 days expiration – have user
      logon and logoff, no reboot required)
    • IE and non-default ports

Weitere ähnliche Inhalte

Was ist angesagt?

Kerberos survival guide
Kerberos survival guideKerberos survival guide
Kerberos survival guide
J.D. Wade
 
Kerberos and its application in cross realm operations
Kerberos and its application in cross realm operationsKerberos and its application in cross realm operations
Kerberos and its application in cross realm operations
Arunangshu Bhakta
 
Cued click point image based kerberos authentication protocol
Cued click point image based kerberos authentication protocolCued click point image based kerberos authentication protocol
Cued click point image based kerberos authentication protocol
IAEME Publication
 
Kerberos presentation
Kerberos presentationKerberos presentation
Kerberos presentation
Chris Geier
 
Kerberos Authentication Protocol
Kerberos Authentication ProtocolKerberos Authentication Protocol
Kerberos Authentication Protocol
Bibek Subedi
 

Was ist angesagt? (19)

Kerberos survival guide
Kerberos survival guideKerberos survival guide
Kerberos survival guide
 
Kerberos and its application in cross realm operations
Kerberos and its application in cross realm operationsKerberos and its application in cross realm operations
Kerberos and its application in cross realm operations
 
Rakesh raj
Rakesh rajRakesh raj
Rakesh raj
 
Cued click point image based kerberos authentication protocol
Cued click point image based kerberos authentication protocolCued click point image based kerberos authentication protocol
Cued click point image based kerberos authentication protocol
 
An Introduction to Kerberos
An Introduction to KerberosAn Introduction to Kerberos
An Introduction to Kerberos
 
Kerberos presentation
Kerberos presentationKerberos presentation
Kerberos presentation
 
Kerberos
KerberosKerberos
Kerberos
 
Kerberos authentication
Kerberos authenticationKerberos authentication
Kerberos authentication
 
SSO with kerberos
SSO with kerberosSSO with kerberos
SSO with kerberos
 
Ch15
Ch15Ch15
Ch15
 
Kerberos, Token and Hadoop
Kerberos, Token and HadoopKerberos, Token and Hadoop
Kerberos, Token and Hadoop
 
Kerberos case study
Kerberos case studyKerberos case study
Kerberos case study
 
Kerberos
KerberosKerberos
Kerberos
 
Kerberos
KerberosKerberos
Kerberos
 
Kerberos
KerberosKerberos
Kerberos
 
Kerberos : An Authentication Application
Kerberos : An Authentication ApplicationKerberos : An Authentication Application
Kerberos : An Authentication Application
 
Kerberos Authentication Protocol
Kerberos Authentication ProtocolKerberos Authentication Protocol
Kerberos Authentication Protocol
 
Kerberos
KerberosKerberos
Kerberos
 
Kerberos ppt
Kerberos pptKerberos ppt
Kerberos ppt
 

Ähnlich wie Kerberos Survival Guide - St. Louis Day of .Net

Gunaspresentation1
Gunaspresentation1Gunaspresentation1
Gunaspresentation1
anchalaguna
 

Ähnlich wie Kerberos Survival Guide - St. Louis Day of .Net (20)

Kerberos Survival Guide: SharePointalooza
Kerberos Survival Guide: SharePointaloozaKerberos Survival Guide: SharePointalooza
Kerberos Survival Guide: SharePointalooza
 
Deep Dive In To Kerberos
Deep Dive In To KerberosDeep Dive In To Kerberos
Deep Dive In To Kerberos
 
Null talk
Null talkNull talk
Null talk
 
Gunaspresentation1
Gunaspresentation1Gunaspresentation1
Gunaspresentation1
 
Kerberos Authentication and SSO (Single Sign On) mechanism by Siavash Golchoo...
Kerberos Authentication and SSO (Single Sign On) mechanism by Siavash Golchoo...Kerberos Authentication and SSO (Single Sign On) mechanism by Siavash Golchoo...
Kerberos Authentication and SSO (Single Sign On) mechanism by Siavash Golchoo...
 
CRYPTOGRAPHY AND NETWORK SECURITY
CRYPTOGRAPHY AND NETWORK SECURITYCRYPTOGRAPHY AND NETWORK SECURITY
CRYPTOGRAPHY AND NETWORK SECURITY
 
Powering Remote Developers with Amazon Workspaces
Powering Remote Developers with Amazon WorkspacesPowering Remote Developers with Amazon Workspaces
Powering Remote Developers with Amazon Workspaces
 
Single Sign-On, Two Factor & more: Advanced Authentication & Authorization at...
Single Sign-On, Two Factor & more: Advanced Authentication & Authorization at...Single Sign-On, Two Factor & more: Advanced Authentication & Authorization at...
Single Sign-On, Two Factor & more: Advanced Authentication & Authorization at...
 
DEF CON 23 - Sean - metcalf - red vs blue ad attack and defense
DEF CON 23 - Sean - metcalf - red vs blue ad attack and defenseDEF CON 23 - Sean - metcalf - red vs blue ad attack and defense
DEF CON 23 - Sean - metcalf - red vs blue ad attack and defense
 
Hyperleger Composer Architecure Deep Dive
Hyperleger Composer Architecure Deep DiveHyperleger Composer Architecure Deep Dive
Hyperleger Composer Architecure Deep Dive
 
In the Wake of Kerberoast
In the Wake of KerberoastIn the Wake of Kerberoast
In the Wake of Kerberoast
 
kerberos
kerberoskerberos
kerberos
 
Kerberos Security in Distributed Systems
Kerberos Security in Distributed SystemsKerberos Security in Distributed Systems
Kerberos Security in Distributed Systems
 
CS6701 CRYPTOGRAPHY AND NETWORK SECURITY
CS6701 CRYPTOGRAPHY AND NETWORK SECURITYCS6701 CRYPTOGRAPHY AND NETWORK SECURITY
CS6701 CRYPTOGRAPHY AND NETWORK SECURITY
 
Client certificate validation in windows 8
Client certificate validation in windows 8Client certificate validation in windows 8
Client certificate validation in windows 8
 
Cinema booking system | Movie Booking System
Cinema booking system | Movie Booking SystemCinema booking system | Movie Booking System
Cinema booking system | Movie Booking System
 
Provisioning Certificates
Provisioning CertificatesProvisioning Certificates
Provisioning Certificates
 
kerb.ppt
kerb.pptkerb.ppt
kerb.ppt
 
Microservices Security landscape
Microservices Security landscapeMicroservices Security landscape
Microservices Security landscape
 
MCSA 70-412 Chapter 06
MCSA 70-412 Chapter 06MCSA 70-412 Chapter 06
MCSA 70-412 Chapter 06
 

Mehr von J.D. Wade

SPS St. Louis: SharePoint 2013 upgrades: Notes from the Field
SPS St. Louis: SharePoint 2013 upgrades: Notes from the FieldSPS St. Louis: SharePoint 2013 upgrades: Notes from the Field
SPS St. Louis: SharePoint 2013 upgrades: Notes from the Field
J.D. Wade
 
Horizons' Event: SharePoint 2013 upgrades-Notes from the Field
Horizons' Event: SharePoint 2013 upgrades-Notes from the FieldHorizons' Event: SharePoint 2013 upgrades-Notes from the Field
Horizons' Event: SharePoint 2013 upgrades-Notes from the Field
J.D. Wade
 
What SQL DBAs need to know about SharePoint
What SQL DBAs need to know about SharePointWhat SQL DBAs need to know about SharePoint
What SQL DBAs need to know about SharePoint
J.D. Wade
 

Mehr von J.D. Wade (18)

Cloud Security Fundamentals - St. Louis O365 Users Group
Cloud Security Fundamentals - St. Louis O365 Users GroupCloud Security Fundamentals - St. Louis O365 Users Group
Cloud Security Fundamentals - St. Louis O365 Users Group
 
What SharePoint Admins need to know about SQL-Cinncinati
What SharePoint Admins need to know about SQL-CinncinatiWhat SharePoint Admins need to know about SQL-Cinncinati
What SharePoint Admins need to know about SQL-Cinncinati
 
Connected at the hip for MS BI: SharePoint and SQL
Connected at the hip for MS BI: SharePoint and SQLConnected at the hip for MS BI: SharePoint and SQL
Connected at the hip for MS BI: SharePoint and SQL
 
What SQL DBA's need to know about SharePoint
What SQL DBA's need to know about SharePointWhat SQL DBA's need to know about SharePoint
What SQL DBA's need to know about SharePoint
 
SharePoint Saturday St. Louis 2014: What SharePoint Admins need to know about...
SharePoint Saturday St. Louis 2014: What SharePoint Admins need to know about...SharePoint Saturday St. Louis 2014: What SharePoint Admins need to know about...
SharePoint Saturday St. Louis 2014: What SharePoint Admins need to know about...
 
SPS St. Louis: SharePoint 2013 upgrades: Notes from the Field
SPS St. Louis: SharePoint 2013 upgrades: Notes from the FieldSPS St. Louis: SharePoint 2013 upgrades: Notes from the Field
SPS St. Louis: SharePoint 2013 upgrades: Notes from the Field
 
SharePoint Saturday Kansas City - SharePoint 2013's Dirty Little Secrets
SharePoint Saturday Kansas City - SharePoint 2013's Dirty Little SecretsSharePoint Saturday Kansas City - SharePoint 2013's Dirty Little Secrets
SharePoint Saturday Kansas City - SharePoint 2013's Dirty Little Secrets
 
SPS Kansas City: What SharePoint Admin need to know about SQL
SPS Kansas City: What SharePoint Admin need to know about SQLSPS Kansas City: What SharePoint Admin need to know about SQL
SPS Kansas City: What SharePoint Admin need to know about SQL
 
Horizons' Event: SharePoint 2013 upgrades-Notes from the Field
Horizons' Event: SharePoint 2013 upgrades-Notes from the FieldHorizons' Event: SharePoint 2013 upgrades-Notes from the Field
Horizons' Event: SharePoint 2013 upgrades-Notes from the Field
 
What SQL DBAs need to know about SharePoint-Kansas City, Sept 2013
What SQL DBAs need to know about SharePoint-Kansas City, Sept 2013What SQL DBAs need to know about SharePoint-Kansas City, Sept 2013
What SQL DBAs need to know about SharePoint-Kansas City, Sept 2013
 
What SQL DBAs need to know about SharePoint-Indianapolis 2013
What SQL DBAs need to know about SharePoint-Indianapolis 2013What SQL DBAs need to know about SharePoint-Indianapolis 2013
What SQL DBAs need to know about SharePoint-Indianapolis 2013
 
What SQL DBA's need to know about SharePoint-St. Louis 2013
What SQL DBA's need to know about SharePoint-St. Louis 2013What SQL DBA's need to know about SharePoint-St. Louis 2013
What SQL DBA's need to know about SharePoint-St. Louis 2013
 
What SQL DBAs need to know about SharePoint
What SQL DBAs need to know about SharePointWhat SQL DBAs need to know about SharePoint
What SQL DBAs need to know about SharePoint
 
SharePoint 2010: Insights into BI
SharePoint 2010: Insights into BISharePoint 2010: Insights into BI
SharePoint 2010: Insights into BI
 
SharePoint 2010 IT Pro Overview
SharePoint 2010 IT Pro OverviewSharePoint 2010 IT Pro Overview
SharePoint 2010 IT Pro Overview
 
SharePoint 2010: Insights into BI
SharePoint 2010: Insights into BISharePoint 2010: Insights into BI
SharePoint 2010: Insights into BI
 
SharePoint 2010: Business Insights
SharePoint 2010: Business InsightsSharePoint 2010: Business Insights
SharePoint 2010: Business Insights
 
Internet And Facebook Safety
Internet And Facebook SafetyInternet And Facebook Safety
Internet And Facebook Safety
 

Kürzlich hochgeladen

Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 

Kürzlich hochgeladen (20)

Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 

Kerberos Survival Guide - St. Louis Day of .Net

  • 1. Kerberos Survival Guide Presented by: JD Wade, SharePoint Consultant, MCITP Mail: jd.wade@hrizns.com Blog: http://wadingthrough.com LinkedIn: JD Wade Twitter: http://twitter.com/JDWade
  • 2. Who is JD Wade? • SharePoint Consultant since 2007 • Certified KnowledgeLake Partner • With Horizons since 2005 • Member of SharePoint 2007 and 2010 TAP • Over 10 years of IT experience • Technical Editor for book SharePoint 2010 Disaster Recovery http://tinyurl.com/SPDRBook2010 • Loves anything related to sound • Probably has one of the driest senses of humor in the room
  • 3.
  • 4. Agenda •Overview •Logon Process •Accessing a Web Site •Troubleshooting Kerberos Demos •Delegation and Demos
  • 5. Kerberos Massachusetts Institute of Technology
  • 6. Details Out of Scope •Renewing tickets •Ticket expiration •Keys •Authenticator •TGT Structure •Service Ticket Structure •Encryption/Decryption •Multiple domains/forests
  • 7.
  • 9.
  • 10. Service Principal Name Service Class Host Name Port HTTP/website:80
  • 11. Service Classes allowed by host alerter clipsrv dnscache http msiserver netman policyagent rpc scardsvr scm time wins appmgmt dcom eventlog ias mcsvc nmagent protectedstorage rpclocator scesrv seclogon trksvr www browser dhcp eventsystem iisad netdde oakley rasman rpcss Schedule snmp trkwks fax cifs dmserver plugplay min netddedsm remoteaccess rsvp spooler ups cisvc dns messenger netlogon replicator samss Tapisrv w3svc
  • 12. Kerberos •Benefits •Delegated Authentication •Interoperability •More Efficient Authentication •Mutual Authentication
  • 14. KDC
  • 15. KDC
  • 17. KDC
  • 19. 401
  • 20. SPN
  • 21.
  • 22. <system.webServer> <security> <authentication> <windowsAuthentication enabled="true" useAppPoolCredentials="true" /> </authentication> </security> </system.webServer>
  • 23.
  • 26.
  • 27. Demo
  • 28. FBA Kerberos
  • 29. Demo
  • 30. References •Ken Schaefer’s Multi-Part Kerberos Blog Posts: http://www.adopenstatic.com/cs/blogs/ken/archive/2006/10 /20/512.aspx •What Is Kerberos Authentication? http://technet.microsoft.com/en- us/library/cc780469%28WS.10%29.aspx •How the Kerberos Version 5 Authentication Protocol Works http://technet.microsoft.com/en- us/library/cc772815%28WS.10%29.aspx •Explained: Windows Authentication in ASP.NET 2.0 http://msdn.microsoft.com/en-us/library/ff647076.aspx
  • 31. References •Kerberos Authentication Tools and Settings http://technet.microsoft.com/en- us/library/cc738673%28WS.10%29.aspx •How To: Use Protocol Transition and Constrained Delegation in ASP.NET 2.0 http://msdn.microsoft.com/en-us/library/ff649317.aspx •Spence Harbar’s Blog http://www.harbar.net
  • 32.
  • 33. Q&A
  • 35. •Kerberos is an open authentication protocol. Kerberos v5 was invented in 1993 at MIT. •Authentication is the process of proving your identity to a remote system. • Your identity is who you are, and authentication is the process of proving that. In many systems your identity is your username, and you use a secret shared between you and the remote system (a password) to prove that your identity. •User password is encrypted as the user key. User key is stored in credentials cache. Once the logon session key is received, the user key is discarded. •Service password is encrypted as the service key. •KDCs are found through a DNS query. Service registered in DNS by DCs.
  • 36. •Showing detail behind what is happening inside of KDC but for day-to-day, use can just remember KDC •Another reason for simplification: encryption upon encryption upon encryption…just remember it is encrypted •This is a Windows-centric Kerberos presentation •Load balanced solutions need service account •All web applications hosted using the same SPN have to be hosted with the same account •Use A records, not CNAME records
  • 37. •Terms •Key Distribution Center (KDC) – In Windows AD, KDC lives on domain controllers (DC), KDCs share a long term key across all DCs. •KDC security account database – In Windows, it is Active Directory •Authorization Service (AS) – part of the KDC •Ticket Granting Service (TGS) – part of the KDC •Ticket Granting Ticket (TGT) - A user's initial ticket from the authentication service, used to request service tickets, and meant only for use by the ticket granting service. Keeps the user from having to enter password each time a ticket is requested.
  • 38. Tickets •Ticket Granting Ticket (TGT) •A user's initial ticket from the authentication service •Used to request service tickets •Meant only for use by the ticket-granting service. •Service ticket for the KDC (service class = krbtgt) •Service Ticket •Enables the ticket-granting service (TGS) to safely transport the requester's credentials to the target server or service.
  • 39. Tools •Knowledge •SetSPN •Windows Security Logs •Windows 2008 ADUC or ADSIEdit •Kerbtray or Klist •Netmon and Fiddler •IIS Logs and IIS7 Failed Request Tracing •LDP •Kerberos Logging •Event Logging and/or Debug Logs
  • 40. •Troubleshooting • Have user logon and logoff if they don’t regularly: TGTs are only renewable for so long and then they expire (7 day default), then password has to be re- entered. • Remember that authenticators contain the current time. Check for time sync issues.
  • 41. •Common Issues • Missing SPN • Duplicate SPN • SPN assigned to wrong service account • Times are out of sync • Client TGT expired (7 days) • IE and non-default ports
  • 42. •Request TGT (Remember there is even more complexity) 1. User (client) logs into workstation entering their password. 2. Client builds an authentication service request containing the user’s username (KPN), the SPN of the TGS, and encrypts the current time using the user’s password as an authenticator. 3. Client sends these three items to the KDC. 4. KDC get user’s password from AD, decrypts time and verifies it is valid. 5. AS generates a logon session key and encrypts with the user’s password. AS generates a service ticket which contains a logon session key and the user’s KPN encrypted with the AS shared key. This is a special service ticket called a Ticket Granting Ticket (TGT).
  • 43. •Request TGT (Remember there is even more complexity) 6. KDC sends both to the client. 7. Client decrypts logon session key using its password and stores the logon session key in cache. The client stores the TGT in cache.
  • 44. •Access Service (Remember there is even more complexity) 1. User (client) encrypts the current time using the logon session key in cache creating an authenticator and sends the authenticator, the user’s KPN, the name of the target service (SPN), and the TGT to the TGS. 2. TGS decrypts the TGT using its shared key to access the logon session key. The logon session key is used to decrypt the authenticator and confirms the time is valid. 3. TGS extracts the user’s KPN from the TGT. TGS generates a service session key and encrypts the service session key using the logon session key. TGS uses server session key to generate service ticket and encrypts it using service’s password. 4. TGS sends service session key and the service ticket to the client.
  • 45. •Access Service (Remember there is even more complexity) 5. Client decrypts service session key using cached logon session key, adds current time (as well as other items), and encrypts with the service session key to create an authenticator. 6. Client sends ticket and authenticator to remote server which runs service. 7. Service decrypts service ticket accessing the server session key and the KPN. Using the service session key, the service decrypts the authenticator and confirms the current time is valid. A Windows access token is generated 8. (Optional) If client requests mutual authentication, service encrypts current time using the service session key creating an authenticator and sends to the client. 9. Clients decrypts authenticator and validates time.
  • 46. Troubleshooting Tools • Patience – Test methodically and • Knowledge - Know your Forests, Domains, Trusts, Functional Levels…get a basic lay of the land. • Always test from a different machine than the web server or domain controller! • SetSPN • Windows Security Logs • Windows 2008 ADUC • Kerbtray • Netmon and Fiddler • IIS Logs and IIS7 Failed Request Tracing • Kerberos Logging • Event Logging and/or Debug Logs
  • 47. Common Issues that break Kerberos • Times are out of sync – authenticators contain current time • Missing SPN • Duplicate SPN • SPN assigned to wrong service account • IIS Providers are incorrect (For IIS 5 or 6, see http://support.microsoft.com/kb/215383) • IIS 7 – remember Kernel mode authentication and check settings • Client TGT expired (7 days expiration – have user logon and logoff, no reboot required) • IE and non-default ports