WordPress – ráncfelvarás

Az igények

  • Többnyelvűség támogatása

Manapság a nem angol nyelvű oldalak célközönsége igencsak szűk halmaz, így vagy eleve angolul publikál az ember, vagy csak részben – de ez utóbbi esethez mindenképp megfelelő támogatás kell WordPress oldalról, különben a végeredmény biztosan nem lesz az elvárásainknak megfelelő.

  • Kapcsolódó írások megjelenítése

Mert technikai jellegű írások esetében az jó, ha az ember egyből látja ezeket…

  • Mobil barát dizájn

Mert a jövő generációja csak ilyet fog olvasni.

  • Egyszerű, gyors és biztonságos végeredmény :)

Ide mindenképp kell a szmájli. De legalább törekedjünk rá, na!

A megvalósítás

WordPress Mulltisite

Ez abban az esetben érdekes, ha több kapcsolódó oldalt is üzemeltet valaki. Nyilván vannak előnyei és hátrányai egyaránt, számomra az előnyei nyertek, így a kezdetektől fogva ilyen rendszeren laknak az oldalaim. A problémás része az lehet, hogy a rosszul megírt, ratyi kiegészítők ezt nem veszik figyelembe, és így szétcs*szhetik az egész oldalt.

Bővítmények (Plugins)

Jónéhány lehetőség közül ez tűnt számomra a legmegfelelőbb megoldásnak. Egyetlen feltételt támaszt a további kiegészítők és témákkal szemben: legyen ‘translation ready’. Ez gyakorlatilag csak azt jelenti, hogy a fejlsztője kövesse a WordPress kódolási ajánlásait.

Mivel ez a fotógalériám alapvető építőköve, így ez a legfontosabb kiegészítő. A csicsásabb kinézet ezesetben pénzbe kerül – de mivel ennél jobbat máshol nem találtam, ezért én megvettem a „NextGen Plus” verziót. Sajnos ez az oldal legelvadultabb része is egyben, teli van számomra szükségtelen fícsörökkel, és emiatt a kódja is elég kusza és feleslegesen nagy. De még így is messze ez a legjobb megoldás – legalábbis számomra.

Ez egy igazán hasznos kiegészítő. Persze csak az fogja értékelni, aki saját kiegészítőt és/vagy témát készít és mindezt a GitHub-on tárolja :)

  • Category Tag Pages

Sok esetben hasznos lehet, ha nem csak a cikkeket lehet kategóriák alá sorolni, hanem az oldalakat is.

Ez a kapcsolódó írások megjelenítéséért felelős kiegészítő. Ebben is van felesleges szemét bőven, ám sajnos jobbat egyelőre nem találtam :(

A sok k*cs*g spammer miatt nem érdemes „clear-text” formában tálalni az email címeket. Persze manapság már más forrásból könnyebb beszerezni ezeket – minden esetre ártani nem árt.

Témák (Themes)

  • zBench

Ez a blog szekció témája. Remekül jól elvagyok vele már a kezdetek óta. Mobil barát, nincs túlbonyolítva, és a letisztult kinézete még mindig tetszik. Sőt, még az általa használt nevezéktan is megihletett. Ami ugyan nem egyedi, de jól megy a nickemhez  is :)

Sokáig keresgéltem, hogy mire tudnám lecserélni azt a magára hagyott és már régóta elavult témát, amit a fotós oldalon használtam. De egyik sem az volt ami nekem kellett. Így aztán eldöntöttem, hogy készítek egy sajátot :) Mindenképp valami nagyon minimálisat és egyszerűt szerettem volna, mivel csak a galéria alá/mellé kellett. A hosszas keresgélés közben találtam meg az alapjául szolgáló blankslate projektet. Erre épülve jött létre a kifejezetten a NextGen kiegészítőhöz készült, hiper minimális, kizárólag a saját igényeimet kiszolgáló template: a zGallery :)


Attól függetlenül, hogy a végeredmény még közel sem tökéletes, a kezdeti igényeimnek mindenképp sikerült eleget tennem. Remélhetőleg a közízlést sem rombolom mindezzel, amit itt a szöveg körül – vagy éppen a galériámat böngészve – láthatsz és tapasztalhatsz :)

D70 vs. D7100

