none
SharePoint/IIS et autorisation d'accés a un site via un poste distant! RRS feed

  • Question

  • Bonjour,

    J'ai crée un site web qui accède aux données stockées dans SharePoint!
    Sur le serveur de test, j'ai aucun mal a accèder sur le site à partir d'un poste distant!
    J'ai migré le site sur le serveur de production:
    en local, j'ai aucun problème d'accès!
    sur un poste distant, j'ai cette erreur :

    You are not authorized to view this page
    You do not have permission to view this directory or page using the credentials that you supplied.
    --------------------------------------------------------------------------------

    Please try the following:

    Contact the Web site administrator if you believe you should be able to view this directory or page.
    Click the Refresh button to try again with different credentials.
    HTTP Error 401.1 - Unauthorized: Access is denied due to invalid credentials.
    Internet Information Services (IIS)

    --------------------------------------------------------------------------------

    Technical Information (for support personnel)

    Go to Microsoft Product Support Services and perform a title search for the words HTTP and 401.
    Open IIS Help, which is accessible in IIS Manager (inetmgr), and search for topics titled Authentication, Access Control, and About Custom Error Messages.

    Lorsque je vais dans l'observateur d'évènement, dans la zone sécurité, j'ai cette erreur :
    Code :
    Type de l'événement : Audit des échecs
    Source de l'événement : Security
    Catégorie de l'événement : Ouverture/Fermeture de session
    ID de l'événement : 529
    Date : 14/01/2008
    Heure : 16:39:00
    Utilisateur : AUTORITE NT\SYSTEM
    Ordinateur : ****
    Description :
    Échec de l'ouverture de session :
    Raison : Nom d'utilisateur inconnu ou mot de passe incorrect
    Nom de l'utilisateur :
    Domaine :
    Type de session : 3
    Processus d'ouv. de session : Kerberos
    Package d'authentification : Kerberos
    Nom de station de travail : -
    Nom de l'utilisateur appelant : -
    Domaine appelant : -
    ID de session de l'appelant : -
    ID de processus appelant : -
    Services en transit : -
    Adresse réseau source : *.*.*.***
    Port source : 1062


    Pour plus d'informations, consultez le centre Aide et support à l'adresse http://go.microsoft.com/fwlink/events.asp.
    quand j'essaie de me connecter par l'adresse ipStick out tongueort, il me demande une authentification et LA j'arrive a me connecter!
    mais lorsque j'utilise l'adresse DNS, toujours la même erreur!

    je ne sais pas ce qui est mal configurer IIS, autre chose dans le serveur ou dans SharePoint?

    merki
    mardi 15 janvier 2008 08:18

