IIS и ASP.NET олицетворение - PullRequest
       5

IIS и ASP.NET олицетворение

0 голосов
/ 25 октября 2018

Какой риск подвергается пользователю, если он обращается к веб-приложению .net с олицетворением включенным ?

Какой уровень олицетворения является ASP.NET олицетворение ?

Это документация уровней олицетворения .

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

Ответы [ 2 ]

0 голосов
/ 10 ноября 2018

Вчера у меня был палавер с моим сисадмином.Если пользователь аутентифицирован с помощью kerberos , возможно, веб-приложение получает доступ к ресурсам на других серверах от имени пользователя (делегирование). Ограниченное делегирование Kerberos работает с белым списком .

Если моему приложению необходимо прочитать файлы в общей папке с учетными данными вошедшего в систему пользователя, администратор безопасности должен добавить запись о том, что мое приложение (идентификатор app-pool) обращается к этому файловому серверу от именивошедшего в систему пользователя.Я не могу создать вредоносное приложение, которое читает все электронные письма моего босса только потому, что он посещает мое веб-приложение.

См. https://blogs.technet.microsoft.com/pie/2017/06/30/credential-theft-made-easy-with-kerberos-delegation/

0 голосов
/ 25 октября 2018

Прежде всего вам необходимо понять, что такое ASP.NET Олицетворение .Помимо данного определения msdn, на языке неспециалистов олицетворение ASP.Net - это возможность получать информацию о пользователе, вошедшем в систему в Active Directory, на компьютере, используя клиентское приложение asp.net.

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

Чтобы непосредственно ответить на ваши вопросы, вот несколько соображений:

  • Если вы можете разместить приложение с IIS, имеющим ASP.impersonation, вы должны быть администратором этого компьютера (пользователи без прав администратора не могут даже открыть IIS)

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

  • ASP.Netолицетворение в основном предназначено для пользователей активных каталогов, а Active Directory существует в защищенных средах VPN или Office Premises.Вы должны быть активным пользователем каталога для доступа к олицетворению.Даже как-то вы сделали это (это невозможно без доступа администратора), а также аудит / системные журналы / сетевые журналы найдут, кто является виновником инсайдера, что сделал что-то подобное, и что это значит внутри организации (кроме увольнения), я оставляю на ваше усмотрение.

Тем не менее вы думаете, что олицетворение asp.net небезопасно, вы можете задавать вопросы.:)

ОБНОВЛЕНИЕ для комментариев


Ссылка уровня олицетворения, которую вы получили выше, предназначена для приложения для настольных компьютеров / Windows, которое работает с полным доверием.Олицетворение приложения ASP.net - это просто способ получить личность пользователя Active Directory с некоторыми определенными атрибутами, и он в основном используется для аутентификации и авторизации.Еще раз повторяю, ASP.net - это управляемое приложение внутри пула приложений, которое может выполнять только те действия, которые авторизованы для учетной записи, из которой вы разместили приложение, и с такими слишком нативными / административными действиями, как создание или изменение доступа пользователей Active Directory, невозможно без вызовакакой-то другой SDK, который уже является доверенным и установленным на этом компьютере.

Итак, подытожим, такие операции, как создание файлов или удаление файлов в том месте, где вы предоставили доступ к Веб-приложению для Справочника (также в сети, если есть разрешениепри развертывании для пользователя, который используется для хостинга, но не для входа в систему), но для удаления всего на сервере или выполнения административных задач, таких как AD, создание / изменение пользователя невозможно при входе в систему с помощью олицетворения администратора веб-приложения ASP.net без помощи уже установленного доверенного неуправляемого программного обеспечения, которое можетэтот.

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