Qubes – 2.0

A hamarosan megjelenő 2.0 kiadás annyi újdonságot tartalmaz, hogy azok taglalása helyett inkább egy összefoglaló jellegű cikk megírása mellett döntöttem, így aki most olvas erről megoldásról először, annak sem kell 'feleslegesen' a régi cikkeket is átolvasnia ahhoz hogy képbe kerüljön a Qubes által nyújtott remek lehetőségek összességével. Az is emellett szól, hogy tulajdonképpen ezek már mind dokumentálva vannak a projekt saját wiki oldalán és/vagy a fejlesztők blogján.

Keep reading →

XenClient XT – 3.1

A Citrix XenClient máig az egyetlen desktop virtualizációt célzó kereskedelmi termékcsalád. Korábbi cikkeimben már volt róluk szó, ám akkor még eléggé gyermekcipőben jártak ezen a viszonylag újnak számító területen. Volt is nagy kavarodás (az állítólagos) különböző verziók között, miközben publikusan csak egyetlen verzió volt elérhető, ami akkor XenClient Express néven futott.

Jelenleg ezek a változatok már határozottan külön - de legalábbis ketté - váltak. A továbbiakban a XenClient XT verzióról lesz szó.

Különbségek az XenClient Enterprise változathoz képest

A XenClient XT technikailag sokkal inkább a régi Express változat utódja, felépítésében erősen elválik az Enterpise-től, amiben a fő hangsúlyt a központi management kapta. Ez a változat sokkal inkább a biztonsági megoldásokra koncentrál:

xenclientxt

  • Network Isolation

Ahogy a fenti ábrán is jól látható, a külső hálózatokkal kapcsolatot tartó szolgáltatások - és eszközök! - külön erre a célra dedikált virtuális gépekbe (Service VM) kerültek.

  • Hardened Dom0

A Dom0 operációs rendszere - ami természetesen ez esetben is Linux - SELinux támogatással is rendelkezik.

  • Hardware-assisted security

Az Intel vPro technológiának köszönhetően lehetőség van különböző "hardveresen támogatott biztonsági lehetőségekre" is - ám ezekről ugye nemrég derült ki, hogy valójában inkább beépített backdoor szolgáltatásokat nyújt.

Telepítés

A rendszer telepítése ez esetben is egyszerű, azonban ha szeretnénk komolyabb biztonsági megoldásokat is használni (Trusted Boot, SELinux, XSM), javasolt még a telepítés előtt elolvasni az egyébként remek és bőséges dokumentációhalmazt, amit a termékhez kapunk.

 A motorháztető alatt

A rendszer a 4.1.3 verziójú Xen kernelre épül, a dom0 és a Service VM-ek pedig egy 2.6.32 verziójú SELinux támogatással rendelkező kernelen futnak.

Az Enterprise változathoz képest nem elhanyagolható különbség az sem, hogy nem próbálják meg lehetetlenné tenni a rendszerhez való mélyebb hozzáférést: Crtl + Shift + T - és máris kapunk egy Dom0 terminált :)

Így a rendszer felépítésével és működésével kapcsolatos részletes információkat nem volt nehéz összeszedni - persze azért a Service VM-ekbe való bejutáshoz utána kellett járni néhány nem (publikusan) dokumentált fícsörnek ;)

XenClient Synchronizer

Az Enterprise változathoz hasonlóan természetesen itt is használhatunk központilag létrehozott és karbantartott virtuális gépeket, amihez azonban egy teljesen külön szerver arzenálra lesz szükségünk:

  • Oracle 11g Database Server
  • Citrix License Server
  • Web Server
  • CLI Host

Ezen megoldások telepítése és beállítása is remekül dokumentálva van, így ezekre én most itt nem is térek ki.

 

Ahogy látható, ez a változat valóban a biztonsági megoldásokra helyezi a hangsúlyt. Ezt már érdemben össze is lehetne hasonlítani a Qubes megoldásával, azonban a felhasználó által használható virtuális gépek itt is kizárólag HVM típúsúak lehetnek. Ezzel szemben a Qubes OS Seamless GUI Integration megközelítése sokkal kényelmesebb felhasználói élményt biztosít, lényegesen több biztonsági megoldás mellett! És ráadásul mindezt ingyen - míg a XenClient XT licencköltségei közel sem elhanyagolhatóak.

Ezen kívül sajnos azt sem lehet figyelmen kívül hagyni, hogy a Citrix is 'csak' egy amerikai multi, így várhatóan az ő termékei is tartalmaznak az NSA által megrendelt fícsöröket ;)

XenClient Enterprise – 5.0

A Citrix XenClient máig az egyetlen desktop virtualizációt célzó kereskedelmi termékcsalád. Korábbi cikkeimben már volt róluk szó, ám akkor még eléggé gyermekcipőben jártak ezen a viszonylag újnak számító területen. Volt is nagy kavarodás (az állítólagos) különböző verziók között, miközben publikusan csak egyetlen verzió volt elérhető, ami akkor XenClient Express néven futott.

Jelenleg ezek a változatok már határozottan külön - de legalábbis ketté - váltak, a továbbiakban a XenClient Enterprise 5 illetve a XenClient Express  verziókról lesz szó.

Mi a különbség a most tárgyalt két verzió között?

Technikailag semmi, mindkettő ugyan arra a XenClient Engine-re épül. Azonban az Enterprise a nevének megfelelő célközönségnek szól - tehát nagyvállalati felhasználásra. Ennek megfelelően erre is van kihegyezve, legfőbb tulajdonsága a központi felügyeletről szól, és persze nincs ingyen.

A XenClient Express ettől annyiban különbözik, hogy (a megfelelő licencek hiánya miatt) nem képes központi szerverhez csatlakozni, így csak lokális virtuális gépek futtatására alkalmas. Cserébe ingyen használhatjuk - bár az ide vonatkozó licenceket érdemes egy jogásszal értelmeztetni először ;)

1350049701200

XenClient Engine

Ez tulajdonképpen maga a hypervisor - azaz a virtualizációért felelős szoftver, kiegészítve egy grafikus kezelőfelülettel. Mindebből a felhasználók természetesen csak a grafikus kezelőfelületet látják, annyira hogy a lehetőségeink erősen le is vannak korlátozva a következőkre:

  • Felhasználó regisztráció

Nagyvállalati környezetben egy központi, egyébként lokális felhasználó létrehozása.

  • Hálózathoz (WiFi és Ethernet) csatlakozás.

Ez ugye alapvető, hiszen hálózat nélkül nincs is élet :)

  • Beépített alkalmazások használata

Ez egy igen praktikus és hasznos lehetőség, tulajdonképpen olyan előre telepített mini virtuális gépben (Citrix Receiver) futó alkalmazásokról van szó, mint pl: böngésző (google chrome) Remote Desktop kliens...

  • Lokális virtuális gépek létrehozása

Vagyis a lényeg: hogy futtathassunk több egymástól független virtuális gépet :) Fontos azonban, hogy ezeknek semmi közük a központilag létrehozott virtuális gépekhez!

  • Citrix Receiver

Vállalati környezetben ezzel (ami tulajdonképpen egy speciális virtuális gép) kapcsolódhatunk a központi szerverhez, hogy onnan virtuális gépeket töltsünk le, majd használjunk azokat.

Mindezt persze hasonló feltételekkel, mint amit az előző verzióknál is láthattunk, tehát kizárólag HVM guest-ek futtatására képes, bármiféle komolyabb biztonsági megoldást nélkülözve, de lehetőségünk van több virtuális gép egyidejű futtatására. De mindez meg sem közelíti a Qubes OS által nyújtott biztonsági és kényelmi szolgáltatásokat.

Telepítés

A rendszer telepítése nem igényel különösebb szakértelmet, és rengeteg dokumentáció is rendelkezésünkre áll a témában, amihez a linkeket a regisztációt követően el is küldenek számunkra. Regisztrálni pedig mindenképp kell a Citrix oldalán, anélkül ugyanis a telepítőkészletet sem tudjuk letölteni..

 A motorháztető alatt

Egy átlagos felhasználó ezt már el sem olvassa, neki elég hogy szép és működik. Örül, és használja :) Azonban ahogyan az előző verziókat is igyekeztem kibelezni, ennél is pontosan ezt tettem. Annak ellenére, hogy ezt a gyártók igyekeztek "lehetetlenné" tenni. Persze lehetetlen nincs, így ki is derültek a turpisságok.

A rendszer a 4.2.2 verziójú Xen kernelre épül, a dom0 pedig egy 3.8.13-orc verziójú Linux kernelen fut.

Shadow partíciók

ACTIVE   '/dev/NxVG-25ebd965bb57/NxDisk1' [128.00 MiB] inherit
ACTIVE   '/dev/NxVG-25ebd965bb57/NxDisk2' [128.00 MiB] inherit
ACTIVE   '/dev/NxVG-25ebd965bb57/NxDisk5' [2.00 GiB]   inherit
ACTIVE   '/dev/NxVG-25ebd965bb57/NxDisk6' [2.00 GiB]   inherit
ACTIVE   '/dev/NxVG-25ebd965bb57/NxDisk7' [512.00 MiB] inherit
ACTIVE   '/dev/NxVG-25ebd965bb57/NxDisk8' [512.00 MiB] inherit
ACTIVE   '/dev/NxVG-25ebd965bb57/NxDisk9' [227.63 GiB] inherit

Furcsa, nem dokumentált fícsör. A célja egyelőre ismeretlen, talán valamiféle LVM backup számára fenntartott hely. Az éles rendszer ugyanis így néz ki:

Filesystem           Size  Used Avail Use% Mounted on
/dev/mapper/NxDisk5  2.0G 1003M  878M  54% /
udev                 350M  4.0K  350M   1% /dev
tmpfs                152M  972K  151M   1% /run
none                 5.0M     0  5.0M   0% /run/lock
none                 380M   16K  380M   1% /run/shm
/dev/mapper/NxDisk1  120M   56M   59M  49% /boot
/dev/mapper/NxDisk8  488M  2.5M  460M   1% /var/log
/dev/mapper/NxDisk9  224G  2.0G  211G   1% /nxtop

Beépített backdoor hegyek

#
# Root password
#
ROOT_PASSWD=biker1
# When a fatal error occurs, the installer will put a screen
# that this password can be typed in to access the shell.
# Dont use a $ in the password.
INSTALLER_BACKDOOR_PASSWD="Q"
# Password needed to enable FIST mode
# Dont use a $ in the password.
INSTALLER_FIST_BACKDOOR_PASSWD="f1St"
#
# Encryption
#
DEFAULT_LUKS_PW=9nvnWRHiX0as6gCSRAP

Természetesen mindezt biztosan nem ártó szándékkal csinálják, tutira benne van a több oldalas licenc szerződés valamelyik értelmezhetetlen szövegezésű, apró betűs részében ;)

Ettől függetlenül biztonsági szempontból eléggé kérdéses mindegyik fent látható "fícsör". Ezek ugyanis a telepítő CD-n is megtalálható install script részletei.

És nem, ezeket később a telepítés során NEM változtatja meg, sőt a default LUKS jelszó sem lesz törölve, miután a felhasználó sajátot állított be:

UUID:          	e631ff96-82af-420c-b5f5-6cb0247f2b8f

Key Slot 0: ENABLED
	Iterations:         	126451
	Salt:               	2d 43 84 fc e3 52 74 6c ed 01 0e 7d 81 55 6b 35 
	                      	de 14 bb f7 8e 33 6b d0 e3 e8 30 55 77 da de 5d 
	Key material offset:	8
	AF stripes:            	4000
Key Slot 1: ENABLED
	Iterations:         	127953
	Salt:               	60 a4 45 34 97 76 1e 3c 8a a8 05 6d 03 b6 fd 16 
	                      	5a f1 a7 f2 6f a8 a7 f4 d7 5b d7 49 32 1d 7e 12 
	Key material offset:	264
	AF stripes:            	4000

Kikapcsolt dom0 console

Szintén biztosan egy újabb felhasználóbarát fícsör, hogy még véleltlenül se lehessen (könnyen) felfedezni/megváltoztatni a rendszer azon elemeit, amik a GUI alatt vannak. Természetesen azért mindig van kerülő út, így azért csak sikerült begyűjteni néhány információt a rendszerről ;)

 

XenClient Synchronizer

Vállalati környezetben ez a szerver oldal, aminek segítségével központilag kezelhetjük a felhasználókat, azok munkaállomásait, és az általuk használt virtuális gépeket. Nem meglepő módon ez egy Windows alatt futó alkalmazás, tehát kell alá tenni egy külön szervert, amire előre kell telepíteni egy Hyper-v és egy windows 2008 (vagy 2012) operációs rendszert is. Ezen követelmények miatt, ezt egyelőre nem volt (kedvem) lehetőségem kipróbálni.

Mindezekből is világosan látszik, hogy a célközönség a nagyvállalati környezet, ahol a felhasználóknak semmi köze sem lehet a keze alá adott géphez - még ha az valójában egy hordozható eszköz is. Az is világos, hogy nem a biztonság az első szempont, sokkal inkább a központi management. - Persze ez már így is sokkal biztonságosabb mint egy átlagos "egy oprendszeres" munkaállomás...

Az Express verzió tehát mindennek a lebutított változata, csak véletlenül(?) benne maradt a nagyvállalati környezetben akár fícsörnek is tekinthető vicces backdoor csokor.

 

Andrews Kft.

Ez volt az a cég, ahol több mint 10 éven át dolgoztam... De ha csak ennyit jelentene, ez a cikk itt most nem is létezne. Mit is adott akkor nekem az Andrews a fizetésen kívül? :)

Az önéletrajzom publikus, tehát bárki láthatja a benne szereplő - és a visszajelzések alapján - jól hangzó dolgokat :) Én is csak így utólag látom, hogy (szakmai szemszögből) mit is jelentett mindez számomra:

Kezdetben, amikor csatlakoztam a céghez, csak egy lelkes ám Linux és hálózatbiztonság iránt erősen érdeklődő újonc voltam. Hozzátéve, hogy a diplomámnak ugyan köze nincs az IT területhez, de önkéntes alapon jelentős részt vállaltam az - akkor még igen ritkának számító - Sun Solaris alapú számítógépes hálózat kiépítésében és üzemeltetésében. Már akkor világossá vált számomra, hogy ez sokkal jobb dolog, mint az akkoriban uralkodó(?) egyéb vackok, mint: Windows NT, Win3.1, Novell NetWare.

Ilyen háttérrel - és minimális munkatapasztalattal - kerültem bele egy olyan profi mérnökcsapatba, ahol már akkor igen magas színvonalú tűzfal és szerver üzemeltetés folyt, természetesen Linux alapokon.

Innentől kezdve lehetőségem volt azzal foglalkozni, amit eddig csak hobbiból műveltem. Ez biztosította számomra azt az óriási inspirációt, hogy minél mélyebben megismerjem a Linux operációs rendszert és a rá épülő mindenféle - főként hálózatokkal és biztonsággal kapcsolatos - megoldásokat. A munka jellegéből adódó rugalmas munkaidőnek, és a rengeteg elvégzendő feladatnak köszönhetően valóban úgy néztek ki a napjaim, hogy nehéz volt megkülönböztetni a 'kötelező' munkát, és a saját érdeklődésből végzett feladatokat és tanulmányokat. És mindezen törekvéseimet a munkáltatóm honorálta is...

