- Ipmi: первые шаги
- Megarac как реализация ipmi
- В качестве резюме
- Взлом серверов supermicro при помощи ipmi
- Доступ к удаленной консоли
- Мониторинг с помощью утилиты ipmicfg
- Мониторинг сервера supermicro через ipmi
- Особенности программной реализации
- Подготовительные работы
- Про удаленную загрузку
- Сгенерировать сертификат vcenter 7
- Удаленное обновление uefi bios
- Управление серверным пулом
- Управление сервером через утилиту ipmicfg от supermicro
Ipmi: первые шаги
По-хорошему, наладку IPMI стоит начинать с переключателей на системной плате. Установки в CMOS Setup всего лишь информируют нас о состоянии BMC-контроллера. Убедится в этом можно, ознакомившись c пунктами меню BMC Network Configuration (в качестве стендового образца будем использовать Supermicro X11SSL-F — одну из самых распространенных серверных платформ):

Выбор сетевого подключения (Failover) не может быть изменен в установках UEFI BIOS — это программная реализация, зависящая от настройки IPMI-интерфейса (об этом ниже). Но запретив на системной плате доступ к BMC в целом или к сетевым интерфейсам в частности, мы существенно урежем функциональность менеджмента.
Сетевой статус IPMI демонстрирует возможности платформы по переключению интерфейса управления в аварийной ситуации, когда режим Failover задействован: доступ к серверу возможен по выделенному порту (Dedicated LAN) либо с одновременным использованием одного из общих сетевых ресурсов (Shared LAN).
Резервирование каналов доступа для распределения функциональной нагрузки имеет своей целью не только отказоустойчивость сервисных операций, но позволяет в некоторых случаях добиться экономического эффекта — путем минимизации платы за сетевые подключения или стоимости аренды IP-адресов: один линк вместо двух обойдется дешевле.
Конфигурирование сетевого интерфейса в комментариях не нуждается: статическое или динамическое выделение адресов или реликт в виде VLAN понятны сами собой. Единственное, что стоит принять во внимание — начальное сетевое автоопределение выполняется, если серверная платформа подключена к сети до подачи дежурного питания.
Megarac как реализация ipmi
В процессе эволюции интерфейс IPMI смог нарастить функциональность до нужного пользователям уровня, опередив по уровню применения конкурирующую технологию Intel AMT. Немаловажным преимуществом оказалась и его интеграция в DMTF Redfish — открытую экосистему управления серверным парком.
У American Megatrends не так много конкурентов в сфере удаленного управления. Если не брать во внимание корпоративные продукты Dell-EMC, HP и IBM (DRAC, Integrated Lights-Out и Remote Supervisor соответственно), разработкой средств управления занимается еще разве что компания Avocent, поставщик MergePoint Embedded Management Software для серверов Gigabyte.
Вместе с тем, интерес ведущих серверостроителей к IPMI демонстрирует актуальность концепции удаленного управления. Прикладная польза очевидна — минимизация простоя и снижение расходов на обслуживание серверного парка, где цена за машинокомплект существенно выросла.
Козырем здесь являются функции аппаратного мониторинга и восстановления, что особенно важно на фоне роста сложности базового UEFI BIOS и микрокода поддержки (BMC, Intel Innovation/Management Engine, AMD Generic Encapsulated Software Architecture).
Процессорная инвариантность отражает универсальность IPMI: сервисные функции не зависят от типа и модели выбранной платформы, открывая пользователям доступ ко всем рычагам удаленного управления — и AMD, и Intel здесь обслуживаются одинаково хорошо.
В этой связи интересен опыт компании Supermicro, предлагающей гибкий подход к лицензированию широкого спектра сервисных функций. И что немаловажно — на основе цифрового ключа, что существенно повышает надежность, снижая расходы на содержание.
Привязка удаленной (Out of Band, OOB) лицензии выполняется только к MAC-адресу сетевого адаптера и может быть легко восстановлена, чего не скажешь, например, о лицензионном ключе Intel, в качестве которого используется микросхема Winbond W25X10BV для модуля удаленного управления — Remote Management Module.
В качестве резюме
Пример реализации IPMI-интерфейса, интегрированного в каждую серверную платформу Supermicro, демонстрирует неоспоримые преимущества удаленного администрирования, позволяющего выполнять ряд задач без выезда специалиста непосредственно к оборудованию.
Есть и дополнительные средства, повышающие эффективность удаленного управления. Для их использования Supermicro предлагает гибкую лицензионную политику. Наиболее востребованным в этом плане для отдельно стоящих серверов видится доступная по цене OOB-лицензия, дающая возможность удаленного обновления UEFI BIOS.
На первый взгляд, удаленный BIOS Upgrade не является ключевой позицией в сервисном обслуживании. В реальности, сложность низкоуровневого ПО на сегодняшний день такова, что даже его обновление «через версию» может привести к нестарту материнской платы.
Серверная платформа Supermicro X11SSL-Fпредоставлена компанией Onix
Взлом серверов supermicro при помощи ipmi
Сегодня рано с утра обнаружил на одном из серверов что несколько часов назад изменился файл /etc/passwd и /etc/shadow, так же сервер был перезагружен. Как вы догадались, я этот процесс не инициировал.
В ходе анализа логов, внесенных изменений в конфигурацию сервера стало ясно:
1) Изменение файлов со списком пользователей заключалось в добавлении пользователя support и назначении ему uid 0.
2) Данный пользователь был добавлен с консоли сервера (точнее tty2), причем пользователем root.
Дальнейший анализ показал следующее…
Проблемный сервер был на базе платформы Supermicro с доступным из сети Интернет IPMI интерфейсом, возможность авторизоваться с терминала tty2 можно только с него.
Доступ по IP к IPMI ограничен не был, так как доступ к нему нужен нескольким сотрудникам которые часто перемещаются в пределах РФ и не имеют постоянного IP адреса.
Пароли для IPMI пользователей были достаточно сложные, также использовался SSL, так что варианты перехвата доступов я откинул сразу.
В ходе поиска наткнулся на описание серьезных проблем с безопасностью во встроенных в материнские платы X9 IPMI. Вместо с данным материалом также шла статья с описанием методики проникновения на сервер через IPMI интерфейс, после нее стало понятно зачем потребовалась перезагрузка, так как добавить пользователя кроме как в single mode взломщики не могли.
В итоге, для устранения проблемы сделал следующее:
1) Обновил версию прошивки для IPMI на последнюю, для платформ на базе материнской платы X9 актуальная версия — это 3.15. Даже если для вашей материнской платы нет новой версии прошивки, все равно рекомендую обновить ее. Так как взломщики могли загрузить какую-нибудь версию со встроенным backdoor.
2) Задал список IP адресов, с которых разрешен доступ к IPMI, при помощи IP Access Control (раздел 2.8.14 документации по IPMI). В итоге, как временную меру, решил сделать доступ для часто переезжающих коллег через дополнительный доверенный сервер.
Напомню, что при указании IP адресов для доступа к IPMI — последний IP адрес должен быть формата 0.0.0.0/0 и правилом обработки DENY, иначе ограничение не будет работать.
3) Провел анализ сервера про помощи rkhunter и find, проверил изменены ли какие-нибудь установленные программы, нет ли подозрительных процессов — все оказалось чисто, кроме добавления пользователя никаких изменений не было внесено.
К сожалению данная проблема затрагивает всех владельцев платформы Supermicro с доступным из сети Интернет IPMI интерфейсом, так как известны случаи взлома серверов с отличными от X9 материнскими платами.
Доступ к удаленной консоли
За все нужно платить, но даже в бесплатном варианте IPMI пользователь получает возможность управлять большинством процессов на сервере Supermicro. Доступ к его графической консоли по веб-интерфейсу возможен либо через Java-приложение (вызывается как Console Redirection), либо по HTML5 (вызывается как iKVM/HTML5).

Доступ в режиме Console Redirection требует, как сказано выше, запуска на инструментальной платформе java-приложения, что сопряжено с рядом дополнительных действий:

Выполнение файла с расширением .jnlp позволяет получить удаленный экран и рычаги управления к нему (клавиатура плюс мышь). По опыту, работа с указателем в графической консоли иногда требует сноровки. В разделе Configuration есть меню настройки, с помощью которого можно приладиться под конкретную реализацию ОС:

И Java, и HTML5 сценарии Console Redirection абсолютно полнофункциональны в том смысле, что предоставляют графическую консоль удаленного сервера и дают возможность управлять ею с помощью клавиатуры и мыши. Горячие клавиши или их комбинации (типа Ctrl-Alt-Del или Alt-Tab) можно вызвать из меню Macro, которое предлагает ряд часто используемых заготовок. Для экзотических комбинаций можно вызвать VirtualKeyboard — виртуальную экранную клавиатуру.

В меню VirtualMedia и VirtualStorage удобно подключить к удаленному серверу виртуальные носители для инсталляции или тестирования. Там они видятся USB-устройствами, причем подключать можно или реальный привод, или просто образ носителя.
В HTML5-консоли из виртуальных устройств есть только VirtualKeyboard — она имеет несколько урезанную функциональность, но полностью реализуется средствами браузера и не требует установки дополнительных программных средств на инструментальную платформу.
Мониторинг с помощью утилиты ipmicfg
Проверка состояния блоков питания:
[root@ ~]# ipmicfg -pminfo
[SlaveAddress = 78h] [Module 1] Item | Value ---- | ----- Status | [STATUS OK] (00h) Input Voltage | 217.5 V Input Current | 1.06 A Main Output Voltage | 12.28 V Main Output Current | 17.93 A Temperature 1 | 23C/73F Temperature 2 | 21C/70F Fan 1 | 2064 RPM Fan 2 | 2032 RPM Main Output Power | 220 W Input Power | 228 W PMBus Revision | 0x22 PWS Serial Number | P2K4FCH02LT0125 PWS Module Number | PWS-2K04F-1R PWS Revision | REV1.0 Current Sharing Control | PEC error [SlaveAddress = 7Ah] [Module 2] Item | Value ---- | ----- Status | [STATUS OK] (00h) Input Voltage | 217.5 V Input Current | 1.09 A Main Output Voltage | 12.30 V Main Output Current | 18.09 A Temperature 1 | 24C/75F Temperature 2 | 22C/72F Fan 1 | 2064 RPM Fan 2 | 2064 RPM Main Output Power | 223 W Input Power | 234 W PMBus Revision | 0x22 PWS Serial Number | P2K4FCH02LT0126 PWS Module Number | PWS-2K04F-1R PWS Revision | REV1.0 Current Sharing Control | PEC error
Посмотреть температуру процессора можно командой:
ipmicfg -nm oemgettemp
Так же можно проверить в каком режиме работают вентиляторы и изменить режим, если это необходимо.
Проверка состояния и конфигурации вентилятора
[root@~]# ipmicfg -fan
Current Fan Speed Mode is [ PUE2 Optimal Mode ] Supported Fan modes: 0:Standard 1:Full 3:PUE2 Optimal 4:Heavy IO
Изменение режима работы кулера: ipmicfg -fan <mode> Например, ipmicfg -fan 3
Информация о версии и прошивке IPMI:
[root@~]# ipmicfg -nm deviceid
Device ID = 50h Firmware Version = 4.1.4.54 IPMI Version = 2.000000 Manufacturer ID = 57 01 00 Product ID Minor Ver = Greenlow platform Implemented DCMI version = DCMI not implemented/enabled Firmware implemented version = NM Revision 4.0 Image Flag = operational image 1 raw = 50 01 04 14 02 21 57 01 00 09 0b 04 05 40 01
И посмотреть все сенсоры можно командой ipmicfg -sdr
При выводе мы видим, что есть дополнительные столбцы, в которых отображена информация о лимитах нижнего и верхнего пределов.
Так же существует еще не малое количество утилит, которые можно использовать для мониторинга и автоматизировать этот процесс, например, с nagios. В данный момент заострять на этом внимание мы не будем, так как цель статьи рассказать основные моменты в работе с IPMI.
Мониторинг сервера supermicro через ipmi
Через IPMI мониторить температуру и работу железа сервера SuperMicro довольно просто. Полная информация о железе сервера содержится в пункте System -> Hardware Information.
Информацию по состоянию процессора, оперативной памяти и вентиляторах, можно посмотреть перейдя во вкладку Server Health -> Sensor Readings.
Для удобства просмотра, можно менять категории отображения датчиков, например, температуры:
Или датчики напряжения:
Так как в данный момент на нашем сервере нет проблем, ни с температурой, ни с напряжением, все датчики находятся в зеленой зоне. Если на сервере поднимается температура или есть проблемы с напряжением, зеленые прямоугольники будут окрашиваться в красный цвет, что послужит сигналом для проверки вашего сервера.
Особенности программной реализации
Console Redirection для доставки аппаратной консоли по сети (KVM-over-IP) — одно из самых популярных приложений в обойме IPMI, — требует установки Java-машины в операционной среде инструментального компьютера.

