Partager via


Magasins de symboles HTTP

Le protocole SRV pris en charge à travers symsrv.dll (fournie avec le débogueur) permet d’accéder au magasin de symboles via HTTP (au lieu de UNC/SMB).

HTTP est généralement utilisé à la place de SMB lorsqu’un pare-feu n’autorise pas SMB entre le client et le serveur. Les environnements de production et de laboratoire sont de bons exemples de cela.

Un serveur de symboles HTTP ne peut pas être un magasin en aval dans une chaîne de chemins d’accès aux symboles en raison de sa nature en lecture seule. Le proxy du serveur de symboles (filtre ISAPI) fonctionne autour de cette limite. SymProxy télécharge les fichiers manquants dans le système de fichiers du serveur à l’aide de magasins de symboles préconfigurés amont. Le filtre télécharge le fichier dans le système de fichiers, ce qui permet à IIS de télécharger le fichier vers le client, rétablissant ainsi le concept de chaînage des magasins de symboles. Pour en savoir plus, consultez SymProxy.

La configuration d’IIS en tant que magasin de symboles est relativement simple, car les fichiers de symboles sont simplement traités comme des fichiers statiques. Le seul paramètre qui n’est pas défini par défaut est la configuration des types MIME pour permettre le téléchargement des fichiers de symboles sous forme de flux binaires. Pour ce faire, on peut utiliser un caractère générique « * » appliqué au répertoire virtuel du dossier des symboles.

Pour que le magasin de symboles soit accessible sur Internet, vous devez configurer tant les répertoires contenant les fichiers de symboles que les services IIS (Internet Information Services).

Remarque : Étant donné la manière dont IIS sera configuré pour délivrer des fichiers de symboles, il est déconseillé d’utiliser la même instance de serveur à d’autres fins. En règle générale, les paramètres de sécurité requis pour un serveur de symboles ne sont pas adaptés à d’autres utilisations, par exemple pour un serveur de commerce externe. Assurez-vous que l’exemple de configuration fourni ici est judicieux pour votre environnement et adaptez-le selon vos besoins spécifiques.

Création du répertoire de symboles

Sélectionnez tout d’abord le répertoire que vous utiliserez comme magasin de symboles. Dans nos exemples, nous appelons ce dernier c :\symstore et le nom du serveur sur le réseau est \SymMachineName.

Pour en savoir plus sur la façon de remplir votre magasin de symboles, consultez SymStore et Arborescence de dossiers du magasin de symboles.

Configuration du serveur IIS

Les Internet Information Services (IIS) doivent être configurés pour délivrer les symboles en créant un répertoire virtuel et en configurant des types MIME. Une fois cette opération effectuée, on peut choisir la méthode d’authentification.

Créer un répertoire virtuel

  1. Ouvrez Gestionnaire des services Internet (IIS) .

  2. Accédez aux sites Web.

  3. Cliquez avec le bouton droit sur le site Web par défaut ou le nom du site utilisé, puis sélectionnez Ajouter un répertoire virtuel....

  4. Saisissez Symboles comme Alias , puis cliquez sur Suivant.

    Pour faciliter l’administration, il est recommandé d’utiliser le même nom pour le dossier, le partage et le répertoire virtuel.

  5. Pour le Chemin d’accès, saisissez c :\SymStore, puis cliquez sur Suivant.

  6. Cliquez sur OK pour terminer l’ajout du répertoire virtuel.

Effectuez la configuration du sous-répertoire une seule fois pour le serveur. Il convient de noter qu’il s’agit d’un paramètre global qui affectera les applications qui ne sont pas hébergées dans le dossier racine d’un site.

Configuration du sous-répertoire

  1. Accédez à [Ordinateur].

  2. Ouvrez l’Éditeur de configuration.

  3. Accédez à system ApplicationHost/sites.

  4. Développez virtualDirectoryDefaults.

  5. Définissez allowSubDirConfig sur False.

Effectuez ce processus une seule fois pour le serveur. Il convient de noter qu’il s’agit d’un paramètre global qui affectera les applications qui ne sont pas hébergées dans le dossier racine d’un site.

Il est possible de rendre les fichiers de symboles consultables

  1. Accédez à [Ordinateur] | Sites | [Site Web] | Symboles.

  2. Double-cliquez sur Navigation dans le répertoire dans le volet central.

  3. DAns le volet de droite, cliquez sur Activer.

Le type MIME du contenu téléchargé doit être défini sur application/octet-stream pour permettre à tous les fichiers de symboles d’être délivrés par IIS.

