Безопасно ли (в) предоставить ApplicationPoolIdentity доступ на запись к папке внутри папки вашего веб-приложения?
Недавно мы реализовали функцию, которая динамически генерирует LESS-файл в нашей папке App_Themes. Это делается при запуске приложения.
Это требует от нас предоставления доступа @ApplicationPoolIdentity@ для записи в папку App_Themes.
Однако наш системный администратор не хочет, чтобы мы предоставили @ApplicationPoolIdentity@ доступ для записи. По соображениям безопасности.
Это небезопасно делать это? Каковы риски безопасности?
1 ответ
Если в вашем приложении или в ASP.NET или в самом IIS были какие-либо уязвимости в удаленном выполнении кода, то любой, кто скомпрометирует вашу систему через ваше приложение или веб-сервер, скорее всего получит командную оболочку и войдет в систему, как, например, DefaultAppPool
на вашем сервере.
Если есть доступ для записи в папку, то злоумышленник может написать в эту папку самостоятельно.
Например, они могут разместить свой собственный контент на вашем сайте по адресу example.com/App_Themes/index.html
или они могут загрузить эксплойт, который позволил повысить привилегии администратору. В последнем случае им, вероятно, также потребуются разрешения на выполнение, если только они не смогут заставить веб-сервер выполнить его, например, запросив URL удаленного эксплойта.
Конечно, уязвимость должна быть в первую очередь, чтобы это произошло. Предотвращение доступа к записи также может рассматриваться как "глубокая защита", однако, если это требуется для вашего приложения, это может быть приемлемым риском. Альтернативой является поиск другого способа реализации желаемой функциональности.