Кто я? Понимание учетных данных

Опубликовано: 8 Апреля, 2023


Введение


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



Вход в систему изначально


При входе на компьютер, присоединенный к домену Active Directory, у вас есть два (минимум) варианта. Во-первых, вы можете войти в домен, используя учетную запись пользователя, настроенную для вас администратором домена. Эта учетная запись будет вашей учетной записью домена. Во-вторых, вы можете войти в систему локально, то есть на компьютере, к которому подключена клавиатура. Каждый компьютер имеет локальную базу данных учетных записей пользователей, известную как диспетчер учетных записей безопасности (SAM).


Вы можете увидеть эти две опции на рис. 1. В Windows 7 эти опции не так очевидны, как раньше. Если вы нажмете «Как войти в другой домен?», локальный компьютер даже укажет (этот компьютер), чтобы дать вам представление о том, что вы используете учетную запись пользователя, хранящуюся на локальном компьютере, а не ту, которая хранится на контроллер домена.



Изображение 23159
Рисунок 1:
Первоначальный вход на компьютер, присоединенный к домену Active Directory.


Если ваш компьютер не присоединен к домену Active Directory, при входе в систему будет только один вариант. Это, конечно, будет означать вход на локальный компьютер с использованием учетной записи пользователя, хранящейся в локальном SAM. Вы не увидите никаких опций на экране входа в систему, так как вы должны войти в систему локально, как показано на рисунке 2.



Изображение 23160
Рисунок 2:
Первоначальный вход на компьютер, который не присоединен к домену Active Directory.


Доступ к ресурсам и запуск приложений с учетными данными, входящими в систему


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



  • Локальное имя пользователя и идентификатор безопасности (SID)
  • Локальные группы SAM, в которых состоит ваш пользователь, и их SID
  • Права пользователя локального компьютера, для которых были настроены пользователь и группы

Вы можете увидеть этот токен аутентификации с помощью такого инструмента, как Process Explorer, который показывает токен процесса для каждого процесса. Маркер аутентификации копируется для каждого процесса, который запускается по умолчанию. На рис. 3 показано, как будет выглядеть токен процесса для локально вошедшего в систему пользователя, обращающегося к локальному приложению.


Изображение 23161
Рисунок 3:
Токен процесса для локального пользователя.


При использовании этого типа входа единственными ресурсами, к которым вы сможете получить доступ без использования альтернативных учетных данных, будут те, которые хранятся локально на компьютере. Поскольку локальным пользователям не могут быть предоставлены разрешения на доступ к сетевым ресурсам (те файлы, которые хранятся на серверах и сетевых устройствах хранения) или привилегии на других компьютерах, область действия ограничена. Когда вы пытаетесь получить доступ к ресурсу, расположенному не на локальном компьютере, вы обычно получаете одно из двух сообщений. Первым будет сообщение об отказе в доступе. Вторым типом сообщения будет запрос на ввод учетных данных для доступа к ресурсу. Это автоматический запрос, связанный с тем, что токен, представляемый ресурсу (серверу, содержащему ресурс), знает, что пользователь и/или группы, указанные в токене, не указаны в списке управления доступом к ресурсам (ACL). Сообщение второго типа будет выглядеть так, как показано на рисунке 4.



Изображение 23162
Рисунок 4:
Запрашивать альтернативные учетные данные при доступе к сетевым ресурсам и локальном входе в систему.


Выполнение запуска от имени или подключение от имени другого пользователя


Часто пользователю необходимо использовать альтернативные учетные данные для доступа к ресурсу компьютера или сетевому ресурсу. Это можно сделать несколькими способами. Во-первых, пользователь может подключиться к сетевому ресурсу с помощью подключенного диска. В конфигурации подключенного диска пользователь может использовать альтернативные учетные данные. Вы можете увидеть этот вариант на рисунке 5.



Изображение 23163
Рисунок 5:
Сопоставление диска с использованием альтернативных учетных данных.


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


Третий вариант — выполнить запуск от имени. RunAs — это возможность запускать приложение или аналогичную компьютерную утилиту с альтернативными учетными данными. Вы можете увидеть диалоговое окно RunAs, показанное на рисунке 6.



Изображение 23164
Рис. 6.
Выполнение действия с помощью функции запуска от имени.


Доступ к ресурсам от имени другого пользователя


После того, как вы установили соединение с ресурсом или запустили приложение с альтернативными учетными данными, компьютер должен отслеживать все действия, выполняемые каждым «вошедшим в систему пользователем», на основе действий, выполняемых в рамках соединения. Например, если пользователь запускает приложение от имени другого пользователя, только действия, выполняемые из этого действия, используют альтернативные учетные данные. Вы можете увидеть учетные данные приложения, запущенного с использованием альтернативных учетных данных с подключенного диска, на рис. 7.



Изображение 23165
Рисунок 7:
Process Explorer показывает альтернативные учетные данные через подключенный диск.


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


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


Резюме


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