Как всем, наверное, известно, в системе есть такие встроенные пользователи как:
- LocalService
- NetworkService
- LocalSystem
Что это за пользователи, и чем они отличаются? Зачем они собственно нужны? Особенно первые два.
Сначала о них. Первые два пользователя появились в win2k3/win xp. Эти учетные записи созданы специально для обеспечения безопасного исполнения служб. Раньше все службы исполнялись либо с правами Local System, либо с правами специально созданного пользователя. Это, в некотором роде создавало проблему, поскольку не все стремились создавать пользователей под каждую установленную службу, а тем более следить за паролями и правами этих пользователей.
В конечном итоге родились два этих специфических пользователя. Первый из них, обладает следующими привилегиями:
- SE_ASSIGNPRIMARYTOKEN_NAME (disabled)
- SE_AUDIT_NAME (disabled)
- SE_CHANGE_NOTIFY_NAME (enabled)
- SE_CREATE_GLOBAL_NAME (enabled)
- SE_IMPERSONATE_NAME (enabled)
- SE_INCREASE_QUOTA_NAME (disabled)
- SE_SHUTDOWN_NAME (disabled)
- SE_UNDOCK_NAME (disabled)
- Любыми другими привилегиями, назначенными пользователям и аутентифицированным пользователям (Authenticated Users)
При работе в сети этот пользователь аутентифицируется как анонимный пользователь. В отличие от него NetworkService представляется другим системам в сети как учетная запись компьютера, на котором он запущен, а так же его маркер доступа (token) содержит SID’ы групп everyone и Authenticated Users. Имеет такой набор привилегий:
- SE_ASSIGNPRIMARYTOKEN_NAME (disabled)
- SE_AUDIT_NAME (disabled)
- SE_CHANGE_NOTIFY_NAME (enabled)
- SE_CREATE_GLOBAL_NAME (enabled)
- SE_IMPERSONATE_NAME (enabled)
- SE_INCREASE_QUOTA_NAME (disabled)
- SE_SHUTDOWN_NAME (disabled)
- SE_UNDOCK_NAME (disabled)
- Любыми другими привилегиями, назначенными пользователям и аутентифицированным пользователям (Authenticated Users)
И наконец LocalSystem. В сети он представляется как компьютер, на котором он запущен. Однако набор его привилегий намного более обширен:
- SE_ASSIGNPRIMARYTOKEN_NAME (disabled)
- SE_AUDIT_NAME (enabled)
- SE_BACKUP_NAME (disabled)
- SE_CHANGE_NOTIFY_NAME (enabled)
- SE_CREATE_GLOBAL_NAME (enabled)
- SE_CREATE_PAGEFILE_NAME (enabled)
- SE_CREATE_PERMANENT_NAME (enabled)
- SE_CREATE_TOKEN_NAME (disabled)
- SE_DEBUG_NAME (enabled)
- SE_IMPERSONATE_NAME (enabled)
- SE_INC_BASE_PRIORITY_NAME (enabled)
- SE_INCREASE_QUOTA_NAME (disabled)
- SE_LOAD_DRIVER_NAME (disabled)
- SE_LOCK_MEMORY_NAME (enabled)
- SE_MANAGE_VOLUME_NAME (disabled)
- SE_PROF_SINGLE_PROCESS_NAME (enabled)
- SE_RESTORE_NAME (disabled)
- SE_SECURITY_NAME (disabled)
- SE_SHUTDOWN_NAME (disabled)
- SE_SYSTEM_ENVIRONMENT_NAME (disabled)
- SE_SYSTEMTIME_NAME (disabled)
- SE_TAKE_OWNERSHIP_NAME (disabled)
- SE_TCB_NAME (enabled)
- SE_UNDOCK_NAME (disabled)
На самом деле, редко каким службам необходим такой набор возможностей. Поэтому Microsoft рекомендует использовать для своих целей любой из первых двух, в зависимости от потребностей.
Мало того, в Vista/Win7 появилась возможность еще более активно манипулировать привилегиями. Для этого в sc.exe появился параметр privs:
sc privs
ОПИСАНИЕ.
Изменение параметра необходимых прав для службы.
Параметры прав вступают в силу, когда процесс службы запускается при
запуске первой службы процесса. В этот момент диспетчер управления
службами (SCM) определяет набор всех прав, необходимых всем
службам-участникам этого процесса, а затем создает процесс с такими
правами. Если данный параметр отсутствует, предполагается, что службе
требуются все права, разрешенные подсистемой безопасности для процесса,
который выполняется от имени учетной записи, настроенной для этой
службы.
ИСПОЛЬЗОВАНИЕ:
sc <сервер> privs [имя службы] [права]
ПАРАМЕТРЫ:
права = <Права(разделенные косой чертой (/))>
[Например, SeBackupPrivilege/SeRestorePrivilege]
Этот параметр позволяет дополнительно управлять (удалять/добавлять) привилегии службы. На самом деле эти настройки хранятся в реестре, например у dhcp клиента они такие:
Однако это не всегда так. Например:
в случае с одним из экземпляров процесса svchost, запущеным под LocalService, набор привилегий складывается как все привилегии перечисленные в той группе служб, в которой запускается наш dhcp клиент. В итоге у процесса этих самых привилегий может оказаться немножко больше.
Комментариев нет:
Отправить комментарий