Pull to refresh

Comments 33

SuperMicro
Firmware Revision: 02.36
Firmware Build Time: 2011-08-25

все ok
ATEN SMASH-CLP System Management Shell, version 1.00

После коннекта какую версию IPMI писало у Вас?

Вообще, у нас все сервера от Depocomputers и на материнский платах SuperMicro.
Слушайте, ну как можно писать такие громкие названия вида «IPMI — уязвимость позволяющая перезагружать сервер», «вопиющую дыру в IPMI» и откровенный бред вида «Проблема закрыта в версии IPMI 1.20»?

Описанная «уязвимость» не имеет никакого отношения к IPMI вообще и тем более к различным версиям IPMI. IPMI — это такой стандарт — у него есть ровно 3 версии: 1.0, 1.5 и 2.0. Описанная фича входа по ssh является исключительно фичей ATEN-овских BMC, стоящих на определенных материнских платах Supermicro. Субъективно — эти ATEN-овски BMC даже часто встречающимися не назовешь: последние года 2 через меня прошло весьма ненулевое количество моделей Supermicro и практически все они были с Nuvoton'овскими / AMI-шными модулями BMC. То, что вы так активно называете «версией IPMI» — это даже не версия BMC-прошивки, а версия модуля «SMASH-CLP System Management Shell» внутри этой прошивки. Я сильно сомневаюсь, что она напрямую связана с создаваемыми по умолчанию пользователями (гораздо более глобальными, чем для некоего ssh-модуля в BMC).

Описанная «уязвимость» ни разу не является уязвимостью — это крайне неудачная конфигурация по умолчанию, но она вполне реконфигурируется штатными средствами; можно сравнить это с тем, что по умолчанию на туче железок есть пользователь «admin» с паролем «admin» — тоже часть конфигурации, если ее не поменять — будет общеизвестная дырка, через которую можно будет залезть.
Вы правы — немного ошиблись в терминологии. Это я сейчас в статье отражу.

Но назвать это чем-то кроме уязвимости да еще и крайне опасной — нельзя. Там кроме ребута смело можно получить доступ к экрану и при загрузке любой более менее продвинутый пользователь Linux может уже сбросить пароль к системе.

Изначально, в системе есть пользователь, как раз admin и аnonymouse.
Сменить доступность аnonymouse через веб-интерфейс — нельзя! А о существовании возможности подключаться по SSH знают единицы. А описание команд в этом самом SSH вообще нигде не найдешь.

Так что это можно сравнить с тем, что вы купили роутер SOHO (пароль к admin вы сменили), а к нему можно можно подсоединиться, зная определенный логин и пароль найденные в интернете. И из веб-интерфейса эту ситуацию не поменять.

Ну и тот факт, что эту «фичу» закрыли тоже говорит о многом. На хабре уже не один человек нашелся у которого эта проблема наблюдается.

Ну и у меня вопрос — платы X8 и X9 вы видели с другим shell?
Про терминологию — к сожалению, вы далеко не все поправили. В целом не стоит отождествлять понятия «IPMI» (стандарт и протокол) с его конкретной реализацией в железе в виде BMC (Baseboard management controller). Если бы речь шла о более брендовом сервере типа Dell или HP, то вы бы наверняка говорили о том, что нашли проблему в iLO или iDRAC, а не в IPMI. Зачем же здесь отождествлять IPMI с неким самодельным расширением?

Сменить доступность аnonymouse через веб-интерфейс — нельзя!

Веб-интерфейс — это еще одна нестандартная, дополнительная проприетарная фича именно этого BMC. А IPMI (и любая ее реализация типа ipmitool) — стандартная и первоочередная. Мне вообще несколько странно слышать от вас о веб-интерфейсе, вы же вроде бы хостингом занимаетесь? Неужели у вас автоматизированная настройка IPMI при вводе машины в строй работает через веб-интерфейс и вам не лень ее доделывать каждый раз, когда приходит машина на новой платформе?

Ну и тот факт, что эту «фичу» закрыли тоже говорит о многом. На хабре уже не один человек нашелся у которого эта проблема наблюдается.

Вообще у Supermicro целый пучок security-проблем, тянущихся годами. Вот, например, обсуждение 2009 года на Server Fault. То, о чем вы написали — это, собственно, совсем безобидно — оно реконфигурируется и отключается. А раньше там по ssh пускали вообще с произвольным паролем и это отключить было совсем нельзя.

А описание команд в этом самом SSH вообще нигде не найдешь.

Там SMASH CLP, это тоже вполне себе стандарт, только куда более дурной и поэтому куда менее распространенный, чем IPMI. Есть как минимум документация от создателей — DMTF.

Ну и у меня вопрос — платы X8 и X9 вы видели с другим shell?

Да, в подавляющем большинстве на :22 висит полноценный ash на основе сильно захаканного dropbox, а не этот чудесный ATEN SMASH-CLP от 2008-2009 года. Внутри — относительно древний (и дырявый), но не совсем ископаемый Linux на ARM5, например:

$ ssh ADMIN@some.host.ipmi
ADMIN@some.host.ipmi's password:

BusyBox v1.1.3 (2011.07.06-23:34+0000) Built-in shell (ash)
Enter 'help' for a list of built-in commands.

# grep Proc /proc/cpuinfo
Processor : ARM926EJ-S rev 5 (v5l)
# uname -a
Linux SMC665544332211 2.6.24-ami #1 Wed Jul 6 16:33:39 PDT 2011 armv5tejl unknown

665544332211 — это MAC-адрес BMC.
Видно, что вы разбирайтесь в этом вопросе — но вы откровенно тролите.

Через удаленный ipmitool так же этот вопрос не решить. Только при установке на систему. И просто пользователя тоже не отключить, нужно отключать именно группу пользователей.

Не зная этого зарание — вы никогда не узнайте о данной проблеме и не сможете отключить его.

И назвать вы можете это хоть шелл хоть BMC хоть как. Зайдут по SSH и устроят Вам «вьетконг».

А IPMI (и любая ее реализация типа ipmitool)


IPMI — это протокол, IPMItool — программа. И вы можете написать глупость.

Прошу прощения, если чем-то задел — я просто действительно хотел указать на некую абсурдность ситуации.

Проблема тут гораздо более широкая и системная, чем та, о которой вы упомянули в статье. Проблема в том, что качество всего подобного проприетарного софта, написанного китайцами/индусами сильно ниже плинтуса — и никаких способов исправить его толком нет. Даже обнаружив тривиальную ошибку в скрипте инициализации там где-то внутри прошивки, я не могу исправить ее самостоятельно — у меня нет инструментов для того, чтобы собрать свой собственный образ и прошить его. Сами они (1) в исправлениях совершенно не заинтересованы, (2) зачастую банально не могут сами отладить и исправить то, что понаписали.

Эта проблема касается не только IPMI, не только BMC, и не только Supermicro. Dell, HP, LSI, 3ware, Areca — всевозможные производители KVMов, powerstrip'ов, дисковых полок, всякого оборудования для видеонаблюдения, SCADA, проприетарных мониторингов — все регулярно ляпают такие ошибки, что закачаешься. А когда аудитория потребителей не миллионы (как у каких-нибудь мобильных телефонов) — то и с чистой совестью не исправляют.

IPMI — это протокол, IPMItool — программа. И вы можете написать глупость.
IPMI — протокол и стандарт. IPMI определяет сервер (обычно в прошивке) и клиент (обычно выполняется на какой-то внешней машине). ipmitool — программа — свободная реализация клиента. Противоречия не вижу.

Еще раз извините, если где-то погорячился.
Ну на новых материнках ATEN SMASH-CLP тоже идёт.
Ниже я приводил пример материнки но новом чипсете. X9SCL-F
Я о том и говорю. Только они и идут.

Не могу достучаться до supermicro, но с большой вероятностью так и есть. Не могут они разные ставить — смысла в этом нет.

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

Основной производитель BIOSов — AMI, они в начале 2000-х еще сделали и с тех пор пытаются поддерживать на плаву свою реализацию firmware для серверной платформы, включающую интегрированный модуль BMC — MegaRAC. Тем не менее, AMI не делают железки, а железок для BMC нужно много — сама материнская плата со всеми ее контролируемыми элементами, отдельный автономный контроллер и некая обвязка, связывающая первое со вторым. Материнскую плату дизайнит в данном случае Supermicro, базовый софт прошивки пишут индусы из AMI, а затем китайцы из Nuvoton пытаются это все связать вместе и поставить на свой BMC и обвязку.

Иногда китайцев из Nuvoton заменяли на других китайцев — ATEN, Avocent или чего-нибудь подобное. Иногда закупали у Nuvoton только контроллер, а связывание этого всего делали какие-то другие люди. В процессе связывания иногда оказывалось, что нужно срочно реализовать какую-то новую модную суперфункциональность, например, этот самый SMASH или CIM — и тогда в экстренном порядке функциональность покупали (причем судя по внутренностям прошивок — чуть ли не готовым бинарником) у каких-то еще дополнительных китайцев или индусов (или, в случае CIM — наоборот релицензировали у каких-то супермодных и суперкрутых корпорация типа Sun или Dell). Это все, опять же, не лучшим образом сказывалось на работоспособности и поддерживаемости всего комплекса в целом.

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

Так что да, есть и в том числе ATEN и Avocent и даже в сравнительно новых материнках, но общая тенденция, которую я наблюдаю — Supermicro пытается унифицировать платформу.
Можно же отключить анонимный доступ через консоль?
Через консоль — можно. Домой доеду выложу как.
Итак, нужно обновиться до новой прошивки, как уже ниже нам продемонстрировали.

Выключение пользователя anonymouse нужно производить через ipmitool.

Листинг для установки на Linux:

wget ftp.supermicro.com/utility/IPMICFG/Linux/IPMICFG-Linux_v1.41.zip
unzip IPMICFG-Linux_v1.41.zip
cd IPMICFG-Linux_v1.41_110706/
chmod 755 *

Команда для отключения anonymouse:

ipmitool user disable 1
Есть два сервера с IPMI картами:

Product Name: Supermicro Daughter Card
Firmware Version: 01.61.00
Firmware Build Number: 5420
Firmware Description: Aug-28-2009-18-30

Product Name: Intel® RMM2
Firmware Version: 04.02.02
Firmware Build Number: 5990

Соединение по SSH невозможно в принципе на обоих серверах.
Ну Intel, понятно.

А Firmware Version: 01.61.00 — это не то.

У Вас в Bios настроен IPMI?

Проблема точно наблюдается на версии 1.00.

Мы ее обнаружили по западным форумам, где эту проблему и обсуждали.

www.sysadmintalk.net/forums/thread-1761.html
Что подразумевается под
У Вас в Bios настроен IPMI?
Естественно платы управления настроены, я могу получить доступ к серверу с их помощью.

Добрался еще до двух локальных тестовых серверов, оба на Supermicro X8SIA-F, вот они подвержены уязвимости. Можно зайти в систему как описано в статье.
До обновления:
ATEN SMASH-CLP System Management Shell, version 1.00

После обновления прошивки:
ATEN SMASH-CLP System Management Shell, version 1.04
Firmware Revision: 02.66
Firmware Build Time: 2012-04-19

Досадно, но инструкция по обновлению, приложенная с файлом прошивки, идет в виде .doc файла. Хорошо что сейчас есть возможность посмотреть .doc загрузив его например в Документы Google, раньше пришлось бы держать OpenOffice для этого.
Ну что же — поздравляю, теперь и вы защищены.
Попробовал на нескольких серверах не воспроизводится.
Материнка X8DTL-iF. IPMI Firmware Revision: 02.23
Хотя обманул, воспроизвелось. Ребутить не буду, но зайти дало.
Обновил фирмваре до 2.43. Дырку похоже закрыли. Больше зайти не даёт.
в мануале обновления предлагают убрать опцию сохранения настроек (Uncheck preserve configuration box during flashing ). Вы убирали? Как я понимаю это необязательно, но рекомендуется.
Firmware Revision: 02.23
Firmware Build Time: 2011-02-23
Я делал из консоли. Там после прошивки настройки сбрасываются.
А я уже волноваться стал, что народ в заблуждение ввожу. Форматнуть тоже можно — так что закрывайтесь. А какую версию показало?
После обновления ATEN SMASH-CLP System Management Shell, version 1.04
Copyright © 2008-2009 by ATEN International CO., Ltd.
All Rights Reserved
Сервера с другими материнками проблем не имеют.
Но там другой шел BusyBox v1.1.3 (2010.07.16-18:50+0000) Built-in shell (ash)
Материнка X9SCL-F проблем тоже не имеет. Там из коробки
ATEN SMASH-CLP System Management Shell, version 1.02
Ну то есть до обновления 1.00?

Обновили bios или прошивку самой IPMI?
прошивку IPMI.
До обновления было: версия фирмваре 2.23 стало 2.43
было
ATEN SMASH-CLP System Management Shell, version 1.00
стало
ATEN SMASH-CLP System Management Shell, version 1.04

В общем проблема относится только к одному виду шела.
С другими шелами проблем нет. Или мы о них не знаем.
Но этот вид «шела» стоит на всех платах SuperMicro последних двух лет. У нас например все сервера с таким «шелом» и новые пока тоже идут почему-то с 1.00. Видимо у depo большой запас комплектующих.

Далеко не во всех. Я бы даже сказал наоборот в меньшем кол-ве материнок.
Депо тут не при чём. Просто они собирают все свои конфигурации на малом ассортименте материнок.
Офигеть, вроде серьезное оборудование, а уязвимости как в китайском adsl модеме за 3 копейки.
Sign up to leave a comment.