Supermicro IPMI Java JNLP publikalasa Weben

Sziasztok!

IPMI eleressel kapcsolatos kerdesem lenne. Van egy szeparalt halozatunk, 192.168.0.0/24. itt vannak az IPMI Cimek a gepekhez.

Van egy portalunk, ahova ugyfeleket engedunk be publikus cimen. Letezik valami megoldas amivel ki lehet ide publikalni az IPMI JNLP elerest? Valami Gateway-en vagy PRoxy-n keresztul, vagy akar egy virtualis gepen belogatva es port forwardingal, vagy egy webszerveren keresztul amit csak a portal er el, vagy valahogy?

Van erre valami bevalt megoldas? VPN-t szeretnenk kihagyni, hogy ne kelljen minden ugyfelnek, problemas nekik telepiteni, konfiguralni, megujitgatni, stb stb...

Koszi!

Hozzászólások

Szia,

Hasonló témával foglalkozott egy korábbi cégemnél az ügyfélportált fejlesztő csapat, ha jól emlékszem, nem is sikerült megoldani / munkaidő ráfordítás tekintetében nem volt kifizetődő megoldani VPN nélkül.  Emlékeim szerint következők okoztak problémát még pár évvel ezelőtt:

  • A letöltött jnlp fájl addig érvényes, amíg az adott browserbe, amibe bejelentkezve letöltötted, nyitva van a session.
  • A letöltött jnlp fájl forráskódját ha megnézed (pl. egy Notepad++-al), láthatod, hogy abba be van égetve az adott IPMI IP címe, így ha a jnlp-t megnyitja a felhasználó, közvetlenül az IPMI interfésszel akar majd beszélgetni a felhasználó gépén futó JAVA.

Tehát, meg kéne oldani a session és IP problémát (login a felhasználó helyett -> cookie átadás a felhasználónak -> jnlp letöltés -> jnlp manipulálás (IP csere valami publikus hosztnévre -> jnlp átadás felhasználónak), és ezen kívül még ki kéne engedni net irányba az IPMI interfészt, vagy megproxyzni azt valahogy. Proxy oldalon persze validálni kellene, hogy az adott látogató egyáltalán jogosult e hozzáférni az adott IPMI-hez.

Ha persze az egész IPMI web GUI-t elérhetővé akarod tenni, az jóval egyszerűbb, a felületen állítani tudod, hogy az IPMI mely szolgáltatásai mely portokat használják, de itt sem árt ACL-ezni, hogy kik és honnan érhetik el.

Szerkesztve: 2020. 05. 01., p - 00:33

Hat, nalunk nemreg marcsak egy ilyen supermicro-gep volt az elmult idoszakokban ami nem tudta a html konzolt csak ezt a javas rettenetet. Egyszerubb volt azon firmware-t frissiteni mintsem a jnlp-vel odvas szopasokba bonyolodni :) En konkretan ezeket a gepeket siman ssh port forwarddal erem el konzolrol ha nagyon kell valami - azaz ha azzal faszán atmegy akkor kb mindennel is meg lehet oldani, immaron csak izles kerdese... 

Akkor inkabb igy kerdezem: Mit javasolnatok IPMI eleresre? vagy hogyan lehetne integralni Web-en? A gepek tamogatjak az iKVM/HTML5 elerest is, de ott ugye nem lehet ISO-t csatolni, ezert marad a java. SMT_X11 alaplap, viszonylag "uj".

Kis tesztelgetes meg probalgatas utan: 

ISO mountolas:

Talaltam egy ilyet: https://www.supermicro.com/en/solutions/management-software/ipmi-utilit…, innen az SMCIPMITool-t letoltve, majd eloszor az IPMI-t aktivalva teljesen jol mukodik peldaul ez: 

root@egyikgep:~# SMCIPMITool 10.10.241.149 ADMIN ADMIN wsiso mount 10.10.1.1 /install/debian-10.2.0-amd64-netinst.iso
mounting ISO file ...
Mount ISO successfully

(ahol a 10.10.241.149 egy masik gepnek az IPMI IP-je)