Mivel az Andrews Kft. szolgáltatásai egy saját fejlesztésű alkalmazás szintű tűzfalra (ALF) épültek, ezért ezen területen is olyan szintű ismereteket, és tapasztalatokat szerezhettem, amikhez semmilyen más módon nem lehetséges hozzáférni. Most, hogy már ismerek/üzemeltetek más - nagy cégek által preferált - 'dobozos' megoldásokat is, bátran állíthatom hogy tudásában messze felülmúlja bármelyiket!

Mindezek mellet, az Andrews Kft. úttörőként kezdet foglalkozni a különböző virtualizációs technológiákkal, majd később a VMware megoldásait hivatalos partnercégként is szállította - és használja ma is. Mivel ez a terület is érdekesnek tűnt számomra, így elsők között foglalkozhattam ezekkel. Ez megint egy olyan hatalmas lehetőséget volt számomra, amit az nekik köszönhetek. Manapság persze már mindenkinek természetes hogy valamilyen virtualizációs megoldást használ. Azonban úgy érzem, látom és tapasztalom, hogy a virtualizációt alkalmazó cégek esetében ezen megoldások biztonsága nagyon is hiányos - ha egyáltalán foglalkoznak ezzel.

Ehhez szorosan kapcsolódóan olyan hardver megoldásokkal is találkozhattam, amikkel 'hobbiból' nem nagyon van lehetőség még csak találkozni sem. Értem ezalatt a különböző hardvergyártók BLADE megoldásait, Storage eszközöket, és az őket összekötő FC hálózatokat.

Ahogy remélhetőleg a korábbi cikkeimből is kiderült, jómagam ezen területeken jelentős tapasztalatokkal rendelkezem, köszönhetően annak hogy saját és ügyfeleink számára teljes virtualizált datacenter megoldásokat terveztünk, telepítettünk, és üzemeltettünk, a hozzá szükséges biztonsági megoldásokkal együtt.

Szintén kapcsolódó szolgáltatás a rendszerek monitorozása. Jelenleg egy 'jó nevű' multinál dolgozva is határozottan állítom, hogy az Andrews Kft felügyeleti rendszere - ami természetesen nem csak egy szoftver, hanem annak használatával, finomhangolásával, és üzemeltetésével kapcsolatos összes megoldást jelenti - technikai színvonalában és hatékonyságában messze felülmúlja a multiknál alkalmazott több tízmilliós megoldásokat!

Ezen technológiák és megoldások megismerésén kívül, lehetőségem volt a helpdesktől kezdve egészen a datacenter tervezésig MINDEN folyamatot megismerni, gyakorolni. Sőt később mindezekről előadásokat, oktatásokat is tartani. Ez utóbbit egyébként magam sosem gondoltam volna hogy valaha is tetszeni fog, ám a kolegák és az ügyfelek visszajelzései, később pedig a nagyobb publikus előadások pozitív tapasztalatai miatt nagyon is megtetszett ez a feladatkör :)

Ezek után persze jogos kérdés lehet, hogy akkor most miért is nem ott dolgozom? Ennek több oka is van: egyik, hogy már családom van, és emiatt durván át kellett alakítanom az addigi életvitelemet. Más részük kevésbé publikus... a lényeg, hogy sajnos nem sikerült mindkettőnknek elfogadható megoldást találni.

És hogy mégis mindezt minek/kinek írtam? Leginkább azoknak, akik jelenleg életük azon stádiumában vannak, amikor még megtehetik, hogy komoly - a későbbiekben is hasznos - átfogó ismereteket és tapasztalatokat szerezzenek egy ilyen - vagy ehhez hasonló cégnél.

Mert egy multinál ezt SOHA nem fogják tudni elérni!