Я запускаю изолированное приложение от имени локального пользователя. Теперь я хочу запретить этому пользователю почти все разрешения файловой системы для защиты системы, за исключением нескольких рабочих папок и некоторых системных DLL (я назову этот набор файлов и каталогов X
ниже).
Пользователь песочницы не входит ни в одну группу. Значит, у него не должно быть разрешений, верно? Неправильно, потому что все «Прошедшие проверку» являются членами локальной группы «Пользователи», и эта группа имеет доступ почти ко всему.
Я думал о рекурсивном добавлении запрещающих ACL-записей в все файлы и каталоги и вручную удалить их из X
. Но это кажется чрезмерным.
Я также подумал об удалении «Прошедших проверку пользователей» из группы «Пользователи». Но я боюсь непредвиденных побочных эффектов. Вполне вероятно, что на это полагаются и другие вещи. Это верно?
Есть ли лучшие способы сделать это? Как бы вы ограничили права доступа к файловой системе (очень) ненадежной учетной записи?
Дайте запрет этому пользователю в корне диска для exerything, кроме «Traverse Folder», а затем предоставьте явное разрешение там, где вы хотите, чтобы он мог читать. Вообще говоря, удаление прошедших проверку пользователей из списка пользователей - не лучшая идея.
Следует иметь в виду пару вещей:
Отключить обход обходной проверки для этого пользователя.
Явные разрешения имеют приоритет над унаследованными запретами.
я буду не рекомендуют изменить группы безопасности «Прошедшие проверку» или «Пользователи».
Я не думаю, что это правильный подход.
Что вам действительно нужно сделать, так это установить списки ACL для имеющихся у вас конфиденциальных данных (например, если у пользователей есть домашние папки на этом компьютере, вам следует изменить их ACL, чтобы только этот пользователь и администраторы имели к нему доступ).
В итоге я выбрал «излишнее» решение:
icacls c:\* /T /C /deny MyComputer\SandboxUser:(OI)(CI)F
Это добавляет запрещающие записи ко всем файлам и каталогам. Затем я использовал Монитор процесса чтобы увидеть, какие разрешения мне нужно изменить вручную, чтобы приложение работало.
Помните, что даже очень ненадежному пользователю, которому вы хотите войти в свою систему, потребуется доступ для чтения к определенным системным файлам. Что вас здесь беспокоит? Если вы беспокоитесь о том, что пользователь сможет удалить системные файлы и т.п., то стандартная учетная запись, вероятно, обеспечит необходимую безопасность. Сделайте их членом группы «Гости», если вы действительно обеспокоены.
Если ты действительно действительно Если вы обеспокоены, возможно, рассмотрите возможность применения более строгого шаблона безопасности к системе (или используйте Мастер настройки безопасности, если вы говорите о Windows 7/2008 или более поздней версии), но имейте в виду, что это может нарушить работу других пользователей.