Запуск Windows под учетной записью без прав администратора

Опубликовано: 25 Марта, 2023

Наименьшие привилегии — это больше, чем принцип безопасности, это также спасение, когда дело касается повседневной работы администраторов. Причина в том, что пользователи — существа любопытные и склонны выходить за рамки того, что разрешает и запрещает политика компании. Дайте пользователю привилегии локального администратора на своем компьютере, и он, вероятно, попробует всевозможные вещи, такие как установка дополнительного программного обеспечения, изменение параметров конфигурации и даже просмотр реестра, чтобы увидеть, могут ли они «настроить» свою машину, чтобы она работала лучше.. Однако с точки зрения администратора это может иметь катастрофические последствия, поскольку неправильная настройка может привести к поломке какого-либо приложения или даже сделать их компьютер непригодным для использования. Затем пользователь взывает о помощи, и у вас, как у администратора, есть два варианта: стереть его компьютер и переустановить его образ из стандартного образа рабочего стола или потратить бесполезные часы, пытаясь устранить его проблему. Второй вариант обычно является пустой тратой времени, если только, вопреки политике компании, пользователь не сохраняет важные файлы на своем компьютере, а не в сети. И первый выбор почти как плевок против ветра — вы перерисовываете машину пользователя, а он просто снова ходит и дурачится с ней.


Групповая политика — это один из способов блокировки того, что пользователь может и чего не может делать на своих компьютерах и с использованием своих учетных данных. Но что, если политика компании (или культура, или политика, или профессиональные реалии) означают, что ваши пользователи должны иметь возможность устанавливать собственное программное обеспечение и настраивать параметры на своих компьютерах? Если это так, у вас есть два варианта: предоставить пользователям права локального администратора или не давать. Поскольку первый вариант вызывает проблемы, описанные выше, давайте рассмотрим возможности второго варианта.


Боль работы без прав администратора


Если вы решите не делать учетную запись пользователя в домене членом локальной группы администраторов на своем компьютере, пользователь, скорее всего, будет громко жаловаться по ряду причин, включая следующие:



  • Когда они пытаются установить программное обеспечение на свой компьютер, установка обычно завершается ошибкой.
  • Когда они пытаются настроить дату и время на панели управления, они получают диалоговое окно с сообщением о том, что у них недостаточно прав для этого.
  • Когда они пытаются настроить параметры питания на панели управления, они могут изменить настройку в графическом интерфейсе, но когда они нажимают «ОК», чтобы применить изменения, они получают сообщение об отказе в доступе.
  • Когда они хотят поделиться папкой на своем компьютере, чтобы другой пользователь мог получить доступ к их файлам, они не могут, потому что на листе свойств нет вкладки «Общий доступ» для папки, которой они хотят поделиться.

Обойти последние три жалобы довольно просто (сейчас я покажу вам, как это сделать), но проблема невозможности установить программное обеспечение является сложной проблемой по нескольким причинам. Во-первых, большинству программ (включая многие собственные приложения Microsoft) требуются права локального администратора для установки в любой версии Microsoft Windows. На первый взгляд, это требование связано с тем, что приложения должны писать в специальные области файловой системы и реестра. Но это не настоящая причина, по которой приложениям нужны права администратора для установки — настоящая причина в том, что разработчики, как правило, слишком ленивы, чтобы создавать пакеты программы установки или установщика Windows, которые будут работать без прав администратора. Это связано с тем, что для этого в качестве разработчика необходимо пройти через ряд обручей, а это означает дополнительную работу (которой большинство разработчиков хотят избежать). Но это также означает, что вы должны разрабатывать эти приложения самостоятельно, не имея привилегий администратора, и опять же, это сопряжено с большим количеством хлопот, поэтому большинство разработчиков не утруждают себя — гораздо проще разрабатывать приложение, если вы вошли в систему как администратор, поэтому большинство приложений де-факто также предназначен для запуска с правами администратора.


Установка программного обеспечения без прав администратора


Итак, как вы устанавливаете программное обеспечение, если у вас нет прав администратора на машине? Утомительный способ состоит в том, чтобы выйти из системы, войти в систему как администратор, установить программное обеспечение, выйти из системы, снова войти в систему с вашей учетной записью обычного пользователя, а затем начать использовать программное обеспечение в качестве обычного пользователя. Конечно, более причудливый способ — использовать функцию вторичного входа в систему (команду Runas.exe) в Windows 2000 и более поздних версиях. С файлами.exe (и файлами.msc или консолями) вы можете щелкнуть правой кнопкой мыши значок и выбрать «Запуск от имени…», а затем указать учетные данные локального администратора для установки программы. К сожалению, параметр «Запуск от имени…» не появляется, когда вы щелкаете правой кнопкой мыши файлы.msi, но обходной путь здесь — использовать Runas для открытия окна командной строки (cmd.exe) с учетными данными администратора, а затем запустить.msi файл для установки приложения.


К сожалению, некоторые программы после того, как они были установлены с правами администратора с использованием Runas, по-прежнему не работают должным образом, когда вы пытаетесь запустить их как обычный пользователь. Это связано с тем, что когда вы используете Runas для установки чего-либо, любые настройки для каждого пользователя, созданные подпрограммой установки, записываются в профиль пользователя для учетной записи локального администратора, а не в профиль пользователя обычной учетной записи, вошедшей в систему. И, конечно же, это вызывает проблемы, когда вы пытаетесь запустить установленную программу позже как обычный пользователь. Опять же, разработчик, написавший программу, мог бы обойти эту проблему, но зачем беспокоиться, если все равно все запускают Windows от имени администратора?


Я сам несколько раз сталкивался с подобными вещами как со сторонними приложениями Win32, так и с приложениями.NET Framework, и это расстраивает. Например, недавно я хотел пройти курс электронного обучения по разработке приложений ASP.NET от Microsoft. К сожалению, по какой-то причине я не смог загрузить курс (само приложение.NET) при входе в систему с использованием моей учетной записи пользователя домена, поэтому я открыл экземпляр Internet Explorer, используя учетные данные локального администратора, и успешно загрузил курс. Но когда я попытался запустить курс локально на своем компьютере, он не запустился, когда я вошел в систему как обычный пользователь. Поэтому я попытался использовать Runas для запуска курса с правами администратора, но он все равно не запустился. В конце концов мне пришлось выйти из системы, войти в систему как администратор, загрузить курс и запустить его, войдя в систему как администратор, чтобы заставить его работать. Раздражающий! Может быть, если бы я исследовал проблему глубже, я бы обнаружил, почему это не сработало в первый раз, но это, во-первых, иллюстрирует, почему большинство людей все время запускают Windows с правами администратора — если вы не работаете как администратор, вы можете потратить много времени, пытаясь заставить вещи работать.


Отвлекающий маневр с наименьшими привилегиями


Кроме того — и это то, что только недавно начали рассматривать эксперты по безопасности — может случиться так, что вся эта проблема наименьших привилегий в первую очередь является чем-то вроде отвлекающего маневра. Конечно, если вы вошли в систему как администратор и просматриваете Интернет, наткнетесь на какой-нибудь неприятный сайт и загрузите вирус, этот вирус получит контроль над вашей системой, используя ваши собственные учетные данные, то есть администратора. И если бы вы были обычным пользователем и просматривали тот же сайт, вирус имел бы только ограниченный доступ (уровень привилегий пользователя домена) в вашей системе, поэтому потенциальный ущерб был бы смягчен. Но на самом деле все сложнее. В конце концов, если вредоносное ПО, которое вы загружаете, является червем, использующим уязвимость в службе Windows, то на самом деле не имеет значения, под какой учетной записью вы вошли в систему.


Кроме того, самые умные черные хакеры уже заняты поиском новых способов создания вредоносного кода, который может завладеть вашей системой, даже если ваши права входа в систему минимальны. Из-за этого грядущая и широко разрекламированная функция учетной записи пользователя с наименьшими привилегиями (LUA) Longhorn (теперь Windows Vista), которая покончит с устаревшей группой опытных пользователей и позволит устанавливать и запускать LUA-совместимые приложения от обычного пользователя учетные данные на самом деле не панацея от проблем безопасности, связанных с использованием наименьших привилегий. Вы можете поспорить, что плохие парни найдут какой-нибудь способ обойти LUA или даже использовать его в своих интересах, открывая целый новый котел червей.


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


Некоторые обходные пути без прав администратора


Возвращаясь к нашему списку вещей, на которые жалуются обычные пользователи, давайте рассмотрим некоторые обходные пути. Допустим, вы вошли в систему как обычный пользователь и хотите открыть общий доступ к папке в вашей системе. Если вы откроете проводник Windows (explorer.exe) и щелкните папку правой кнопкой мыши, вкладки «Общий доступ» не будет, поэтому вы не сможете это сделать. И Runas не работает с explorer.exe, потому что Explorer уже работает как ваша оболочка, так что вам тоже не повезло. К счастью, есть обходной путь: используйте Runas для запуска Internet Explorer (iexplore.exe) вместо проводника Windows (explorer.exe). Затем, когда IE открыт, введите C: в адресную строку и нажмите кнопку «Папки» на панели инструментов, и вдруг вы увидите, что находитесь в проводнике Windows. Теперь перейдите к папке, которой вы хотите поделиться, щелкните ее правой кнопкой мыши и выберите «Общий доступ и безопасность», и все готово.


И пока мы это делаем, обратите внимание, что дерево папок в IE отображает узел панели управления. Выберите этот узел, и на правой панели вы увидите все апплеты панели управления. Попробуйте использовать дату и время, чтобы изменить системное время — это работает! Поскольку IE работает под учетными данными администратора, все приложения, к которым вы получаете доступ в нем, включая апплеты панели управления, также запускаются с учетными данными администратора. То же самое касается параметров питания, сетевых подключений, системы и других апплетов, функциональность которых ограничена при запуске без прав администратора.


Однако есть еще более простой способ (метод IE работает, но немного запутан, поскольку iexplore.exe не находится в системном пути), и он заключается в следующем:



  1. Выйдите из системы, а затем войдите в систему как администратор.
  2. Откройте проводник Windows
  3. Выберите «Инструменты», затем «Свойства папки», затем «Вид» и установите флажок «Запускать окна папок в отдельном процессе».
  4. Закройте проводник Windows и выйдите из системы.

Теперь, когда вы снова входите в систему как обычный пользователь, вы можете щелкнуть правой кнопкой мыши по файлу explorer.exe (или его ярлыку), выбрать «Запуск от имени…», указать учетные данные локальной учетной записи администратора, и теперь проводник Windows откроется с правами администратора.


Вывод


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


Каков ваш опыт в решении этой проблемы? Требуете ли вы, чтобы ваши пользователи запускали свои рабочие столы без прав администратора? С какими трудностями вы столкнулись при этом? И как вы пытались обойти эти трудности? Не стесняйтесь, напишите мне на [email protected], и я соберу ваши ответы для будущей статьи на WindowsNetworking.com, где я вернусь к проблеме запуска Windows без прав администратора.