Открыть сервисСервис

CIM-сервер

CIM-сервер — это программный компонент, реализующий интерфейс Common Information Model (CIM) и предоставляющий стандартизированный доступ к данным управления операционной системой, аппаратным обеспечением и приложениями. CIM-сервер выступает в роли посредника между клиентскими приложениями (например, системами мониторинга, средствами автоматизации) и управляемыми ресурсами, обеспечивая единообразное представление информации независимо от производителя оборудования или программного обеспечения.

История и происхождение

Концепция CIM была разработана в 1990-х годах Distributed Management Task Force (DMTF) — международной организацией, занимающейся стандартизацией в области управления ИТ-инфраструктурой. Целью создания CIM было преодоление фрагментации протоколов управления (SNMP, DMI, WBEM) и обеспечение универсального способа описания и доступа к управляющим данным. Первая версия спецификации CIM вышла в 1997 году.

CIM-сервер является ключевым элементом архитектуры Web-Based Enterprise Management (WBEM), также разработанной DMTF. WBEM объединяет CIM (модель данных), CIM-сервер (поставщик данных) и транспортный протокол (обычно HTTP/HTTPS с кодировкой XML). В 2000-х годах Microsoft реализовала собственную версию CIM-сервера в составе Windows Management Instrumentation (WMI), которая стала стандартом управления в Windows. В дальнейшем, начиная с Windows Server 2012, WMI была дополнена реализацией Open Management Infrastructure (OMI) — кроссплатформенным CIM-сервером с открытым исходным кодом.

Архитектура и принцип работы

CIM-сервер функционирует как служба (демон) операционной системы, которая обрабатывает запросы от клиентов по протоколам WBEM (обычно CIM-XML или WS-Management). Основные компоненты архитектуры:

  • CIM-репозиторий — хранилище метаданных, описывающих управляемые объекты (классы, свойства, методы) в соответствии со схемой CIM. Репозиторий может быть файловым (например, в WMI — база данных MOF) или динамическим.
  • CIM-провайдеры — модули, реализующие доступ к конкретным ресурсам (реестр Windows, диски, процессы, сетевые адаптеры). Провайдеры регистрируются в CIM-сервере и предоставляют данные по запросу.
  • Транспортный уровень — обеспечивает связь между клиентом и сервером. В классической реализации CIM-XML используется HTTP/HTTPS, в WS-Management — SOAP-сообщения.
  • Аутентификация и авторизация — CIM-сервер проверяет учётные данные клиента (обычно через Kerberos, NTLM или базовую аутентификацию) и определяет права доступа к управляемым объектам.

При получении запроса CIM-сервер выполняет следующие шаги:

  1. Разбирает запрос (например, запрос WQL — WMI Query Language или CIM Query Language).
  2. Определяет, какой провайдер отвечает за запрашиваемый класс или метод.
  3. Запрашивает данные у провайдера.
  4. Форматирует ответ в соответствии с протоколом (XML, JSON) и отправляет клиенту.

Классификация CIM-серверов

По реализации

  • Проприетарные — реализованные производителями операционных систем или программного обеспечения. Примеры: WMI (Windows), CIM Server (IBM AIX), CIMOM (HP-UX).
  • Открытые — с открытым исходным кодом. Примеры: Open Management Infrastructure (OMI) от Microsoft (доступен под лицензией MIT), OpenPegasus (от DMTF, ныне неактивен), SBLIM (Small Business Linux Integration Manager).

По платформе

  • Windows CIM-серверы — WMI (Windows Management Instrumentation) и OMI (кроссплатформенный, но часто используется в Windows).
  • Linux/Unix CIM-серверы — OpenPegasus, OMI, SFCB (Small Footprint CIM Broker), OpenWBEM.
  • Встраиваемые — для устройств с ограниченными ресурсами (например, сетевые коммутаторы, принтеры). Пример — CIM-серверы в составе прошивок на базе OpenPegasus.

По функциональности

  • Полнофункциональные — поддерживают полный стек WBEM: репозиторий, провайдеры, несколько протоколов, расширенную безопасность.
  • Облегчённые — реализуют только базовые функции (обычно для встраиваемых систем). Пример — SFCB.

Применение

