Pour afficher l’article en anglais, activez la case d’option Anglais. Vous pouvez aussi afficher la version anglaise dans une fenêtre contextuelle en faisant glisser le pointeur de la souris sur le texte.
Traduction
Anglais

Prévention des attaques par relecture en cas d'hébergement d'un service WCF dans une batterie de serveurs Web

.NET Framework (current version)
 

Lors de l'utilisation de la sécurité du message, WCF empêche toute attaque par relecture en créant une valeur à usage unique à partir du message entrant et en vérifiant le InMemoryNonceCache interne pour voir si la valeur à usage unique générée est présente.Si tel est le cas, le message est ignoré comme relecture.Lorsqu'un service WCF est hébergé dans une batterie de serveurs Web, étant donné que InMemoryNonceCache n'est pas partagé entre les nœuds de la batterie de serveurs Web, le service est vulnérable aux attaques par relecture.Pour limiter ce risque, WCF 4.5 fournit un point d'extensibilité qui vous permet d'implémenter votre propre cache partagé de valeurs à usage unique en dérivant une classe de la classe abstraite T:System.ServiceModel.Security.NoneCache.

Pour implémenter votre propre cache partagé de valeurs à usage unique, dérivez une classe de T:System.ServiceModel.Security.NoneCache et substituez les méthodes M:System.ServiceModel.Security.NoneCache.CheckNonce(System.Byte[]) et M:System.ServiceModel.Security.NoneCache.TryAddNonce(System.Byte[]). M:System.ServiceModel.Security.NoneCache.CheckNonce(System.Byte[]) vérifiera pour voir si la valeur à usage unique spécifiée existe dans le cache. M:System.ServiceModel.Security.NoneCache.TryAddNonce(System.Byte[]) tente d'ajouter une valeur à usage unique au cache.Une fois que la classe est implémentée, vous l'accrochez en instanciant une instance et en l'assignant à P:System.ServiceModel.Channels.SecurityBindingElement.LocalClientSecuritySettings.NonceCache pour la détection de relecture côté client et à P:System.ServiceModel.Channels.SecurityBindingElement.LocalServiceSecuritySettings.NonceCache pour la détection de relecture côté serveur.Il n'existe aucune prise en charge de configuration prête à l'emploi pour cette fonctionnalité.

Afficher: