Šiame straipsnyje pateikiama IPMI sąsajos apžvalga ir keletas vadovų bei pavyzdžių.
Įvadas
IPMI (Intelligent Platform Management Interface) yra serverių valdymo ir administravimo sąsaja. Jis įgyvendinamas naudojant pagrindinės plokštės BMC (Baseboard Management Controller). Šią sąsają galite pasiekti naudodami komandų eilutės programą (pvz., IPMItool) arba žiniatinklio sąsają, su kuria galite administruoti serverį. Galite atlikti atstatymą, paleisti KVM ir nuskaityti pagrindinės plokštės jutiklių išvestį.
Modelio apžvalga
Jei nesate tikri, kuris serverio modelis yra jūsų SB serverio pagrindas, susisiekite su palaikymo komanda parašydami pagalbos užklausą kliento srityje. Mūsų komanda gali jums pasakyti.
- Intel S1200V3RPL(-SSD) – BMC apima IPMI (KVM-over-IP kaip pasirenkamą mokamą modulį)
- Supermicro X9SRi-F(-SSD) – BMC apima IPMI ir KVM
- Asus Z10PA-U8(-SSD) – mokamas pasirenkamas BMC modulis su IPMI / KVM
Tinklo sąsajos aktyvinimas
Naudojant integruotą BMC, tinklo konfigūracija pagal numatytuosius nustatymus yra išjungta. Jei norite naudoti IPMI ir Serial per LAN ir (arba) KVM funkciją, turėsite užsisakyti papildomą IP adresą (už jį taikomas nedidelis mokestis).
Svarbu: užsisakydami papildomą IP adresą turite nurodyti BMC MAC adresą.
MAC adresą galite nuskaityti naudodami IPMItool. Kai jums priskirsime IP adresą, galėsite jį statiškai konfigūruoti arba priskirti BMC per DHCP.
Saugos instrukcijos
Jei BMC pasiekiamas priskiriant jam viešą IP. Jis gali būti užpultas ir tam tikromis aplinkybėmis juo piktnaudžiaujama, todėl serveris gali būti pažeistas. Todėl turėtumėte imtis priemonių, kad išvengtumėte žinomiausių atakų scenarijų. Norėdami sužinoti daugiau apie šias atakas, skaitykite apie Metasploit įsiskverbimo įrankių rinkinį (https://community.rapid7.com/community/metasploit/blog/2013/07/02/a-penetration-testers-guide-to-ipmi ).
Modelio Intel S1200V3RPL naudojama pagrindinė plokštė nėra pažeidžiama nuorodoje aprašytų parinkčių, nes kai kurie apsaugos mechanizmai jau įdiegti pagal nutylėjimą. Paprastai turėtumėte pakeisti numatytuosius slaptažodžius ir išjungti arba pervardyti jau esamus vartotojus. Anoniminė prieiga pagal numatytuosius nustatymus išjungta visuose modeliuose. Žemiau rasite informacijos apie kitus atakų vektorius ir jų prevenciją.
Dabartinės grėsmės
Pažeidžiamumas
Kadangi BMC, teikiantis IPMI funkcijas, yra tiesiog programinė įranga, jame gali būti spragų.
Supermicro X9SRi-F
Modelio Supermicro X9SRi-F pagrindinės plokštės 2.14 programinės įrangos versijoje buvo aptiktas pažeidžiamumas, leidžiantis vartotojo vardus ir slaptažodžius skaityti paprastu tekstu. Jei jūsų serveryje yra ši programinė aparatinė įranga, prieš suaktyvindami tinklo sąsają turite atnaujinti programinę-aparatinę įrangą.
Programinės aparatinės įrangos versiją galite perskaityti naudodami impitool
:
ipmitool mc informacija
...
Programinės aparatinės įrangos versija : 3,50
Jei jau suaktyvinote IPMI tinklą, atnaujinimą galite atlikti per žiniatinklio sąsają.
Asus Z10PA-U8
Papildomas KVM modulis, skirtas Asus Z10PA-U8, naudoja nesaugius SSL protokolus ir pasenusį SSL sertifikatą versijose iki 1.11.
Todėl, atsižvelgiant į naudojamą naršyklę, saugaus (HTTPS) ryšio gali nebūti tol, kol neatliksite atnaujinimo.
Atnaujinimą galite atsisiųsti naudodami žiniatinklio sąsają.
Šifruoti 0 atakų
0 šifras reiškia, kad nenaudojamas šifravimas, todėl bet koks autentifikavimas yra apeinamas. Pagal numatytuosius nustatymus Cipher 0 aktyvuojamas tik pagrindinėje plokštėje, kad būtų galima skambinti atgal, tai reiškia, kad prisijungti neįmanoma; galite gauti tik atsakymą, ar BMC yra, ar ne. Net ir tuo atveju, siekiant užtikrinti, kad nebūtų piktnaudžiaujama, šifras 0 yra išjungtas pagal numatytuosius nustatymus pristačius serverį, todėl jo nebegalima naudoti.
Slaptažodžio maišos perdavimas
IPMI specifikacijoje vartotojo autentifikavimas galimas tik iš vartotojo pusės. Todėl slaptažodžio maiša perduodama visiems prašantiems vartotojams. Kadangi tiksliai nurodoma, kas yra ši maiša, slaptažodį galima rasti naudojant brutalios jėgos ataką. Kadangi tai yra IPMI specifikacijos dalis, ši problema randama visuose BMC ir gali būti pašalinta tik pakeitus specifikaciją. Todėl šiuo metu vienintelė rekomendacija dėl šios problemos yra naudoti tikrai ilgą ir tvirtą BMC slaptažodį, kad bet kokiems užpuolikams būtų kuo sunkiau. Jei naudosite trumpą arba lengvai atspėjamą BMC slaptažodį, jis gali būti pažeistas per kelias valandas ar net minutes.
Štai keli saugaus slaptažodžio patarimai:
Jei norite, kad slaptažodis būtų lengvai įsimenamas, prasminga sujungti kelis žodžius, kurie nesusiję vienas su kitu (http://correcthorsebatterystaple.net/). Tai saugu dėl ilgio ir vis dar lengvai įsimenama.
Jei planuojate saugoti slaptažodį duomenų bazėje ir jums jo atsiminti nereikia, galite naudoti pakankamai atsitiktinius skaičius ir protingo ilgio raides (>30 simbolių), kad sukurtumėte saugų slaptažodį.
SNMP atspindys
Kai kurie IPMI moduliai (pavyzdžiui, ASMB8-iKVM Asus Z10PA-U8 modeliuose) leidžia atlikti užklausas per SNMP. Todėl dėl mažos užklausos gali būti prarastas didelis duomenų kiekis, jei užklausa iš šaltinio adreso yra netinkamai naudojama atakoje. Jei naudojate SNMP, būtinai turite naudoti tvirtą slaptažodį (tai reiškia, kad reikia naudoti SNMP bendruomenės eilutę). Jei nenaudojate SNMP, galite naudoti ugniasienę, kad užblokuotumėte šį prievadą Asus Z10PA-U81 modelių ASMB8-iKVM moduliuose. Norėdami atlikti abi parinktis, galite naudoti žiniatinklio sąsają.
Atskirų funkcijų paaiškinimas
Žiniatinklio sąsaja
Galite naudoti žiniatinklio sąsają norėdami lengvai ir saugiai skaityti duomenis iš BMC. Jame rodomi visi jutikliai, galima pridėti ir keisti vartotojus, nustatyti tinklo konfigūraciją, o jei turite KVM, galite jį paleisti.
Sistemos informacija: šiame puslapyje galite rasti informacijos apie savo serverį (BIOS versiją, dabartinę būseną, procesoriaus ir RAM informaciją) ir galite matyti šiuo metu prisijungusius naudotojus.
Serverio būklė: čia galite matyti atskirų pagrindinės plokštės ir procesoriaus jutiklių išvestį. Jei yra kokių nors šiluminių problemų, galite jas aptikti čia. Be to, yra įvykių žurnalas. Žurnale galite rasti sistemos įvykius, pvz., kritines temperatūras, paleidimus iš naujo ir procesoriaus ribojimą. Tai gali padėti diagnozuoti galimą problemą. Puslapis Maitinimo statistika
neveikia su šiuo modeliu, nes maitinimo šaltinis neturi būtinos PMBUS sąsajos.
Konfigūracija: čia galite konfigūruoti daugybę BMC parinkčių. Paprastai nereikia keisti tinklo nustatymų, nes IPv4 konfigūracija nustatoma automatiškai per DHCP. Galite rankiniu būdu konfigūruoti IPv6. Čia taip pat galite pridėti naujų vartotojų ir pakeisti bei ištrinti esamus. Be to, naudojant parinktį Įspėjimai
galite gauti pranešimus SNMP arba el. paštu, kai serveryje įvyksta tam tikri įvykiai. Tai gali būti naudinga stebint serverį.
Nuotolinis valdymas: šiame puslapyje galite naudoti BMC KVM funkcijas. Tačiau parinktis Console Redirection
pasiekiama tik suaktyvinus papildomą modulį. Visada galite naudoti Server Power Control
. Tai leidžia nusiųsti aparatinės ir programinės įrangos atstatymą į serverį; taip pat galite jį išjungti arba paleisti.
Konfigūracija
Šiame skyriuje galite pamatyti kai kurias pagrindines konfigūracijos parinktis. Paprastai galite naudoti BMC žiniatinklio sąsają. Taip pat rekomenduojama įdiegti ipmitool
, kurią galite įdiegti naudodami visų pagrindinių platinimų paketų tvarkyklę. Tai suteikia prieigą prie papildomų funkcijų, kurių negalite konfigūruoti naudodami žiniatinklio sąsają.
Debian’o pavyzdys:
Diegimas per paketų tvarkyklę:
apt įdiegti ipmitool
Kad ipmitool
veiktų, per modprobe
turėtumėte įkelti šiuos modulius:
modprobe ipmi_devintf
modprobe ipmi_si
Norėdami patikrinti, ar viskas, kas svarbu, buvo teisingai įkelta ir įdiegta, naudokite šią pavyzdinę komandą, kuri parodys visų galimų jutiklių duomenis:
ipmitool jutiklių sąrašas
Naudotojai
BMC galite sukurti kelis vartotojus su skirtingomis teisėmis. Sukūrę naują naudotoją su administravimo teisėmis naudodami ipmitool
, galite valdyti daugiau naudotojų naudodami žiniatinklio sąsają. Yra 4 skirtingi teisių / leidimų lygiai:
- Atgalinis skambinimas (1): galima tik inicijuoti atgalinį skambutį
- Naudotojas (2): gali siųsti tik skaitymo užklausas, bet negali keisti jokių konfigūracijos failų.
- Operatorius (3): gali keisti visas konfigūracijas, išskyrus kanalo išjungimą ir teisių keitimą.
- Administratorius (4): gali keisti visas konfigūracijas
Paprastai jau yra vienas ar keli vartotojai. Esamų vartotojų ID ir prisijungimų apžvalgą galite gauti naudodami:
ipmitool naudotojų sąrašas 1
Supermicro X9SRi-F modeliuose jau yra aktyvus vartotojas, turintis administratoriaus teises:
ID vardas Callin Link Auth IPMI žinutės kanalo privatumo apribojimas
2 ADMINISTRATORIUS false false true ADMINISTRATOR
Asus Z10PA-U8 modelių BMC/KVM moduliuose yra du aktyvūs vartotojai, turintys administratoriaus teises:
ID vardas Callin Link Auth IPMI žinutės kanalo privatumo apribojimas
1 false false true ADMINISTRATOR
2 admin false false true ADMINISTRATOR
„Intel S1200V3RPL“ modeliuose yra 5 standartiniai neaktyvūs vartotojai. Galite pakeisti juos visus, išskyrus pirmąjį.
ID vardas Callin Link Auth IPMI žinutės kanalo privatumo apribojimas
1 tikras klaidingas tikras ADMINISTRATORIUS
2 šaknis klaidinga tiesa tiesa ADMINISTRATOR
3 test1 tiesa klaidinga tiesa ADMINISTRATOR
4 test2 tiesa klaidinga tiesa ADMINISTRATOR
5 test3 tiesa klaidinga tiesa ADMINISTRATOR
Sukūrę kliento vartotoją ir prieš aktyvuodami tinklo konfigūraciją, turėtumėte išjungti šakninį (arba ADMIN) vartotojo ID ir, jei įmanoma, pervardyti.
Pakeiskite prisijungimo vardą naudodami ipmitool
:
ipmitool naudotojo rinkinio pavadinimas 2 john-doe
Norėdami sukurti naują vartotoją, tiesiog priskirkite anksčiau nenaudotam ID vardą. Procedūra čia yra tokia pati, kaip ir ID prisijungimo keitimas. ID galite ištrinti tik pakeitę BMC nustatymus.
Sukurti naują vartotoją:
ipmitool naudotojo rinkinio pavadinimas 6 max+meier
Bendras pagrindinio IP LAN prievadas:
- Intel S1200V3RPL ir Supermicro X9SRi-F: 1 kanalas
- Asus Z10PA-U8: 8 kanalas
Norėdami parodyti dabartinę BMC konfigūraciją ir MAC adresą, naudokite šią komandą:
- Intel S1200V3RPL ir Supermicro X9SRi-F:
-
ipmitool lan print 1
- Asus Z10PA-U8:
-
ipmitool lan print 8
Kaip parodyta aukščiau, šiai ir visoms kitoms „Asus Z10PA-U8“ modelių komandoms naudokite set 8
, o ne set 1
.
Norėdami gauti IP per DHCP, naudokite šią komandą:
ipmitool lan rinkinys 1 ipsrc dhcp
Jei norite naudoti numatytąją statinę konfigūraciją, įveskite:
ipmitool lan rinkinys 1 ipsrc statinis
Norėdami nustatyti IP adresą, įveskite:
ipmitool lan rinkinys 1 ipaddr <IP adresas>
Norėdami nustatyti tinklo kaukę, įveskite:
ipmitool lan rinkinys 1 tinklo kaukė <tinklo kaukė>
Norėdami nustatyti šliuzo IP, įveskite:
ipmitool lan rinkinys 1 defgw ipaddr <šliuzo IP adresas>
Narusis ryšys per LAN
Norėdami suaktyvinti SOL (Serial over LAN), įveskite šią komandą:
ipmitool -C 3 -I lanplus -H <ipaddr> -U <naudotojas> -P <pasiekti> sol aktyvuoti
iš anksto>
LANplus
.
Jei pasirodo šis klaidos pranešimas, turite suaktyvinti SOL vartotojui:
ipmitool -C 3 -I lanplus -H <ipaddr> -U <naudotojas> -P <pasiekti> sol aktyvuoti
Informacija: SOL naudingoji apkrova išjungta
ipmitool -C 3 -I lanplus -H <ipaddr> -U <naudotojas> -P <pasiekti> sol naudingoji apkrova įgalinti <kanalas> <naudotojo ID>
Po to galite pamatyti BIOS išvestį. Norint pasiekti įkrovos įkroviklį ir (arba) įkeliamą sistemą, reikia papildomų nustatymų.
GRUB2
Jei naudojate GRUB2, tiesiog pakeiskite kai kurias eilutes, kad jos atitiktų toliau pateiktą /etc/default/grub
ir iš naujo sugeneruokite nustatymus.
Naudojant „Supermicro X9SRi-F“, serijinė konsolė yra ttyS2/unit=2
. Naudojant Asus Z10PA-U8, jis yra ttyS1/unit=1
. O su Intel S1200V3RPL jis yra ttyS0/unit=0
. PASTABA: „Asus Z10PA-U8“ turite nustatyti 57600 duomenų perdavimo spartą, o su visais kitais modeliais – 115200.
Intel S1200V3RPL
GRUB_CMDLINE_LINUX_DEFAULT="nomodeset console=tty0 console=ttyS0,115200n8"
GRUB_TERMINAL=serijinis
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=serijinis
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)
For GRUB1 (grub-legacy), add the following lines to /boot/grub/menu.lst
or /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
At the same time, you need to add the same serial port to the boot options of the kernel. That is ttyS0 with the Intel S1200V3RPL, ttyS1 with the sus Z10PA-U8, and ttyS2 with the Supermicro X9SRi-F.
console=tty0 console=ttyS0,115200n8
This tells the kernel to output information on the first serial port. Changing GRUB_TERMINAL
to serial
means any input/output is redirected to the serial port. A local screen will not display a boot menu anymore and thus, you will not be able to select a boot entry via KVM Console or KVM anymore. After a reboot, the output will be sent in parallel to both the local screen and the serial port.
After that, you need to set up a terminal for the serial port in your system.
Ubuntu
Create the file /etc/init/ttyS0.conf
with the following content (or alternatively, ttyS2.conf
with ttyS2
and 115200 baud with the Supermicro X9SRi-F models, or ttyS1.conf
with ttyS1
and 57600 baud with the Asus Z10PA-U8 models):
# 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]
atgimti
exec /sbin/getty -L ttyS0 115200 vt100
Po to terminalą galite suaktyvinti įvesdami start ttyS0
.
CentOS
„CentOS“ konfigūracija yra panaši į „Ubuntu“. Tačiau /etc/init/serial.conf
automatiškai paleidžia nuoseklųjį prievadą getty, kuris prideda prievadą /etc/securetty
. Taigi jums tereikia sukonfigūruoti serijos konsolę grub.conf ir pridėti atitinkamą branduolio parinktį.
Debian / OpenSuSE / Fedora
„Debian“, „OpenSuSE“ ir kitiems platinimams, pvz., „Fedora“, kurie naudoja systemd
ir GRUB2, tiesiog atitinkamai pakeiskite /etc/default/grub
ir atnaujinkite konfigūraciją naudodami grub2- mkconfig
. Kito įkrovimo metu systemd
automatiškai pradės naudoti nuoseklųjį GRUB2 prievadą.
Serijos konsolė
Dabar greitai pamatysite prisijungimą, jei prisijungsite naudodami ipmitool
:
ipmitool -C 3 -I lanplus -H <ipaddr> -U <naudotojas> -P <pasiekti> sol aktyvuoti
[SOL sesija veikia. Naudoti ~? dėl pagalbos]
Debian GNU/Linux 7 Debian-70-wheezy-64-minimal ttyS0
Debian-70-wheezy-64-minimalus prisijungimas: