83
10 Juillet 2012 10 Juillet 2012 Configurer Kerberos et SharePoint 2010 Nicolas Georgeault Architecte SharePoint, MVP SharePoint, Public Consulting Group Courriel: [email protected] Blog: http://ngeorgeault.club-sharepoint.fr Twitter: www.twitter.com/ngeorgeault

Rencontre mensuelle Montreal - juillet 2012 - kerberos

Embed Size (px)

DESCRIPTION

Presentation sur la mise en place du protocol 'authentification Kerberos dans le contexte SharePoint avec les services Externes: SSAS, SSRS, PowerPivot, Excel Services. Presntation en amelioration permanente, vos ameliorations sont les bienvenues ;)

Citation preview

Page 1: Rencontre mensuelle Montreal - juillet 2012 - kerberos

10 Juillet 201210 Juillet 2012

Configurer Kerberos et SharePoint 2010

Nicolas GeorgeaultArchitecte SharePoint, MVP SharePoint, Public Consulting Group

Courriel: [email protected]: http://ngeorgeault.club-sharepoint.frTwitter: www.twitter.com/ngeorgeault

Page 2: Rencontre mensuelle Montreal - juillet 2012 - kerberos

Agenda

Qu’est-ce que Kerberos, et pourquoi en avons-nous besoin?

Les SPNs requis pour SharePoint 2010 Configurer le service C2WTS Démos

Scenario 1 – Services Excel vers les Services d’Analyses Scenario 2 – Applications Web (Afficheur RSS) Scenario 3 – Bases de données SQL Server Scenario 4 – Services de Rapports SQL Server

Trucs, astuces et Liens utiles Questions

Page 3: Rencontre mensuelle Montreal - juillet 2012 - kerberos

References…

Martin Hatch - SharePoint User Group UK (SUGUK) http://www.martinhatch.com/

De longues journées et nuits a comprendre et a mettre en place…

Page 4: Rencontre mensuelle Montreal - juillet 2012 - kerberos

Demo Environment

Domaine AD: “skopus.local”

wfe1.skopus.localhttp://portail/

app1.skopus.localhttp://portail-rss/Services Excel

Bases de donnéesSQL Server (DBs SP)

Administration Centrale

olap1.skopus.localServices d’ Analyses SQL

Web Server App Server Data Server

Page 5: Rencontre mensuelle Montreal - juillet 2012 - kerberos

En general…

DéveloppentProduction BAM!

“Login failed for user 'NT AUTHORITY\ANONYMOUS LOGON'"

Alors vous deployez en production…Alors vous deployez en production…

Mais alors que ce passe-t-il?Mais alors que ce passe-t-il?

CHAMPAGNE!!Tous fonctionne bien… C’est facile ;)

Page 6: Rencontre mensuelle Montreal - juillet 2012 - kerberos

Le fameux problème de “Double-Hop” Le “double hop” fait référence a la situation ou un service

(Service A) doit utiliser l’identite de l’utilisateur (John) pour être identifier auprès d’un autre service comme cet utilisateur. C’est ce qu’on appelle la “Délégation”

Le défis c’est que l’authentification par défaut de Windows (NTLM) ne supporte pas la délégation. Voila pourquoi le second service reçoit une demande de connexion NULL (connexion anonyme)

John Client

bob

Service A Service B

bob

Delegation

Page 7: Rencontre mensuelle Montreal - juillet 2012 - kerberos

Qu’est-ce que Kerberos ?

Protocole d’Authentification Le plus sécurisé des Protocoles d’Authentification Windows Tellement plus efficace que NTLM Vous permets de “déléguer l’authentification” (ex: multi-hop)

Si vous être authentifie par une source de données “au nom de l’utilisateur actuel” Alors vous n’y couperez pas… Kerberos est indispensable!

SQL Server n’est pas “Claims aware” (en version pré SQL 2011) Services de Rapports SQL Server (SSRS) Services d’Analyses SQL Server (SSAS)

Page 8: Rencontre mensuelle Montreal - juillet 2012 - kerberos

Kerberos Authentication Example

KDC

Client

Serveur

KRB_AS_REQ

KRB_AS_REP

11

22

HTTP GET 33

44ACCESS DENIED

John

skopus.local

svcPortalSPN: HTTP/portail

svcPortal

KRB_AP_REP

KRB_AP_REQ 77

88

http://portailsvcPortal

KRB_TGS_REQ

KRB_TGS_REP

55

66

svcPortal

SPNSPN

Page 9: Rencontre mensuelle Montreal - juillet 2012 - kerberos

Prérequis Kerberos

Avoir le temps… Etre super copain avec l’administrateur du domaine. Un Service de synchronisation du temps! Une ferme SharePoint 2010 Des comptes de services correctement crées (Dépend de

vos besoins) Un services DNS opérationnel (un fichier Host peut

dépanner) Configuration d’Active Directory (SPN, Délégation) Configuration de SharePoint Configuration IIS (Kernel Mode) Port de communication non bloque (par défaut TCP/UDP 88)

Page 10: Rencontre mensuelle Montreal - juillet 2012 - kerberos

Ok… Mais c’est quoi un SPN?

“SPN pour Service Principal Name est le nom par lequel un client identifie de manière unique une instance d'un service.”

Plusieurs instances > Un SPN pour chaque instance. Plusieurs noms > Un SPN pour chaque nom si besoin

d’authentification.

Une instance de service peut enregistrer un SPN pour chaque nom ou l'alias de l'hôte.

http://support.microsoft.com/kb/929650/fr

Page 11: Rencontre mensuelle Montreal - juillet 2012 - kerberos

DNS

Nom D’Hote (A Record) seulement, PAS D’ALIAS (CNAME) Nom D’Hote (A Record) seulement, PAS D’ALIAS (CNAME) Nom D’Hote (A Record) seulement, PAS D’ALIAS (CNAME) Nom D’Hote (A Record) seulement, PAS D’ALIAS (CNAME) Nom D’Hote (A Record) seulement, PAS D’ALIAS (CNAME) Nom D’Hote (A Record) seulement, PAS D’ALIAS (CNAME) Nom D’Hote (A Record) seulement, PAS D’ALIAS (CNAME)

Nom D’Hote (A Record) seulement, PAS D’ALIAS (CNAME) !!!

On vous l’a dit?

Page 12: Rencontre mensuelle Montreal - juillet 2012 - kerberos

SPNs

Active Directory utilise les “Service Principal Names” (SPNs) pour identifier les objets dans une implémentation Kerberos. Un SPN consiste en:

<un type de service> / <un nom de domaine> : <un port>

Vous créez les SPNs en utilisant la commande setspn.exe:setspn.exe –S <SPN> <domain>\<account>

Il faut être administrateur du domaine pour utiliser la commande

Lister tous les SPNs pour un comptesetspn.exe –L <domain>\<account>

Trouver tous les SPNs dupliquessetspn.exe –X

Page 13: Rencontre mensuelle Montreal - juillet 2012 - kerberos

Déléguer ses supers pouvoirs!

Vous avez déjà probablement essaye de déléguer ce pouvoir…

Avec un Control total ce sera parfait ;)

Failed!!!

La délégation n’est pas une permission… Mais un droit d’utilisateur

ntrights -u DOMAIN\useraccount +r SeEnableDelegationPrivilege

Page 14: Rencontre mensuelle Montreal - juillet 2012 - kerberos

Web Applications Les Applications Web utilisent le protocole “HTTP”. Le numéro de Port est EGALEMENT requis si vous n’utilisez pas un numéro de port non-

standardsNote, Le SPN reste HTTP même pour les applications en SSL!

Vous devez déclarer le nom de domaine ET le FQDN de l’URL pour cette application web.

Ex: http://portail ou https://portail dans le domaine skopus.localHTTP/portailHTTP/portail.skopus.local

