IPMI, BMC и Redfish: удалённое управление сервером
Коротко: BMC (Baseboard Management Controller) — отдельный микроконтроллер на плате сервера, который работает от дежурного питания и позволяет управлять сервером удалённо: включать и выключать его, видеть консоль, датчики и журналы, обновлять прошивки. IPMI 2.0 — классический протокол доступа к BMC поверх UDP-порта 623, Redfish — современный стандарт DMTF на базе HTTPS и JSON. У производителей BMC называется по-своему: iDRAC у Dell, iLO у HPE, XClarity Controller у Lenovo.
Что такое BMC и как он работает
BMC — специализированный компьютер внутри сервера со своим процессором (часто ASPEED AST2500 или AST2600), памятью, прошивкой и сетевым интерфейсом. Он получает питание от дежурной линии блока питания, поэтому доступен даже при выключенном сервере, зависшей или отсутствующей ОС.
BMC подключён к датчикам температуры, напряжения и оборотов вентиляторов, к цепям управления питанием, к видеовыходу и USB сервера. Благодаря этому администратор может удалённо увидеть экран, нажать кнопку питания, подключить ISO-образ как виртуальный диск и установить ОС без выезда в серверную.
| Производитель | Название BMC | Текущие поколения |
| Dell | iDRAC | iDRAC9, iDRAC10 |
| HPE | iLO | iLO 5, iLO 6, iLO 7 |
| Lenovo | XClarity Controller | XCC, XCC2 |
| Supermicro | BMC (IPMI) | на AST2500 и AST2600 |
| Huawei, xFusion | iBMC | iBMC |
| Cisco | CIMC | для серверов UCS C-Series |
| Fujitsu | iRMC | iRMC S5, S6 |
| Открытая реализация | OpenBMC | используется рядом производителей |
Что умеет BMC: основные функции
- Управление питанием — включение, выключение, перезагрузка, ограничение потребления (power capping).
- Удалённая консоль (KVM) — изображение экрана, клавиатура и мышь через браузер; в современных BMC — на HTML5, без Java.
- Виртуальные носители — подключение ISO-образа или папки как USB-диска для установки ОС и диагностики.
- Мониторинг — датчики температуры, напряжения, вентиляторов, состояние дисков, памяти и блоков питания.
- Журналы — SEL (System Event Log) с аппаратными событиями и журнал действий пользователей.
- Обновление прошивок — BIOS, BMC, контроллеров, сетевых карт, иногда пакетно.
- Serial over LAN — текстовая консоль последовательного порта через сеть.
- Оповещения — SNMP-трапы, syslog, e-mail, подписки Redfish.
IPMI: протокол и команды ipmitool
IPMI (Intelligent Platform Management Interface) — спецификация, разработанная Intel и партнёрами в 1998 году; актуальная версия 2.0 вышла в 2004 году. Доступ по сети идёт по протоколу RMCP+ поверх UDP-порта 623, локально из ОС — через интерфейс KCS драйвером ipmi.
Основной инструмент — открытая утилита ipmitool. Типовые команды для сетевого доступа выглядят так: ipmitool -I lanplus -H 10.0.0.10 -U admin -P пароль плюс действие.
chassis status— состояние питания и последние события.power on,power off,power cycle,power soft— управление питанием.sdr listиsensor— показания датчиков.sel listилиsel elist— журнал аппаратных событий.fru print— модель, серийные номера платы и шасси.lan print 1— сетевые настройки BMC.user list 1— пользователи BMC.mc infoиmc reset cold— версия прошивки и перезапуск самого BMC.sol activate— текстовая консоль Serial over LAN.
Из ОС сервера без сетевых реквизитов можно, например, сбросить пароль: ipmitool user set password 2 НовыйПароль (где 2 — номер пользователя, у многих производителей это администратор по умолчанию).
Redfish: современный стандарт управления
Redfish — стандарт DMTF, первая версия опубликована в 2015 году. Это REST API поверх HTTPS: ресурсы сервера описываются в формате JSON по схемам OData, а действия выполняются запросами GET, POST, PATCH и DELETE.
/redfish/v1/— корень сервиса./redfish/v1/Systems/— вычислительные системы: процессоры, память, хранилища, управление питанием и загрузкой./redfish/v1/Chassis/— шасси: датчики, вентиляторы, блоки питания./redfish/v1/Managers/— сам BMC: сетевые настройки, журналы, виртуальные носители./redfish/v1/UpdateService/— обновление прошивок./redfish/v1/EventService/— подписки на события.
Пример запроса: curl -k -u admin:пароль https://10.0.0.10/redfish/v1/Systems/. Для автоматизации используют модули Ansible (коллекция community.general и вендорские коллекции), библиотеки Python от DMTF и вендорские утилиты: racadm у Dell, ilorest у HPE, OneCLI у Lenovo, SUM у Supermicro.
IPMI или Redfish: сравнение
| Параметр | IPMI 2.0 | Redfish |
| Транспорт | UDP 623, RMCP+ | HTTPS, TCP 443 |
| Формат данных | Двоичный | JSON по схемам |
| Шифрование | Зависит от набора шифров, есть известные уязвимости | TLS |
| Аутентификация | Логин и пароль, слабая схема RAKP | Сессии, токены, Basic Auth через TLS, LDAP |
| Описание оборудования | Ограниченное: датчики, FRU | Полное: память, диски, контроллеры, прошивки |
| Настройка BIOS и RAID | Нет в стандарте | Есть, с вендорскими расширениями |
| Автоматизация | Скрипты на ipmitool | Ansible, Python, любые HTTP-клиенты |
| Развитие | Новые версии не выпускаются | Активно развивается |
Вывод: для новых систем и автоматизации следует опираться на Redfish, а IPMI оставлять для совместимости со старыми инструментами мониторинга.
Безопасность BMC: главные риски
BMC имеет полный контроль над сервером: через него можно переустановить ОС, изменить BIOS или подменить прошивку. Поэтому скомпрометированный BMC — один из самых серьёзных инцидентов в инфраструктуре.
- Пароли по умолчанию. Старые системы поставлялись с общими паролями (например, ADMIN/ADMIN у Supermicro, root/calvin у Dell). Современные серверы используют индивидуальный пароль на наклейке.
- Уязвимость RAKP в IPMI 2.0. По дизайну протокола BMC до аутентификации отдаёт хэш пароля для любого существующего пользователя, что позволяет подбирать пароль офлайн.
- Cipher 0. Режим IPMI без аутентификации, который на некоторых старых прошивках был включён — его необходимо отключить.
- Устаревшие прошивки. В прошивках BMC регулярно находят уязвимости веб-интерфейса и сетевых служб.
- Доступ из общей сети. BMC, доступный из пользовательской сети или интернета, — частая причина взлома.
Как защитить сеть управления
- Вынесите BMC в отдельную сеть или VLAN управления, недоступную из пользовательских сегментов и интернета.
- Используйте выделенный порт BMC, а не общий с сетевой картой (NC-SI), если это позволяет инфраструктура.
- Смените пароли по умолчанию, используйте длинные индивидуальные пароли или интеграцию с LDAP и Active Directory.
- Отключите IPMI over LAN, если он не нужен, и оставьте доступ только по HTTPS и Redfish.
- Если IPMI нужен, отключите cipher 0 и слабые наборы шифров, ограничьте доступ по IP.
- Регулярно обновляйте прошивку BMC в рамках общего цикла обновлений.
- Замените самоподписанный сертификат на корпоративный и настройте журналирование входов во внешний syslog.
- Для доступа извне используйте VPN или jump-хост, а не проброс портов.
Лицензии BMC у разных производителей
У большинства производителей часть функций BMC открывается лицензией. Чаще всего за лицензию продаются графическая удалённая консоль, виртуальные носители, групповое управление и расширенная телеметрия.
| Производитель | Уровни лицензий | Комментарий |
| Dell iDRAC9 | Basic, Express, Enterprise, Datacenter | HTML5-консоль и виртуальные носители — с уровня Enterprise |
| HPE iLO 5 и iLO 6 | Standard, Advanced, Advanced Premium Security Edition | Графическая консоль после загрузки ОС и виртуальные носители — в Advanced |
| Lenovo XCC и XCC2 | Standard, Advanced, Enterprise; у XCC2 — Standard, Premier, Platinum | Ключи Features on Demand привязаны к серийному номеру |
| Supermicro | Базовые функции без лицензии, ключ SFT-DCMS-SINGLE и аналоги | KVM доступен без лицензии, обновление BIOS через BMC — по ключу |
Подробно о лицензиях Dell и HPE — в статье лицензии iDRAC и iLO. Особенности BMC отдельных производителей — в обзорах серверов Supermicro и Lenovo ThinkSystem.
Выделенный и общий порт управления
BMC может выходить в сеть двумя путями. Выделенный порт — отдельный разъём RJ-45 на задней панели, подключаемый в коммутатор сети управления. Общий порт (shared LOM) — BMC использует один из портов встроенной или OCP-сетевой карты через интерфейс NC-SI, разделяя его с ОС по разным MAC-адресам и при необходимости по VLAN.
Выделенный порт надёжнее: управление не зависит от состояния основной сетевой карты и проще изолируется. Общий порт экономит порты коммутатора, но требует аккуратной настройки VLAN. Для сети управления обычно достаточно коммутатора 1 GbE — подходящие модели есть в разделе коммутаторы.
На что смотреть при покупке б/у сервера
- Сбросьте BMC к заводским настройкам и задайте новые учётные данные — прежний владелец мог оставить пользователей и настройки оповещений.
- Проверьте версию прошивки BMC и обновите её до поддерживаемой.
- Посмотрите SEL: повторяющиеся ошибки памяти, перегрев, сбои питания — повод для углублённой диагностики.
- Проверьте уровень лицензии: у Dell он привязан к сервисному тегу, у Lenovo — к серийному номеру, и переносится вместе с сервером.
- Убедитесь, что работают удалённая консоль, виртуальные носители и управление питанием.
Полный чек-лист — в статье приёмка б/у сервера.
Что учесть при закупке
- Лицензия BMC. Уточняйте, какой уровень лицензии установлен и нужен ли апгрейд для удалённой консоли.
- Порт управления. Наличие выделенного порта BMC в выбранной конфигурации.
- Поддержка Redfish. Для автоматизации выбирайте поколения BMC с полноценной поддержкой Redfish.
- Прошивки. Доступность актуальных прошивок для выбранной модели и поколения.
- Сроки и гарантия. Для лицензий — способ поставки ключа и сроки, для б/у серверов — гарантия продавца.
Поможем подобрать сервер с нужным уровнем удалённого управления и подготовим его к вводу в эксплуатацию.
Смотреть комплектующие серверов в наличии →