Специалисты по безопасности давно рекомендуют администраторам использовать две учетные записи - одну повседневную, другую для административных задач. При работе с административными полномочиями повышается уязвимость к атакам от вредных программ. Более того, пользователь с административными полномочиями получает широкие возможности, в том числе назначать пароли, права владения для файлов, пользователей и групп, и многие другие. Администраторы должны ограничивать применение административных полномочий и одновременно предоставлять пользователям достаточные права для обычной работы. Один из способов совместить два этих требования - разрешить некоторым пользователям работать с административными полномочиями и настроить наиболее уязвимые приложения - электронной почты, IM, и браузер - на работу с учетными записями Guest, имеющими малые полномочия. Рассмотрим ситуации, в которых выгодно применять учетную запись Guest, и способы организации такой учетной записи.

Почему именно Guest?

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

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

Более удачное решение - совместно с пользователями найти лучший баланс между безопасностью и производительностью, чтобы сотрудники охотнее участвовали в обеспечении безопасности. С помощью учетных записей Guest можно удовлетворить потребности квалифицированных пользователей, нуждающихся в привилегированном доступе, и одновременно предоставить им защиту, необходимую для определенных задач.

Минимальные полномочия

Учетные записи Guest - пример использования минимальных полномочий: каждому пользователю предоставляются только права, необходимые для выполнения должностных обязанностей. Познакомиться с минимальными полномочиями и способами их реализации можно в статье "Большие возможности малых полномочий" на нашем сайте.

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

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

Варианты учетных записей

Как правило, следует работать с неадминистративными полномочиями и использовать такие инструменты, как утилита Runas (runas.exe) для выполнения конкретных задач в качестве администратора. При данном подходе, определенные пользователи могут регистрироваться в качестве администраторов для большинства операций, но выполнять некоторые особенно рискованные действия как гости. Недостаток Runas - необходимость обслуживать две учетные записи для пользователей (пользовательскую и Administrator), для каждой из которых приходится помнить пароль, управлять двумя наборами разрешений и профилями. Более того, возможности обычных учетных записей пользователей достаточны, чтобы причинить серьезный вред, и как правило, обеспечивают доступ к сети и другим уязвимым ресурсам.

Однако, для многих операций в Internet не нужны уровень полномочий и даже обычная учетная запись пользователя. Идеальный выбор в такой ситуации -- встроенная учетная запись Guest. Она уже настроена на ограниченный доступ, и как локальная учетная запись, не имеет доступа к домену. Кроме того, защита учетной записи с ограниченными полномочиями - менее трудоемкая задача для администратора. Например, можно позволить пользователям работать до 6 месяцев без смены пароля.

Подготовка учетной записи Guest

Прежде, чем приступить к работе с учетной записью Guest, необходимо провести предварительную подготовку. По умолчанию, учетная запись блокирована и не имеет пароля. Могут также существовать ограничения Group Policy, которые отключают и переименовывают эту учетную запись.

Во-первых, следует настроить или отменить любые политики безопасности, которые могут воздействовать на учетную запись Guest. Затем следует настроить основные параметры учетной записи, выполнив из командной строки следующую команду:

net user "Guest" * /active:yes
/passwordchg:yes
/passwordreq:yes
/workstations:%COMPUTERNAME%

Из-за недостатка места данная команда напечатана на нескольких строках, но вводить ее следует одной строкой. После нажатия на клавишу Enter на экране появляется приглашение ввести новый пароль для учетной записи. Следует указать подходящий пароль, а затем повторно ввести пароль, чтобы подтвердить его.

Наконец, необходимо завершить сеанс и вновь зарегистрироваться с использованием учетной записи Guest. Это позволит настроить параметры браузера и безопасности. Полезно также внести изменения в настройки Windows и браузера, чтобы без труда различать учетные записи. Например, можно применять различные инструментальные панели или «обои» в зависимости от используемого браузера. Можно также использовать различные фоновые изображения для Microsoft Internet Explorer (IE). Соответствующие рекомендации опубликованы по адресу http://www.winguides.com/registry/display.php/66. После того, как настройка приложений будет завершена, следует завершить сеанс и вновь зарегистрироваться из учетной записи Administrator.

Пользователям часто требуется загружать файлы из Internet, поэтому удобно создать совместную папку для учетных записей Administrator и Guest. Этой папке следует назначить ограниченные полномочия, разрешив только минимальный доступ, необходимый для загрузки файлов. Например, можно запретить Guest запускать любые файлы из этой папки.

Работа в качестве Guest

Существует несколько способов запуска приложений из учетной записи Guest. Самый быстрый способ - просто ввести команду Runas или активизировать runas.exe из командного файла. Чтобы воспользоваться командой Runas, следует щелкнуть правой кнопкой мыши на пиктограмме приложения и выбрать из меню пункт Run as. В Windows 2000 необходимо нажать и удерживать клавишу Shift, и щелкнуть правой кнопкой мыши. В диалоговом окне следует щелкнуть на переключателе The following user и ввести имя пользователя (Guest) и пароль (Экран 1).

Экран 1. Ввод данных учетной записи Guest для команды Runas.

Runas можно запустить из командной строки, указав параметр /savecred, чтобы сохранить пароль и не вводить его каждый раз. Как правило, это рискованный прием, но поскольку в данном случае Runas используется для активизации учетной записи Guest из учетной записи Administrator, сохранение пароля не связано с серьезным риском. Вряд ли имеет смысл запускать программы в качестве локального гостя, уже располагая доступом к привилегированной учетной записи.

Если пользователю требуется более широкая функциональность, чем обеспечивается встроенной командой Runas, то можно применить один из многочисленных инструментов сторонних поставщиков. Например, компания Wingnut Software (http://www.wingnutsoftware.com) предоставляет утилиту Encrypted RunAs, которая позволяет сохранить данные учетной записи в зашифрованном формате.

Другой инструмент, бесплатная утилита SUperior SU (http://www.stefankuhr.de/supsu/main.php3), позволяет не только запустить процесс от имени другого пользователя, но и активизирует особый "рабочий стол" для этого пользователя в целях дополнительной защиты.

Лучший способ напомнить пользователям о необходимости использовать учетную запись Guest для опасных операций, таких как просмотр подозрительных сайтов в Internet - заменить обычные пиктограммы "рабочего стола" и меню Start новыми значками для запуска приложений из учетной записи Guest. При этом пользователи не забудут зарегистрироваться в качестве Guest. В свойствах ярлыка можно щелкнуть на кнопке Advanced и установить флажок Run with different credentials. В результате пользователь, дважды щелкнувший на ярлыке, чтобы запустить приложение, будет всегда получать приглашение ввести другие учетные данные(Экран 2). Данный метод требует, чтобы пользователь вводил пароль каждый раз при запуске приложения, поэтому удобнее использовать одну из упомянутых выше утилит. С их помощью можно сохранить пользовательские учетные данные и предоставить больше вариантов для запуска приложения.

Экран 2. Создание ярлыка "рабочего стола" для работы с другим мандатом пользователя.

Частичное решение

Следует помнить, что использование учтеной записи Guest - лишь одна составная часть стратегии безопасности. С ее помощью нельзя полностью устранить угрозы; она только минимизирует эти опасности. Использование учетной записи Guest - одна из реализаций подхода использоания минимальных полномочий, которая, как часть более широкой политики безопасности, может значительно сократить площадь атаки. С целью повышения безопасности следует подключать рабочие станции пользователей только к доверенным сетям и использовать такие средства, как персональный брандмауэр, программы борьбы с вирусами и шпионажем для ограничения сетевого трафика, фильтрации входящих почтовых сообщений и блокирования загрузки и установки вредного программного обеспечения. Самое важное - активно просвещать пользователей об опасностях и методах самозащиты.

Mark Burnett (mburnett@xato.net) - независимый программный консультант по безопасности и автор, специализирующийся на безопасности Windows. Он обладатель сертификата IIS MVP и автор книги Hacking the Code (издательство Syngress).