Ex: http://nonstandardport:8080/ dans le domaine skopus.localHTTP/portail:8080HTTP/portail.skopus.local:8080HTTP/portailHTTP/portail.skopus.local

A appliquer au COMPTE DE SERVICE du POOL D’APPLICATION de cette Application Web.

Page 15: Rencontre mensuelle Montreal - juillet 2012 - kerberos

Bases de données SQL Les Bases de données SQL utilisent le protocole “MSSQLSvc” Vous devez déclarer le FQDN du serveur SQL (Indépendamment du fait que vous

utilisiez les alias SQL!)

Création automatique du SPN Si le Server SQL fonctionne avec les comptes Local System ou un compte Admin du domaine,

il créera automatiquement le SPN quand l’instance est démarrée. Ok… Vous devriez vraiment faire cela manuellement!

Mes serveurs SQL sont “app1.skopus.local”

Les SPNs devront être: MSSQLSvc/app1.skopus.local MSSQLSvc/app1.skopus.local:1433 (Bonne pratique SQL… Changer le port par défaut)

A appliquer au COMPTE DE SERVICE de l’instance de la base de données!

Page 16: Rencontre mensuelle Montreal - juillet 2012 - kerberos

Les Services d’Analyses SQL Server

Les services SSAS utilisent le protocole “MSOLAPSvc.3”

Vous devez déclarer le nom de domaine ET le FQDN de votre server SSAS sans aucun numéro de port!

Mes services SSAS sont installes sur “olap1.skopus.local”

Les SPNs dont j’ai besoin sont: MSOLAPSvc.3/olap1 MSOLAPSvc.3/olap1.skopus.local

A appliquer au COMPTE DE SERVICE des Services d’Analyses SQL de l’instance SSAS!

Page 17: Rencontre mensuelle Montreal - juillet 2012 - kerberos

L’Authentification dans SharePoint 2010

Clients Ferme SharePoint Systeme externe

Classic (Windows Auth)

Claims

Claims

Classic (Windows Auth)

Claims

Authentification Entrante

Authentification Intra/Inter Ferme

Authentification Sortante

Page 18: Rencontre mensuelle Montreal - juillet 2012 - kerberos

Normalisation de l’identite

NT TokenWindows Identity

ASP.Net (FBA)

SAL, LDAP, Custom

SAML TokenSAML TokenClaims Based Claims Based

IdentityIdentity

SPUser

NT TokenWindows Identity

SAML1.1+ADFS, etc.

ClassiqueClassique Claims/RevendicationsClaims/Revendications

Page 19: Rencontre mensuelle Montreal - juillet 2012 - kerberos

Normalisation des revendications vers l’identite Windows

NTLM CLAIMS

John

Kerberos

WFE APP SQL

Page 20: Rencontre mensuelle Montreal - juillet 2012 - kerberos

Le service C2WTS

C2WTS: Claims to Windows Token Service traduit les “Informations d’autorisation basées sur les revendications” interne a SharePoint en Informations d’autorisation Windows.

C2WTS est un Service Windows Fonctionne par défaut avec le compte “Local System” Bonne pratique: Utiliser un Compte de Domaine

Vous devrez créer un SPN fictif pour le C2WTS. Nous en auront juste besoin pour la Délégation Contrainte.Nous créons le SPN “SP/C2WTS”

A appliquer au COMPTE DE SERVICE du service Windows C2WTS

Page 21: Rencontre mensuelle Montreal - juillet 2012 - kerberos

Le service C2WTS

Les applications de service suivantes exigent la traduction des informations d’identification fondées sur les revendications vers les informations d'identification Windows. Ce processus de traduction utilise le Claim To Windows Token Service (C2WTS):

Excel Services PerformancePoint Services InfoPath Forms Services Visio Services

TechNet - http://technet.microsoft.com/en-us/library/ff607695.aspx

Page 22: Rencontre mensuelle Montreal - juillet 2012 - kerberos

Example de service C2WTS

NTLM SAML

WFE APP SQL

Excel Services

Excel Services

SA

ML

