Действительно ли транспортная безопасность является плохой практикой для сервиса WCF по Интернету?

У меня есть сервис WCF, доступный по Интернету. Это имеет привязку wsHttpBinding и режим безопасности сообщения с учетными данными имени пользователя для аутентификации клиентов. В MSDN говорится, что мы должны использовать безопасность сообщения для интернет-сценариев, потому что это обеспечивает сквозную безопасность вместо безопасности точка-точка, как Транспортная безопасность имеет.

Что, если я использую транспортную безопасность для wcf сервиса по Интернету? Действительно ли это - плохая практика? Мои данные могли быть замечены злонамеренными пользователями?

6
задан casperOne 3 June 2010 в 13:29
поделиться

2 ответа

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

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

Из-за этих технических ограничений транспортная безопасность действительно работает только в корпоративных / локальных сетях. Как только у вас нет контроля над маршрутизацией и промежуточными переходами, вам нужно использовать защиту сообщений для обеспечения сквозной безопасности.

8
ответ дан 8 December 2019 в 17:18
поделиться

Да, это на 100% безопасно, когда клиенты (что и делает большинство клиентов) проверяют сертификат сервера.

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

Другими словами, связь клиент / сервер через Интернет на 100% безопасна, даже если между ними установлен миллион маршрутизаторов, но она безопасна только тогда, когда клиент проверяет сертификат сервера, поскольку клиент может подключиться к злоумышленнику. средний хост, который мог выдавать себя за сервер с ложным сертификатом. Если клиент не проверяет сертификат, сообщение может быть скомпрометировано.

5
ответ дан 8 December 2019 в 17:18
поделиться
Другие вопросы по тегам:

Похожие вопросы: