PDA

Bekijk Volledige Versie : Beveiliginsprobleem met IPMI, iLO en DRAC



maxnet
10/08/13, 16:43
Interessant leesvoer

"IPMI: freight train to hell" over de beveiliging van IPMI units.
http://fish2.com/ipmi/itrain.pdf

Heb even een aantal punten die daar genoemd worden getest op onze eigen servers.
En bij veel servers staat de cipher 0 modus ("helemaal geen beveiliging") inderdaad standaard aan, waardoor je geen wachtwoord nodig hebt om op afstand IPMI commando's uit te voeren. :chinese:


Dell DRAC:



$ ipmitool -I lanplus -C 0 -H 192.168.0.100 -U root -P wachtwoordnietnodig fru list
FRU Device Description : Builtin FRU Device (ID 0)
Board Mfg Date : Wed Dec 22 02:56:00 2010
Board Mfg : DELL
Board Product : PowerEdge R310



HP iLO:



$ ipmitool -I lanplus -C 0 -H 192.168.0.119 -U Administrator -P wachtwoordnietnodig fru list
FRU Device Description : Builtin FRU Device (ID 0)
Unknown FRU header version 0xff

FRU Device Description : Hewlett-Packard
Unknown FRU header version 0xff

FRU Device Description : System FRU (ID 1)
Product Manufacturer : HP
Product Name : ProLiant DL120 G6



Supermicro/Aten IPMI (X9SCL-F):



$ ipmitool -I lanplus -C 0 -H 192.168.0.122 -U ADMIN -P wachtwoordnietnodig fru list
FRU Device Description : Builtin FRU Device (ID 0)
Board Mfg Date : Mon Jan 1 01:00:00 1996
Board Mfg : Super Micro
Board Product : IPMI 2.0
Board Serial :
Board Part Number : Winbond Hermon
Product Manufacturer : Super Micro
Product Name : IPMI 2.0
Product Part Number : Winbond Hermon



Enige wat je nodig hebt is het IPMI IP en de IPMI gebruikersnaam.
Naast "fru list" werken ook de andere IPMI commando's prima (zoals het aanmaken van een extra gebruiker waarmee je ook op de webinterface kunt), maar geef daar meer geen voorbeeld commando's voor.


Cipher 0 uitzetten bij Supermicro en Dell servers

Vraag eerst de huidige instellingen op met "lan print"



ipmitool -I lanplus -C 0 -H 192.168.0.122 -U ADMIN -P iets lan print
[...]
RMCP+ Cipher Suites : 0,1,2,3,6,7,8,11,12
Cipher Suite Priv Max : aaaaXXaaaXXaaXX
: X=Cipher Suite Unused
: c=CALLBACK
: u=USER
: o=OPERATOR
: a=ADMIN
: O=OEM


Vervolgens vervang je van de "cipher suite priv max" instelling het eerste teken door een X.



ipmitool -I lanplus -C 0 -H 192.168.0.122 -U ADMIN -P iets lan set 1 cipher_privs XaaaXXaaaXXaaXX


Vervolgens checken dat het nu niet meer werkt zonder geldig wachtwoord:



ipmitool -I lanplus -C 0 -H 192.168.0.122 -U ADMIN -P iets lan print

Error in open session response message : invalid role
Error: Unable to establish IPMI v2 / RMCP+ session
Get Channel Info command failed
Get Channel Info command failed


Werkt bij Dell en Supermicro.
Is me echter nog niet gelukt om het uit te krijgen bij HP servers.
Iemand suggesties?


Een ander punt dat in het document wordt genoemd is dat een aanvaller met het IPMI 2.0 RAKP protocol ook domweg een hash van het IPMI wachtwoord kan opvragen, en dat hij deze dan kan proberen lokaal te brute forcen.
Dit vereist echter wel dat de aanvaller de IPMI gebruikersnaam weet.
Om die reden kan het handig zijn om er voor te zorgen dat je niet alleen een sterk wachtwoord instelt, maar ook een willekeurige IPMI gebruikersnaam.

The-BosS
10/08/13, 17:00
Om die reden kan het handig zijn om er voor te zorgen dat je niet alleen een sterk wachtwoord instelt, maar ook een willekeurige IPMI gebruikersnaam.

Misschien is het handigste om je ipmi enkel op een management vlan beschikbaar te maken waar jij enkel toegang op hebt (zoals het eigenlijk al zou moeten) ;).

RayManZ
10/08/13, 17:08
Even geprobeerd op een hobby supermicro server, maar dit is bij mij standaard niet mogelijk. Het enige wat ik heb aangepast is het wachtwoord en ipadres controle.

visser
10/08/13, 17:08
Interessant leesvoer

"IPMI: freight train to hell" over de beveiliging van IPMI units.
http://fish2.com/ipmi/itrain.pdf

Heb even een aantal punten die daar genoemd worden getest op onze eigen servers.
En bij veel servers staat de cipher 0 modus ("helemaal geen beveiliging") inderdaad standaard aan, waardoor je geen wachtwoord nodig hebt om op afstand IPMI commando's uit te voeren. :chinese:

[knip OOB instellingen]

Om die reden kan het handig zijn om er voor te zorgen dat je niet alleen een sterk wachtwoord instelt, maar ook een willekeurige IPMI gebruikersnaam.

Met het geheel wat IPMI/ILO/DRAC is, en waar het voor bedoeld is zou het gewoon totaal _niet_ rechtstreeks bereikbaar moeten zijn. (Net zo min als remote power switches bijvoorbeeld).
Een nogal klein embedded device dat bedoeld is als last-resort toegang en slecht toegerust is op goede authenticatie/authorisatie/logging moet je gewoon niet bereikbaar aansluiten.
Ook niet als je een setting met een toevallig gevonden probleem een standje veiliger zet.

Ik zou zeggen, zet die ipmi kaarten (en remote power switches e.a. ) in een apart netwerk, alleen bereikbaar vanaf een management host/subnet, en zorg voor een heel strakke login controle op dat segment.

maxnet
10/08/13, 17:10
Misschien is het handigste om je ipmi enkel op een management vlan beschikbaar te maken waar jij enkel toegang op hebt (zoals het eigenlijk al zou moeten) ;).

Probleem is alleen dat klanten er ook bij moeten.
Kan je ook VPN toegang geven.
Maar dan hebben alsnog meerdere partijen toegang tot je management vlan.

==

Zie verder dat het met de nieuwste X9SCL-F firmware (1.86) cipher 0 wel standaard uit staat (probleem met het op kunnen vragen van HMAC hashes blijft)

Edit: ah, staat nu ook in de FAQ:

http://www.supermicro.com/support/faqs/faq.cfm?faq=16536

Question
I read an article where Supermicro BMC (IPMI) security can be breached through UPnP and through Cipher 0 mechanisms. How do I avoid such issues?
Answer
Supermicro has fixes for the issues mentioned above in its BMC firmware. Please upgrade your IPMI versions for the following motherboard generations:

X8/H8:
UPnP - SMT_259 and above
Cipher 0 - SMT_250 and above

X9:
UpNP - SMT_X9_218 and above
Cipher 0 - SMT_X9_158 and above

We recommend you upgrade to the latest BMC versions for latest fixes and upgrade features.

The-BosS
10/08/13, 17:22
Probleem is alleen dat klanten er ook bij moeten.
Kan je ook VPN toegang geven.
Maar dan hebben alsnog meerdere partijen toegang tot je management vlan.

Dat kan je ook heel simpel oplossen, je neemt een server die verbonden is met dat vlan, waar klanten via ssh kunnen op inloggen en in plaats van een shell een programma krijgen waar ze basis ipmi features kunnen uitvoeren. Of je maakt gewoon een front-end web server die op het management lan kan, waar je klanten kunnen inloggen (eventueel met een API). Zo hoeven ze geen ip adressen en wat nog allemaal in te geven (en ook geen kennis van ipmi te hebben) en klanten die meerdere servers afnemen kun je in een eigen vlan zetten als ze dat echt zouden willen.

maxnet
10/08/13, 17:34
X9:
UpNP - SMT_X9_218 and above
Cipher 0 - SMT_X9_158 and above


Hmm, ook leuk.
uPNP lek zou opgelost zijn in 2.18.
Maar de nieuwste versie die voor de X9SCL-F op de officiele site staat is 1.86?

http://www.supermicro.com/support/bios/



X9SCL+-F
X9SCL-F
X9SCM-F
IPMI_9SCM IPMI R 1.86 SMT_X9_186.zip

maxnet
10/08/13, 17:37
Of je maakt gewoon een front-end web server die op het management lan kan, waar je klanten kunnen inloggen (eventueel met een API).

Heb dat voor power management (aan/uit/reset) al.
Maar voor KVM en virtual media is dat wat lastiger. Ook gezien elke fabrikant een ander protocol daarvoor gebruikt.

pierce
10/08/13, 18:48
IPMI-tool lijkt niet te werken via IPv6. Zijn er andere mogelijkheden om dit te testen?

maxnet
10/08/13, 19:20
Hmm, ook leuk.
uPNP lek zou opgelost zijn in 2.18.
Maar de nieuwste versie die voor de X9SCL-F op de officiele site staat is 1.86?


Heb inmiddels maar SMT_X9_237 dat in de lijst bij een ander moederbord staat erop gezet.
Lijkt het ook te doen.



IPMI-tool lijkt niet te werken via IPv6. Zijn er andere mogelijkheden om dit te testen?

Hoe je de IPMI kwetsbaarheden test met IPv6 weet ik niet.
Maar of een Supermicro server vatbaar is voor het andere uPNP lek kan je wel eenvoudig zien.



$ wget -S http://ip:49152/
--2013-08-10 19:06:17-- http://ip:49152/
Connecting to ip:49152... connected.
HTTP request sent, awaiting response...
HTTP/1.1 404 Not Found
SERVER: Linux/2.6.17.WB_WPCM450.1.3, UPnP/1.0, Intel SDK for UPnP devices/1.3.1


Intel UPnP SDK 1.3.1 bevat lek.
Na een geslaagde upgrade krijg je:



SERVER: Linux/2.6.17.WB_WPCM450.1.3, UPnP/1.0, Portable SDK for UPnP devices/1.6.18

pierce
10/08/13, 19:21
De x9 serie wordt tegenwoordig standaard geleverd met ipmi versie 1.64 of hoger. Dan werkt het al niet meer.

Error in open session response message : no matching cipher suite

DutchTSE
11/08/13, 15:54
Firmware X8DTT_210 is in ieder geval ook nog vatbaar (= nieuwste versie voor Supermicro X8DTT borden) dus daar even het X'je aanpassen.