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

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

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

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

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

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

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

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

В следующем списке содержится список того, что происходит при выполнении скрипта или приложения под учетными данными по умолчанию:

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

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

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

Дополнительные сведения о типах проверки подлинности, включенных в параметрах конфигурации по умолчанию, см. в разделе Installation and Configuration for Windows Remote Management.

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

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

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

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

Договориться об аутентификации

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

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

HKEY_LOCAL_MACHINESOFTWAREМайкрософтWindowsCurrentVersionPoliciesSystemLocalAccountTokenFilterPolicy = 1

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

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

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

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

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

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

Замечание

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

 

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

Параметр проверки подлинности по умолчанию при установке системы — Kerberos. Дополнительные сведения см. в разделе Installation and Configuration for Windows Remote Management.

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

Включение или отключение проверки подлинности с помощью средства 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 Remote Management