Безопасность конечных точек WCF - PullRequest
4 голосов
/ 17 марта 2010

Ради аргумента допустим, что у меня есть базовая служба WCF для HTTP. Помимо реализации аутентификации (методы входа в систему / выхода из системы), что мешает кому-то просто взломать Visual Studio, добавить веб-ссылку на службу моего веб-сайта, а затем поиграть с моим сервисом? Я не знаком с методом, который мешает кому-то сделать это. Идея, что кто-то загрузит все мои контракты с данными / операциями, а затем начнет играться, не дает мне спать по ночам, и мне нравится мой сон!

Ответы [ 2 ]

4 голосов
/ 17 марта 2010

Обнаруживаемость - это движущий фактор для веб-сервисов и особенно для SOA. Возможность любого, кто может обратиться к службе, открыть WSDL, создать прокси в Visual Studio (или каком-либо другом инструменте) и начать использовать службу, является одной из основных причин создания веб-службы!

Полагаю, вы могли бы сгенерировать все клиентские прокси-серверы и затем отключить конечную точку mex, но это в значительной степени наносит ущерб WCF, и даже тогда это только безопасность через неизвестность.

Если вы не хотите, чтобы какой-либо злоумышленник начал работать с вашим веб-сервисом, либо не используйте basicHttpBinding (который предназначен для явной цели немедленного и анонимного потребления), либо размещайте сервис в частной сети, которая только доверенные клиенты могут достичь.

1 голос
/ 17 марта 2010

Некоторая форма аутентификации или шифрования - единственное, что может предотвратить это. Вы должны различать тех, кому вы хотите предоставить доступ, и тех, кому вы этого не хотите. Дайте тем, кому вы хотите, доступ к сертификату, необходимому для шифрования, или к имени пользователя и паролю.

Не давайте ничего другим.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...