J'utilise DCOM pour fournir divers services d'application sur un réseau Windows, en utilisant Kerberos pour gérer l'authentification. Le système fonctionne normalement correctement, mais je rencontre des problèmes d'accès au service à partir d'un domaine séparé (de confiance). En particulier, le service est incapable d'effectuer des rappels à l'application cliente, en recevant l'erreur "Une erreur spécifique au package de sécurité s'est produite". En outre, si je modifie le service pour exiger spécifiquement l'authentification Kerberos (plutôt que d'utiliser SNEGO/negotiate), le client ne peut même pas appeler le serveur (recevant à nouveau "Une erreur spécifique au package de sécurité s'est produite").Un nom principal de service est-il requis lors de l'utilisation de Kerberos avec DCOM?
La chose déroutante est que les choses ont fonctionné pendant des années sans problème. Cependant, certaines choses sont différentes ici, par rapport à ce que nous avons fait auparavant. Pour un, les serveurs impliqués exécutent Windows 2008, que je n'ai jamais utilisé auparavant. En outre, comme indiqué ci-dessus, les erreurs se produisent uniquement lorsque le service est accessible à partir d'un compte à partir d'un domaine distinct, et l'utilisation précédente n'a jamais tenté cela.
Maintenant à la question: Je n'utilise pas un nom principal de service (SPN) pour ce service DCOM, mais certaines des erreurs et des journaux d'événements me font penser que cela pourrait être le problème. Cependant, tous les documents que j'ai trouvés ne sont pas clairs sur la question de savoir si c'est correct ou comment je configurerais le SPN si j'en avais besoin. Est-ce que quelqu'un sait avec certitude si un SPN est ce qui me manque ici? Si oui, pouvez-vous me montrer comment cela devrait être fait?
Détails supplémentaires:
Pour le scénario dans lequel le serveur est configuré pour forcer l'authentification Kerberos, l'activation Extended RPC Debugging donne quelques indices supplémentaires. Le client peut se connecter avec succès à l'aide de CoCreateInstanceEx, mais les appels sur l'interface de service échouent comme indiqué ci-dessus. Les enregistrements d'erreur RPC affichent une erreur à l'emplacement 140 et le code d'erreur est 0x80090303 ("La cible spécifiée est inconnue ou inaccessible") et le troisième paramètre pour cet enregistrement est une chaîne vide. Cela indique un SPN manquant en tant que coupable.
Merci pour l'info. J'ai déjà essayé ce logging Kerberos (et d'autres journaux que j'ai lus à propos de) mais n'a jamais été capable de maîtriser le problème. – Charlie
Confirmation supplémentaire: http://technet.microsoft.com/en-us/library/cc772815(v=ws.10).aspx indique "Sans les SPN correctement définis, l'authentification Kerberos n'est pas possible." – Charlie
Enfin mis à jour ce ... SPNmappings dans CN = Service d'annuaire, CN = Windows NT, CN = Services, CN = Configuration, DC = MyDC, DC = com > sPNMappings: hôte = alerter, appmgmt, cisvc, clipsrv, navigateur, dhcp, dnscache, réplicateur, eventlog, système d'événements, agent de politique, oakley, dmserver, DNS, mcsvc, fax, msiserver, ias, messager, netlogon, ne tman, netdde, netddedsm, nmagent, plug-in, protectedstorage, rasman, rpclocator, rpc, rpcss, remoteaccess, rsvp, samss, scardsvr, scesrv, seclogon, scm, dcom, cifs, spouleur, snmp, horaire, tapisrv, trk svr, trkwks, ups, temps, gagne, www, http, w3svc, iisadmin, msdtc Source d'ici: http://blog.joeware.net/2008/07/17/1407/ –