Configuration des types MIME

  1. Cliquez avec le bouton droit sur le répertoire virtuel des Symboles , puis choisissez Propriétés.

  2. Sélectionnez En-têtes HTTP.

  3. Cliquez sur Types MIME.

  4. Cliquez sur Nouveau.

  5. Pour Extension, saisissez *.

  6. Pour le type MIME, saisissez application/octet-stream.

  7. Pour quitter la boîte de dialogue des Types MIME, clique sur OK.

  8. Pour quitter les Propriétés des symboles, cliquez sur OK.

Vous pouvez modifier le fichier web.config pour configurer les types MIME pour les symboles. Cette approche supprime les types MIME hérités et ajoute un type MIME générique* fourre-tout. Cette approche peut s’avérer nécessaire lorsque les types MIME sont hérités dans certaines configurations IIS.

Utilisation de web.config pour configurer des types MIME

  1. Modifiez le fichier web.config comme montré ici.

    <?xml version="1.0" encoding="UTF-8"?>
    <configuration>
        <system.webServer>
            <directoryBrowse enabled="true" />
            <staticContent>
                <clear />
                <mimeMap fileExtension=".*" 
    mimeType="application/octet-stream" />
            </staticContent>
        </system.webServer>
    </configuration>
    
  2. Redémarrez IIS.

IIS est maintenant prêt à servir des fichiers de symboles de tous les types à partir du magasin de symboles.

Configuration de l’authentification

Il est possible de configurer IIS pour qu’il utilise « l’authentification Windows intégrée » de sorte que les clients (windbg.exe par exemple) puissent s’authentifier automatiquement auprès d’IIS sans demander à l’utilisateur final de fournir des informations d’identification.

Remarque : configurez uniquement l’authentification Windows sur IIS pour contrôler l’accès au serveur de symboles si c’est approprié pour votre environnement. Il existe d’autres options de sécurité permettant de contrôler davantage l’accès à IIS si votre environnement l’exige.

Pour configurer la méthode d’authentification en tant qu’utilisateur anonyme

  1. Lancez le gestionnaire d’IIS (Internet Information Services).

  2. Accédez à [Ordinateur] | Sites | [Site Web] | Symboles.

  3. Cliquez deux fois sur Authentification dans le volet central.

  4. Sous Authentification et contrôle d’accès, cliquez sur Modifier.

  5. Cliquez avec le bouton droit sur Authentification Windows, puis sélectionnez Activer.

  6. Pour tous les autres fournisseurs d’authentification, cliquez avec le bouton droit sur chaque fournisseur et sélectionnez Désactiver.

  7. Cliquez sur OK pour terminer la configuration de l’authentification.

Si l’authentification Windows n’est pas répertoriée, utilisez Activer et désactiver des fonctionnalités Windows pour activer la fonctionnalité. L’emplacement de la fonctionnalité est différent dans chaque version de Windows. Dans Windows 8.1/Windows 2012 R2, elle se trouve sous Internet Information Services | Services World Wide Web | Sécurité.

Désactiver la prise en charge kerberos

SymSrv.dll ne prend pas en charge l’authentification Kerberos lors de la connexion à IIS. Par conséquent, l’authentification Kerberos doit être désactivée dans IIS et NTLM doit être défini comme le seul protocole d’authentification Windows.

Remarque : désactivez uniquement la sécurité Kerberos si c’est adéquat pour votre environnement.

Désactiver la prise en charge kerberos avec appcmd.exe

  1. Ouvrir une fenêtre d’invite de commandes

  2. Pour désactiver Kerberos et forcer l’utilisation de NTLM, utilisez cette commande :

    appcmd.exe set config -section:system.webServer/security/authentication/windowsAuthentication /+"providers.[value='NTLM']" /commit:apphost
    
  3. Pour revenir à la valeur par défaut avec Kerberos activé, utilisez cette commande :

    appcmd.exe set config -section:system.webServer/security/authentication/windowsAuthentication /+"providers.[value='Negotiate,NTLM']" /commit:apphost
    

Configuration des invites d’authentification du client SymSrv

Lorsque SymSrv reçoit des demandes d’authentification, le débogueur peut afficher la boîte de dialogue d’authentification ou refuser automatiquement la demande, en fonction de sa configuration. Vous pouvez configurer ce comportement à l’aide d’invites !sym on|off. Par exemple, pour activer les invites, utilisez cette commande.

!sym prompts on

Pour vérifier le paramètre actuel, utilisez cette commande.

!sym prompts

Pour en savoir plus, consultez !sym et Pare-feu et serveurs proxy.