Mivel a D7100 – ami valójában nem is új, hiszen már az utódja a D7200 is kapható – még csak most került a birtokomba, így e cikk inkább valamiféle köszönetnyilvánítás a régi, öreg, megfáradt D70 emlékére.

Aki esetleg valami nagyon technikai összehasonlításra és elemzésre számított, azoknak javaslom inkább olvassa Ken Rockwell részletes gépelemző írásait: D70 vs. D7100

Sokak számára talán megmosolyogtató, hogy egy öreg, elavult masináról írkálok, ám számomra ez a gép sokkal több volt egy átlagos kütyünél. Már a megszerzéshez is egy baráti kölcsönre volt szükségem, enélkül annak idején (2005) meg sem tudtam volna vásárolni ezt a remek fényképezőgépet. Elődje egy Pentax MZ-M volt, tehát egyértelmű volt, hogy csak egy DSLR jöhet szóba. Annak idején az EOS-300D volt az egyetlen vetélytársa, ám a paramétereiből előre felkészülve, majd a boltban mindegyiket kézbe fogdosva, nyomkodva, végül a D70 lett az, amelyik sokkal jobban megfelelt az akkori elvárásaimnak. Ezt a döntést azóta sem bántam meg, sőt azóta már-már a kezemhez nőtt. Küzdök is az új masinával, mert a hátulján a gombokat rendesen átvariálták, a kezem meg automatikusan a régi, megszokott gombokat nyomkodja – csak azok ugye már mást csinálnak :)

Hogy mindez mégse csak valami nyálas ömlengés legyen, összegyűjtöttem hogy mik azok a különbségek, amik számomra valóban jelentőséggel bírnak fotózás közben. Aki esetleg nem ismerné a Nikon vázak megjelenés szerinti idővonalát: a két gép megjelenése között 10 év telt el!

  • Kereső

Ég és föld. A D7100 után a D70 keresője csak egy kicsi sötét lyuk.

  • LCD méret

A különbség óriási – hiszen sokszor ez alapján kell eldönteni, hogy megfelelő lett-e  a kép, amit sok esetben később már nem igazán tudnánk reprodukálni.

  • Üzemmódok

Úgy általában ezek teljesen haszontalanok egy DSLR gépen. Amit én használok az az automata (zöld kis ikon) vagy a teljesen manuális (M). Az újabb modellekben azonban van még 2 hasznos: U1, U2. Ezek tulajdonképpen megjegyzik a gép összes beállítását, és egyetlen tekeréssel vissza is adják. Így tulajdonképpen összesen háromféle előre definiált beállítás készlet között választhatok, ami a gyakorlatban nagyon hasznos.

  • Autofókusz

5 vs. 51 fókuszpont – Nagyon nem mindegy. Természetesen – kis trükkökkel ugyan – de azért eddig is oda fókuszált vele az ember ahová csak akart, de azért sokkal kényelmesebb így, na. :)

  • IR vevő

A D7100-on elől és hátul egyaránt van érzékelő. Ez bizony sokat segít mondjuk egy éjszakai, hosszú záridős, állványról fotózós esetben.

  • Memóriakártya

1xCF vs. 2xSD – A két kártyát többféleképpen is lehet használni, pl: backup, NEF/JPG

  • Pormentesítés

A D70 ilyen nem tudott, ott bizony manuálisan kellett kifújni a port az érzékelőről. Hogy a D7100 esetében ez mennyire hatásos, az majd csak pár év használat után derül ki.

  • Sorozat felvétel

3 helyett 6 kép másodpercenként. Ez jó, mert kétszer annyi ;)

  • Felbontás

Végül, és utolsó sorban: 6Mp vs. 24Mp – Véleményem szerint a 6Mp eddig is elég volt bármire. A 24Mp sokszor inkább csak hátráltat, mint segítene: Sokkal több erőforrás kell a feldolgozásukhoz, sokkal több helyet foglalnak, és feleslegesen nagyok. Persze a sok pixel lehet előny is – bizonyos esetekben :)

Aki esetleg a képminőséget hiányolná ebből a listából, azt ki kell ábrándítsam: A 10 éves D70 pont ugyan olyan remek képeket készített, mint bármelyik mai legújabb modell! Persze magasabb ISO, meg kevesebb zaj, és egyéb laboratóriumi körülmények között kimutatható előnyei biztosan vannak az újabb érzékelőknek, én azonban ezeket nem látom megjelenni a képeimen.