root@masikgep:~# dmesg | tail
[7666042.088594] usb 1-14.2: USB disconnect, device number 5
[7673476.573838] usb 1-14.2: new high-speed USB device number 6 using xhci_hcd
[7673476.706202] usb 1-14.2: New USB device found, idVendor=0ea0, idProduct=1111, bcdDevice= 2.00
[7673476.706208] usb 1-14.2: New USB device strings: Mfr=0, Product=0, SerialNumber=0
[7673476.708071] usb-storage 1-14.2:1.0: USB Mass Storage device detected
[7673476.708559] scsi host8: usb-storage 1-14.2:1.0
[7673477.732090] scsi 8:0:0:0: CD-ROM            ATEN     Virtual CDROM    YS0J PQ: 0 ANSI: 0 CCS
[7673477.737143] sr 8:0:0:0: [sr0] scsi3-mmc drive: 40x/40x cd/rw xa/form2 cdda tray
[7673477.737694] sr 8:0:0:0: Attached scsi CD-ROM sr0
[7673477.737981] sr 8:0:0:0: Attached scsi generic sg4 type 5

Ehhez gondolom barmilyen user interface-t hozza lehet mar hegeszteni (webfelulet, parancssoros wrapper, ami jol esik)

Konzol: 

Ez is mukodik: SMCIPMITool 10.10.241.149 ADMIN ADMIN kvmwx9

Persze ebben az SMCIPMITool-ban van egy javavm es ez egy java-s konzolt dob fel - szoval nem biztos hogy sokkal elorebb vagyunk :/ legalabbis a html5-os verzional erezhetoen otvarabb-fostosabb.

Ugyanakkor(!) a html5-konzol a /cgi/url_redirect.cgi?url_name=man_ikvm_html5_bootstrap cimen elerheto, persze authentikacio utan. Ha ezutobbit megoldanank akkor ez a /cgi/... akarmit mar mondjuk egy reverz proxyval lehetne szolgaltatni a delikvensek fele.

Koszi, igen, ezt jo hogy mondod! Marmint elso korben en is az ipmitool/ipmiutil-t nezegettem, de ott valahogy nem volt egyertelmu. De akkor megnezem jobban.

A konzol az egy masik kerdes. Ugy latom hogy az ipmi{tool,util} erejenek segitsegevel a SOL-t is lehet aktivalni valahogy - es az azert elso korben akarmeg fe'l siker is lehet. Persze nyilvan KVM jobb lenne :/ Noplane VNC. 

SSH port forward mennyire jatszik? En most itten csak annyit csinalok hogy `ssh -X valahova_ami_rajta_van_a_belso_halon -L 8080:10.10.241.149:443`, majd bongeszobe https://localhost:8080, es maris elerem a 100+ km-re levo csak belso halon logo gepek IPMI-jet. Win + putty segitsegevel kb hasonlo bonyolultsagu a dolog. 

Szerkesztve: 2020. 05. 01., p - 06:17

Nincs a közelemben ilyen SM lap, de érdemes lehet ránézni, hogy még mindig megtaknyolják-e nem dokumentált üzenetekkel a VNC protokollt (http://blog.devicenull.org/2013/12/29/supermicro-vnc-ipmi-protocol.html). Ha nem, akkor egy Guacamole-ba egész könnyen be lehetne taknyolni, egy event listenert kellene írni, ami kikukázza a JNLP-ből a jelszavakat (plusz esetleg saját auth megoldást, ha semelyik gyári nem jó). (ha meg a HTML5 viewerhez igazítva kiszedték a VNC-ből a saját okosságokat a protokollból, még egyszerűbb :) )

Szerk.: ja, igen, iso csatolás. Azt passz, meg kéne nézni, hogy hogyan csatolja fel, de a Java-s kliensből akár class szinten kikukázva is lehet esélye, mert annak úgyis a guacd oldalán kellene futnia.

BlackY

"Gyakran hasznos ugyanis, ha számlálni tudjuk, hányszor futott le már egy végtelenciklus." (haroldking)