Поделиться через


Защита удаленного подключения WMI

Чтобы подключиться к удаленному компьютеру с помощью WMI, убедитесь, что для подключения включены правильные параметры DCOM и параметры безопасности пространства имен WMI.

WMI имеет настройки олицетворения, проверки подлинности и службы проверки подлинности по умолчанию (NTLM или Kerberos), которые требуются целевому компьютеру при удалённом подключении. Локальный компьютер может использовать разные значения по умолчанию, которые целевая система не принимает. Эти параметры можно изменить в вызове подключения.

В этом разделе рассматриваются следующие разделы:

Параметры олицетворения и проверки подлинности DCOM для WMI

У WMI есть стандартные параметры олицетворения DCOM, аутентификации и сервиса аутентификации (NTLM или Kerberos), которые требуются удаленной системе. Локальная система может использовать разные значения по умолчанию, которые целевая удаленная система не принимает. Эти параметры можно изменить в сеансе подключения. Дополнительные сведения см. в разделе по настройке безопасности процесса клиентского приложения. Однако для службы проверки подлинности рекомендуется указать RPC_C_AUTHN_DEFAULT и разрешить DCOM выбрать соответствующую службу для целевого компьютера.

Вы можете указать настройки в параметрах для вызовов CoInitializeSecurity или CoSetProxyBlanket в C++. В скриптах можно установить параметры безопасности при помощи вызовов SWbemLocator.ConnectServer, в объекте SWbemSecurity или в строке пути для скрипта.

Список всех констант олицетворения C++ см. в разделе Настройка уровня безопасности процесса по умолчанию с использованием C++. Сведения о константах и строках скриптов Visual Basic для использования подключения моникера см. в разделе Настройка уровня безопасности процесса по умолчанию с помощьюVBScript.

В следующей таблице перечислены параметры имперсонации DCOM, проверки подлинности и службы проверки подлинности по умолчанию, необходимые целевому компьютеру (компьютер B) в удаленном подключении. Дополнительные сведения см. в разделе "Защита удаленного подключения WMI".

Операционная система "Компьютер B" Строка скрипта уровня имперсонации Строка скриптов уровня проверки подлинности Служба проверки подлинности
Windows Vista или более поздней версии Олицетворять Pkt Kerberos

 

На удаленные подключения WMI влияют контроль учетных записей пользователей (UAC) и брандмауэр Windows. Дополнительные сведения см. в статьях Удаленное подключение к WMI, начиная с Vista, и Подключение через брандмауэр Windows.

Помните, что подключение к WMI на локальном компьютере имеет уровень проверки подлинности по умолчанию PktPrivacy.

Настройка безопасности DCOM для разрешения пользователю удаленного доступа к компьютеру

Безопасность в WMI связана с подключением к пространству имен WMI. WMI использует DCOM для обработки удаленных вызовов. Одна из причин сбоя подключения к удаленному компьютеру вызвана сбоем DCOM (ошибка "Отказано в доступе DCOM" десятичной -2147024891 или шестнадцатеричной 0x80070005). Дополнительные сведения о безопасности DCOM в WMI для приложений C++ см. в разделе Настройка безопасности клиентского процесса приложений.

Параметры DCOM для WMI можно настроить с помощью служебной программы конфигурации DCOM (DCOMCnfg.exe) в Администрирование в Панели управления. Эта программа предоставляет параметры, позволяющие определенным пользователям подключаться к компьютеру удаленно через DCOM. Члены группы "Администраторы" по умолчанию могут удаленно подключаться к компьютеру. С помощью этой служебной программы можно настроить безопасность для запуска, доступа и настройки службы WMI.

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

Предоставление разрешений удаленного запуска и активации DCOM для пользователя или группы

  1. Щелкните Пуск, щелкните Запустить, введите DCOMCNFG, а затем нажмите кнопку ОК.

  2. В диалоговом окне "Компоненты служб" разверните "Компоненты служб", разверните "Компьютеры", а затем щелкните правой кнопкой мыши на "Мой компьютер" и выберите "Свойства".

  3. В диалоговом окне Свойства компьютера выберите вкладку Безопасность COM.

  4. В разделе Разрешения на запуск и активациющелкните Изменить ограничения.

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

    1. В диалоговом окне "Разрешение на запуск" щелкните Добавить.
    2. В диалоговом окне Выбор пользователей, компьютеров или групп добавьте своё имя и группу в поле Введите имена объектов для выбора и затем нажмите ОК.
  6. В диалоговом окне "Разрешение запуска" выберите пользователя и группу в поле "Группа или имена пользователей". В столбце "Разрешить" под "Разрешениями для пользователя" выберите "Удаленный запуск " и "Удаленную активацию ", а затем нажмите кнопку "ОК".

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

Предоставление разрешений удаленного доступа DCOM

  1. Нажмите Пуск, нажмите Выполнить, введите DCOMCNFG, а затем нажмите OK.
  2. В диалоговом окне Службы компонентов разверните Службы компонентов, разверните Компьютеры, затем щелкните правой кнопкой мыши на "Мой компьютер" и выберите Свойства.
  3. В диалоговом окне Свойства компьютера щелкните вкладку "Безопасность COM".
  4. В разделе "Разрешения доступа"нажмите "Изменить ограничения".
  5. В диалоговом окне Разрешения доступа выберите АНОНИМНЫЙ ВХОД в списке Группа или имена пользователей. В столбце Разрешения в разделе "Разрешения для Пользователь", выберите параметр Удаленный доступи нажмите ОК.

Разрешение доступа пользователей к определенному пространству имен WMI

Вы можете разрешить или запретить пользователям доступ к определенному пространству имен WMI, задав разрешение "Remote Enable" в элементе управления WMI для пространства имен. Если пользователь пытается подключиться к пространству имен, к которому им запрещен доступ, он получит ошибку 0x80041003. По умолчанию это разрешение включено только для администраторов. Администратор может включить удаленный доступ к определенным пространствам имен WMI для неадминистратора.

Следующая процедура задает разрешения удаленного включения для пользователя без администратора.

Настройка разрешений удаленного включения

  1. Подключитесь к удаленному компьютеру с помощью элемента управления WMI.

    Дополнительные сведения об элементе управления WMI см. в разделе Настройка безопасности пространства имен с помощью элемента управления WMI.

  2. На вкладке Безопасность выберите пространство имен и нажмите Безопасность.

  3. Найдите соответствующую учетную запись и проверьте наличие флага Удаленное включение в списке разрешений.

Настройка безопасности пространства имен для требования шифрования данных для удаленных подключений

Администратор или MOF-файл могут настроить пространство имен WMI таким образом, чтобы данные не возвращались, если вы не используете конфиденциальность пакетов (RPC_C_AUTHN_LEVEL_PKT_PRIVACY или PktPrivacy в качестве моникера в скрипте) в соединении с этим пространством имен. Это гарантирует, что данные шифруются по мере пересечения сети. При попытке установить более низкий уровень проверки подлинности вы получите сообщение об отказе в доступе. Дополнительные сведения см. в разделе Требование зашифрованного подключения к пространству имен.

В следующем примере кода VBScript показано, как подключиться к зашифрованным пространствам имен с помощью pktPrivacy.

strComputer = "RemoteComputer"
Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate,authenticationLevel=pktPrivacy}!\\" _
                              & strComputer & "\root\EncryptedNamespace")

Делегирование при помощи WMI

Создание процессов удалённо с помощью WMI

защита клиентов и поставщиков C++

Защита клиентов скриптов