C2WTSC2WTS

SA

ML

Kerb

Kerb

Kerberos

S4U LogonS4U Logon

AD

John

Page 23: Rencontre mensuelle Montreal - juillet 2012 - kerberos

Configurer C2WTS C2WTS requière le service “Cryptographic Service” veillez vous assurer de mettre en place la dépendance!

Le service C2WTS essayera de vérifier les certificats de sécurité Microsoft a son démarrage; cela nécessite une connexion Internet et les connexions par Proxy ne sont pas supportées!

Contournement1 - .Net 4 Install .Net Framework 4 (which supports Proxy connections) Some reported issues with SharePoint PowerShell and .Net 4

Contournement2 – Desactiver le controle de CRL (Liste de Revocation des Certificats) HKEY_USERS\.DEFAULT\SOFTWARE\Microsoft\Windows\CurrentVersion\WinTrust\Trust Providers\Software

Publishing Value = State Radix= decimal Changer la valeur a '146944' pour desactiver le controle de CRL

Contournement3 – Fichier HOSTS Ajouter une entrée dans le fichier host “crl.microsoft.com” vers 127.0.0.1

Page 24: Rencontre mensuelle Montreal - juillet 2012 - kerberos

Configurer C2WTS

Le compte de service C2WTS doit être administrateur local sur le server sur lequel il est en fonction.

Ce compte doit en plus avoir les permissions suivantes: Act as part of the operating system Impersonate a client after authentication Log on as a service

En utilisant la gestion des règles de sécurité de la machine locale (secpol.msc)

Page 25: Rencontre mensuelle Montreal - juillet 2012 - kerberos

Scenario 1: Services Excel vers les Services d’Analyses

Requête Web Interne(Claims)

Requête de donnée(Kerberos)

C2WTS

WFE Services Excel Serviced’AnalysesSQL Server

SP/c2wtsSP/excel

Delegation Contrainte

MSOLAPSvc.3/olap1.skopus.local

STS

Page 26: Rencontre mensuelle Montreal - juillet 2012 - kerberos

Services Excel et C2WTS Dans notre démo nous avons les paramètres suivant:

Le compte de service des Services Excel: “SKOPUS\SkpSvcExcel” Le compte de service de C2WTS: “SKOPUS\SkpSvcC2WTS” Les services SSAS fonctionnent sur le serveur “olap1.skopus.local” Le compte de service des services SSAS est “SKOPUS\SkpSvcSQLAnalysis”

Donc il nous faut configurer les SPNs suivant: setspn.exe –S SP/excel SKOPUS\SkpSvcExcel setspn.exe –S SP/c2wts SKOPUS\SkpSvcC2WTS setspn.exe –S MSOLAPSvc.3/olap1.skopus.local SKOPUS\SkpSvcSQLAnalysis setspn.exe –S MSOLAPSvc.3/olap1 SKOPUS\SkpSvcSQLAnalysis

La Délégation Contrainte est paramétrée par Active Directory Users & Computers

Page 27: Rencontre mensuelle Montreal - juillet 2012 - kerberos

DEMO

Services Excel vers les Services d’Analyses

Configurer Kerberos et SharePoint 2010

Page 28: Rencontre mensuelle Montreal - juillet 2012 - kerberos

Conclusion: Services Excel vers les Services d’Analyses Les SPNs NE sont pas requis sur l’Application Web C2WTS fait tout le “Sale” boulot ;)

Tant que vous utilisez des comptes du domaine, vous n’aurez a configurer les SPNs et la Délégation Contrainte qu’une seule fois.. Peut importe le nombre de serveurs Excel vous installerez!

PerformancePoint Services Fonctionne exactement de la même façon

(et si vous avez déjà configure les Services Excel alors le paramétrage de C2WTS a déjà été fait!)

Page 29: Rencontre mensuelle Montreal - juillet 2012 - kerberos

Scenario 2: Le Lecteur de flux RSS

http://portail/ Requete Web(Kerberos)

WFE 1

LecteurRSS

http://portail-rss/ Requette Lecteur RSS(Kerberos)

Delegation Constrainte

HTTP/portail HTTP/portail-rss

APP 1

Page 30: Rencontre mensuelle Montreal - juillet 2012 - kerberos

Configurer l’Application Web Administration Centrale – Changer le fournisseur d’authentification

pour Kerberos Vous devez créer les SPNs pour votre application Web Dans notre exemple, vous avez 2 URLs d’Application Web

http://portail et http://portail-rss/

Le domaine AD est skopus.local Le compte du pool d’application est SKOPUS\SkpAppPool Il vous faut donc configurer les SPNs suivants:

setspn.exe –S HTTP/portail SKOPUS\SkpAppPool setspn.exe –S HTTP/portail.skopus.local SKOPUS\SkpAppPool setspn.exe –S HTTP/portail-rss SKOPUS\SkpAppPool setspn.exe –S HTTP/portail-rss.skopus.local SKOPUS\SkpAppPool Délégation Contrainte: portail portail-rss

Page 31: Rencontre mensuelle Montreal - juillet 2012 - kerberos

DEMO

Application Web

Configurer Kerberos et SharePoint 2010

Page 32: Rencontre mensuelle Montreal - juillet 2012 - kerberos

Scenario 3: Serveur SQL de données

Pas réellement “requis” mais recommande nous avons dons Kerberos de disponible dans l’installation (Plus efficace aussi!)

SQL fonctionne sur le serveur app1.skopus.local Le compte de service SQL est “SKOPUS\SkpSqlDbSvc” Le port de la base de donnees SQL est 60433

Il nous faut donc configurer les SPNs suivants:

setspn.exe –S MSSQLSvc/app1.skopus.local:60433 SKOPUS\SkpSqlDbSvc setspn.exe –S MSSQLSvc/app1.skopus.local SKOPUS\SkpSqlDbSvc

Page 33: Rencontre mensuelle Montreal - juillet 2012 - kerberos

DEMO

Le Serveur SQL de donnees

Configurer Kerberos et SharePoint 2010

Page 34: Rencontre mensuelle Montreal - juillet 2012 - kerberos

Conclusion: Le Serveur SQL de données Rapide et facile (Pas de redémarrages nécessaires) Requête SQL pour vérifier que les connexions fonctionnent:

Select s.session_id, s.login_name, s.host_name, c.auth_scheme from sys.dm_exec_connections c inner join sys.dm_exec_sessions s on c.session_id = s.session_idwhere s.host_name = ‘WFE1’

Le journal d’evenements sur le Serveur Web Evènement de connexion (4624) Le Package d’authentification devrait être “Kerberos”

Page 35: Rencontre mensuelle Montreal - juillet 2012 - kerberos

Scenario 4: SQL Server Reporting Services

Web Request(Kerberos)

Web Service(Kerberos)

Data Request(Kerberos)

WFE SQL ServerReportingServices

SQL Server AnalysisServices

HTTP/app1

Constrained Delegation

MSOLAPSvc.3/olap1.sp2010.local

HTTP/kerberos

Page 36: Rencontre mensuelle Montreal - juillet 2012 - kerberos

Scenario 4: Services de Rapports

Les Services de Rapport SQL Serveur (SSRS) fonctionne depuis un Service Web sur la machine Reporting Services, c’est une connexion HTTP standard

La web part de l’affichage de rapport (sur le Frontal Web) est le lien de communication avec SSRS

Ainsi nous aurons besoin de: Un SPN pour l’application Web (Ou s’execute la web part de

l’afficheur de rapports) Un SPN pour notre URL du service Web de SSRS Une délégation depuis l’Application Web Le service Web SSRS

(2ieme hop) Un SPN pour le service SSAS Une délégation depuis le service Web SSRS SSAS (3ieme hop)

Page 37: Rencontre mensuelle Montreal - juillet 2012 - kerberos

Scenario 4: Services de Rapports

Nous avons deja configure les SPNs suivants (dans les etapes 1 et 2): L’Application Web Les Services d’Analyses SQL Server (SSAS)

Donc il nous manque juste les SPNs pour les services de rapport

setspn.exe –S HTTP/app1.skopus.local SP2010\SkpSqlRpSvc setspn.exe –S HTTP/app1 SP2010\SkpSqlRpSvc

La Délégation Contrainte est, cette fois encore, paramétrée par Active Directory Users & Computers

Page 38: Rencontre mensuelle Montreal - juillet 2012 - kerberos

DEMO

SSRS SSAS

Configurer Kerberos et SharePoint 2010

Page 39: Rencontre mensuelle Montreal - juillet 2012 - kerberos

DésoléDésoléMais ca prend du temps!Mais ca prend du temps!

Page 40: Rencontre mensuelle Montreal - juillet 2012 - kerberos

Conclusion: SSRS SSAS

Le Service Web SSRS est une Application Web Les SPNs sont requis pour les Services Web SSRS Comme SSRS ne support pas le Claims en 2008 R2, Kerberos

fera toujours le hop depuis le Frontal Web! Mais ca change ;) Vive SQL 2012…

Si les Services SSRS sont montes en grappe, il faut alors utiliser l’adresse du cluster.

Le journal d’evenements Windows et le Profiler SQL sont des moyens simples pour voir si cela fonctionne

Le même journal d’evenements est utilise pour l’Application Web Les mêmes vérifications faites pour les services Excel avec le

Profiler SQL

Page 41: Rencontre mensuelle Montreal - juillet 2012 - kerberos

Trucs et astuces… C2WTS peut être compliquer a paramétrer. Le service doit fonctionner sur le bon

serveur…

Les applications web utilisant une authentification basée sur formulaires ou sur SAML personnalise NE PEUVENT PAS UTILISER C2WTS

Les Délégations Contraintes Kerberos ne peuvent pas traverser les frontières du domaine

Les Applications de Service Applications et les sources de données externes doivent donc être dans le même domaine

Le Serveur Windows 2008 contient un bug connu Kerberos AES bug Limitée toutefois au fait de fonctionner avec 2 machines qui seraient équipées de Windows

Server 2008 ou Windows Vista (ca ne serait quand même pas de chance :P) Un Hotfix Microsoft est disponible; http://support.microsoft.com/kb/969083 Note – Ce bug n’existe pas avec Windows Server 2008 R2!

Les SPNs sont vraiment très faciles a casser... Toutes erreur de type peut être fatale!

Page 42: Rencontre mensuelle Montreal - juillet 2012 - kerberos

Trucs et astuces…

PowerPivot Pensez a paramétrer le fichier web.config caché dans

:“C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\ISAPI\PowerPivot”

Reporting Services Pensez a paramétrer le fichier de connexion

rsreportserver.config caché dans le répertoire du service SSRS

“ C:\Program Files\Microsoft SQL Server\MSRS10_50.MSSQLSERVER\Reporting Services\ReportServer ”

Page 43: Rencontre mensuelle Montreal - juillet 2012 - kerberos

Lancez vous.. PREVOYEZ PREVOYEZ PREVOYEZ Plus de 90% des mauvaises implémentations proviennent d’erreurs de

configuration des SPNs

Kerberos est un prérequis pour certains scenarii de business intelligence

Pas besoin d’exorciste, ni magie noire… Vous pouvez vérifier le fonctionnement avec des outils standards

Journaux d’evenements Windows (Sur les Serveurs Web) SQL Profiler (Sur les Bases de Données) Fiddler (Sur le Client)

Il faut maitriser l’AD… Donc prévoyez de vous faire de nouveaux amis chez les Administrateurs de votre domaine.

La délégation est un prérequis si vous vous engages sur le service

Page 44: Rencontre mensuelle Montreal - juillet 2012 - kerberos

Liens Utiles…

TechNet – What is Kerberos Authentication?

http://technet.microsoft.com/en-us/library/cc780469(WS.10).aspx

