Comment : verrouiller des points de terminaison dans l'entreprise

Les entreprises de grande taille exigent souvent que les applications soient développées conformément à leurs stratégies de sécurité. La rubrique suivante explique comment développer et installer un validateur de point de terminaison client permettant de valider l'ensemble des applications clientes Windows Communication Foundation (WCF) installées sur les ordinateurs.

Dans ce cas, il s'agit d'un validateur client car ce comportement de point de terminaison est ajouté à la section <commonBehaviors> du client dans le fichier machine.config. WCF charge uniquement les comportements de point de terminaison communs pour les applications clientes et uniquement les comportements de service communs pour les applications de service. Pour installer ce même validateur pour les applications de service, le validateur doit être un comportement de service. Pour plus d'informations, consultez la section <commonBehaviors>.

Aa751866.Important(fr-fr,VS.90).gif Remarque :
Les comportements de service ou de point de terminaison non marqués avec l'attribut AllowPartiallyTrustedCallersAttribute (APTCA) qui sont ajoutés à la section <commonBehaviors> d'un fichier de configuration ne sont pas exécutés lorsque l'application s'exécute dans un environnement de confiance partielle, et aucune exception n'est levée lorsque cela se produit. Pour appliquer l'exécution des comportements courants tels que les validateurs, vous devez effectuer l'une des actions suivantes :

-- Marquez votre comportement courant avec l'attribut AllowPartiallyTrustedCallersAttribute afin qu'il soit exécuté lorsqu'il est déployé comme une application de confiance partielle. Notez qu'une entrée de Registre peut être définie sur l'ordinateur pour interdire l'exécution des assemblys marqués avec l'attribut APTCA. Pour plus d'informations, consultez How to: Make APTCA Assemblies Inaccessible to Partially Trusted Code.

-- Si l'application est déployée comme une application de confiance partielle, vérifiez que les utilisateurs ne peuvent pas modifier les paramètres de sécurité d'accès du code pour exécuter l'application dans un environnement de confiance partielle. S'ils peuvent le faire, le validateur personnalisé ne s'exécute pas et aucune exception n'est levée. Pour savoir comment garantir cette configuration, consultez l'option levelfinal à l'aide de Code Access Security Policy Tool (Caspol.exe).

Pour plus d'informations, consultez Meilleures pratiques dans un environnement de confiance partielle et Scénarios de déploiement pris en charge.

Pour créer le validateur de point de terminaison

  1. Créez IEndpointBehavior avec les étapes de validation souhaitées dans la méthode Validate. Le code suivant fournit un exemple.

  2. Créez un nouveau BehaviorExtensionElement qui enregistre le validateur de point de terminaison créé dans l'étape 1. Le code suivant fournit un exemple.

  3. Assurez-vous que l'assembly compilé est signé avec un nom fort. Pour plus d'informations, consultez Strong Name Tool (Sn.exe) et les commandes du compilateur pour votre langage.

Pour installer le validateur dans l'ordinateur cible

  1. Installez le validateur de point de terminaison à l'aide du mécanisme approprié. Dans une entreprise, cela peut s'effectuer en utilisant la stratégie de groupe ou SMS (Systems Management Server).

  2. Installez l'assembly avec nom fort dans le Global Assembly Cache à l'aide du Global Assembly Cache Tool (Gacutil.exe).

  3. Utilisez les types d'espaces de noms System.Configuration pour :

    1. Ajoutez l'extension à la section <behaviorExtensions> à l'aide d'un nom de type complet et verrouillez l'élément.
    2. Ajoutez l'élément de comportement à la propriété EndpointBehaviors de la section <commonBehaviors> et verrouillez l'élément. (Pour installer le validateur sur le service, le validateur doit être un IServiceBehavior et être ajouté à la propriété ServiceBehaviors.) L'exemple de code suivant présente la configuration appropriée après les étapes a. et b., à la seule exception qu'il n'y a pas de nom fort.
    3. Enregistrez le fichier machine.config. L'exemple de code suivant exécute l'ensemble des tâches dans l'étape 3, mais enregistre une copie du fichier machine.config modifié localement.

Exemple

L'exemple de code suivant indique comment ajouter un comportement commun au fichier machine.config et enregistrer une copie sur le disque. InternetClientValidatorBehavior est extrait de l'exemple Security Validation.

Sécurité

Vous pouvez également chiffrer les éléments du fichier de configuration. Pour plus d'informations, consultez la section Voir aussi.

Voir aussi

Autres ressources

Chiffrement des éléments du fichier de configuration à l'aide de DPAPI
Chiffrement des éléments du fichier de configuration à l'aide de RSA