2009-06-23 8 views
9

J'ai configuré une application WPF qui est une instance unique en utilisant un Mutex, ce qui permet à l'application de s'exécuter dans chaque compte d'utilisateur si vous utilisez un changement d'utilisateur. L'application configure un canal nommé WCF afin que je puisse communiquer à l'instance unique à partir d'un autre processus (c'est-à-dire lorsque le second processus s'exécute avant qu'il ne se termine en raison du Mutex).Sécurité WCF nommée WCF et plusieurs sessions utilisateur?

Je voudrais savoir si quelque chose devrait être fait (les meilleures pratiques) pour sécuriser le tuyau nommé?

Je voudrais également savoir si les messages de canal nommés atteindraient tous les processus en cours d'exécution dans le système ou seulement dans la session utilisateur en cours. Si le canal nommé est envoyé au système alors quelle serait la meilleure implémentation pour limiter la communication à la session des utilisateurs actuels?

Répondre

2

Les canaux nommés impliquent que la communication est point-à-point sur la même machine. Je crois qu'il est sécurisé par défaut, mais comme la communication ne quitte jamais la machine, même sur le même réseau, cette sécurité n'est pas la plus grande préoccupation - du moins en ce qui concerne la communication entre un composant de canal nommé et son consommateur.

Consultez la section «Programmation WCF Services 2nd Edition» de Juval Lowy. Le chapitre 10 concerne la sécurité des composants. À la page 514, il écrit: «il n'y a aucun sens à utiliser la sécurité des messages sur IPC, car avec IPC, il y a toujours un saut du client vers le service, le graphique de cette page montre que la sécurité du transport est activée par défaut. tuyaux.

1

Ce paper on named pipe security traite le sujet dans beaucoup de détails.

en bref, si vous ne faites pas attention, vous pouvez permettre à un programme malveillant en cours d'exécution avec l'autorisation de l'utilisateur standard pour exploiter un tuyau pour s'élever au même niveau de privilège que le serveur de pipe nommé

Je crains de ne pas savoir si l'implémentation WCF est sécurisée par rapport à ce type d'attaque par défaut

7

Les canaux nommés dans WCF ne sont pas accessibles depuis le réseau et aucun chiffrement n'est requis pour les sécuriser. Cependant, les services WCF ne sont pas sécurisés contre l'attaque mentionnée par romkyns.

Je vous suggère de lire ces messages:

Exploring the WCF Named Pipe Binding - Part 1

Exploring the WCF Named Pipe Binding - Part 2

Exploring the WCF Named Pipe Binding - Part 3

Exploring the WCF Named Pipe Binding - Part 4

sur les problèmes de sécurité impliqués.

En bref WCF permet à tout processus de se passer pour le service et:

  1. Soit simulent le service ou
  2. Eavesdrop et Tamper Data en supposant que le processus se rogue connecter au service. Toutefois, si le service utilise la sécurité d'accès pour vérifier l'identité de l'utilisateur appelant, cela peut ne pas être possible.
+0

Tous les liens sont morts. – jesusduarte

+0

@jesusduarte En retard, mais les liens sont de retour. –