Attól függetlenül, hogy nagyon tetszik az új gép, én imádtam a D70-et, és rengeteg (~45.000) fotót lőttem vele az együtt töltött 10 év alatt. A kezemhez és a szívemhez egyaránt hozzánőtt – mégis megváltam tőle. Bagóért ugyan, de beszámították az új gép árába – ha megtartom, akkor viszont csak porosodott volna valamelyik szekrényben.

WordPress – üzemeltetés

Van ugyan egy olyan mondás, hogy ami nem romlott el, azt nem kell megjavítani. Ezt érdemes is megfogadni, azonban egy szoftver esetében, ha sokáig nincs frissítve, az problémákhoz vezethet:

  • Biztonsági frissítések hiánya
  • Kompatibilitási gondok
  • Megszűnt, vagy hamarosan megszűnő támogatás

Ezek bizony a gyakorlatban mindig bekövetkeznek, éppen ezért kell az általunk használt Plugin-ek és Template-ek frissítésére is különös figyelmet fordítani. És ez a különös figyelem azt is jelenti, hogy ha valamelyikhez régóta nem érkezett újabb frissítés, akkor kezdhetünk keresni egy másikat helyette. Ha ezt nem tesszük, akkor a fenti problémákkal előbb-utóbb szembesülni fogunk. Ha ezeket megvárjuk, akkor pedig kapkodás, biztonsági incidens, esetleg adatvesztés lesz a jutalom.

Valahogy nekem is sikerült ezt addig elodázni, amíg baj nem lett belőle. Szerencsére a baj nem olyan nagy, hacsak nem vesszük nagy bajnak azt, ha egy fotós galériája igen szarul néz ki :(

Megtörtént ugyanis, hogy az általam használt témák annyira elavultak, hogy funkcionális problémákat okoztak a galériám alapját képező plugin működésében. Hogy ne tetézzem a bajt, nem kezdtem el az éles oldalt barkácsolni, hanem egy tesztoldalon álltam neki összeállítani a számomra szükséges és megfelelő  kiegészítőket. Erről azóta külön cikk is készült

Okos ember a más kárán tanul – szól a mondás. Ezt a cikket tulajdonképpen nekik szántam :)

Qubes – 2.0

A Qubes projekt célja

Az első és legfontosabb információ a projekttel kapcsolatban, hogy egyáltalán miért jött létre, mit szeretne megvalósítani. A cél nagyon röviden: egy biztonságos Desktop Operációs Rendszer megalkotása. Ennek megértésben – a már több cikkemben is linkelt – rövid prezentáció segíthet: Qubes-meetup

Felmerülhet a kérdés, hogy miben különbözik ez, a többi egyéb hasonló célt szolgáló megoldástól? Erre ad választ a projekt alapítója – egy blog bejegyzés formájában.

Az egyéb kérdéseket a Gyakran Ismételt Kérdések szekció igyekszik megválaszolni.

A Qubes OS felépítése

Security by Isolation

A fenti ábra jól szemlélteti a Qubes OS felépítését, aminek alapvető eleme a Xen hypervisor, ami egy biztonságos Type-1 (Bare-metal) virtualizációs réteget biztosít. Ennek segítségével külön-külön virtuális gépek formájában valósítja meg az elkülönítést a rendszer kritikus elemei és az alkalmazásokat futtató AppVM-ek között. Mindezt úgy, hogy közben a különböző AppVM-ben futó alkalmazások ugyan azon a képernyőn jelenjenek meg, sőt lehetőség van egymás közötti biztonságos adatátvitelre is.

Természetesen, ilyen szintű szeparáció biztonságos megvalósításához hardver szintű támogatás is szükséges. A rendszer futtatásához szükséges konkrét hardver követelmények megtalálhatóak a projekt wiki oldalán. Sőt, a fejlesztők és a felhasználók által tesztelt konkrét eszközökkel kapcsolatban a HCL nyújthat további segítséget.

Bare-metal (Type-1) hypervisor

Ahogy ezt már többször is igyekeztem kihangsúlyozni, a rendszer legfontosabb eleme – a virtualizációt és ennek segítségével a szeparációt biztosító hypervisor – esetünkben a Xen.

Hardver szintű támogatással elkülönített rendszer komponensek:

  • dom0

A Xen hypervisor ugyan nem egy másik operációs rendszeren belül fut, de szüksége van eszközmeghajtókra (driver), management szoftverekre, és grafikus felületre is. Ezeket biztosítja a dom0 operációs rendszere, ami a Qubes OS 2.0 esetében egy – kifejezetten erre a feladatra specializált – Fedora 20 disztribúció 3.12 verziójú kernellel.

A Qubes OS esetében extra biztonsági fícsör, hogy a dom0 nem rendelkezik közvetlen hálózati összeköttetéssel!

  • Network

A Qubes egyik legfontosabb  – a fenti ábrán is jól szemléltetett –  biztonsági megoldása, a hálózati eszközök elkülönítése a dom0, illetve az AppVM-ektől. Ezt a Xen hypervisor egyik remek lehetősége,  a PCI Passtrough biztosítja. A megoldás lényege, hogy a fizikai hálózati eszközeinket egy kifejezetten erre a feladatra tervezett virtuális gép típushoz – egy NetVM-hez csatoljuk. Így hatékonyan elszeparálhatjuk a külső hálózatokkal közvetlen kapcsolatot tartó eszközöket (és az ehhez szükséges drivereket) az érzékeny adatokat tartalmazó alkalmazásainktól, és az egész rendszert vezérlő dom0-tól egyaránt.

Template alapú virtuális gépek

Mivel sok virtuális gépet fogunk futtatni, elengedhetetlen fícsör, hogy ezeket ne kelljen külön-külön egyesével frissíteni, karbantartani. Ez a gyakorlatban azt jelenti, hogy a virtuális gépek egy read-only template (itt találhatóak a telepített alkalmazások, és a rendszer szintű beállítások) és egy read-write lehetőséggel bíró virtuális diszket (amin a home könyvtárunk és a VM-enként eltérő konfigurációs állományok találhatóak) is kapnak, ezek összessége adja a virtuális gép teljes file struktúráját.

Ennek technikai megvalósításáról a projekt wiki oldalán találunk bővebb informáviókat.

Ez a megoldás a következő előnyöket biztosítja:

  • nagyságrendekkel kisebb diszk igény,
  • csak egy helyen kell az alkalmazásokat telepíteni/frissíteni,
  • csak egyszer kell a globális (minden VM-re érvényes) beállításokat elvégezni,
  • ‘elronthatatlan’ bináris készlet – ideiglenesen ugyan felülírhatjuk a template-ből kapott álloományokat is, ám azok egy reboot után visszaállnak az eredeti állapotra.

Természetesen ennek a megoldásnak ugyan úgy vannak hátrányai is, legfőképp a megnövekedett diszk I/O igény – mivel minden VM ugyan azt a diszk területet akarja egyszerre olvasgatni. Erre azonban a ma már igen elterjedt SSD technológia remek megoldást nyújt. Éppen ezért erősen javasolt is, a hagyományos HDD-kel szemben.

A Qubes OS ‘gyárilag’ egyetlen template-et tartalmaz, ami egy standard Fedora 20 kiadás – Qubes specifikus csomagokkal kiegészítve. Azonban a lehetőség adott, bárki készíthet egyéb más operációs rendszerekre épülő template-eket is, köszönhetően a template builder-nek. Ennek segítségével készül már ArchLinux és Debian template is a közösség tagjai által.

Amellett, hogy a template alapú VM-ek használata a gyakorlatban nagyon hasznos, természetesen lehetőség van Standalone VM-ek létrehozására is.

Különböző típusú virtuális gépek futtatásának lehetősége:

  • NetVM

Ez egy speciális feladatot ellátó virtuális gép típus, ez biztosít összeköttetést a fizikai hálózatok és az alkalmazásainkat futtató AppVM-ek között. Legalább egy ilyen típusú VM kell hogy legyen a rendszerünkben. Default telepítés esetén egy ilyen VM jön létre, és ehhez lesz hozzárendelve a gépünkben található összes hálózati eszköz, de természetesen ennél jóval bonyolultabb rendszert is kialakíthatunk, ha a különböző eszközöket (Ethernet, WiFi, 3G) külön-külön NetVM-ekhez rendeljük.

  • ProxyVM

