Procédure : remplacer la réservation d’URL WCF par une réservation restreinte
Une réservation d'URL vous permet de limiter les personnes qui reçoivent les messages d'une URL ou d'un jeu d'URL. Une réservation se compose d'un modèle d'URL, d'une liste de contrôle d'accès (ACL) et d'un jeu d'indicateurs. Le modèle d'URL définit les URL affectées par la réservation. Pour plus d’informations sur le traitement des modèles d’URL, consultez Routage des requêtes entrantes. L'ACL contrôle quel utilisateur ou groupe d'utilisateurs est autorisé à recevoir des messages en provenance des URL spécifiées. Les indicateurs spécifient si la réservation consiste à donner directement à un utilisateur ou à un groupe l'autorisation d'écouter l'URL ou à déléguer l'autorisation d'écouter à d'autres processus.
Dans le cadre de la configuration du système d’exploitation par défaut, Windows Communication Foundation (WCF) crée une réservation accessible globalement pour le port 80, afin de permettre à tous les utilisateurs d’exécuter des applications qui se servent d’une double liaison HTTP pour la communication en duplex. Étant donné que l'ACL sur cette réservation concerne tous les utilisateurs, les administrateurs ne peuvent pas explicitement accorder ou refuser l'autorisation d'écouter une URL ou un jeu d'URL. Cette rubrique explique comment supprimer cette réservation et comment la recréer avec une ACL restreinte.
Sur Windows Vista ou Windows Server 2008, vous pouvez afficher toutes les réservations d'URL HTTP en entrant netsh http show urlacl
à partir d'une invite de commandes élevée. L'exemple suivant montre ce à quoi une réservation d'URL WCF doit ressembler :
Reserved URL : http://+:80/Temporary_Listen_Addresses/
User: \Everyone
Listen: Yes
Delegate: No
SDDL: D:(A;;GX;;;WD)
La réservation se compose d’un modèle d’URL utilisé quand une application WCF se sert d’une double liaison HTTP pour la communication en duplex. Les URL de cette forme sont utilisées pour qu’un service WCF renvoie les messages au client WCF lors de la communication sur une double liaison HTTP. Tous les utilisateurs sont autorisés à écouter l'URL, mais pas à déléguer l'écoute à un autre processus. Enfin, l'ACL est décrite en langage SDDL (Security Descriptor Definition Language). Pour plus d’informations sur le langage SSDL, consultez SSDL
Pour supprimer la réservation d'URL WCF
Cliquez sur Démarrer, pointez sur Tous les programmes, cliquez sur Accessoires, cliquez avec le bouton droit sur Invite de commandes et cliquez sur Exécuter en tant qu’administrateur dans le menu contextuel qui s’affiche. Cliquez sur Continuer dans la fenêtre Contrôle de compte d'utilisateur (UAC) qui peut demander des autorisations pour continuer.
Tapez
netsh http delete urlacl url=http://+:80/Temporary_Listen_Addresses/
dans la fenêtre d’invite de commandes.Si la réservation est supprimée avec succès, le message suivant s'affiche. Suppression réussie de la réservation d'URL
Création d'un nouveau groupe de sécurité et d'une nouvelle réservation d'URL restreinte
Pour remplacer la réservation d'URL WCF par une réservation restreinte, vous devez d'abord créer un groupe de sécurité. Pour ce faire, deux méthodes s'offrent à vous : à partir d'une invite de commandes ou de la console de gestion de l'ordinateur. L'utilisation d'une seule de ces méthodes suffit.
Pour créer un groupe de sécurité à partir d'une invite de commandes
Cliquez sur Démarrer, pointez sur Tous les programmes, cliquez sur Accessoires, cliquez avec le bouton droit sur Invite de commandes et cliquez sur Exécuter en tant qu’administrateur dans le menu contextuel qui s’affiche. Cliquez sur Continuer dans la fenêtre Contrôle de compte d'utilisateur (UAC) qui peut demander des autorisations pour continuer.
Tapez
net localgroup "<security group name>" /comment:"<security group description>" /add
à l'invite de commandes. Remplacez <security group name> par le nom du groupe de sécurité que vous souhaitez créer, et <security group description> par une description appropriée du groupe de sécurité.Si le groupe de sécurité est créé avec succès, le message suivant s'affiche. La commande s'est exécutée correctement.
Pour créer un groupe de sécurité à partir de la console de gestion de l'ordinateur
Cliquez successivement sur Démarrer, Panneau de configuration, Outils d’administration et Gestion de l’ordinateur pour ouvrir la console de gestion de l’ordinateur. Cliquez sur Continuer dans la fenêtre Contrôle de compte d'utilisateur (UAC) qui peut demander des autorisations pour continuer.
Cliquez sur Outils système, cliquez sur Utilisateurs et groupes locaux, cliquez avec le bouton droit sur le dossier Groupes et cliquez sur Nouveau groupe dans le menu contextuel qui s’affiche. Tapez le Nom du groupe et la Description souhaités, ainsi que d'autres informations utiles sur ce nouveau groupe de sécurité, puis cliquez sur le bouton Créer pour créer le groupe de sécurité.
Pour créer la réservation d'URL restreinte
Cliquez sur Démarrer, pointez sur Tous les programmes, cliquez sur Accessoires, cliquez avec le bouton droit sur Invite de commandes et cliquez sur Exécuter en tant qu’administrateur dans le menu contextuel qui s’affiche. Cliquez sur Continuer dans la fenêtre Contrôle de compte d'utilisateur (UAC) qui peut demander des autorisations pour continuer.
Tapez
netsh http add urlacl url=http://+:80/Temporary_Listen_Addresses/ user="<machine name>\<security group name>
à l’invite de commandes. Remplacez <machine name> par le nom de l'ordinateur sur lequel le groupe doit être créé, et <security group name> par le nom du groupe de sécurité que vous avez précédemment créé.Si la réservation est créée avec succès, le message suivant s'affiche. Ajout réussi de la réservation d'URL.