Ipmi версия 1. IPMI: настройка и удаленное управление серверами Supermicro. Управление сервером через утилиту IPMICFG от SuperMicro

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

IPMI ( Intelligent Platform Management Interface) – это интерфейс для удаленного мониторинга и управления физическим состоянием сервера. IPMI является аналогом известных разработок IP-KVM, iLo ,.

Возможности IPMI

  • удаленное включение, выключение и перезагрузка сервера;
  • мониторинг температуры, напряжения и системы охлаждения;
  • удаленное подключение к серверу носителя информации (например, для установки ОС и ПО);
  • управление аккаунтами и правами пользователей (имеется поддержка LDAP и );
  • управление портами доступа и защита доступа SSL - сертификатом;
  • настройка уведомлений о работе сервера.

Как работает контроллер BMC

Давайте посмотрим схему работы BMC контроллера. И так Baseboard Management Controller это интерфейс для удаленного управления и мониторинга состояния сервера. По сути Baseboard Management Controller это однокристальная система, как ее правильно называть System-on-a-Chip, SoC. У BMC есть встроенное графическое ядро, которое обращается и взаимодействует с основными компонентами материнской платы серверного железа, через всевозможные интерфейсы, нужные для работы стандарта IPMI. Чем хорош IPMI, так это, то что он не зависит от операционной системы хостового сервера. Лично я использую IPMI, для прошивки BIOS у серверов и установки серверной операционной системы.


Так же IPMI может работать за NAT, например в цодах, людям дают возможность управлять так своим сервером, полезно если он завис. Для NAT потребуется открыть вот такие порты:

  • TCP 80: HTTP
  • TCP 443: HTTPS
  • TCP 5900, 5901: графическая консоль
  • TCP 5120, 5123 - трафик Virtual Media
  • UDP 623: IPMI

Как выглядит на серверах IPMI-порт

Приведу пример того, как на физическом сервере SuperMicro выглядит данный порт управления . Я выделил его стрелкой, чаще всего он располагается над портами USB.

Далее вам необходимо все сконфигурировать, как настроить IPMI на серверах Supermicro в BIOS или через утилиту ipmicfg , я уже рассказывал, на этом я не останавливаюсь.

Пароль по умолчанию на IPMI

Стандартным логином и паролем для IPMI будет ADMIN / ADMIN, именно большими буквами.

Перед вами появится страница со сводной информации о системе, которую вы можете себе лицезреть на картинке, она дает вам обзор системы, IP-адреса, номера версии прошивки, версии BIOS, а также предварительного просмотра удаленной консоли. Тут же вы вообще можете включить сервер, если он не работает. Я много раз пользовался IPMI интерфейсом, чтобы включить сервер, после того, как его случайно погасили.

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

С помощью раздела Configuration вы можете выполнить целый ряд задач, включая оповещения, аутентификацию RADIUS, сетевую конфигурацию (для самого IPMI), настройку SMTP для предупреждений, контроль доступа по IP, системные журналы и т. д.

Раздел удаленного управления (Remote ControL) является одной из наиболее интересных вещей, так как, скорее всего, вам будет интересно иметь удаленный доступ к серверу, если вы в первую очередь заходите на IPMI.

В разделе дистанционного управления (Remote Control), меню управления питанием позволяет:

  • выполнить сброс
  • немедленное отключение питания
  • постепенное отключение питания
  • включение или отключение питания и все это очень удобно, если вы пытаетесь удаленно устранить неполадки или отключить или снова включить сервер.

Меню Launch SOL позволяет запустить консоль SOL.

Virtual Media - это тоже потрясающая функция. Вы можете подключить виртуальный носитель через общий ресурс Windows и представить его, как если бы он был воткнут непосредственно в сервер. Единственным у IPMI есть и недостаток, ограничение в 4,7 ГБ, что может быть недостаточно для некоторых новых серверных ОС. VL-копия Windows Server 2012 R2 весит 5,1 ГБ, но кажется это решается обновлением прошивки.

