web-dev-qa-db-fra.com

Quelqu'un peut-il expliquer les noms principaux du service Windows (SPN) sans simplifier à l'excès?

J'ai lutté avec les noms des principes de service à quelques reprises et le explication de Microsoft n'est tout simplement pas suffisant. Je configure une IIS pour travailler sur notre domaine et il semble que certains de mes problèmes sont liés à mon besoin de configurer SPN spécifiques http sur le compte de service Windows qui exécute le pool d'applications hébergeant mon site.

Tout cela m'a fait réaliser que je ne comprends tout simplement pas complètement la relation entre les types de services (MSSQL, http, Host, termsrv, wsman, etc.), l'authentification Kerberos, les comptes d'ordinateurs Active Directory (PCName $), les comptes de services Windows, les SPN et le compte d'utilisateur que j'utilise pour essayer d'accéder à un service.

Quelqu'un peut-il expliquer les noms de principe du service Windows (SPN) sans trop simplifier l'explication?

Points bonus pour une analogie créative qui résonnerait avec un administrateur/développeur système moyennement expérimenté.

30
Chris Magnuson

Un nom principal du service est un concept de Kerberos. C'est un identifiant pour un service particulier offert par un hôte particulier au sein d'un domaine d'authentification. La forme courante des SPN est service class/fqdn @ REALM (par exemple IMAP/[email protected]). Il existe également Noms principaux d'utilisateur qui identifient les utilisateurs, sous la forme de user @ REALM (ou user1/user2 @ REALM, qui identifie une relation porte-parole ). Le service class peut être considéré comme le protocole du service. La liste des classes de service intégrées à Windows sont répertoriées dans cet article de Microsoft .

Chaque SPN doit être enregistré dans le centre de distribution de clés de REALM (KDC) et émis un service . Le setspn.exe utilitaire disponible dans \Support\Tools dossier sur le support d'installation de Windows ou en téléchargement du Kit de ressources, manipule les attributions de SPN à l'ordinateur ou à d'autres comptes dans l'AD.

Lorsqu'un utilisateur accède à un service qui utilise Kerberos pour l'authentification (un service "Kerberized"), il présente un ticket chiffré obtenu à partir de KDC (dans un environnement Windows un contrôleur de domaine Active Directory). Le ticket est crypté avec la clé de service . En déchiffrant le ticket, le service prouve qu'il possède la clé pour le SPN donné. Les services exécutés sur les hôtes Windows utilisent la clé associée au compte d'ordinateur AD, mais pour être conformes au protocole Kerberos, les SPN doivent être ajoutés à Active Directory pour chaque service kerberized exécuté sur l'hôte, à l'exception des SPN intégrés mentionnés ci-dessus. Dans Active Directory, les SPN sont stockés dans l'attribut servicePrincipalName de l'objet ordinateur de l'hôte.

Pour plus d'informations, voir: article Microsoft TechNet sur SPN , FAQ Kerberos de Ken Hornstein

34
yrk

la réponse de yarek était excellente, et je l'ai votée, mais je voulais également vous donner un peu plus d'informations spécifiques à Windows sur le sujet, ou plutôt du point de vue de quelqu'un qui est plus familier avec AD que Kerberos en général, juste car c'est un sujet qui m'intéresse beaucoup.

J'avais l'impression que ce type avait fait un excellent travail pour l'expliquer, et je vous recommande de lire son article, mais voici un paragraphe particulièrement concis à droite de votre question:

"Les noms principaux de service définissent les services exécutés dans le contexte de sécurité des comptes. Par exemple, certains des services qu'un ordinateur peut avoir sont le serveur de fichiers/CIFS (Common Internet File System), s'il s'agit d'un contrôleur de domaine, il va avoir un LDAP SPN et Active Directory Replication SPN et FRS SPN. Les noms principaux de service peuvent être définis sur les comptes d'utilisateur lorsqu'un service ou une application s'exécute dans ce contexte de sécurité des utilisateurs. En général, ces types de comptes d'utilisateur sont appelés "comptes de service". il est très important que vous compreniez que les noms principaux du service DOIVENT être uniques dans toute la forêt Active Directory. "

L'article complet est ici: https://docs.Microsoft.com/en-us/archive/blogs/askds/kerberos-for-the-busy-admin

11
Ryan Ries