Partager via


Authentification anonyme <anonymousAuthentication>

Vue d’ensemble

L’élément <anonymousAuthentication> contrôle la façon dont Internet Information Services (IIS) 7 traite les demandes des utilisateurs anonymes. Vous pouvez modifier l’élément <anonymousAuthentication> pour désactiver l’authentification anonyme ou configurer Internet Information Services (IIS) pour utiliser un compte d’utilisateur personnalisé pour traiter les demandes anonymes.

L’authentification anonyme permet aux utilisateurs d’accéder aux zones publiques de votre site web ou FTP sans leur demander de nom d’utilisateur ni de mot de passe. Par défaut, le compte IUSR, qui a été introduit dans IIS 7.0 et remplace le compte IUSR_computername IIS 6.0, est utilisé pour autoriser l’accès anonyme. Une application est un regroupement de fichiers qui fournit du contenu ou des services sur des protocoles, tels que HTTP. Lorsque vous créez une application dans IIS, le chemin de l’application fait partie de l’URL du site.

Par défaut, IIS 7 utilise l’authentification anonyme. Vous devez désactiver l’authentification anonyme pour n’importe quel site web, application web ou service web pour lequel vous souhaitez activer d’autres méthodes d’authentification telles que l’authentification de base ou Windows.

Compatibilité

Version Notes
IIS 10.0 L’élément <anonymousAuthentication> n’a pas été modifié dans IIS 10.0.
IIS 8.5 L’élément <anonymousAuthentication> n’a pas été modifié dans IIS 8.5.
IIS 8.0 L’élément <anonymousAuthentication> n’a pas été modifié dans IIS 8.0.
IIS 7.5 L’élément <anonymousAuthentication> n’a pas été modifié dans IIS 7.5.
IIS 7.0 L’élément <anonymousAuthentication> a été introduit dans IIS 7.0.
IIS 6.0 L’élément <anonymousAuthentication> remplace les propriétés métabase AuthFlags, AnonymousUserName et AnonymousUserPassword IIS 6.0.

Programme d’installation

L’élément <anonymousAuthentication> est inclus dans l’installation par défaut d’IIS 7.

Procédure

Comment désactiver l’authentification anonyme

  1. Ouvrez le Gestionnaire Internet Information Services (IIS) :

    • Si vous utilisez Windows Server 2012 ou Windows Server 2012 R2 :

      • Dans la barre des tâches, cliquez sur Gestionnaire de serveur, sur Outils, puis sur Gestionnaire Internet Information Services (IIS).
    • Si vous utilisez Windows 8 ou Windows 8.1 :

      • Maintenez la touche Windows enfoncée, appuyez sur la lettre X, puis cliquez sur Panneau de configuration.
      • Cliquez sur Outils d’administration, puis double-cliquez sur Gestionnaire Internet Information Services (IIS).
    • Si vous utilisez Windows Server 2008 ou Windows Server 2008 R2 :

      • Dans la barre des tâches, cliquez sur Démarrer, pointez sur Outils d’administration, puis cliquez sur Gestionnaire Internet Information Services (IIS).
    • Si vous utilisez Windows Vista ou Windows 7 :

      • Dans la barre des tâches, cliquez sur Démarrer, puis sur Panneau de configuration.
      • Double-cliquez sur Outils d’administration, puis sur Gestionnaire Internet Information Services (IIS).
  2. Dans le volet Connexions, développez le nom du serveur, développez Sites, accédez au niveau dans le volet de hiérarchie que vous souhaitez configurer, puis cliquez sur le site web ou l’application web.

  3. Faites défiler jusqu’à la section Sécurité dans le volet Accueil, puis double-cliquez sur Authentification.

  4. Dans le volet Authentification, sélectionnez Authentification anonyme, puis cliquez sur Désactiver dans le volet Actions.
    Screenshot of the Authentication pane with Anonymous Authentication selected.

