|
Допустимые значения: |
|
|
Значение по умолчанию: |
yes |
Эта директива предписывает программе установки сделать попытку включить для своего процесса защитную функцию Windows – RedirectionGuard. Программа удаления (деинсталлятор) также включает защиту RedirectionGuard для своего процесса, если она была успешно активирована во время последней установки приложения. Это позволяет предотвратить уязвимости безопасности, связанные с перенаправлением путей.
Защитная
функция RedirectionGuard
доступна в Windows
11 и Windows 10 начиная с версии 22H2, блокирует обход точек NTFS-соединений
и символических ссылок, созданных непривилегированными пользователями (или
любыми процессами без повышенных прав).
RedirectionGuard особенно полезен для установщиков, которые читают или записывают файлы в каталогах, доступных для записи непривилегированными пользователями, например, в папке {commonappdata}. К примеру, если известно, что установщик обращается к {commonappdata}\YourApp, непривилегированный пользователь может создать в этом месте символическую ссылку, чтобы перенаправить все обращения к {commonappdata}\YourApp по другому, произвольно выбранному пути. Если установщик не включает RedirectionGuard, эта ссылка может обмануть установщик и заставить его создавать или изменять файлы в каталоге, к которому сам непривилегированный пользователь не имеет доступа. Это представляет собой повышение привилегий и потенциально может позволить непривилегированному пользователю получить полный контроль над системой.
Однако наилучшей практикой является по возможности избегать доступа к общедоступным для записи каталогам, таким как {commonappdata}. Файлы конфигурации и данные, предназначенные для записи только установщиком или администраторами, следует размещать в {app} (т.е. в "Program Files"), но не в {commonappdata}.
Дочерние процессы, запускаемые в ходе установки или удаления, наследуют механизм защиты RedirectionGuard. Исключение составляют дочерние процессы, запускаемые программой установки с учётными данными (как правило, без повышенных привилегий) того пользователя, который изначально запустил процесс установки — например, процессы, инициированные записями в секции [Run] с флагом runasoriginaluser или postinstall, либо функциями ExecAsOriginalUser и ShellExecAsOriginalUser. Примечания:
Когда RedirectionGuard блокирует доступ к пути, любое отображаемое или регистрируемое сообщение об ошибке обычно будет содержать код ошибки 448. Если выяснится, что заблокированная точка соединения была создана для какой-то безобидной цели, то рекомендуется удалить и создать точку соединения заново с правами администратора (запустив команду MKLINK из командной строки с повышенными правами). Отключение RedirectionGuard, как правило, не требуется.
Для включения или отключения функции программа установки и удаления
также поддерживают параметры командной строки /NOREDIRECTIONGUARD
и /REDIRECTIONGUARD, которые имеют приоритет над настройкой
этой директивы.
Статус RedirectionGuard отмечается в журнале, что позволяет проверить, была ли защитная функция активна в процессе установки или удаления.
Параметры командной строки инсталлятора
Параметры командной строки деинсталлятора