CIM-серверы широко используются в системах управления ИТ-инфраструктурой, мониторинга, автоматизации и конфигурационного менеджмента. Основные области применения:

  • Мониторинг и сбор метрик — системы мониторинга (например, Microsoft System Center Operations Manager, Nagios, Zabbix через плагины) запрашивают у CIM-сервера данные о загрузке процессора, использовании памяти, состоянии дисков, сетевой активности. CIM-сервер предоставляет единообразный интерфейс, скрывая различия между версиями ОС и оборудованием.
  • Управление конфигурациями — средства автоматизации (PowerShell DSC, Ansible, Chef) используют CIM-сервер для применения конфигураций к удалённым узлам. Например, настройка параметров реестра Windows, установка обновлений, управление службами.
  • Обнаружение ресурсов — CIM-сервер позволяет инвентаризировать аппаратное и программное обеспечение компьютеров в сети, включая модели процессоров, объём оперативной памяти, версии драйверов, установленные приложения.
  • Виртуализация и облачные среды — CIM-серверы используются в гипервизорах (Hyper-V, VMware ESXi) для управления виртуальными машинами и хостами. Например, через CIM-сервер можно получить информацию о состоянии виртуальных машин, их конфигурации, сетевых настройках.
  • Управление питанием — CIM-серверы поддерживают стандарты управления питанием (например, DMTF Power Management Profile), позволяя централизованно управлять энергопотреблением серверов и рабочих станций.

Примеры CIM-серверов

  • Windows Management Instrumentation (WMI) — встроенный CIM-сервер в операционных системах Windows. Реализует CIM-модель для управления Windows-ресурсами. Доступен через WMI Query Language (WQL) и PowerShell. Начиная с Windows Server 2012, WMI дополнен OMI для обеспечения кроссплатформенной совместимости.
  • Open Management Infrastructure (OMI) — кроссплатформенный CIM-сервер с открытым исходным кодом (лицензия MIT). Разработан Microsoft для использования в Linux, macOS и Windows. Используется в продуктах Microsoft (например, System Center Operations Manager, Azure Stack) и сторонних решениях.
  • OpenPegasus — эталонная реализация CIM-сервера от DMTF. Написан на C++. Поддерживает большинство спецификаций CIM и WBEM. Использовался в IBM AIX, HP-UX, а также в некоторых дистрибутивах Linux. В настоящее время проект не развивается.
  • SFCB (Small Footprint CIM Broker) — лёгкий CIM-сервер для встраиваемых систем. Используется в прошивках сетевых устройств (например, коммутаторов Cisco, принтеров HP). Отличается минимальным потреблением ресурсов.

Безопасность и ограничения

CIM-серверы, особенно в Windows, являются объектом атак, так как предоставляют удалённый доступ к управляющим функциям. Основные угрозы:

  • Неавторизованный доступ — если CIM-сервер настроен на приём запросов из ненадёжных сетей, злоумышленник может получить доступ к конфиденциальным данным или выполнить управляющие команды.
  • Эскалация привилегий — уязвимости в CIM-сервере или провайдерах могут позволить атакующему повысить свои права в системе.
  • Отказ в обслуживании — злонамеренные запросы могут перегрузить CIM-сервер, что приведёт к недоступности управления.

Для защиты CIM-серверов рекомендуется:

  • Ограничивать доступ по IP-адресам и портам (по умолчанию CIM-серверы слушают порты 5985 (HTTP) и 5986 (HTTPS)).
  • Использовать аутентификацию (Kerberos, NTLM) и шифрование (HTTPS).
  • Регулярно обновлять CIM-сервер и провайдеры для устранения уязвимостей.
  • Минимизировать количество активных провайдеров, отключая неиспользуемые.

Интересные факты

  • CIM-серверы поддерживают до 10 000 классов в схеме CIM, что позволяет описывать практически любые управляемые ресурсы.
  • В Windows CIM-сервер (WMI) используется не только для удалённого управления, но и для локального сбора данных (например, системой мониторинга Windows Performance Monitor).
  • OMI (Open Management Infrastructure) используется в Azure Stack и Azure Arc для управления гибридными облачными средами.
  • Некоторые CIM-серверы (например, OpenPegasus) поддерживают протокол WS-Management, что позволяет интегрироваться с системами управления, поддерживающими этот стандарт.

Источники

  • Distributed Management Task Force (DMTF). Common Information Model (CIM) Infrastructure Specification, Version 2.9.
  • Microsoft. Windows Management Instrumentation (WMI) Documentation.
  • Open Management Infrastructure (OMI) — GitHub Repository.
  • OpenPegasus — DMTF Project Documentation.
  • SFCB — Small Footprint CIM Broker Documentation.
  • Стандарты WBEM и WS-Management — DMTF.
Заметили ошибку или не согласны с информацией в статье? Напишите нам support@bfometr.ru