Comment modifier les informations d’identification d’authentification anonyme à partir du compte IUSR

  1. Ouvrez le Gestionnaire Internet Information Services (IIS) :

    • Si vous utilisez Windows Server 2012 ou Windows Server 2012 R2 :

      • Dans la barre des tâches, cliquez sur Gestionnaire de serveur, sur Outils, puis sur Gestionnaire Internet Information Services (IIS).
    • Si vous utilisez Windows 8 ou Windows 8.1 :

      • Maintenez la touche Windows enfoncée, appuyez sur la lettre X, puis cliquez sur Panneau de configuration.
      • Cliquez sur Outils d’administration, puis double-cliquez sur Gestionnaire Internet Information Services (IIS).
    • Si vous utilisez Windows Server 2008 ou Windows Server 2008 R2 :

      • Dans la barre des tâches, cliquez sur Démarrer, pointez sur Outils d’administration, puis cliquez sur Gestionnaire Internet Information Services (IIS).
    • Si vous utilisez Windows Vista ou Windows 7 :

      • Dans la barre des tâches, cliquez sur Démarrer, puis sur Panneau de configuration.
      • Double-cliquez sur Outils d’administration, puis sur Gestionnaire Internet Information Services (IIS).
  2. Dans le volet Connexions, développez le nom du serveur, développez Sites, accédez au niveau dans le volet de hiérarchie que vous souhaitez configurer, puis cliquez sur le site web ou l’application web.

  3. Faites défiler jusqu’à la section Sécurité dans le volet Accueil, puis double-cliquez sur Authentification.

  4. Dans le volet Authentification, sélectionnez Authentification anonyme, puis cliquez sur Modifier... dans le volet Actions.

  5. Dans la boîte de dialogue Modifier les informations d’identification d’authentification anonyme, effectuez l’une des opérations suivantes :

    • Sélectionnez Identité du pool d’applications pour utiliser l’identité définie pour le pool d’applications, puis cliquez sur OK.
      Screenshot of setting Anonymous user identity to Application pool identity.

    • Cliquez sur Définir... puis, dans la boîte de dialogue Définir les informations d’identification, entrez le nom d’utilisateur du compte dans la zone Nom d’utilisateur, entrez le mot de passe du compte dans les zones Mot de passe et Confirmer le mot de passe, cliquez sur OK, puis cliquez à nouveau sur OK.
      Screenshot of a blank Set Credentials dialog.

      Remarque

      Si vous utilisez cette procédure, accordez uniquement les privilèges minimaux au nouveau compte sur l’ordinateur de serveur IIS.

Configuration

L’élément <anonymousAuthentication> est configurable au niveau du site et de l’application dans le fichier Web.config.

Attributs

Attribut Description
enabled Attribut booléen facultatif.

Spécifie si l’authentification anonyme est activée.

La valeur par défaut est true.
logonMethod Attribut enum facultatif.

L’attribut logonMethod peut être l’une des valeurs possibles suivantes. Par défaut, il s’agit de ClearText.
Valeur Description
Batch Ce type d’ouverture de session est destiné aux serveurs batch, où les processus peuvent s’exécuter pour le compte d’un utilisateur sans son intervention directe.

La valeur numérique est 1.
ClearText Ce type d’ouverture de session conserve le nom et le mot de passe dans le package d’authentification, ce qui permet au serveur d’établir des connexions à d’autres serveurs réseau lors de l’emprunt d’identité du client.

La valeur numérique est 3.
Interactive Ce type d’ouverture de session est destiné aux utilisateurs qui utiliseront l’ordinateur de manière interactive.

La valeur numérique est 0.
Network Ce type d’ouverture de session est destiné aux serveurs hautes performances pour authentifier les mots de passe de texte en clair. Les informations d’identification ne sont pas mises en cache pour ce type d’ouverture de session.

La valeur numérique est 2.
password Attribut String facultatif.

Spécifie le mot de passe pour l’authentification anonyme.

Remarque : pour éviter de stocker des chaînes de mot de passe non chiffrées dans des fichiers de configuration, utilisez toujours AppCmd.exe ou le Gestionnaire IIS pour entrer des mots de passe. Si vous utilisez ces outils de gestion, les chaînes de mot de passe sont chiffrées automatiquement avant d’être écrites dans les fichiers de configuration XML. Cela offre une meilleure sécurité pour les mots de passe que le stockage de mots de passe non chiffrés.
username Attribut String facultatif.

