Šajā rakstā ir sniegts pārskats un daži ceļvedis un piemēri IPMI saskarnei.
Ievads
IPMI (Intelligent Platform Management Interface) ir saskarne serveru pārvaldībai un administrācijai. Tā ir ieviesta ar pamatplates pārvaldības kontrolieri (BMC). Piekļuve šai saskarnei ir iespējama ar komandrindas programmu (piemēram, IPMItool) vai tīmekļa saskarni, ar kuru var pārvaldīt serveri. Jūs varat veikt atiestatīšanu, ieslēgt KVM un lasīt pamatplates sensoru izvades datus.
Modeļu pārskats
Ja jums nav skaidrs, kura servera modeļa pamatā ir jūsu SB serveris, sazinieties ar atbalsta komandu, rakstot atbalsta pieprasījumu klienta vietā. Mūsu komanda var jums pateikt.
- Intel S1200V3RPL(-SSD) – BMC ietver IPMI (KVM-over-IP kā papildu maksas moduli)
- Supermicro X9SRi-F(-SSD) – BMC ietver IPMI un KVM
- Asus Z10PA-U8(-SSD) – maksas papildu BMC modulis ar IPMI/KVM
Tīkla saskarnes aktivizēšana
Ar iebūvēto BMC tīkla konfigurācija ir noklusējuma stāvoklī atspējota. Lai izmantotu IPMI un Seriālo pār LAN un/vai KVM funkciju, jums būs nepieciešams pasūtīt papildu IP adresi (kas ir ar nelielu maksu).
Svarīgi: Jums ir jānorāda BMC MAC adrese, pasūtot papildu IP adresi.
Jūs varat nolasīt MAC adresi, izmantojot IPMItool. Pēc tam, kad mēs jums piešķiram IP adresi, jūs varat to statiski konfigurēt vai piešķirt to BMC arī ar DHCP.
Drošības norādījumi
Ja BMC padara pieejamu, piešķirot tai publisku IP, to var uzbrukt un noteiktos apstākļos ļaunprātīgi izmantot, kas var novest pie servera potenciālas kompromitācijas. Tāpēc jums vajadzētu veikt pasākumus, lai pretotos vislabāk zināmajiem uzbrukuma scenārijiem. Lai uzzinātu vairāk par šiem uzbrukumiem, izlasiet par Metasploit ielaušanās rīku kolekciju (https://community.rapid7.com/community/metasploit/blog/2013/07/02/a-penetration-testers-guide-to-ipmi).
Modeļa Intel S1200V3RPL izmantotā pamatplates nav uzbrukumam pakļauta, kā norādīts saitē, jo daži aizsardzības mehānismi jau ir iebūvēti pēc noklusējuma. Vispārīgi jums vajadzētu mainīt noklusējuma paroles un atspējot vai pārdēvēt jau esošos lietotājus. Anonīma piekļuve ir atspējota pēc noklusējuma visos modeļos. Skatiet zemāk informāciju par citiem uzbrukuma vektoriem un to novēršanu.
Pašreizējie draudi
Ievainojamības
Tā kā BMC, kas nodrošina IPMI funkcionalitāti, ir vienkārši programmatūra, tajā var būt ievainojamības.
Supermicro X9SRi-F
Modeļa Supermicro X9SRi-F pamatplates 2.14 firmware versijā tika atklāta ievainojamība, kas ļauj lasīt lietotājvārdus un paroles teksta formā. Ja jūsu serverī ir šāda firmware, pirms aktivizējat tīkla saskarni, jums ir jāveic firmware atjauninājums.
Jūs varat nolasīt firmware versiju, izmantojot impitool
:
ipmitool mc info
...
Firmware Revision : 3.50
Ja jūs jau esat aktivizējis IPMI tīklu, atjauninājumu varat veikt, izmantojot tīmekļa saskarni.
Asus Z10PA-U8
Papildu KVM modulis Asus Z10PA-U8 izmanto neaizsargātus SSL protokolus un novecojis SSL sertifikātu versijās pirms 1.11.
Tāpēc, atkarībā no izmantotā pārlūka, drošu (HTTPS) savienojumu var nebūt pieejams līdz pēc atjaunināšanas.
Atjauninājumu varat lejupielādēt, izmantojot tīmekļa saskarni.
Cipher 0 uzbrukumi
Cipher 0 nozīmē, ka nav izmantota nekāda šifrēšana un tādējādi tiek apiet jebkāda autentifikācija. Pēc noklusējuma Cipher 0 ir ieslēgts tikai pamatplates atzvanam, kas nozīmē, ka pieteikties nav iespējams; jūs varat tikai saņemt atbildi par to, vai BMC ir pieejams vai nav. Pat ar to, lai nodrošinātu, ka nekāda ļaunprātīga izmantošana nevar notikt, Cipher 0 pēc noklusējuma ir atspējots piegādes brīdī un to vairs nevar izmantot.
Paroles heša nosūtīšana
IPMI specifikācijā lietotāja autentifikācija ir iespējama tikai lietotāja pusē. Tāpēc paroles hešs tiek nosūtīts jebkuram pieprasītājam lietotājam. Ņemot vērā specifikāciju, kas precīzi norāda, ko šis hešs satur, ir iespējams atrast paroli, izmantojot bruteforce uzbrukumu. Ņemot vērā, ka tas ir daļa no IPMI specifikācijas, šī problēma ir atrodama visos BMC un to var novērst tikai mainot specifikāciju. Tāpēc vienīgais pašreizējais ieteikums par šo jautājumu ir izmantot ļoti garu un stipru paroli BMC, lai jebkuri uzbrucējiem būtu pēc iespējas grūtāk.
Šeit ir daži ieteikumi drošai parolei:
Ja jums ir nepieciešams, lai parole būtu viegli atcerama, ir saprātīgi virknēt kopā vairākus vārdus, kas nav saistīti viens ar otru (http://correcthorsebatterystaple.net/). Tas ir droši ilguma dēļ un tomēr viegli atcerams.
Ja plānojat glabāt paroli datu bāzē un jums nav nepieciešams to atcerēties, tad drošai parolei varat izmantot pietiekami nejaušus skaitļus un burtus, pieņemamu garumu (>30 rakstzīmes), lai izveidotu drošu paroli.
SNMP atspoguļošana
Daži IPMI moduļi (piemēram, ASMB8-iKVM Asus Z10PA-U8 modeļos) ļauj veikt vaicājumus caur SNMP. Tāpēc maza vaicājuma izmantošana var izraisīt lielu datu zudumu, ja vaicājums no avota adrešu tiek ļaunprātīgi izmantots uzbrukumā. Ja izmantojat SNMP, jums ir jāpārliecinās, ka izmantojat spēcīgu paroli (tas nozīmē izmantojot SNMP kopienas virkni). Ja neizmantojat SNMP, varat izmantot ugunsmūri, lai bloķētu šo portu uz Asus Z10PA-U8 modeļa ASMB8-iKVM moduļiem. Abas opcijas varat izmantot, izmantojot tīmekļa saskarni.
Atsevišķu funkciju skaidrojums
Tīmekļa saskarne
Ar tīmekļa saskarni varat viegli un droši nolasīt datus no BMC. Tā parāda visus sensorus, jūs varat pievienot un mainīt lietotājus, varat iestatīt tīkla konfigurāciju, un, ja jums ir KVM, varat to ieslēgt.
Sistēmas informācija: Šajā lapā varat atrast informāciju par serveri (BIOS versija, pašreizējais statuss, CPU un RAM informācija) un redzēt lietotājus, kas pašreiz ir pierakstījušies.
Server Health: Šeit jūs varat redzēt atsevišķu sensoru izvades datus pamatplātē un procesorā. Ja ir kādas termiskas problēmas, tās varat konstatēt šeit. Turklāt ir notikumu žurnāls. Žurnālā varat atrast sistēmas notikumus, piemēram, kritiskas temperatūras, restartēšanu un CPU ierobežošanu. Tas var palīdzēt diagnosticēt potenciālu problēmu. Lapa Power Statistics
ar šo modeļu nedarbojas, jo barošanas avotam nav nepieciešamās PMBUS saskarnes.
Configuration: Šeit jūs varat konfigurēt daudzas BMC opcijas. Parasti jums nav nepieciešams mainīt tīkla iestatījumus, jo IPv4 konfigurācija tiek automātiski iestatīta ar DHCP palīdzību. Jūs varat manuāli konfigurēt IPv6. Šeit arī varat pievienot jaunus lietotājus, mainīt un dzēst esošos. Turklāt opcija Alerts
ļauj saņemt paziņojumus, izmantojot SNMP vai e-pastu, kad notiek noteikti notikumi uz servera. Tas var būt noderīgi servera uzraudzībai.
Remote Control: Šajā lapā jūs varat izmantot BMC KVM funkcionalitāti. Tomēr opcija Console Redirection
ir pieejama tikai ar papildu moduli. Jūs vienmēr varat izmantot Server Power Control
. Tas ļauj nosūtīt cietā un mīkstā atiestatīšana serverim; jūs arī varat to izslēgt vai ieslēgt.
Konfigurācija
Šajā sadaļā jūs varat redzēt dažus pamata konfigurācijas variantus. Parasti jūs varat izmantot BMC tīmekļa saskarni. Ieteicams arī instalēt ipmitool
, ko varat uzstādīt, izmantojot galveno izplatītāju pakotņu pārvaldnieku. Tas ļauj piekļūt papildu funkcijām, kuras nevar konfigurēt, izmantojot tīmekļa saskarni.
Piemērs Debian:
Instalējiet izmantojot pakotņu pārvaldnieku:
apt install ipmitool
Lai ipmitool
funkcionētu, jums vajadzētu ielādēt sekojošos moduļus ar modprobe
:
modprobe ipmi_devintf
modprobe ipmi_si
Lai pārbaudītu, vai viss svarīgais ir pareizi ielādēts un uzstādīts, izmantojiet sekojošo piemēru komandu, kas parādīs datus no visiem pieejamajiem sensoriem:
ipmitool sensor list
Lietotāji
Jūs varat izveidot vairākus lietotājus ar dažādām tiesībām BMC. Pēc jauna lietotāja ar administratīvām tiesībām izveidošanas ar ipmitool
, jūs varat pārvaldīt vairākus lietotājus, izmantojot tīmekļa saskarni. Ir četri dažādi tiesību/līmeņu atļauju līmeņi:
- Callback (1): Var tikai veikt atzvani
- Lietotājs (2): Var sūtīt tikai lasīšanas pieprasījumus, bet nevar mainīt nekādas konfigurācijas datnes
- Operators (3): Var mainīt visus konfigurācijas parametrus, izņemot kanāla izslēgšanu un tiesību maiņu
- Administrators (4): Var mainīt visus konfigurācijas parametrus
Parasti jau eksistē viens vai vairāki lietotāji. Pārskatu par esošo lietotāju ID un pieteikumiem varat iegūt ar:
ipmitool user list 1
Supermicro X9SRi-F modeļos jau pastāv aktīvs lietotājs ar administratīvām tiesībām:
ID Nosaukums Iezvanīšana Saite Atļauja IPMI Ziņa Kanāla Privileģiju Ierobežojums
2 ADMIN false false true ADMINISTRATORS
Asus Z10PA-U8 modeļa BMC/KVM modulī ir divi aktīvi lietotāji ar administratora tiesībām:
ID Nosaukums Iezvanīšana Saite Atļauja IPMI Ziņa Kanāla Privileģiju Ierobežojums
1 false false true ADMINISTRATORS
2 admin false false true ADMINISTRATORS
Intel S1200V3RPL modeļos pastāv pieci noklusējuma neaktīvi lietotāji. Jūs varat mainīt visus, izņemot pirmo.
ID Nosaukums Iezvanīšana Saite Atļauja IPMI Ziņa Kanāla Privileģiju Ierobežojums
1 true false true ADMINISTRATORS
2 root false true true ADMINISTRATORS
3 test1 true false true ADMINISTRATORS
4 test2 true false true ADMINISTRATORS
5 test3 true false true ADMINISTRATORS
Jums vajadzētu izslēgt root (vai ADMIN) lietotāja ID un, ja iespējams, pārdēvēt to pēc klienta lietotāja izveidošanas un pirms tīkla konfigurācijas aktivizēšanas.
Mainiet pieteikšanās nosaukumu, izmantojot ipmitool
:
ipmitool user set name 2 john-doe
Lai izveidotu jaunu lietotāju, vienkārši piešķiriet iepriekš neizmantoto ID nosaukumu. Šeit procedūra ir identiska ID pieteikšanas mainīšanai. ID var dzēst tikai mainot BMC iestatījumus.
Izveidojiet jaunu lietotāju:
ipmitool user set name 6 max+meier
Pēc tam iestatiet paroli:
ipmitool user set password 6 Correct-Battery-Horse-Staple
Tagad aktivizējiet piekļuvi šim lietotājam:
ipmitool channel setaccess 1 6 link=on ipmi=on callin=on privilege=4
Aktivizējiet pašu lietotāju:
ipmitool user enable 6
Lai mainītu lietotāja paroli, vienkārši ievadiet šo komandu:
ipmitool user set password 6 Battery+Staple-Horse$Correct
Visbeidzot, jūs varat izslēgt noklusējuma administratora lietotāju:
ipmitool user disable 2
Tīkls
Lai padarītu BMC pieejamu internetā, jums ir jāpasūta papildu IP adrese tās izmantojot Robotu. Šai IP adresei ir neliels maksa. Jūs varat veikt BMC IPv4 konfigurāciju vai nu manuāli, vai izmantojot ipmitool ar DHCP palīdzību. Jūs varat veikt izmaiņas šajā konfigurācijā, izmantojot tīmekļa saskarni, dodoties uz Configuration / IPv4 Network
. Pašlaik jūs nevarat izmantot IPv6. Konfigurācija ar IPv6 kļūs pieejama vēlāk tīmekļa saskarnē.
Jūs varat iestatīt sākotnējo konfigurāciju, izmantojot ipmitool
. Atbilstošais IPMI kanāls ir atkarīgs no pamatplates un tā saskarnes, kuru vēlaties konfigurēt.
Galvenās IP koplietojamais LAN ports:
- Intel S1200V3RPL un Supermicro X9SRi-F: Kanāls 1
- Asus Z10PA-U8: Kanāls 8
Lai parādītu pašreizējo konfigurāciju un BMC MAC adresi, izmantojiet šo komandu:
- Intel S1200V3RPL un Supermicro X9SRi-F:
-
ipmitool lan print 1
- Asus Z10PA-U8:
-
ipmitool lan print 8
Kā redzams iepriekš, izmantojiet set 8
, nevis set 1
, gan šai, gan visām citām komandām Asus Z10PA-U8 modeļiem.
Lai saņemtu IP adresi ar DHCP, izmantojiet šo komandu:
ipmitool lan set 1 ipsrc dhcp
Ja vēlaties izmantot noklusēto statisko konfigurāciju, ievadiet:
ipmitool lan set 1 ipsrc static
Lai iestatītu IP adresi, ievadiet:
ipmitool lan set 1 ipaddr <IP adrese>
Lai iestatītu tīkla masku, ievadiet:
ipmitool lan set 1 netmask <tīkla masķa>
Lai iestatītu vārtejas IP adresi, ievadiet:
ipmitool lan set 1 defgw ipaddr <vārtejas IP adrese>
Seriālie pār LAN
Lai aktivizētu SOL (Seriālo pār LAN), ievadiet šo komandu:
ipmitool -C 3 -I lanplus -H <ipaddr> -U <lietotājs> -P <parole> sol activate
Ir būtiski izmantot šifrēšanas pakotni 3 (ja tā nav noklusējuma), jo citādi komunikācija caur LANplus
nav iespējama.
Ja parādās šāda kļūdas ziņojums, jums ir jāaktivizē SOL lietotājam:
ipmitool -C 3 -I lanplus -H <ipaddr> -U <lietotājs> -P <parole> sol activate
Info: SOL payload disabled
ipmitool -C 3 -I lanplus -H <ipaddr> -U <lietotājs> -P <parole> sol payload enable <kanāls> <lietotāja-ID>
Pēc tam jūs varat redzēt BIOS izvadi. Piekļuve boot loader un/vai startētajam sistēmai prasa papildu iestatījumus.
GRUB2
GRUB2 gadījumā vienkārši nomainiet dažas rindiņas, lai atbilstu šādai konfigurācijai /etc/default/grub
un atkārtoti ģenerētu iestatījumus.
Ar Supermicro X9SRi-F, seriālais konsols ir uz ttyS2/unit=2
. Ar Asus Z10PA-U8 tas ir uz ttyS1/unit=1
. Un ar Intel S1200V3RPL tas ir uz ttyS0/unit=0
. PIEZĪME: Asus Z10PA-U8 modeļiem jāiestata pārraides ātrums uz 57600, bet visiem citiem modeļiem jābūt uz 115200.
Intel S1200V3RPL
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"
Asus Z10PA-U8
GRUB_CMDLINE_LINUX_DEFAULT="nomodeset console=tty0 console=ttyS2,115200n8"
GRUB_TERMINAL=serial
GRUB_SERIAL_COMMAND="serial --speed=115200 --unit=2 --word=8 --parity=no --stop=1"
Asus Z10PA-U8
GRUB_CMDLINE_LINUX_DEFAULT="nomodeset console=tty0 console=ttyS1,57600n8"
GRUB_TERMINAL=serial
GRUB_SERIAL_COMMAND="serial --speed=57600 --unit=1 --word=8 --parity=no --stop=1"
GRUB (grub-legacy)
GRUB1 (grub-legacy) gadījumā pievienojiet šādas rindiņas /boot/grub/menu.lst
vai /boot/grub/grub.conf
(CentOS):
Intel S1200V3RPL
serial --unit=0 --speed=115200 --word=8 --parity=no --stop=1
terminal --timeout=5 serial console
Supermicro X9SRi-F
serial --unit=2 --speed=57600 --word=8 --parity=no --stop=1
terminal --timeout=5 serial console
Asus Z10PA-U8
serial --unit=1 --speed=115200 --word=8 --parity=no --stop=1
terminal --timeout=5 serial console
Vienlaikus ir jāpievieno tāds pats sērijas ports arī kodola iestatījumiem. Ar Intel S1200V3RPL tas ir ttyS0, ar sus Z10PA-U8 tas ir ttyS1, un ar Supermicro X9SRi-F tas ir ttyS2.
console=tty0 console=ttyS0,115200n8
Tas liek kodolam izvadīt informāciju uz pirmo sērijas portu. GRUB_TERMINAL
mainīšana uz serial
nozīmē, ka visi ievades/izvades dati tiek novirzīti uz sērijas portu. Lokālais ekrāns vairs nerādīs startēšanas izvēlni, un tāpēc, izmantojot KVM Console vai KVM, nebūs iespējams izvēlēties startēšanas ierakstu. Pēc restartēšanas izvades tiks nosūtītas paralēli gan uz lokālo ekrānu, gan uz sērijas portu.
Pēc tam jums ir jāiestata termināls sērijas portam jūsu sistēmā.
Ubuntu
Izveidojiet failu /etc/init/ttyS0.conf
ar šādu saturu (vai alternatīvi, ttyS2.conf
ar ttyS2
un 115200 baud ar Supermicro X9SRi-F modeļiem, vai ttyS1.conf
ar ttyS1
un 57600 baud ar Asus Z10PA-U8 modeļiem):
# 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
Pēc tam jūs varat aktivizēt terminālu, ievadot start ttyS0
.
CentOS
CentOS gadījumā konfigurācija ir līdzīga kā Ubuntu. Tomēr /etc/init/serial.conf
automātiski startē getty uz sērijas portu, kas pievieno portu /etc/securetty
. Tāpēc jums vienkārši ir jākonfigurē sērijas konsole grub.conf un jāpiesaista atbilstošais kodola parametrs.
Debian / OpenSuSE / Fedora
Debian, OpenSuSE un citas distribūcijas, piemēram, Fedora, kuras izmanto systemd
un GRUB2, vienkārši mainiet /etc/default/grub
atbilstoši un atjauniniet konfigurāciju, izmantojot grub2-mkconfig
. Nākamajā startē systemd
automātiski sāks izmantot GRUB2 sērijas portu.
Seriālais konsols
Tagad, ja savienojaties ar ipmitool
, redzēsiet ātru pieteikšanos:
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: