Должен ли я использовать привязку NetNamedPipe в WCF по соображениям безопасности? - PullRequest
2 голосов
/ 07 июля 2010

В документации WCF говорится, что привязка «Net Named Pipe» может использоваться для быстрой межпроцессной связи на одном компьютере. Его нельзя использовать для связи между машинами.

Я хотел бы знать, защитит ли использование привязки Net Named Pipe мой сервис от атак извне сети. Мне сказали, что ответ - нет; что хотя связывание Net Named Pipe предназначено для межпроцессного взаимодействия на одном и том же компьютере, его можно взломать, чтобы разрешить доступ с других компьютеров. Это точно?

Эксперты WCF, пожалуйста, присоединяйтесь. Защищает ли использование привязки Net Named Pipe мою службу от несанкционированного доступа с других компьютеров?

Ответы [ 2 ]

4 голосов
/ 07 декабря 2010

Правильный ответ ДА: NetNamedPipeBinding по сути защищает службу от любого доступа с других компьютеров в сети. Канал, который создает стек на стороне службы WCF, содержит ACL, который запрещает любой доступ к любому токену входа, который имеет членство в группе NETWORK USERS. Членство в этой группе присутствует в любом токене входа в сеть.

Существуют некоторые проблемы безопасности с NetNamedPipeBinding, особенно в .NET 3.5, но уязвимость для удаленных эксплойтов не является одной из них.

Подробнее см. и последующие сообщения.

0 голосов
/ 08 июля 2010

По имени Net Named Pipe эта привязка использует локальные именованные каналы в качестве транспортного механизма. На машинах Windows именованные каналы обрабатываются как файлы ... и, как таковые, доступны удаленно, как просмотр компьютера с \\ имя_машины. Поэтому, поскольку механизм транспорта доступен для удаленных компьютеров, привязка по своей природе не защищена от несанкционированного доступа, хотя могут быть некоторые преимущества безопасности для именованных каналов по сравнению с TCP или HTTP.

...