Впрочем, доступ к административной панели выполняется без участия Java, предоставляя после ввода логина и пароля веб-интерфейс. Большинство пунктов меню интуитивно понятны, остановимся на самых загадочных, комментируя их прикладное значение. Заметим попутно, что структуризация опций IPMI не всегда логична, но она подвержена изменениям и после обновления микрокода BMC-контроллера ее удобство зачастую повышается.
Подготовительные работы
Сделаем шаблон vSphere 7 в центре сертификации. Это задача вынесена в отдельную статью. Здесь рассказывается как сделать шаблон в центре сертификации и настроить срок действия на 5 лет.
Шаблон vSphere 7 в центре сертификации
Настроим поддержку нескольких алиасов и IP адреса при создании сертификата. Эта задача вынесена в отдельную статью.
Создание SSL сертификата с альтернативными доменными именами
Подготовим цепочку корневых сертификатов. Открываем центр сертификации.
Скачиваем цепочку сертификатов из центра сертификации. Воспользуемся ссылкой Download a CA certificate, certificate chain, or CRL.
Устанавливаем галку на Base 64. Скачиваем цепочку в формате P7B — Download CA certificate chain.
Конвертируем P7B в PEM:
Windows — конвертация P7B в PEM с помощью подсистемы Linux
Получаем цепочку в формате PEM.
Лишние строки из полученного файла можно удалить вручную.
Про удаленную загрузку
Все аспекты создания с помощью IPMI сценариев, необходимых для выполнения удаленной загрузки с виртуальных носителей, рассмотрены ранее. Конечно, речь не идет о загрузке по сети в классическом понимании этого процесса. IPMI предоставляет возможность загрузить операционную систему удаленного сервера с образа диска, хранящегося на инструментальной платформе.

Платформы, использующие программное обеспечение MegaRAC от American Megatrends для BMC-контроллера, в плане поддержки виртуальных носителей достаточно однотипны. Это диктуется необходимостью поддержки таких устройств со стороны UEFI BIOS.
Сгенерировать сертификат vcenter 7
Генерировать будем через shell. Включаем Bash Shell на vCenter 7.
Удаленное обновление uefi bios
В разделе Maintenance есть два важных пункта меню, оба связаны с обновлением микропрограмм материнской платы сервера.

Данное обслуживание можно выполнять удаленно, но если Firmware Update доступен в рамках базовой функциональности IPMI, то обновление UEFI BIOS становится возможным для владельцев OOB-лицензии. Это отдельно приобретаемый лицензионный ключ, который можно ввести в меню Activate License в разделе Miscellanious:

Ключ OOB-лицензии не обязательно покупать на сайте Supermicro. Все лицензионные полномочия есть и у локального дистрибутора, который в некоторых случаях может предложить более выгодные условия.
Лицензионный ключ не обязательно вводить через IPMI-интерфейс. Для удаленного обновления UEFI BIOS можно рекомендовать утилиту Supermicro Update Manager (SUM), возможности которой куда более разнообразны по сравнению с функциональностью IPMI-интерфейса.
Кроме нее, Supermicro предлагает первоклассный софт, покрывающий все аспекты администрирования удаленных платформ. Обзор программных продуктов, посвященных управлению серверным оборудованием, выходит за рамки данной статьи, он заслуживает отдельной публикации.
Управление серверным пулом
В рамках безплатного использования IPMI-интерфейс предполагает только простейшие операции, которые можно считать лишь намёком на управлением серверным пулом. Одна из них — идентификация отдельно взятой платформы UID Control.

Ее суть в том, что активностью голубого светодиода можно обозначить конкретный сервер в стойке однотипных устройств. Включая UID Control, наблюдаем прерывистое мигание индикаторов, неактивных в выключенном состоянии. Один из них расположен на лицевой стороне шасси, второй — на тыльной.

В начале данной статьи говорится о том, какую важную роль в организации некоторых функций IPMI играет аппаратная платформа. В случае UID Control для этого используется переключатель на системной плате, который называется UID Identifier Switch (для Supermicro X11SSL-F — это UID-SW). Если идентификация шасси аппаратно отключена, все попытки управления ею будут напрасны.

Полный набор сервисных услуг для удаленного управления серверными пулами предоставляют следующие лицензии Supermicro, детально описанные на сайте компании:
- Supermicro Power Manager (SPM) — централизованный сбор статистики энергопотребления серверов (SFT-SPM-LIC-лицензия);
- Supermicro Server Manager (SSM) — централизованная интегрированная система управления пулом серверов (SFT-DCMS-Single лицензия).
Управление сервером через утилиту ipmicfg от supermicro
Для управления серверами через IPMI компания SuperMicro разрабатывает собственную утилиту IPMICFG.