Spécifie le nom d’utilisateur pour l’authentification anonyme. Si vous laissez cette valeur vide (autrement dit, username=""), l’authentification anonyme utilise l’identité du pool d’applications pour authentifier les utilisateurs anonymes.

La valeur par défaut est IUSR.

Éléments enfants

Aucune.

Exemple Configuration

L’exemple de configuration suivant configure l’authentification anonyme pour un site web ou une application web IIS 7 afin d’utiliser un compte local sur le serveur web. (IIS 7 utilise automatiquement le chiffrement AES pour chiffrer le mot de passe.)

<security> <authentication>
   <anonymousAuthentication
      userName="User1"
      password="[enc:AesProvider:57686f6120447564652c2049495320526f636b73:enc]" />
   </authentication>
</security>

Exemple de code

Les exemples suivants activent l’authentification anonyme et modifient le nom d’utilisateur et le mot de passe par défaut utilisés pour l’authentification anonyme sur un compte nommé IUSR et le mot de passe P@ssw0rd.

AppCmd.exe

appcmd.exe set config "Contoso" -section:system.webServer/security/authentication/anonymousAuthentication /enabled:"True" /commit:apphost
appcmd.exe set config "Contoso" -section:system.webServer/security/authentication/anonymousAuthentication /userName:"IUSR" /commit:apphost
appcmd.exe set config "Contoso" -section:system.webServer/security/authentication/anonymousAuthentication /password:"P@ssw0rd" /commit:apphost

Remarque

Vous devez veiller à définir le paramètre commit sur apphost quand vous utilisez AppCmd.exe pour configurer ces paramètres. Cela valide les paramètres de configuration dans la section d’emplacement appropriée dans le fichier ApplicationHost.config.

C#

using System;
using System.Text;
using Microsoft.Web.Administration;

internal static class Sample { 
   private static void Main() { 
      using (ServerManager serverManager = new ServerManager()) {
         Configuration config = serverManager.GetApplicationHostConfiguration();
         ConfigurationSection anonymousAuthenticationSection = config.GetSection("system.webServer/security/authentication/anonymousAuthentication", "Contoso");
         anonymousAuthenticationSection["enabled"] = true;
         anonymousAuthenticationSection["userName"] = @"IUSR";
         anonymousAuthenticationSection["password"] = @"P@ssw0rd";
         serverManager.CommitChanges();
      } 
   } 
}

VB.NET

Imports System
Imports System.Text
Imports Microsoft.Web.Administration

Module Sample
   Sub Main()
      Dim serverManager As ServerManager = New ServerManager
      Dim config As Configuration = serverManager.GetApplicationHostConfiguration
      Dim anonymousAuthenticationSection As ConfigurationSection = config.GetSection("system.webServer/security/authentication/anonymousAuthentication", "Contoso")
      anonymousAuthenticationSection("enabled") = True
      anonymousAuthenticationSection("userName") = "IUSR"
      anonymousAuthenticationSection("password") = "P@ssw0rd"
      serverManager.CommitChanges()
   End Sub
End Module

JavaScript

var adminManager = new ActiveXObject('Microsoft.ApplicationHost.WritableAdminManager');
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST";

var anonymousAuthenticationSection = adminManager.GetAdminSection("system.webServer/security/authentication/anonymousAuthentication", "MACHINE/WEBROOT/APPHOST/Contoso");
anonymousAuthenticationSection.Properties.Item("enabled").Value = true;
anonymousAuthenticationSection.Properties.Item("userName").Value = "IUSR";
anonymousAuthenticationSection.Properties.Item("password").Value = "P@ssw0rd";

adminManager.CommitChanges();

VBScript

Set adminManager = CreateObject("Microsoft.ApplicationHost.WritableAdminManager")
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST"

Set anonymousAuthenticationSection = adminManager.GetAdminSection("system.webServer/security/authentication/anonymousAuthentication", "MACHINE/WEBROOT/APPHOST/Contoso")
anonymousAuthenticationSection.Properties.Item("enabled").Value = True
anonymousAuthenticationSection.Properties.Item("userName").Value = "IUSR"
anonymousAuthenticationSection.Properties.Item("password").Value = "P@ssw0rd"

adminManager.CommitChanges()