Проверка подлинности для удаленных подключений

Удаленное управление Windows обеспечивает безопасность обмена данными между компьютерами, поддерживая несколько стандартных методов проверки подлинности и шифрования сообщений.

Доступ к группе по умолчанию

Во время установки WinRM создает локальную группу WinRMRemoteWMIUsers__. Затем WinRM ограничивает удаленный доступ для любого пользователя, не являющегося членом группы локального администрирования или группы WinRMRemoteWMIUsers__ . Вы можете добавить локального пользователя, пользователя домена или группу домена в WinRMRemoteWMIUsers__ , введя в командной строке команду net localgroup WinRMRemoteWMIUsers__ /add <domain>\<username> . При необходимости можно использовать групповая политика, чтобы добавить пользователя в группу.

Параметры проверки подлинности по умолчанию

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

Переход на другую учетную запись на удаленном компьютере

  1. Укажите учетные данные в объекте ConnectionOptions или IWSManConnectionOptions и добавьте их в вызов CreateSession .
  2. Задайте WSManFlagCredUserNamePassword в параметре flags в вызове CreateSession .

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

  • Kerberos — это метод проверки подлинности по умолчанию, если клиент находится в домене, а строка удаленного назначения не является одной из следующих: localhost, 127.0.0.1 или [::1].
  • Negotiate — это метод по умолчанию, если клиент не находится в домене, но строка удаленного назначения имеет одно из следующих значений: localhost, 127.0.0.1 или [::1].

Если вы предоставляете явные учетные данные с помощью объекта ConnectionOptions , по умолчанию используется метод Negotiate. Согласование проверки подлинности определяет, является ли текущим методом проверки подлинности Kerberos или NTLM в зависимости от того, находятся ли компьютеры в домене или рабочей группе. При подключении к удаленному целевому компьютеру с помощью локальной учетной записи она должна иметь префикс имени компьютера. Например, myComputer\myUsername.

Если указать Negotiate, Digest или Basic authentication и не указать объект ConnectionOptions , появится сообщение об ошибке, указывающее, что требуются явные учетные данные. Если httpS не является транспортом, то целевой удаленный компьютер должен быть настроен в списке доверенных ведущих компьютеров.

Дополнительные сведения о типах проверки подлинности, включенных в параметрах конфигурации по умолчанию, см. в разделе Установка и настройка удаленного управления Windows.

Обычная проверка подлинности

Чтобы явно установить обычную проверку подлинности в вызове WSMan.CreateSession, установите флаги WSManFlagUseBasic и WSManFlagCredUserNamePassword в параметре flags . Обычная проверка подлинности отключена в параметрах конфигурации по умолчанию как для клиента WinRM, так и для сервера WinRM.

Дайджест-проверка подлинности

Чтобы явно установить дайджест-проверку подлинности в вызове WSMan.CreateSession, установите флаг WSManFlagUseDigest в параметре flags . Дайджест не поддерживается. Его нельзя настроить для компонента сервера WinRM.

Согласование проверки подлинности

Чтобы явно установить проверку подлинности Negotiate , также известную как встроенная проверка подлинности Windows, в вызове WSMan.CreateSession установите флаг WSManFlagUseNegotiate в параметре flags .

Контроль учетных записей (UAC) влияет на доступ к службе WinRM. Если в рабочей группе используется проверка подлинности Negotiate, доступ к службе может получить только встроенная учетная запись администратора. Чтобы разрешить всем учетным записям в группе Администраторы доступ к службе, задайте следующее значение реестра:

HKEY_LOCAL_MACHINE\ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ\Microsoft\Windows\CurrentVersion\Политики\Системы\LocalAccountTokenFilterPolicy = 1

Проверка подлинности Kerberos

Чтобы явно установить проверку подлинности Kerberos в вызове WSMan.CreateSession, установите флаг WSManFlagUseKerberos в параметре flags . Клиентский и серверный компьютеры должны быть присоединены к домену. При использовании Kerberos в качестве метода проверки подлинности IP-адрес нельзя использовать в вызове WSMan.CreateSession или IWSMan::CreateSession.

Проверка подлинности на основе сертификата клиента

Чтобы установить проверку подлинности на основе сертификата клиента в вызове WSMan.CreateSession, установите флаг WSManFlagUseClientCertificate в параметре flags .

Сначала необходимо включить проверку подлинности на основе сертификата как для клиента, так и для службы с помощью программы командной строки Winrm. Дополнительные сведения см. в разделе Включение параметров проверки подлинности. Необходимо также создать запись в таблице CertMapping на компьютере сервера WinRM. Это устанавливает сопоставление между одним или несколькими сертификатами и локальной учетной записью. После использования сертификата для проверки подлинности и авторизации соответствующая локальная учетная запись используется для операций, выполняемых службой WinRM.

Сопоставление можно создать для определенного URI ресурса. Чтобы узнать больше, в том числе о том, как создать запись таблицы CertMapping, введите winrm help certmapping в командной строке.

Примечание

Максимальный размер сертификата, который может использовать WinRM в этом контексте, составляет 16 КБ.

 

Включение или отключение параметров проверки подлинности

Параметр проверки подлинности по умолчанию при установке системы — Kerberos. Дополнительные сведения см. в статье Установка и настройка удаленного управления Windows.

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

Включение или отключение проверки подлинности с помощью средства Winrm

  1. Чтобы задать конфигурацию для клиента WinRM, используйте команду Winrm Set и укажите клиент. Например, следующая команда отключает дайджест-проверку подлинности для клиента.

    winrm set winrm/config/client/auth @{Digest="false"}

  2. Чтобы задать конфигурацию для сервера WinRM, используйте команду Winrm Set и укажите службу. Например, следующая команда включает проверку подлинности Kerberos для службы.

    winrm set winrm/config/service/auth @{Kerberos="true"}

Сведения об удаленном управлении Windows

WSMan.CreateSession

Использование удаленного управления Windows