2008-12-07 6 views
1

Представьте себе приложение .NET, разработанное с использованием многоуровневой архитектуры.Доверенная подсистема на одном уровне

Возможно ли использовать что-то вроде шаблона trusted subsystem при развертывании всех слоев приложения на одном компьютере?

Этот дизайн небезопасен по умолчанию?

ответ

0

Если все слои развернуты в одном процессе, то я бы сказал, что по определению вы не используете модель доверенной подсистемы.

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

1

Это зависит от того, как вы используете систему и как развертываются ваши слои.

Предположим, у вас есть машина, на которой работает SQL Server под одной учетной записью пользователя, ваш уровень обслуживания находится под другой учетной записью службы, а ваши пользователи регистрируются в третьей учетной записи (без доступа администратора, конечно). Скажите, что учетной записи среднего уровня доверяют доступ к базе данных, но нет учетной записи пользователя. В этом случае да, это в основном ваша классическая картина модели доверенной подсистемы.

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

Смежные вопросы