1 votes

Authentification Windows KRB5KRB_AP_ERR_MODIFIED

Permettez-moi de commencer en disant que je suis sur cette question depuis environ une semaine et demie maintenant et je ne peux pas la résoudre. Je pense que je suis proche, mais à chaque fois que j'ai pensé l'être jusqu'à présent, j'avais tort. J'ai regardé chaque post de forum auquel je peux penser et rien n'a fonctionné.

Je tente simplement de faire en sorte que mon application web et son service respectif utilisent l'authentification Windows afin que, dans le code, je puisse récupérer les informations d'identification de l'utilisateur actuellement connecté, sans les solliciter, et les transmettre à ma procédure stockée de base de données via mon service.

Ça a l'air assez facile, non?

FAUX!

Avec WireShark en cours d'exécution, je reçois toujours une réponse de KRB_ERROR (30) avec plus de détails:

error_code: KRB5KRB_AP_ERR_MODIFIED (41)

Je vais essayer cela demain, mais je pense poster maintenant au cas où quelqu'un aurait une idée de pourquoi je continue à obtenir l'erreur KRB5KRB_AP_ERR_MODIFIED en fonction de ma configuration actuelle que je vais énumérer ci-dessous.


Voici ma configuration actuelle:

Windows Server 2008 R2 Standart SP1 64 bits 4,00 Go de RAM.

Pour les besoins de ce post, nous appellerons ce serveur DALDEP01.TEST.LOCAL, et j'ai ce qui suit sur celui-ci:

  • MS SQL Server 2008 R2 qui a une base de données que nous appellerons Deploy.

    1. Un seul compte utilisateur a accès à la base de données Deploy qui est TEST\DeploySvc.

    2. Ce compte utilisateur est un lecteur de données / écrivain de données et s'est vu accorder EXEC.

  • IIS 7.5 qui héberge 2 sites Web:

    1. Deploy.Service qui effectue des opérations CRUD contre la base de données Deploy.

    2. Deploy.Web qui héberge une application Silverlight 4 qui appelle le Deploy.Service.

    3. Les deux sites sont configurés de manière identique (parce que je ne sais pas comment le faire autrement):

      • Ils utilisent DeployAppPool qui s'exécute sous le compte utilisateur personnalisé TEST\DeploySvc.

      • L'authentification anonyme est désactivée.

      • L'authentification Windows est activée

        1. La protection étendue est Accept.

        2. L'authentification en mode noyau est cochée.

        3. Les fournisseurs sont simplement Negotiate, (car j'ai supprimé NTLM car je veux uniquement Kerberos).

  • SPNs sont configurés comme suit:

          C:\> setspn -l deploysvc

          Registered ServicePrincipalNames for CN=DeploySvc,OU=Services Accounts,DC=test,DC=local:
                  HTTP/deploy.test.local
                  HTTP/deploy

1voto

ChadSikorra Points 111

Il est possible qu'un SPN en double soit à l'origine de ce problème...

setspn -X

...vous montrera s'il y a des doublons dans votre domaine et vous devrez en supprimer un. Ou vous pourriez utiliser l'Utilitaire de requête SPN. Je suppose également que vous avez déjà modifié l'onglet de délégation dans AD pour le compte de service afin qu'il soit approuvé pour la délégation?

0 votes

Il n'y a pas de doublons. En ce qui concerne la délégation et la confiance, suis-je censé faire confiance au compte utilisateur sous lequel s'exécute le pool d'applications ou suis-je censé faire confiance aux comptes utilisateurs qui auront accès au site web ou aux deux ou à aucun ?

0 votes

Le compte de service exécutant le pool d'applications doit être celui sur lequel la délégation est autorisée. De plus, après avoir relu votre question initiale, il m'est apparu que vous aurez besoin de SPN configurés sur le serveur de base de données ou sur le compte de service exécutant SQL. L'avez-vous déjà fait ?

0 votes

Le compte du pool d'applications est celui qui a accès à SQL

1voto

Justin Miller Points 21

Récemment, j'ai eu le même problème.

Il s'est avéré être lié à l'identificateur de service principal (SPN). L'identificateur de service principal avait été associé au compte machine du serveur SQL au lieu d'être associé au compte de service qui exécutait SQL Server.

Nous avons supprimé et recréé l'identificateur de service principal - associé au compte de service exécutant SQL Server 2012R2 sur l'hôte et tout était en ordre.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X