WinRM (Windows Remote Management) — это реализация WS-Management в Windows от Microsoft, которая позволяет системам получать доступ к информации управления или обмениваться ею в общей сети. Используя объекты сценариев или встроенный инструмент командной строки, WinRM можно использовать с любыми удаленными компьютерами, которые могут иметь контроллеры управления основной платой (BMC) для получения данных. На компьютерах на базе Windows, включая WinRM, также можно получить определенные данные, предоставляемые Windows Management Instrumentation (WMI) . [1]
Встроенный инструмент командной строки управления системами, позволяющий оператору машины настраивать WinRM. Реализация состоит из файла Visual Basic Scripting (VBS) Edition (Winrm.vbs), который написан с использованием вышеупомянутого API скриптов WinRM.
winrs.exe
Еще один инструмент командной строки, позволяющий удаленно выполнять большинство команд Cmd.exe. Этот инструмент использует протокол WS-Management.
Обеспечивает управление оборудованием и облегчает контроль удаленного серверного оборудования через BMC. IPMI наиболее полезен, когда операционная система не запущена или не развернута, поскольку он позволяет продолжать удаленную работу аппаратного/программного обеспечения на голом железе.
WMI-плагин
Позволяет предоставлять данные WMI клиентам WinRM. [2]
WMI-сервис
Использует подключаемый модуль WMI для предоставления запрошенных данных или управления, а также может использоваться для получения данных из большинства классов WMI. Примеры включают Win32_Process, в дополнение к любым данным, предоставляемым IPMI.
Протокол WS-Management
Web Services Management — это открытый стандарт DMTF , определяющий протокол на основе SOAP для управления серверами, устройствами, приложениями и различными веб-сервисами. WS-Management предоставляет общий способ для систем получать доступ и обмениваться информацией управления по всей ИТ-инфраструктуре . [3]
Порты
По умолчанию WinRM HTTPS использует порт 5986, а HTTP использует порт 5985. По умолчанию порт 5985 находится в режиме прослушивания, но порт 5986 должен быть включен.
Распространенное использование
Ansible взаимодействует с серверами Windows через WinRM с помощью пакета Python pywinrm и может удаленно запускать скрипты и команды PowerShell . [4]
Secret Server от Thycotic также использует WinRM для обеспечения удаленного взаимодействия PowerShell. [5]
Программное обеспечение SolarWinds Server и Application Monitoring (SAM) использует сервер WinRM на контролируемых серверах для интеграции PowerShell. [6]
CloudBolt использует WinRM как часть Blueprints, Server Actions и CB Plugins для выполнения удаленных скриптов на серверах Windows с помощью модуля Python pywinrm. [7]
Безопасность
WinRM использует Kerberos для начальной аутентификации по умолчанию. Это гарантирует, что фактические учетные данные никогда не будут отправлены в клиент-серверных коммуникациях, вместо этого полагаясь на такие функции, как хеширование и билеты для подключения. [8] Хотя прослушиватели WinRM могут быть настроены на шифрование всех коммуникаций с использованием HTTPS , с использованием Kerberos, даже если используется незашифрованный HTTP, все коммуникации по-прежнему шифруются с использованием симметричного 256-битного ключа после завершения фазы аутентификации. Использование HTTPS с WinRM обеспечивает дополнительную безопасность, гарантируя идентификацию сервера с помощью сертификатов SSL/TLS, тем самым не давая злоумышленнику выдавать себя за него. [9]
Ссылки
^ windows-sdk-content. "Удаленное управление Windows - приложения Windows". docs.microsoft.com . Получено 21.02.2019 .
^ windows-sdk-content. "Глоссарий удаленного управления Windows - приложения Windows". docs.microsoft.com . Получено 21.02.2019 .