Microsoft Guide – Configuring Kerberos Authentication for Microsoft SharePoint 2010 products

http://www.microsoft.com/download/en/details.aspx?id=23176

TechNet – Plan for Kerberos Authentication (SharePoint 2010)

http://technet.microsoft.com/en-us/library/ee806870.aspx

Page 45: Rencontre mensuelle Montreal - juillet 2012 - kerberos

Questions...

Page 46: Rencontre mensuelle Montreal - juillet 2012 - kerberos

A mon tour ;)

Page 47: Rencontre mensuelle Montreal - juillet 2012 - kerberos

Question 1

Une nouvelle Application web vient d’etre ajoutée a SharePoint avec le host header REPORTS. Le site SharePoint se trouve sur le serveur frontal SP2010-WFE-01.skopus.com. L’application devra etre accessible par l’adresse https://reports.skopus.com. Quelle(s) ligne(s) de commande dois-je utiliser pour ajouter les Service Principal Names corrects?

setspn.exe –s HTTP/reports SP2010-WFE-01setspn.exe –s HTTP/reports.skopus.com SP2010-WFE-01

Page 48: Rencontre mensuelle Montreal - juillet 2012 - kerberos

Question 2

Que dois-je verifier dans mon DNS pour assurer le bon fonctionnement de Kerberos?

Nom d’Hote (A Record) seulementEt surtout…Surtout pas d’Alias (CNAME)

Page 49: Rencontre mensuelle Montreal - juillet 2012 - kerberos

Annexes

Problèmes Kerberos connus

Configurer Kerberos et SharePoint 2010

Page 50: Rencontre mensuelle Montreal - juillet 2012 - kerberos

Issue: Clients (.NET, IE) create malformed SPNs for HTTP services running on non-default ports by forming the SPN without port number.

http://support.microsoft.com/kb/908209/en-us http://technet.microsoft.com/en-us/library/

cc263449.aspxExample:

If the web application is running at http://intranet.contoso.com:1234, the client will create a SPN for http/intranet.contoso.com instead of http/intranet.contoso.com:1234

HTTP and non-default ports

Page 51: Rencontre mensuelle Montreal - juillet 2012 - kerberos

HTTP and non-default ports

To workaround this issue, register SPNs with and without port number. Example:

Actual URL: http://intranet.contoso.com:12345

SPNs:

http/intranet

http/intranet.contso.com

http/intranet:12345

http/intranet.contoso.com:12345

Option 2: To resolve this issue, you'll need to set the FEATURE_INCLUDE_PORT_IN_SPN_KB908209 registry value (as per http://support.microsoft.com/kb/908209).

Page 52: Rencontre mensuelle Montreal - juillet 2012 - kerberos

SPN Uses Host Name instead of Alias

Issue: Clients (.NET, IE) create malformed SPNs by using the host name instead of the alias name of the target service

http://support.microsoft.com/kb/911149/en-us http://support.microsoft.com/kb/938305/en-us

Example: A Record: wfe01.skopus.local CNAME: intranet.skopus.local (aliases wfe01.skopus.local) If the client attempts to authenticate with http://intranet.skopus.local

it creates a malformed SPN and requests a Kerberos ticket for http/wfe01.skopus.local instead of http/intranet.skopus.local

Page 53: Rencontre mensuelle Montreal - juillet 2012 - kerberos

SPN Uses Host Name instead of Alias

To workaround this issue, configure Kerberos enabled services using DNS A records instead of CNAME aliases.

Use the FEATURE_USE_CNAME_FOR_SPN_KB911149 registry key documented in this article: http://support.microsoft.com/kb/911149.

The hotfix mentioned in KB article will correct this issue for Internet Explorer but will not correct the issue for the .NET framework

Page 54: Rencontre mensuelle Montreal - juillet 2012 - kerberos

Kerberos will fail if ticket is too large

In some environments, users may be members of many Active Directory groups, which can increase the size of their Kerberos tickets. If the tickets grow too large, Kerberos authentication can fail.

