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
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).
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.
Faites défiler jusqu’à la section Sécurité dans le volet Accueil, puis double-cliquez sur Authentification.
Dans le volet Authentification, sélectionnez Authentification anonyme, puis cliquez sur Désactiver dans le volet Actions.
Comment modifier les informations d’identification d’authentification anonyme à partir du compte IUSR
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).
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.
Faites défiler jusqu’à la section Sécurité dans le volet Accueil, puis double-cliquez sur Authentification.
Dans le volet Authentification, sélectionnez Authentification anonyme, puis cliquez sur Modifier... dans le volet Actions.
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.
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.
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 .
|
||||||||||
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()