Интерфейс интеллектуального управления платформой

Интерфейс интеллектуального управления платформой (англ. Intelligent Platform Management Interface, IPMI) — это набор спецификаций компьютерных интерфейсов, предназначенных для создания автономной подсистемы управления и мониторинга, которая функционирует независимо от центрального процессора системы, микропрограммного обеспечения (BIOS или UEFI) и операционной системы. IPMI определяет набор интерфейсов, используемых системными администраторами для внеполосного управления компьютерными системами и мониторинга их работы. Например, IPMI позволяет управлять компьютером, который может быть выключен или не отвечать, посредством сетевого соединения, минуя операционную систему или shell-доступ. Кроме того, IPMI используется для удалённой установки собственной операционной системы — без физического присутствия администратора, необходимости вставлять DVD или USB-накопитель с установщиком и завершать процесс через монитор и клавиатуру. Используя IPMI, администратор может подключить ISO-образ, эмулируя установочный носитель, и произвести установку дистанционно[1].

Разработкой стандарта руководит Intel; первая версия спецификации опубликована 16 сентября 1998 года. Поддержка реализована более чем 200 поставщиками компьютерных систем, включая Cisco, Dell[2], Hewlett Packard Enterprise и саму Intel[3][4].

Функциональные возможности

Использование стандартизированного интерфейса и протокола позволяет программам управления на основе IPMI обслуживать несколько различных серверов. Поскольку IPMI — это аппаратурный стандарт взаимодействия на уровне сообщений, он работает независимо от операционной системы, позволяя администраторам удалённо управлять системой как при отсутствии ОС, так и при сбое программного обеспечения. IPMI функционирует в трёх основных сценариях:

  • до загрузки ОС (например, для удалённого мониторинга или изменения настроек BIOS);
  • когда система полностью обесточена;
  • после сбоя ОС или всей системы — ключевое отличие IPMI от внутриполосного управления в том, что он позволяет удалённо входить в ОС по SSH.

Администраторы могут с помощью IPMI отслеживать состояние платформы (температуры, напряжения, вращение вентиляторов, питание, вскрытие корпуса), запрашивать инвентарные сведения, просматривать аппаратные журналы неисправностей, а также выполнять процедуры восстановления — например, через удалённую консоль выключать и перезагружать сервер, настраивать сторожевой таймер. В стандарте предусмотрена система оповещений — отправка SNMP (протокол простого сетевого управления) платформенных событий (PET).

Мониторинговая система может быть обесточена, но должна быть подключена к питанию и сетевой среде, обычно к LAN. IPMI поддерживает работу и после запуска ОС, предоставляя данные и структуры для системного ПО. Стандарт регламентирует только структуру и формат интерфейсов; конкретная реализация может отличаться. IPMI 1.5 позволяет связываться напрямую через отдельные внеполосные LAN или последовательный интерфейс, либо использовать боковой сетевой канал через общий сетевой контроллер. Последнее решение обходится дешевле, но обладает ограниченной пропускной способностью и может не обеспечивать достаточного уровня безопасности.

Системы, совместимые с IPMI 2.0, поддерживают протокол Serial over LAN, что позволяет удалённо просматривать консоль по сети. В реализациях IPMI 2.0 часто присутствуют функции KVM по IP, удалённого доступа к виртуальным носителям и встроенный web-интерфейс (хотя формально они не входят в стандарт IPMI).

DCMI (интерфейс управления центром обработки данных) — родственный стандарт, созданный на основе IPMI, но более адаптированный к требованиям центров обработки данных: уменьшено число дополнительных опций, введено управление энергопотреблением и др.

Компоненты IPMI

Подсистема IPMI включает основной контроллер — базовый контроллер управления платой (англ. Baseboard Management Controller, BMC), а также дополнительные управляющие контроллеры по модулям — так называемые спутниковые контроллеры. Связь между ними в пределах одного шасси осуществляется по системной шине Intelligent Platform Management Bus/Bridge (IPMB), реализованной на основе улучшенного протокола I²C. Взаимодействие BMC с другими контроллерами (или BMC других шасси) осуществляется по шине/мосту Intelligent Platform Management Controller (IPMC). Управление может производиться с помощью специализированного протокола RMCP (Remote Management Control Protocol); его расширение RMCP+ использует UDP и предусматривает усиленную аутентификацию для работы по сети.

undefined

BMC-чипы выпускаются различными вендорами. Встраиваемый BMC для «вшитых» применений может обладать скромными ресурсами памяти и требует оптимизации прошивки для полного охвата спецификации IPMI. Более мощные интегрированные BMC способны выполнять сложные операции и реализовать все внеполосные функции сервисного процессора. Производители выпускают собственные варианты встроенного ПО IPMI.

Инвентарные данные о заменяемых компонентах (FRU, field-replaceable unit) хранятся в специальном репозитории — сведения о производителе, модели и т. д. Отдельно ведётся база данных сенсоров (SDR, sensor data record), описывающая конкретные датчики платы: температуры, скорости вентиляторов, напряжения и др.

Базовый контроллер управления платой (BMC)

Базовый контроллер управления платой (BMC) — специализированный микроконтроллер, интегрированный в материнскую плату компьютера (обычно сервера). Он выступает связующим звеном между программным обеспечением управления и аппаратурой платформы. BMC работает под управлением собственной прошивки и оперативной памяти.

undefined

Контроллер получает данные от датчиков различных типов — температуры, состояния вентиляторов, питания, статуса ОС и пр. При обнаружении выхода параметров за пределы допустимых значений BMC информирует администратора по сети, сигнализируя о потенциальной неисправности. Через BMC можно удалённо инициировать восстановительные процедуры — сброс или перезапуск сервера для восстановления работы ОС, что снижает совокупную стоимость владения.

Системы с поддержкой IPMI 2.0 обладают возможностью передачи консольного вывода по LAN (Serial over LAN), часто реализуют функции KVM по IP, работу с удалёнными виртуальными носителями и доступ через web-интерфейс — хотя эти функции официально выходят за пределы стандарта IPMI.

Физические интерфейсы BMC включают SMBus, RS-232-порт, адресные и шины данных, а также шину IPMB, по которой он принимает IPMI-запросы от других управляющих контроллеров системы.

Прямая последовательная связь с BMC не шифруется, так как физически является изолированной; соединения через LAN могут использовать либо не использовать шифрование — в зависимости от требований безопасности.

В последние годы вопросы безопасности BMC приобрели особую актуальность, поскольку архитектура управления часто бывает закрытой[5][6][7][8]. OpenBMC — открытый проект прошивки BMC под эгидой Linux Foundation[9].

Безопасность

Исторические проблемы

2 июля 2013 года компания Rapid7 опубликовала руководство по тестированию защищённости протокола IPMI 2.0 и существующих реализаций ведущих производителей[10].

В ряде публикаций 2013 года на фоне проблем проектирования и недостатков базовых контроллеров рекомендовалось отказаться от эксплуатации устаревших версий IPMI[5][11][12].

Как и для других системных интерфейсов управления, для повышения безопасности рекомендуется выделять IPMI-порт в отдельную управляющую сеть или VLAN с ограниченным доступом только для доверенных администраторов[13].

Улучшения безопасности в последних версиях стандарта

В новых редакциях спецификации IPMI реализованы протокол RAKP+ и более стойкие методы шифрования, которые не поддаются практическому взлому[14]. Вендоры выпускают обновления ПО, устраняющие обнаруженные уязвимости.

Организация DMTF разработала современный масштабируемый стандарт Redfish для безопасного управления в современных центрах обработки данных[15].

Возможные решения

Некоторые решения, выходящие за рамки самого стандарта IPMI, зависят от конкретной реализации производителя. Использование коротких паролей «по умолчанию» или известные атаки наподобие «cipher 0» можно устранить, применяя сервер RADIUS для аутентификации, авторизации и учёта (AAA, Authentication, Authorization, Accounting) по SSL, что является типичной практикой в центрах обработки данных и крупных инфраструктурах. Данные о пользователях могут храниться на LDAP-сервере (например, FreeRADIUS с OpenLDAP или Microsoft Active Directory).

Ролевой доступ позволяет усилить политику безопасности: выделено три типа ролей — администратор, оператор, пользователь.

  • Роль пользователя — только просмотр показателей BMC, без управления и доступа к информации процессора; обычно для мониторинга сенсоров после получения SNMP-оповещений.
  • Роль оператора — для работы в аварийных ситуациях: инициирование сброса, получение дампа памяти, перезапуск; в том числе временный доступ к ОС для сбора журналов.
  • Роль администратора — для первичной настройки BMC при вводе системы в эксплуатацию.

Рекомендуется держать роли администратора и оператора отключёнными в LDAP/RADIUS, включая их только по необходимости; например, в настройках RADIUS для роли «Auth-Type» выставляется в Reject — таким образом атаки по взлому RAKP невозможны, поскольку имя пользователя отвергается сервером.

История версий

Стандарт IPMI последовательно развивался[16][17]:

  • v1.0 — анонс 16 сентября 1998 года: базовая спецификация;
  • v1.5 — 21 февраля 2001 года: расширения (работа по LAN, последовательно/модем, LAN-оповещения);
  • v2.0 — 12 февраля 2004 года: поддержка Serial over LAN, управление группами, улучшенная аутентификация, firewall встроенного ПО, поддержка VLAN;
  • v2.0, редакция 1.1 — 1 октября 2013 года: исправления, уточнения, поддержка IPv6;
  • v2.0, редакция 1.1, Errata 7 — 21 апреля 2015 года: дополнительные исправления и уточнения[18].

Реализации

  • HP Integrated Lights-Out — реализация IPMI от HP.
  • Dell DRAC — реализация IPMI от Dell.
  • Supermicro Intelligent Management — реализация IPMI от Supermicro.
  • IBM Remote Supervisor Adapter — продукты IBM по внеполосному управлению, включая реализации IPMI.
  • MegaRAC — решение от AMI (OEM).
  • Avocent MergePoint Embedded Management Software — OEM-прошивка IPMI.
  • Cisco Integrated Management Controller (IMC) — реализация IPMI от Cisco.
  • Lenovo xClarity — реализация IPMI от Lenovo.

Примечания

  1. Supermicro IPMI — что это и чем может быть полезно? (англ.). Boston India. Дата обращения: 7 апреля 2026. Архивировано 27 февраля 2019 года.
  2. An Introduction to the Intelligent Platform Management Interface (англ.). Dell. Дата обращения: 7 июня 2024.
  3. Intelligent Platform Management Interface; Adopters list. Intel. Дата обращения: 7 июня 2024.
  4. Chernis, P. J (1985). “Petrographic analyses of URL-2 and URL-6 special thermal conductivity samples”. DOI:10.4095/315247.
  5. 1 2 The Eavesdropping System in Your Computer — Schneier on Security (англ.). Schneier.com (31 января 2013). Дата обращения: 7 июня 2024.
  6. IPMI: Hacking servers that are turned "off" (англ.). isc.sans.edu (7 июня 2012). Дата обращения: 7 июня 2024.
  7. Goodin, Dan "Bloodsucking leech" puts 100,000 servers at risk of potent attacks (англ.). arstechnica.com (16 августа 2013). Дата обращения: 7 июня 2024.
  8. Anthony J. Bonkoski, Russ Bielawski, J. Alex Halderman. Illuminating the Security Issues Surrounding Lights-Out Server Management — Usenix Workshop on Offensive Technologies (англ.). usenix.org (2013). Дата обращения: 7 июня 2024.
  9. OpenBMC Project Community Comes Together at The Linux Foundation to Define Open Source Implementation of BMC Firmware Stack (англ.), The Linux Foundation (19 March 2018). Дата обращения: 7 июня 2024.
  10. Metasploit: A Penetration Tester's Guide to IPMI and BMCs (англ.). Rapid7.com (2 июля 2013). Дата обращения: 7 июня 2024.
  11. Authentication Bypass Vulnerability in IPMI 2.0 RAKP through the use of cipher zero (англ.). websecuritywatch.com (23 августа 2013). Дата обращения: 7 июня 2024.
  12. Dan Farmer. IPMI: Freight train to hell (англ.). fish2.com (22 августа 2013). Дата обращения: 7 июня 2024.
  13. Kumar, Rohit Basic BMC and IPMI Management Security Practices (англ.). ServeTheHome (19 октября 2018). Дата обращения: 7 июня 2024.
  14. IPMI Specification, V2.0, Rev. 1.1: Document (англ.). Intel. Дата обращения: 7 июня 2024.
  15. Redfish: A New API for Managing Servers (англ.). InfoQ. Дата обращения: 7 июня 2024.
  16. Intelligent Platform Management Interface: What is IPMI? (англ.). Intel. Дата обращения: 7 июня 2024.
  17. Intelligent Platform Management Interface; Specifications (англ.). Intel. Дата обращения: 7 июня 2024.
  18. IPMI - Ver2.0 Rev1.1 Errata7 (англ.). Intel. Дата обращения: 7 июня 2024.

Ссылки

Категории