For more information about how to adjust the max token size see:

New resolution for problems with Kerberos authentication when users belong to many groups

Note: When adjusting max token size, be aware that if you configure the max token size beyond the maximum value for the registry setting, you may see Kerberos authentication errors. It is recommended to not exceed 65535 decimal, FFFF hexadecimal, for max token size.

Page 55: Rencontre mensuelle Montreal - juillet 2012 - kerberos

Kerberos Web App Setup

Appendix

Page 56: Rencontre mensuelle Montreal - juillet 2012 - kerberos

Web Application Settings

Page 57: Rencontre mensuelle Montreal - juillet 2012 - kerberos

AuthN Provider

Page 58: Rencontre mensuelle Montreal - juillet 2012 - kerberos

Friendly Warning, More to Do…

Page 59: Rencontre mensuelle Montreal - juillet 2012 - kerberos

IIS Authentication Double Check

Page 60: Rencontre mensuelle Montreal - juillet 2012 - kerberos

Ensure Windows Auth is Enabled

Page 61: Rencontre mensuelle Montreal - juillet 2012 - kerberos

Make Sure not to Use Kernel Mode Auth

Page 62: Rencontre mensuelle Montreal - juillet 2012 - kerberos

Ensure the Negotiate Provider is Enabled This is done by SharePoint via the Web

App Settings

Page 63: Rencontre mensuelle Montreal - juillet 2012 - kerberos

Don’t use Aliases in DNS (CNAME)

Page 64: Rencontre mensuelle Montreal - juillet 2012 - kerberos

Register the SPNs

Page 65: Rencontre mensuelle Montreal - juillet 2012 - kerberos

Ways to Verify SPNs (Ensure no Duplicates)

Page 66: Rencontre mensuelle Montreal - juillet 2012 - kerberos

You can also check for SPNs in Active Directory

Page 67: Rencontre mensuelle Montreal - juillet 2012 - kerberos

Purge your tickets before testing the web app

Page 68: Rencontre mensuelle Montreal - juillet 2012 - kerberos

After Making a Request, Check the Ticket Cache

Page 69: Rencontre mensuelle Montreal - juillet 2012 - kerberos

Netmon Capture of the AuthN Sequence

Page 70: Rencontre mensuelle Montreal - juillet 2012 - kerberos

Excel Services

Appendix

Page 71: Rencontre mensuelle Montreal - juillet 2012 - kerberos

Check Data Source to Ensure Kerberos is Enabled

Page 72: Rencontre mensuelle Montreal - juillet 2012 - kerberos

Register SPNs for Data Source (SQL Example)

Page 73: Rencontre mensuelle Montreal - juillet 2012 - kerberos

Start the Claims to Windows Token Service

Page 74: Rencontre mensuelle Montreal - juillet 2012 - kerberos

Register Dummy SPN to get to Delegation Tab

Page 75: Rencontre mensuelle Montreal - juillet 2012 - kerberos

Configure Constrained Delegation to Data Source

Page 76: Rencontre mensuelle Montreal - juillet 2012 - kerberos

Dump of claims on Windows Claims Site You must use Windows Claims for Excel

Services with C2WTS to work

Page 77: Rencontre mensuelle Montreal - juillet 2012 - kerberos

Test Connection Refresh

Page 78: Rencontre mensuelle Montreal - juillet 2012 - kerberos

BCS Screen Shots

Appendix

Page 79: Rencontre mensuelle Montreal - juillet 2012 - kerberos

Configure SPNs on the Web App Service Account

Page 80: Rencontre mensuelle Montreal - juillet 2012 - kerberos

Configure Delegation from Web App to Data Source

Page 81: Rencontre mensuelle Montreal - juillet 2012 - kerberos

Configure ECT Connection

Page 82: Rencontre mensuelle Montreal - juillet 2012 - kerberos

Use Per-User (User’s Identity) AuthN

Page 83: Rencontre mensuelle Montreal - juillet 2012 - kerberos