Hetzner - DokuWiki

IPMI/ru
Zeile 47: Zeile 47:
 
  # ipmitool mc info
 
  # ipmitool mc info
 
  ...
 
  ...
  Firmware Revision        : 3.28
+
  Firmware Revision        : 3.36
  
Если сеть в IPMI уже активирована, то обновление можно произвести через web-интерфейс. Последнюю версию firmware можно найти на [http://download.hetzner.de/tools/Supermicro/tools/SMT_X9_333.bin download.hetzner.de].
+
Если сеть в IPMI уже активирована, то обновление можно произвести через web-интерфейс. Последнюю версию firmware можно найти на [http://download.hetzner.de/tools/Supermicro/tools/ download.hetzner.de].
  
 
Альтернативно, если сеть не была активирована, обновление можно произвести под Linux.
 
Альтернативно, если сеть не была активирована, обновление можно произвести под Linux.
  
  wget http://mirror.hetzner.de/tools/Supermicro/tools/SMT_X9_333.tgz
+
  wget http://mirror.hetzner.de/tools/Supermicro/tools/SMT_X9_336.tgz
  tar -xzf SMT_X9_333.tgz
+
  tar -xzf SMT_X9_336.tgz
 
  cd SMT_X9_333
 
  cd SMT_X9_333
  ./lUpdate -f SMT_X9_333.bin
+
  ./lUpdate -f SMT_X9_336.bin
  
 
Обратите внимание: это обновление применимо только к моделям PX90 и PX120.
 
Обратите внимание: это обновление применимо только к моделям PX90 и PX120.

Version vom 14. Januar 2015, 11:30 Uhr

Inhaltsverzeichnis

Конфигурация IPMI

Общая информация

IPMI (Intelligent Platform Management Interface) — это интерфейс управления и администрирования серверов. Он реализован с помощью BMC (Baseboard Management Controller) материнской платы. Доступ на этот интерфейс можно организовать с помощью утилит командной строки (таких как ipmitool) или через веб-интерфейс, и таким образом выполнять необходимые задачи администрирования. Эти задачи включают перезагрузку сервера, запуск KVM и считывание показаний датчиков материнской платы.

Все серверы серии PX имеют активированный BMC модуль, но его сетевые возможности по умолчанию отключены. После заказа дополнительного IP-адреса (за 1 Евро в месяц), через IPMI можно использовать функции удалённого обслуживания, включая serial over LAN.

На серверах PX90 и PX120, после активации сети есть полная функциональность KVM, включая поддержку Virtual Media. На серверах PX60 и PX70, за дополнительную плату можно активировать эту функциональность.

Активация сетевого интерфейса

По умолчанию, BMC доступен только через локальные интерфейсы. Чтобы использовать функции удалённого обслуживания необходим платный IP-адрес, который можно заказать из панели Robot.

Важно: При заказе дополнительного IP следует также указать указать MAC адрес.

MAC адрес можно узнать с помощью ipmitool (смотрите Сеть). После получения IP-адреса, его можно будет настроить статически либо назначить с помощью DHCP на BMC.

Разблокирование функциональности KVM

Для того чтобы включить возможность KVM с поддержкой Virtual media на серверах PX60 и PX70 потребуется KVM-модуль. Его можно заказать, отправив запрос в поддержку через панель Robot. Для установки KVM-модуля сервер надо будет выключить примерно на 5 минут.

Инструкции по безопасности

Если доступ к BMC предоставляется по публичному IP-адресу, то он может быть атакован и использован злоумышленниками, что может скомпрометировать сервер. По этой причине следует принять контрмеры против известных сценариев атак. Некоторые атаки могут быть осуществлены при помощи набора средств проникновения Metasploit (https://community.rapid7.com/community/metasploit/blog/2013/07/02/a-penetration-testers-guide-to-ipmi).

Используемые в PX60 и PX70 материнские платы не подвержены уязвимостям, описанным по ссылке выше, так как содержат предустановленные механизмы защиты. Обычно следует изменить пароли по умолчанию и удалить или переименовать существующих пользователей. Анонимный доступ выключен по умолчанию на всех моделях. Другие векторы атак и способы противодействия описаны далее.

Текущие угрозы

Уязвимости

Так как BMC предоставляет возможности IPMI, реализованные программными средствами, то они подвержены уязвимостям.

Обратите внимание: для материнских плат серверов PX90/120 (Supermicro X9SRi-F) в firmware версии 2.14 найдена уязвимость, позволяющая прочитать имена и пароли. Если в вашем сервере установлена именно эта версия firmware, то перед активацией сетевого интерфейса её обновить следует.

Узнать версию firmware можно при помощи команды ipmitool:

# ipmitool mc info
...
Firmware Revision         : 3.36

Если сеть в IPMI уже активирована, то обновление можно произвести через web-интерфейс. Последнюю версию firmware можно найти на download.hetzner.de.

Альтернативно, если сеть не была активирована, обновление можно произвести под Linux.

wget http://mirror.hetzner.de/tools/Supermicro/tools/SMT_X9_336.tgz
tar -xzf SMT_X9_336.tgz
cd SMT_X9_333
./lUpdate -f SMT_X9_336.bin

Обратите внимание: это обновление применимо только к моделям PX90 и PX120.

Атака нулевого шифрования

Нулевое шифрование означает, что при аутентификации не используется шифрование. По умолчанию «Cipher 0» активен только для callback, то есть не позволяет зайти на BMC, но позволяет определить наличие BMC. Для того чтобы этого избежать мы отключаем нулевое шифрование.

Передача хэшей паролей

В спецификации IPMI аутентификация пользователей возможна только на стороне клиента. Поэтому хэш пароля передаётся на клиентскую сторону. Используя метод перебора можно по известному значению хэша можно подобрать пароль. Так как эта проблема заложена в спецификации IPMI, ей подвержены все BMC. Поэтому противостоять подбору пароля можно только лишь задавая длинные и сложные пароли, что позволит существенно затруднить процесс подбора. Простой пароля может быть подобран за часы или даже минуты. Вот несколько советов по составлению паролей: Простой для запоминания пароль. В пароле можно объединить несколько не связанных друг с другом слов (http://correcthorsebatterystaple.net/). Такой пароль получается достаточно длинным и простым для запоминания. Если пароль хранится в специализированной базе, то он не требует запоминания. В этом случае пароль может состоять из случайного набора буков и цифр, и должен быть не менее 30 символов.

Пояснения по некоторым функциям

Веб-интерфейс

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

System Information: На этой странице вы найдёте информацию о сервере (версию BIOS, текущее состояние, информацию о процессоре и об оперативной памяти), а также информацию о текущих залогиненных пользователях.

Server Health: Тут отображается информация с некоторых датчиков материнской платы и процессора. Если есть какие проблемы температурного характера, то их можно увидеть на этой странице. Также здесь есть лог событий. В нём вы можете увидеть системные события, такие как, критическая температура, перезагрузки и проблемы с процессором. Эта информация может помочь в диагностике потенциальных проблем. Страница "Power Statistics" не работает с данной моделью так как источник питания не содержит интерфейса PMBUS.

Configuration: Здесь вы можете настроить различные параметры BMC. Сетевые настройки, обычно, не требуется изменять так как они получаются автоматически по DHCP. Вы можете вручную настроить IPv6, но использовать шлюз по умолчанию в Hetzner (fe80::1) будет возможно только в будущих версиях прошивки. Здесь вы также можете задать новых пользователей и удалить либо изменить существующих. А опция «Alerts» позволяет вам настроить отправку уведомлений при помощи SNMP или email. Это может быть полезно для мониторинга сервера.

Remote Control: Данная страница позволяем вам использовать функцию KVM. Стотит заметить, что опция "Console Redirection" доступна только если был активирован дополнительный модуль. Опция "Server Power Control" доступна всегда. Она позволяет отправлять на сервер команды перезагрузки (аппаратные и программные), а также выключать и включать сервер.

Настройка

В данном разделе приведены некоторые основные опции настройки. В большинстве случаев можно использовать веб-интерфейс BMC. Также рекомендуется установить «ipmitool», что можно сделать с помощью менеджера пакетов всех основных дистрибутивов. Это даёт доступ к дополнительным функциям, которые не могут быть настроены через веб-интерфейс.

Пример для Debian: Установка с помощью менеджера пакетов:

apt-get install ipmitool

Для работы ipmitool необходимо с помощью «modprobe» загрузить следующие модули:

modprobe ipmi_devintf
modprobe ipmi_si

Проверить, что всё необходимое корректно загружено и установлено, можно с помощью команды в следующем примере, она отобразит данные со всех доступных датчиков:

ipmitool sensor list

Пользователи

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

  • callback (1) — может только лишь инициировать callback;
  • user (2) — может отправлять запросы с правами только на чтение, но не может редактировать никакие конфигурационные файлы;
  • operator (3) — может менять все настройки за исключением деактивации канала и изменения прав;
  • administrator (4) — может менять любые настройки.

Обычно один или более пользователей уже существуют. Обзор существующих пользовательских ID и логинов можно получить с помощью:

ipmitool user list 1

В моделях PX90/PX120 уже существует активный пользователь с администраторскими правами:

ID  Name             Callin  Link Auth  IPMI Msg   Channel Priv Limit
2   ADMIN            false   false      true       ADMINISTRATOR

В моделях PX60/PX70 есть 5 стандартных неактивных пользователей, которых можно менять за исключением первого.

ID  Name             Callin  Link Auth  IPMI Msg   Channel Priv Limit
1                    true    false      true       ADMINISTRATOR
2   root             false   true       true       ADMINISTRATOR
3   test1            true    false      true       ADMINISTRATOR
4   test2            true    false      true       ADMINISTRATOR
5   test3            true    false      true       ADMINISTRATOR

ID пользователя root (или ADMIN) должен быть отключён и, по возможности, переименован после создания нового пользователя, но до активации сети.

Сменить логин можно с помощью ipmitool:

ipmitool user set name 2 john-doe

Для создания нового пользователя, просто назначьте имя неиспользованному ранее ID. Здесь процедура идентична процедуре смены логина для ID. Удаление ID возможно только при сбросе настроек BMC.

Создайте нового пользователя:

ipmitool user set name 6 max+meier

Затем задайте ему пароль:

ipmitool user set password 6 Correct-Battery-Horse-Staple

Теперь следует активировать этому пользователю доступ:

ipmitool channel setaccess 1 6 link=on ipmi=on callin=on privilege=4

Сам по себе пользователь также должен быть активирован:

ipmitool user enable 6

Для смены пользовательского пароля, достаточно следующей команды:

ipmitool user set password 6 Battery+Staple-Horse$Correct

В конце надо деактивировать админа по умолчанию:

ipmitool user disable 2

Сеть

Для того чтобы иметь доступ к BMC через Интернет Вам потребуется заказать через панель Robot дополнительный одиночный IP-адрес. Этот IP-адрес оплачивается. Настройка BMC на IPv4 может быть произведена при помощи ipmitool. Доступно как ручное задание IPv4 адреса, так и получение его по DHCP. Изменить эти настройки Вы сможете через веб-интерфейс (Configuration / IPv4 Network). В настоящий момент использование IPv6 невозможно. Позднее такая настройка должна появиться при использовании веб-интерфейса.

Начальная настройка должна быть произведена при помощи ipmitool. Для получения текущих настроек и MAC адреса BMC используйте команду:

ipmitool lan print

Для получения IP-адреса при помощи DHCP используйте следующую команду:

ipmitool lan set 1 ipsrc dhcp

Если вы хотите задать IP-адрес вручную, то используйте следующую серию команд:

ipmitool lan set 1 ipsrc static

Задание IP-адреса:

ipmitool lan set 1 ipaddr <IP Address>

Задание маски сети:

ipmitool lan set 1 netmask <Netmask>

Задание шлюза по умолчанию:

ipmitool lan set 1 defgw ipaddr <Gateway IP Address>

Serial over LAN

Для активации SOL (Serial over LAN) введите следующую команду:

ipmitool -C 3 -I lanplus -H <ipaddr> -U <user> -P <pass> sol activate

Использования шифрования третьего вида обязательно, без него будет невозможно использование lanplus.

Если вы увидите следующее сообщение об ошибке, то вам надо активировать пользователя для SOL:

$ ipmitool -C 3 -I lanplus -H <ipaddr> -U <user> -P <pass> sol activate
Info: SOL payload disabled
$ ipmitool -C 3 -I lanplus -H <ipaddr> -U <user> -P <pass> sol payload enable <channel> <user-id>

После этого вы сможете видеть вывод BIOS. Доступ к загрузчику ОС и к консоли ОС требует дополнительной настройки.

Обратите внимание: в материнской плате Supermicro X9SRi-F следует использовать ttyS2 вместо ttyS0.

Для GRUB2 вам нужно изменить несколько строк в файле /etc/default/grub и перегенерировать файл, используемый загрузчиком:

GRUB_CMDLINE_LINUX_DEFAULT="nomodeset console=tty0 console=ttyS0,115200n8"
GRUB_TERMINAL=serial
GRUB_SERIAL_COMMAND="serial --speed=115200 --unit=0 --word=8 --parity=no --stop=1"

Для GRUB1 (grub-legacy), добавьте следующие строки в файл /boot/grub/menu.lst или /boot/grub/grub.conf (CentOS):

serial --unit=0 --speed=115200 --word=8 --parity=no --stop=1
terminal --timeout=5 serial console

Добавьте следующие опции загрузки ядра:

console=tty0 console=ttyS0,115200n8

Они говорят ядру выводить информацию на первый последовательный порт. Изменение GRUB_TERMINAL на serial означает перенаправление любого ввода/вывода на последовательный порт. При этом на локальном экране более не будет отображаться меню загрузчика, соответственно использование LARA или IP-KVM будет невозможным. После перезагрузки вывод будет направлен и на локальный экран и на последовательный порт.

После этого вам надо настроить вывод терминала установленной операционной системы на последовательный порт.

Обратите внимание: в материнской плате Supermicro X9SRi-F следует использовать ttyS2 вместо ttyS0.

Debian

Добавьте следующую строку в файл /etc/inittab:

T0:2345:respawn:/sbin/getty -L ttyS0 115200 vt100

После этого, вы можете активировать терминал введя 'init q'.

Ubuntu

Создайте файл /etc/init/ttyS0.conf следующего содержания:

# ttyS0 - getty
#
# This service maintains a getty on ttyS0 from the point the system is
# started until it is shut down again.

start on stopped rc RUNLEVEL=[2345]
stop on runlevel [!2345]

respawn
exec /sbin/getty -L ttyS0 115200 vt100

После этого, вы можете активировать терминал введя 'start ttyS0'.

CentOS

В CentOS 6.x, настройка производится также как в Ubuntu. С тем лишь исключением, что автоматический запуск getty на последовательном порту настраивается в /etc/init/serial.conf, при этом порт добавляется в /etc/securetty. Также надо настроить последовательный порт в grub.com и добавить соответствующие опции ядра.

OpenSuSE / Fedora

Для OpenSuSE и других дистрибутивов, таких как Fedora, в которых используются systemd и GRUB2, просто отредактируйте соответствующим образом /etc/default/grub и перегенерируйте конфигурацию с помощью команды grub2-mkconfig. При следующей загрузке, systemd автоматически начнёт использовать серийный порт загрузчика GRUB2.

Терминал на последовательном порту

Теперь, вы увидите приглашение к логину, подключившись через ipmitool:

 $ ipmitool -C 3 -I lanplus -H <ipaddr> -U <user> -P <pass> sol activate
 [SOL Session operational.  Use ~? for help]

 Debian GNU/Linux 7 Debian-70-wheezy-64-minimal ttyS0

 Debian-70-wheezy-64-minimal login:


© 2019. Hetzner Online GmbH. Alle Rechte vorbehalten.