Абсолютное большинство современных серверов имею 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 в материнских платах 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 . Дополнительная статья: FreeIPMI .
P.S. от 06.10.2013. Похожая .
P.S. от 10.11.2013.
P.S. от 20.06.2014. Опять .

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

Для того чтобы сетевым администраторам максимизировать время безотказной работы серверов, существует множество технологий и продуктов. Поэтому необходимо было, чтобы стандарты управления были едиными для всех. На сегодняшний день стандарт IPMI (интерфейс интеллектуального управления платформой) является одним из важнейших открытых стандартов и присутствует во всех платформах Supermicro.

Большинство материнских плат Supermicro соддержат специальный слот, поддерживающий IPMI карты стандарта 2.0 (IPMI over LAN). Технология IPMI дает возможность удаленно управлять и восстанавливать сервер независимо от его статуса и состояния. Связь с удаленной консолью управления обеспечивается при помощи встроенного сетевого контроллера, используя дополнительную полосу пропускания. Это аппаратное решение, не зависящее от операционной системы. IPMI 2.0 - это быстрый и недорогой способ удаленного управления, контроля, диагностики и восстановления сервера.

Так как IPMI полностью независим от операционной системы, мониторинг, управление, диагностику и восстановление систем можно проводить даже в том случае когда ОС "зависла" или сервер отключен. В технологии IPMI реализованы функции выведения уведомлений о необходимости восстановления компонентов - это дает возможность следить за состоянием системы и реагировать на возможные аппаратные проблемы до их проявления. Вероятность подобных проблем также снижает функция мониторинга аппаратных средств. Кроме того можно отслеживать вмешательства в аппаратную часть сервера, если настроить систему IPMI на выявление открытий корпуса. Безопасность работы персонала обеспечивает использование многоуровневых прав и паролей совместно с технологиями идентификации и линейного шифрования. Некоторые модули IPMI 2.0 поддерживают KVM-over-Lan. Это дает возможность удаленно зайти в операционную систему на сервере и произвести необходимые манипуляции по ее настройке, либо по установке и удалению необходимых программ.

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

Преимущества технологии IPMI

  • Удаленное управление блоками питания, вентиляторами, напряжением и температурой независимо от типа и состояния центрального процессора и операционной системы
  • Ведение журнала регистрации текущих событий
  • Поддержка DOS, BIOS setup, Windows 2003, Linux
  • Управление кнопками на корпусе: Reset; Power down; Power up
  • Защита паролем

Altusen IP9001 и модули IPMI: встраиваемые средства для удаленного управления компьютером

Модули удаленного управления, среди которых наибольшую известность получили KVM-переключатели, как правило, выполнены в виде внешних конструктивов. Но есть и другой класс устройств, также предназначенный для осуществления дистанционных манипуляций с серверным оборудованием, встраиваемый непосредственно в контролируемый объект. Каждый системный администратор не представляет своей деятельности без использования удаленного доступа к подопечным серверам, причем в двух вариантах: удаленного контроля состояния оборудования и дистанционного выполнения административных функций. Обычно эти задачи решаются посредством доступа к текстовой консоли или рабочему столу графической оболочки. Организовать удаленное управление возможно разными способами, самыми распространенными из которых являются программные средства. Практически каждый производитель серверов и систем хранения данных поставляет в комплекте ПО для удаленного мониторинга состояния, оповещения о критических ситуациях и администрирования оборудования.

Не последнее место занимают встроенные средства дистанционного доступа, предоставляемые ОС, не считая отдельных продуктов третьих фирм. Но иногда программные средства оказываются бессильными помочь в устранении неполадок без прямого доступа к серверу. Это бывает, например, при аппаратном сбое, и исправить ситуацию может только "холодный" рестарт или даже необходимость выключения/включения питания. В таких случаях на помощь приходит специализированное аппаратно-программное решение, представляющее собой специальный контроллер, устанавливаемый на материнскую плату. Его питание обеспечивается от дежурного источника или вообще автономно. К нему есть доступ через сетевой интерфейс, кроме того, может быть еще один канал - через автономный СOM-порт или модем.Такой контроллер имеет доступ к сенсорам на материнской плате, а также может осуществлять аппаратный сброс и включение/выключение питания. Управление этими функциями выполняется с рабочей станции администратора, на которой устанавливается клиент, взаимодействующий с контроллерами и допускающий мониторинг/управление группой серверов, оборудованных такими модулями.>