Toutes les réponses

  • Bonjour,

     

    Est-ce que vous arrivez à pinguer le serveur depuis votre poste client en utilisant le nom netbios de la machine ou l'alias dns ?

     

    mardi 15 janvier 2008 09:25
  • oui pour les deux Smile
    mardi 15 janvier 2008 09:49
  • est-ce que le site d'origine et le site cible se trouve sur 2 fermes s'appuyant sur le même annuaire d'authentification (ex : le même AD) ?

     

    Pierre

    mardi 15 janvier 2008 10:02
  • désolé, mais je n'ai pas trop compris votre question!

    il n'y a que un seul AD.
    mardi 15 janvier 2008 10:31
  • Cela répond à ma question :les deux fermes sharepoint donc les deux sites s'appuient a priori sur le même AD.

     

    1. Que se passent-ils si vous créez un autre site sur le nouveau serveur : pouvez-vous y accéder ?

    2. Au niveau administration centrale du nouveau serveur, vérifiez que vous êtes bien le propriétaire du site

     

    Pierre

    mardi 15 janvier 2008 11:02
  • alors, j'ai créé un nouveau site pointant vers un dossier contenant une simple page .htm et j'arrive a y accéder avec le poste distant!

    est-ce quelque chose que je dois configurer alors dans SharePoint?
    mon site est un site externe a SharePoint (il est das IIS)
    il recupère des données dans les bibliothèques de SharePoint!

    merki
    mardi 15 janvier 2008 12:51
  • Ca y est, je viens de saisir, vous parlez d'un site web développé et non d'un site Sharepoint.

     

    J'imagine que vous requêtez par web service.

    Du coup, vu les problèmes que vous évoquez, cela me rappelle le fameux et très commun problème du double hop (ou double saut) si vous utilisez l'impersation en combinaison avec une authentification windows et cela explique pourquoi cela fonctionne en local.

     

    Ce problème s'applique à toute architecture 3 tiers (un client qui requête un serveur web qui tente d'accéder avec le compte de l'utilisateur à une ressource sur un autre serveur).

     

    Pleins d'explication sur le web (faire recherche sur double hop) à commencer par celles-ci:

    http://support.microsoft.com/kb/329986/en-us (pour requêter un AD, mais vrai pour tout autre ressource)

    http://blogs.msdn.com/nunos/archive/2004/03/12/88468.aspx

    ...

     

    Pierre

    mardi 15 janvier 2008 12:58
  • merci, je vais faire des recherches!

    "J'imagine que vous requêtez par web service."
    J'utilise l'API de SharePoint pour attaquer mes bibliotheqes (SPSite, SPWeb etc...)
    ce que je comprend pas, c'est que sur mon serveur de tests ça marchait!
    mardi 15 janvier 2008 13:11
  • Donc on oublie ce que je viens de dire, cela n'a rien à voir avec le double hop.

     

    Pour comprendre votre architecture et si vous utilisez les API, cela signifie que vous n'avez pas un site web mais un répertoire virtuel inclus dans un site web sharepoint : correct ?

     

    Pierre

    mardi 15 janvier 2008 13:18
  • non, c'est un site tout à fait indépendant de l'architecture de SharePoint!

    Je ne suis pas expert mais je vais vous expliquer comment j'ai fait Wink

    J'ai développé un site Web dans VS2005 et je l'ai déployé dans ISS et il est indépendant de SharePoint!
    Donc dans IIS, j'ai crée un nouveau site qui pointe vers mon projet!
    il n'est pas dans le layout (si c'etait ce que vous pensiez) de SharePoint

    voila, j'espere que j'ai été plus clair Wink
    mardi 15 janvier 2008 13:25
  • Bonjour,

     

    Les logs que vous remontez indiquent une tentative d'authentification par Kerberos. Lorsque Kerberos est mal configuré, on obtient une erreur 401. Bien configuré, ce n'est pas le cas.

     

    Kerberos est un des moyens de gérer le double hop dont parle Pierre. J'imagine que Kerberos était convenablement configuré pour votre environnement de test.

     

    Quoi qu'il en soit, puisque vous êtes en authentification Kerberos, il vous faut vous assurer que les setSPN ont correctement été effectués. Si ces éléments ne vous parlent pas, il vous faudra certainement vous mettre en relation avec votre service Exploitation.

     

    Dans tous les cas, vous trouverez les informations nécessaires concernant Kerberos sur environnement Microsoft (avec détail des setSPN) ici : http://msdn2.microsoft.com/fr-fr/library/ms178119.aspx

     

    N'oubliez pas de préciser si cette réponse vous a été utile.

     

    Cordialement,

     

    Sébastien PICAMELOT.

    mercredi 16 janvier 2008 09:17
    Modérateur
  • Je viens de vérifier avec le service concerné Wink

    en faisant setSPN -L monServer

    j'avais la liste des DNS enregistrer, ceux avec lesquels je n'arrive pas a me connecter a distant!

    (en passant, l'admin a appris une nouvelle commande Wink
    mercredi 16 janvier 2008 09:46
  • Bonjour à tous,

     

    Merci à Sébastien pour être revenu sur les bases de la question et avoir proposé d'autres pistes, je m'étais égaré dans une mauvaise direction.

     

    Pour bien comprendre et remettre les bons termes, les Service Principal Name  de votre serveur cible enregistrés dans votre AD correspondaient aux alias DNS de l'ancien serveur, c'est bien cela.

     

    Est-ce que cela signifie que vous avez par exemple fait un clone de l'ancien serveur et un renommage de ce clone ?

     

    Pierre

    mercredi 16 janvier 2008 12:16
  • Le serveur de prod est différent du serveur de test, il n'a pas été cloné.

    Voici le message que m'avait retourné de setSPN -L NomServeur

    Registered ServicePrincipalNames for CN=****, OU=****,DC=****,DC=***:

        HOST/NomServeur

        HOST/NomDnsServeur


    mercredi 16 janvier 2008 13:27
  • L'idée c'est de faire un setSPN -A (pour ajouter) pour permettre au compte faisant tourner votre pool d'application IIS de servir de relai pour l'authentification.

     

    setspn –A http/nom_netbios_de_votre_serveur nom_du_compte_faisant_tourner_le_pool

    setspn –A http/FQDN_de_votre_serveur nom_du_compte_faisant_tourner_le_pool

     

    Dans une archi avec plusieurs frontaux web (SharePoint ou non SharePoint), ces commandes sont à executer pour chacun des serveurs.

     

    Vous devrez également vous assurer que votre compte est marqué en "trusted for delegation" pour Kerberos au niveau de l'Active Directory.

     

    mercredi 16 janvier 2008 14:17
    Modérateur
  • Dans la configuration de MOSS2007, j'ai remarqué que le mode d'authenrification etait sur Kerberos (donc j'ai supposé qu'il fallait le remettre en NTLM pour que le site remarche, et il aurait du etre en NTLM)
    Impossible de changer voir mon post ici.
    Apres de nombreuses recherche sur la configuration de l'authentification, j'ai trouvé la cmde dans le support de MS :
    cscript adsutil.vbs get w3svc/##/root/NTAuthenticationProviders (avec ##, l'id du site dans IIS)
    pour mon site SharePoint, ça retournait "NTLM", par contre, pour mon site (déploié dans IIS) attaquant SharePoint, j'avais "Negociate,NTLM"!
    Par hazars, j'ai fait un
    cscript adsutil.vbs set w3svc/##/root/NTAuthenticationProviders "NTLM"

    et puis après j'ai pu avoir accès via un poste distant vers mon site Big Smile

    voila

    si quelqu'un peut m'expliquer le pourquoi du comment de tout ça,
    je lui en serais reconnaissant Big Smile

    merki

    vendredi 18 janvier 2008 15:41