A Proxy (vagy Firewall) típusú virtuális gépeket az AppVM-ek és a NetVM(ek) közé csatlakoztatva, még tovább szeparálhatjuk – ezzel még biztonságosabbá téve – a belső virtuális hálózatunkat.

Default telepítés esetén egy ilyen VM jön létre. A gyakorlatban azonban magam is több  ProxyVM-et: hasnálok: TOR, VPN, vagy épp az AppVM-ek egymás közötti kommunikációjának engedélyezésére.

  • AppVM

Felhasználói szemszögből ez a fajta VM tartalmazza a lényeget: az alkalmazásokat, amiket használni szeretnénk :) Hogy kinek mennyi kell ezekből, az már a felhasználás módjától és a tevékenységeink sokszínűségétől (és biztonsági vonzataitól) függ. Természetesen minél több AppVM fut, annál több erőforrást is igényel, tehát a rendelkezésünkre álló hardver figyelembe vételével tervezzük meg, hogy mennyire szeretnénk darabokra szeparálni a digitális életünket.

  • HVM

Az eddig vázolt VM-ek mind PV – vagyis paravirtualizát környezetben futnak, aminek legfőbb tulajdonsága, hogy az operációs rendszernek erről tudnia kell, azaz egy módosított kernelre van szükség az ilyen környezetben való futáshoz. Ezzel szemben a HVM – vagy ‘Full Virtualization – környezetben módosítás nélkül futtathatunk szinte bármilyen operációs rendszert, így lehetőség van olyan operációs rendszerek futtatására is, amik kernelét nem tudjuk/akarjuk módosítani a PV környezethez. Ilyen például a Windows is.

Ilyen típusú VM esetén lehetséges nem template alapú – azaz Standalone VM-eket is létrehozni.

DVM – Disposable VM

Az eldobható – azaz egyszer használatos – VM-ek segítségével még tovább tudjuk csökkenteni az internetről ránk áradó támadások, vírusok, és egyéb gonosz dolgok káros hatásait. Ez a VM ugyanis a kikapcsolás után végleg megszűnik létezni – az esetleg összeszedett károkozókkal együtt :)

Ez a megoldás kiválóan alkalmas ismeretlen eredetű, vagy akár tudottan ártó jellegű weboldalak felkeresésére, fájlok letöltésére, vírusok ‘tesztelésére’. Mindemellett magánéleti (privacy) szempontból kényes ügyek intézésére is remek megoldás, főleg egy ProxyVM-ben futó TOR megoldással kiegészítve.

Ezek használatát nagyban megkönnyíti a File kezelőhöz, Evolution-höz. és Firefox-hoz is elérhető plugin, aminek segítségével egy normál AppVM-ből is egyetlen kattintással nyithatunk meg állományokat, weboldalakat egy újonnan indított DVM-ben.

Grafikus VM kezelőfelület

A mára már alapvetőnek számító Qubes VM Manager az 1.0 kiadásban debütált, és mivel azóta csak apróbb változtatásokon esett át, így ezt nem részletezném újra.

Seamless GUI Integration

Mivel ezt a kifejezést igen nehéz lefordítani, igyekszem elmagyarázni miről is van szó. Nehéz dolog ez azért is, mert a végeredménynek pont az a lényege, hogy a felhasználó számára egyértelmű legyen, hogy melyik alkalmazás melyik VM-ben fut, ám ez mégse jelentsen korlátokat a használhatóságban. Ez a gyakorlatban azt jelenti, hogy minden egyes alkalmazás egy színes ablakkeretet kap. Ez az ablakkeret a színével és az alkalmazást futtató VM nevével van ellátva, de ettől függetlenül ugyan azon a desktop felületen láthatjuk őket, sőt akár copy-paste műveletet is végezhetünk a közöttük, attól függetlenül, hogy valójában külön VM-ben futnak. Persze mindezt látni kell, és máris egyértelmű miről is beszélek :)

Technikai részletek a projekt wiki oldalán

Biztonságos adatátviteli lehetőségek a VM-ek között:

Segítségével lehetőségünk van biztonságos módon állományokat mozgatni anélkül, hogy bármilyen közös eszközt kellene felcsatolnunk az érintett VM-ekben.

A „Seamless GUI Integration” egyik lényeges eleme, hogy Copy-Paste műveleteket is végezhetünk a különböző VM-ek között.

  • Trusted PDF

Egy olyan remek megoldás is született, ami a .pdf állományokat egy eldobható VM-ben egy sokkal megbízhatóbb (makrók, scriptek, és egyéb veszélyforrások nélküli) formátumba konvertálja.

Minden AppVM egy belső virtuális hálózat része. Hogy ezek a virtuális gépek hogyan kapcsolódhassan egymáshoz – majd végül a fizikai hálózathoz – azt a qubes firewall szabályozza.

Backup & Restore

Nem, a biztonsági mentések fontosságát nem szeretném szajkózni.Úgyis mindeki csak egy őt is érintő adatvesztés után kezd el rendszeres mentéseket készíteni, és általában ez is csak addig tart, amíg az ezzel kapcsolatos rossz emlékek.

A Qubes mindenesetre lehetőséget biztosít a rendszerünk egyszerű és biztonságos mentésére és visszaállítására egyaránt. Itt azért kihangsúlyoznám a működő visszaállítást. A Qubes tesztelése során ugyanis ez a fícsör adta a lehetőséget arra, hogy különösebb probléma (és adatvesztés) nélkül lehessen frissíteni, vagy akár egy régebbi állapotra visszaállni. Az egyéb operációs rendszerek és mentéseikkel kapcsolatban eddig sajnos nem voltak ilyen pozitív tapasztalataim…

Anti Evil Maid

Ez egyfajta TPM implementáció, aminek elsődleges célja az ‘Evil Maid’ tipusú támadások megakadályozása. Bővebb információk a projet wiki oldalán.

Single User Mode – by design

Ez első hallásra ugyan sokkal inkáb hiányosságként lehetne értelmezni, ám aki a dom0-hoz hozzáfér, az az összes VM felett korlátlan jogokkal rendelkezik. Emiatt a jelenlegi megoldásokkal nem biztosítható a felhasználók jogainak elkülönítése a dom0-ban. Tehát a Qubes OS csak egyetlen felhasználót feltételez. – ami egy laptop esetében nem is túl elvonatkoztatott dolog.

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!

DotRoll – Tárhely

Manapság tárhely szolgáltatót választani igen nehéz, főleg ha ennél lényegesen professzionálisabb környezetből kell valamit egy egyszerű webhostingra költöztetni…

Technikai szempontból nézve egy saját szerverhez és/vagy VPS szolgáltatáshoz viszonyítva egy webtárhely egyszerűen nevetséges. Nyilvánvaló viszont, hogy azért van mégis létjogosultsága, mert átlagosan 10-12x olcsóbb mint a fent említett komoly szolgáltatások bármelyike, és nem kell hozzá külön ‘rendszergazda’ sem.

Biztonsági szakemberként, jelentős szakmai háttérrel, most a saját oldalaimat költöztettem egy professzionális VPS-ből a DotRoll tárhely szolgáltatására.

Mivel nagyjából tudtam mire számítsak, nem voltak igazán nagy elvárásaim, és az oldalaim működéséhez mindössze egy WordPress-t futtatni képes szerverre és a hozzá szükséges adatbázisra volt szükségem. Maga a költöztetés a WordPress-nek (és a rendszeres mentéseimnek) köszönhetően pár perc alatt megvolt. Sok idő kellett azonban a számomra eddig ismeretlen cPanel – és az alatta lévő környezet kiismeréséhez. Ez is inkább annak köszönhető, hogy én pontosan tudtam, hogy mit szeretnék létrehozni, de azt nem hogy a cPanel tervezői (és a DotRoll üzemeltetői) azt hogyan valósították meg – átlag felhasználók számára is kezelhető módon :) Az online support azonban készségesen segített minden felmerült kérdéseim megválaszolásában :)

Mire minden elkészül, kiderült mit is kaptam a ~7000 magyar forintomért cserébe:

DotRollBASIC

Az előre megadott paramétereket bárki megtekintheti a fenti linken. Ami viszont csak a kifizetés után derült ki – legalábbis számomra:

  • Hozzáférési lehetőségek

A tárhelyhez alapvetően egyetlen (a rendszer által generált) felhasználót – és a számára kialakított ‘chroot’ környezetet kapujuk. Ezen belül tudunk mindent a cPanel-es management felület segítségével megoldani. Többek között, hozhatunk létre korlátlan számú, általunk megadott könyvtárhoz hozzáférő FTP (és/vagy webDAV) felhasználókat. Ez nagyon hasznos, főleg ha egymástól független oldalakat akarunk üzemeltetni és/vagy több adminisztrátor dolgozik ezeken…

SSH hozzáférés sajnos csak a drágább csomaghoz jár :(

  • Hozzárendelhető domainek

Jelen csomaghoz 5db domain (ezek alá viszont akármennyi aldomain) rendelhető. Ezt viszont úgy kell érteni, hogy amit a regisztrációnál megadtunk, mint ‘Main Domain’ annak a document root-ja mindenképp a ./public_html könyvtár lesz, és ezt később nem – vagy csak adminisztrátori beavatkozással módosítható. A további domainek számára azonban szabadon megadhatunk bármilyen könyvtárat…

A cPanel nagyon ‘user friendly’, ezért oda kell figyelni, hogy mit hová rendel nekünk puszta segítőkészségből ;)

  • DNS kezelés

Pozitív csalódás volt, amikor láttam hogy ‘advanced módban’ mindenféle (MX, A, CNAME, TXT) rekordot hozhatunk létre, általunk megadható egyedi TTL értékekkel :)

Cserébe először ki kell gyomlálni a cPanel által automatikusan létrehozott felesleges szemetet ;)

  • Állomány jogosultságok

Na itt azért már van kavarás rendesen. Alapvetően a webszerver a saját felhasználónk nevében fut, emiatt hozzáfér MINDEN állományhoz, és azokat amik a home könyvtárunkon belül van, akár írhatja is! Na, amikor ez kiderült számomra, akkor futottam újabb köröket a VPS szolgáltatókkal…

Ez ugye több szempontból is problémás, legfőképpen azért mert a különböző domainek alatt elhelyezett oldalak is ugyan ennek az egy felhasználónak a nevében futnak. A másik, hogy így sajnos NEM LEHET biztonságos oldalt létrehozni.

  • Backup

Gondolom ez szintén alap cPanel modul, szépen mindent egy állományba összegyűjt számunkra, nekünk csak le kell mentenünk rendszeresen. Persze automatizálni így nem nagyon lehet – de már ez is nagy segítség egy csupasz FTP-hez képest.

  • Naplózás

Ismét egy nagy pozitívum, hogy választhattam melyik logelemzó szoftverrel (Awstats, Logaholic, Webalizer) etesse meg a webszerverem logjait. És ezek aztán tudásukhoz mérten mindenféle csodás grafikonon mutatják meg ki tévedt az oldaunkra, és miket nézegetett rajtuk :)

  • Biztonság

Mivel jó pár éve már ezen a területen dolgozom, így egy átlag adminhoz képest  várhatóan sokkal nagyobbak az elvárásaim, és sokkal kritikusabban nézem a dolgokat. (Lásd: a ‘Kapcsolódó Írások’ alatti cikkeimet)

  • A (clear) FTP hozzáférés szerintem vicc, így 2013-ban.
  • Az Apache szerverben csak ‘Basic Auth’ modul van, ami megint csak elavult már manapság. A ‘Digest Auth’ modul betöltése pedig nem lenne egy bonyolult feladat.
  • A már részletezett file rendszer jogosultsági problémák miatt egy ilyen tárhely a botnetek melegágya.
  • a PHP-hez semmiféle hardening megoldást nem használnak, nincsenek letiltva a system hívások, sem pedig a ‘remote’ függvények sem.
  • A KIFELÉ menő forgalom tiltására/korlátozására nincs lehetőség.

Összességében nézve lenne mit javítani a szolgáltatáson, de persze érthető, hogy ennyi pénzért nem várhatok túl nagy csodát… Jelen esetben úgy érzem jobban jártam volna több kisebb csomaggal, amikhez csak egyetlen domain rendelhető, mert így technikailag sajnos nem lehet őket megfelelően elszeparálni.