Каковы предполагаемые/действительные преимущества Kerberos?Есть ли жизнеспособные альтернативы этой технологии?

StackOverflow https://stackoverflow.com/questions/894301

Вопрос

Мы планируем использовать Kerberos в нашей архитектуре.Я хотел бы знать, какие предполагаемые или фактические преимущества имеет эта технология и есть ли какие-либо альтернативы.

Обратите внимание, что у нас есть клиентская часть .net и серверная часть Java.связь будет осуществляться через шину обмена сообщениями и SOA.

Нет правильного решения

Другие советы

Если вы работаете в основном в среде Windows (т.Windows Server 2k3, контроллер домена, Active Directory и т. д.), в частности, вы можете использовать олицетворение через .NET с разделенным веб-сервером и сервером базы данных.Используя старый метод NTLM, вы не можете выполнить «двойной переход».


Давайте посмотрим на пример:

  • У вас есть веб-сервер (WEB1)
  • У вас есть сервер базы данных на отдельной машине (DB1).
  • У вас есть пользователь, имеющий доступ к вашему сайту (USER1).

USER1 попадает на страницу со списком заказов.Ваш WEB1-сервер должен запросить DB1, чтобы эта информация отобразилась на странице.Вы хотите ограничить просмотр заказов на основе учетных данных и прав доступа пользователя.Таким образом, вы настраиваете группы активных каталогов и соответствующим образом назначаете пользователей.В вашей базе данных вы предоставляете разным группам разную безопасность (например, GROUP1 может иметь только выбор, а GROUP2 может выбирать, вставлять и обновлять).

NTLM не поддерживает необходимый для этого двойной переход.WEB1 должен отправить учетные данные USER1 в DB1 (в противном случае WEB1 должен войти в DB1 с известным выделенным идентификатором пользователя и паролем, жестко запрограммированными, например, в файле web.config, который обычно должен иметь полный доступ для поддержки всех возможных ролей пользователя).Вы можете себе представить, что это может стать угрозой безопасности, если WEB1 будет скомпрометирован, поэтому вы не можете этого сделать, иначе любой, кто получит контроль над WEB1 (возможно, с помощью SQL-инъекции), сможет делать все, что может выделенная учетная запись пользователя, или выдавать себя за кого угодно.Kerberos посредством делегирования на Windows Server поддерживает выполнение этого второго перехода, сохраняя зашифрованный ключ учетных данных с вашего сервера домена неповрежденным и передаваемым, а также проверяя, разрешено ли это (на обоих концах, см. ниже, как настроить это на ваших серверах). потому что это ДОЛЖНО быть ЯВНО разрешено).

Это очень полезно делать при разработке веб-приложений для интрасети, которые имеют серверную часть базы данных (что происходит в 99% случаев, верно?), и вы хотите контролировать авторизацию и аутентификацию с помощью встроенной безопасности Windows.Kerberos на самом деле является вашим единственным выбором, если только ваш веб-сервер и сервер базы данных не находятся на одном компьютере, а это означает, что передача учетных данных и выдача себя за другое лицо не требуется.

Смотрите также:

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top