Altusen IP9001 Контроллер IP9001 - по сути, "компьютер в компьютере". Такое решение обеспечивает полную аппаратную независимость от управляемого сервера Доступ к дистанционному узлу осуществляется посредством Web-интерфейса и позволяет производить любые операции с обслуживаемым компьютером вплоть до включения/выключения и аппаратного сброса Устройство представляет собой PCI-контроллер для дистанционного управления по протоколу TCP/IP, рассчитанный на установку в любой компьютер, оснащенный соответствующим интерфейсом. По сути, IP9001 - самостоятельная ЭВМ с собственным процессором IBM PowerPC 405GPr - 400-мегагерцевой версией уже известного 405GP, выпускающегося с тактовыми частотами 266 и 300 MHz. Этот процессор включает в себя интегрированный PCI-интерфейс, контроллеры SDRAM и Ethernet. Помимо обязательных ОЗУ и ПЗУ на плате присутствует собственный графический контроллер ATI Rage XL, а для подключения к сети на ней предусмотрен Ethernet-порт RJ-45. Заслуживает внимания и возможность работы через телефонную сеть при помощи дополнительного модемного модуля (разъем RJ-11) - она выручит при отсутствии доступа к управляемому узлу посредством локальной сети. Кроме перечисленного выше, модуль дистанционного управления оснащен приличным набором периферийных интерфейсов, среди которых - RS-232 и хаб USB 2.0. Питание устройства осуществляется двумя путями - через шину PCI и внешний источник, предназначенный для обеспечения независимости от управляемого компьютера. Управление с удаленной консоли предоставляет оператору весь спектр возможностей, доступных непосредственно с самого сервера, в том числе работу в режиме Remote Console, мониторинг напряжения и температуры системы, включение/выключение, перезагрузку. Поддержка виртуального диска, CD и флоппи-дисковода позволяет устанавливать обновления, ПО и загружать ОС с носителя, физически находящегося на удаленной рабочей станции. Программное обеспечение допускает поддержку 64 учетных записей с разграничением прав доступа к управлению для каждого оператора. Работа устройства рассчитана на использование операционных систем Windows 2000/2003/XP, Red Hat версий 8.0 и выше. IPMI (Intelligent Platform Management Interface).

Еще одна разновидность встраиваемых устройств, предназначенных исключительно для серверных платформ, базируется на наборе спецификаций IPMI, разработанных группой компаний-производителей серверного оборудования Intel, HP, NEC и Dell для средств удаленного мониторинга/управления. В него вошли три спецификации: Intelligent Platform Management Interface; Intelligent Platform Management Bus (IPMB) и Intelligent Chassis Management Bus (ICMB). IPMB - спецификация внутреннего интерфейса расширенного мониторинга/управления в пределах одной системы, ICMB определяет спецификации внешнего интерфейса между IPMI-совместимыми системами.

Расширители IPMI, несмотря на небольшие габариты, обеспечивают полный контроль над сервером После выхода в 1998 г. версии 1.0 была выпущена 1.5, а в настоящее время актуальна спецификация 2.0. Этот стандарт поддержал уже 171 производитель оборудования, и список продолжает расти. Версия 1.5 была утверждена в I квартале 2001 г. Она уже включала следующие возможности: средства мониторинга температур, напряжений, скорости вращения вентиляторов, датчики вскрытия корпуса; управление сбросом и питанием; ведение журнала событий; сторожевую схему (WatchDog Timer); доступ и оповещение через COM-порт и локальную сеть; специализированные шины для мониторинга. Версия 2.0 была принята в феврале 2004 г. В ней предусмотрен ряд дополнительных возможностей, таких как Serial Over LAN, шифрование пакетов, внутренние и внешние протоколы, усовершенствованы средства защиты от несанкционированного доступа, добавлены расширения для мониторинга модульных структур (blade-серверов) и средства для создания виртуальных (management only) сетей. Средствами IPMI оснащались серверные материнские платы на платформе Intel 7500 для Xeon Prestonia с шиной 400 MHz. Это был модуль SMC-0001, совместимый с IPMI-1.5, выполненный как небольшая платка со специализированным процессором и своим COM-портом в конструктиве, аналогичном модулям памяти SO-DIMM.Практически на все платы на платформе Intel 7520/7525/7320, а также Intel 7221 для Pentium 4 устанавливается модуль AOC-IPMI20-E, уже совместимый с IPMI 2.0.

Архитектура IPMI версии 2.0. На сегодняшний день это основной стандарт, принятый разработчиками серверных систем

На серверных платформах 7230 для Pentium D и 1U-платформах серии 6014P для Xeon появился новый конструктив для IPMI-карт. Он имеет разъем, похожий на PCI-Х х16, только с "перевернутым" ключом. Эти платы (AOC-1UIPMI-B и AOC-LPIPMI-LANG) функционально аналогичны AOC-IPMI20-E, но оснащены дополнительной гигабитовой сетевой картой Intel 82541PI. Модуль AOC-LPIPMI-LANG предназначен для установки в обычный или 2U-корпус, а AOC-1UIPMI-B - в 1U-корпус и не оборудован сетевой картой (она опционально доступна в виде отдельного модуля AOC-1UIPMI-LANG). По умолчанию AOC-IPMI20-E использует первый сетевой контроллер, имеющийся на материнской плате, а AOC-1UIPMI-B и AOC-LPIPMI-LANG - свой дополнительный, если он установлен. При инсталляции в модуле IPMI сначала программируется Firmware, соответствующее материнской плате, а затем устанавливается IP-адрес. В операционной системе эта же сетевая карта может параллельно использоваться для других нужд с IP-адресом, отличным от установленного для IPMI. Как правило, последнему из соображений безопасности рекомендуется выделять отдельную сеть. Для мониторинга/управления систем с IPMI-адаптерами применяется специальная утилита IPMIView20, которая распознает адаптеры всех версий. Она позволяет находить IPMI-адаптеры в заданном диапазоне адресов, и группировать обнаруженные системы по определенному признаку. Для получения доступа к конкретному серверу необходимо пройти парольную аутентификацию, причем в IPMI 2.0 используется контроль по паролю и шифрование, а также многоуровневое разграничение прав доступа.ПО для управления серверами через IPMI предоставляет оператору не только набор базовых функций, но и данные мониторинга в удобной графической форме Основные возможности мониторинга/управления, предоставляемые адаптерами IPMI, стандартые: ведение журнала системных событий, слежение за температурой, напряжениями, скоростями вращения вентиляторов, другими датчиками. Имеется возможность перезагрузки, включения/выключения и Cycle - последовательного выключения, а затем включения питания. Все эти функции доступны в двух режимах: Graceful Power Control - корректное выполнение shutdown операционной системы через установленный на ней агент (GPC-агент имеется только для Windows и Linux), и Chassis Power Control - аппаратный сброс/выключение питания.Доступ к текстовой консоли осуществляется посредством ее переназначения на COM-порт и реализации SOL-redirection (Serial Over LAN). Последняя позволяет получить доступ к текстовой консоли удаленного сервера, и поменять удаленно, например, настройки BIOS. Таким же образом можно получить доступ к загрузочному меню Windows или к текстовой консоли Linux/UNIX.

Послесловие

Устройства, описанные в обзоре, созданы для выполнения одной и той же задачи - максимально упростить обслуживание удаленных систем. Главное различие между ними - сфера применения. Если Altusen IP9001 подходит для любой системы, то установка модулей IPMI ограничена исключительно серверными платформами. Сегодня многие компании-разработчики стремятся включать подобные модули в состав своих систем. Так, 15 июня ATEN International Co. Ltd. объявила, что ее новое микропрограммное решение IPMI официально выбрано Micro-Star International Co. Ltd. (MSI) для своей серверной линейки продукции. MSI внедрит микропрограммное решение ATEN в линейку AMD-серверов, чтобы предоставить клиентам необходимые функции управления серверами.Отдельно стоит отметить, что Supermicro готовит для платформы Bensley новые средства мониторинга/управления AOC-SIMLP IPMI 2.0, которые будут иметь встроенные возможности KVM Over LAN средствами IPMI.

Все сервера, предлагаемые нами в аренду, оснащены контроллером 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 .