Безопасно ли (в) предоставить ApplicationPoolIdentity доступ на запись к папке внутри папки вашего веб-приложения?

Недавно мы реализовали функцию, которая динамически генерирует LESS-файл в нашей папке App_Themes. Это делается при запуске приложения.

Это требует от нас предоставления доступа @ApplicationPoolIdentity@ для записи в папку App_Themes.

Однако наш системный администратор не хочет, чтобы мы предоставили @ApplicationPoolIdentity@ доступ для записи. По соображениям безопасности.

Это небезопасно делать это? Каковы риски безопасности?

1 ответ

Решение

Если в вашем приложении или в ASP.NET или в самом IIS были какие-либо уязвимости в удаленном выполнении кода, то любой, кто скомпрометирует вашу систему через ваше приложение или веб-сервер, скорее всего получит командную оболочку и войдет в систему, как, например, DefaultAppPool на вашем сервере.

Если есть доступ для записи в папку, то злоумышленник может написать в эту папку самостоятельно.

Например, они могут разместить свой собственный контент на вашем сайте по адресу example.com/App_Themes/index.htmlили они могут загрузить эксплойт, который позволил повысить привилегии администратору. В последнем случае им, вероятно, также потребуются разрешения на выполнение, если только они не смогут заставить веб-сервер выполнить его, например, запросив URL удаленного эксплойта.

Конечно, уязвимость должна быть в первую очередь, чтобы это произошло. Предотвращение доступа к записи также может рассматриваться как "глубокая защита", однако, если это требуется для вашего приложения, это может быть приемлемым риском. Альтернативой является поиск другого способа реализации желаемой функциональности.

Другие вопросы по тегам