Для запуска консоли удаленного управления в IPMI (Remote Console), кликните по превью изображению, у вас должен скачаться java файл. Браузер может на него ругаться, нажмите "Keep", чтобы подтвердить загрузку.

Абсолютное большинство современных серверов имею 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. Под прицел может попасть даже «железная» реализация самого ВМС и как именно он управляет основным сервером. Администраторам же я рекомендую проверить все свои системы на наличие в них публичных уязвимостей и по возможности устранить эти уязвимости. Самая же главная рекомендация, которую я бы хотел дать читателем - уделяйте максимум внимания настройкам оборудования которым вы управляете.

Все сервера, предлагаемые нами в аренду, оснащены контроллером IPMI (Intelligent Platform Management Interface), позволяющим осуществлять включение, выключение, удаленное подключение (KVM) с возможностью монтирования ISO-образов, а также обеспечивающим доступ к информации о текущем состоянии сервера.

При помощи IPMI после выдачи сервера вы сможете произвести установку операционной системы и первоначальную настройку сервера. Так как IPMI-контроллер подключён отдельным кабелем и имеет собственный IP-адрес, даже в случае потери доступа к ОС Вы всегда сможете управлять сервером удаленно без необходимости прямого физического доступа.

Как установить ОС?

Для установки операционной системы Вам потребуется подключиться к IPMI сервера одним из удобных для вас способов: через Web-интерфейс или при помощи программы IPMIView. В статье будут описаны оба варианта, однако мы рекомендуем использовать второй способ.

Web-интерфейс

Для подключения через web-интерфейс необходимо в адресной строке вашего браузера ввести адрес IPMI и авторизоваться. Адрес и реквизиты для авторизации вы можете найти в письме с доступом к серверу или в вашем личном кабинете. Далее потребуется перейти во вкладку Remote Control -> Console Redirection и нажать кнопку Launch Console .


В разделе Device 1 выберите ISO File в выпадающем списке Logical Drive Type и укажите путь до образа на вашем диске при помощи кнопки Open Image , после чего подключите образ кнопкой Plug In .


После подключения образа перезагрузите ваш сервер в разделе Power Control ->


Некоторые серверы позволяют подключить до трёх устройств при помощи вкладок Device 2 или Device 3 в разделе Virtual Media -> Virtual Storage . Это может быть полезно, если при установке потребуется установить дополнительные драйвера.

Если вы планируете установить на сервер ОС Windows, комбинацию клавиш Ctrl+Alt+Del можно передать в разделе Macro - Macro .

Инструкция по работе с web-интерфейсом в старых версиях прошивок IPMI

IPMIView

Для использования программы Supermicro IPMIView необходимо скачать её с официального сайта , указав свои данные, либо напрямую с ftp-сервера: https://www.supermicro.com/wftp/utility/IPMIView/

После установки и запуска программы необходимо добавить ваш сервер в разделе File - New - System .

В качестве System Name укажите имя вашего сервера, а в графу IP address впишите адрес IPMI , который вы можете найти в письме с доступом к серверу или в вашем личном кабинете. Убедитесь, что в графе адреса отсутствуют пробелы в конце строки и нажмите OK .

В списке слева дважды нажмите на имя добавленного сервера, после чего вы увидите окно авторизации. Заполните его при помощи реквизитов из письма или личного кабинета и нажмите Login . В случае успешного подключения вы увидите надпись Connected , а в самом низу окна появятся дополнительные вкладки для управления сервером.


Для удалённого управления сервером перейдите в разде KVM Console и нажмите кнопку Launch KVM Console .


Дальнейшие действия аналогичны работе через

При помощи программы IPMIView вы также можете перезагрузить, включить или выключить ваш сервер во вкладке IPMI Device .


Часто задаваемые вопросы о 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. Опять

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

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

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

Посмотреть или изменить настройки 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 .



Есть вопросы?

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: