Tűzfal virtuális környezetben

Gál Tamás kollégámnak egy InetPub találkozón beszélgetve lelkesen ecseteltem, hogy mennyire jó a virtualizáció. Ő – elismerve a technológia nagyszerűségét – a tűzfalak vonatkozásában húzta a száját.
– Mi bajod azzal, hogy egy tűzfalat virtualizálunk? – kérdeztem.
– Nemtom, de nem tetszik. Egy tűzfal az tűzfal.
– A virtualizációs réteg elszigetelő képességében nem hiszel?
– Nem, csak valahogy nincs jó érzésem az ilyen tervektől.

Miután nemrég egy levélváltás során újra előkerült a téma, elhatároztam, hogy utánajárok, hogyan áll ez a dolog a tudomány mai állása szerint. Az első állomás persze az ISA 2006 Release Notes állománya. Ebben az áll, hogy

"ISA Server 2006 has been tested on Microsoft Virtual Server 2005 R2 and is expected to be fully functional. However, deployment of ISA Server on a Virtual Server 2005 R2 environment should be limited to testing purposes only. Specifically, we do not recommend a Virtual Server 2005 R2 production environment where ISA Server 2006 is expected to serve as the network firewall."

vagyis nagyjából egészében GT álláspontját képviselik, de indoklás nélkül. Akkor nézzük, mit tudunk kihozni a saját kútfőből. A virtualizált környezet azt jelenti, hogy az adott kiszolgálót, jelen esetben egy tűzfalat, bezárunk egy dobozba, és így a teljes gép erőforrásainak csak egy részét bocsátjuk a rendelkezésére. A virtualizált OS, és így a tűzfal szoftver erről mit sem tud, azt gondolják, hogy valóságos hardvert kezelnek. Vagyis átejtük a rendszert. Egy "átejtett tűzfal" – ha csak a kifejezést nézem – a nevetségesség kategóriájába esik, innen tehát az érzés, hogy "feláll a szőr hátamon." El kell ismerni ugyanakkor, hogy az "átejtés" azért profi dolog, ez a virtualizációs réteg, amely több éve jól teljesít, jöjjön az olyan gyártóktól mint az IBM (iSeries kiszolgálók), vagy VmWare, de maradhatunk a házunk tájánál: a Virtual Server 2005 R2-nek sincs oka a szégyenkezésre. A Mátrix jól működik, nincs rajta rés, legalábbis belülről nincs. Vannak ugyan hírek arról, hogyha áttörni nem is, de a Mátrixot felfedezni igenis van mód. A minap bizonyos férgek terjedésénél fedezték fel, hogy elkerülik a virtuális gépeket méghozzá úgy, hogy megpróbálják megállapítani, a gép virtuális-e vagy sem. Erre sokféle technika van, ezek közül a legszofisztikáltabbak assembly kódban megírt valamik, amelyek másként futnak valóságos és virtuális környezetben. Akárhogy is, ez még mindig nem rés a pajzson, tehát annyit megállapíthatunk, hogy a blogok, a Google, a Live és a tudomány állása szerint a virtualizációs réteg bevezetése nem jelenthet problémát.

A történet azonban nem itt ér véget. Vajon a Mátrix kivülről is olyan erős, mint belülről? A virtuális gépből nem törünk ki, de vajon a hypervisor felől betörhetünk a virtuális gépbe? Van mód arra, hogy manipuláljuk a gép állapotát? Erre azt a választ kell adnom, hogy igen. Olvashattunk nemrégen a hypervisor-funkciókat használó rootkitekről, és bár ott fizikai gépől volt szó, meg kellett hozzá a processzor virtuális üzemmódot támogató funkciója, mégiscsak arról szól a dolog, hogy aki a hypervisor (amely tulajdonképpen az izolációs réteg) ura, ura a felette futó gépeknek. Vagyis, ha lenne egy olyan kód, amely megfertőzné a hypervisort, akkor elméletileg lehetséges a virtuális gép mainpulálása anélkül, hogy ezt a virtualizált rendszer észlelné. Tudjuk, hogy 1983-ban még a számítógép vírusok is csak elméletileg léteztek…

A virtualizáció nem azért van, hogy egyetlen kiszolgálót zárjunk dobozba. Mi inkább 4-5, vagy akár huszonöt gépet is egy vasra rakunk, hogy ezzel pénzt, időt, üzemeltetési fáradságot takarítsunk meg. És itt már találhatunk valamit, ami szemet szúrhat. Szemben a tűzfallal, amely szigorúan kezelt és felügyelt, továbbá szigorúan védett, a gazdagép nem biztos, hogy mindig megüti ezt a szintet. Maradjunk csak a Microsoft házatáján. Az ISA 2006 (nem 2004!) esetén erősen gondolkodnom kell, hogy mi az, amire nem képes, ha nem tartománytag, ezzel szemben a Virtual Server 2005 R2 számos funkciójáról, éppenséggel főleg biztonsági képességeiről le kell mondanunk, ha a host nem tartománytag. Egy jó tűzfal minden lábán védi saját magát is, egy Virtual Server többnyire (tessék figyelni erre a szóra: többnyire!) nem használ tűzfalat. Nagyvállalati környezetben esetleg több rendszergazda folyamatosan kezeli, gépeket hoz létre rajta, töröl, átkonfigurál stb. Vagyis van egy elvileg szigorúan felügyelt tűzfalunk, és egy többnyire nem ennyire szigorúan felügyelt host rendszerünk. Itt a baj. Ez ugyanis megteremti a lehetőségét, hogy olyan, ma még persze csak elméletben létező kód kerüljön a gazdagépre, amely azután már manipulálhatja a virtualizált vendég-rendszereket. De ne legyünk ennyire elméletiek: a hibás biztonsági beállításokkal üzemeltetett gazdagép esetén egy támadó hozzáférhet akár a tűzfal konzoljához is, és azt már tudjuk, hogy onnantól a biztonság harmadik alaptörvénye értelmében "a gép nem a tied többé". Íme, itt a szabályrendszer, amely alapján biztonsági szempontból eldönthető, hogy virtualizálhatunk-e egy tűzfalat vagy sem.

Virtuális környezetben futó tűzfal akkor egyenértékű biztonság szempontjából a fizikai gépen futó tűzfallal, ha:

  1. A host operációs rendszer üzemeltetése biztonsági szempontból ugyanolyan vagy szigorúbb, mint a tűzfal rendszeré minden egyes tűzfalat érintő kockázati tényezőre vonatkozóan.
  2. A gazdagép üzemeltetői személyzetének megbízhatósága ugyanolyan, vagy jobb, mint a virtualizált rendszerek üzemeltetői személyzetéé.

Átböngésztem a webet, hogy találok-e példát komoly tűzfal virtualizációra. Találtam, méghozzá nem is kis neveket. A Cisco és az IBM is megalkotta már a maga tűzfal virtualizációs megoldását. A példák annyiban rosszak, hogy a gazdagépen nem fut más funkció, viszont a fenti szabályokat tökéletesen visszaigazolja mindkét cég. Ha ugyanis a gazdagépen virtualizált rendszerek csak tűzfalfunkciót látnak el, és mindkét eset ilyen, akkor az 1. pont teljesülhet könnyedén, hiszen a host is és a vendéggépek is egyetlen szerepre jöttek létre. Ha pedig egyetlen szerepről van szó, akkor az üzemeltető személyzet is azonos, így a 2. pont is teljesül. A mi esetünk nem egészen ez: mi különböző szerepű gépeket teszünk egyetlen gazdagépre, így a szabályok teljesítése sokkal nehezebb. De nem lehetetlen.

És akkor a végére két bíztató dolog: A VmWare augusztus 15-én kihirdette a "Ultimate Virtual Appliance Challange" verseny győzteseit. A harmadik helyezett egy tűzfalmegoldás – otthonra. Kicsi lépés, de lám van helye a tűzfalnak virtuális környezetben, gondolja ezt az a cég, amely ebből a technológiából él. A másik nem hír, inkább egy kérdés: ha a licencelés lehetővé tenné, akkor maradnátok az SBS jelenlegi architektúrája mellett vagy ikább (szerepekben gondolkodva) a virtualizáció segítségével oldanátok meg a kisvállalatok problémáit? Én leteszem a voksom a virtualizáció mellett.

Szívesen veszem a megjegyzéseiteket, különös tekintettel a vastaggal szedett szabállyal kapcsolatban. Lehet, hogy kifelejtettem tényezőket, közös gondolkodással ezek is hamar a helyükre kerülhetnek.

Jó virtualizálást!

4 Responses to Tűzfal virtuális környezetben

  1. snefi says:

    Hello
     
    hat azert a mindent virtualis gepre pakolas szerintem nemtul biztonsagos dolog….
    konnyu mondani hogy egy gepre rateszek 5-6 szervert…
    es ha hardver hiba van akkor all az egesz rendszer… vagyis azok amelyek azon a gepen voltak…
    es ha valami osszefug valami masik geppel?
    szerintem azert nemolyan jo dolog 10-15 lab helyet 1-2 labon allni.
    pontosan mert is jo?
    bocsanat de nemhiszem hogy egy nagy rendelekezesreallast igenylo feladatnal az a legjobb megoldas ha kirantom aloluk a vasat es aztmondom hogy az eletem teszem ra egy vagy ket gepre.
    es hanyszor latni hogy webcast kozben megse moccan szerencsetlen virtualgep… /ekkor persze jon a mondas hogy majd talan kesobb.. /
    es ha kiesik a diskrendszer a vas alol akkor a tobb terrat hova alitod vissza?
     
    Bocsanat de vannak fentartasaim.
     
    Udv:Snefi

  2. Péter says:

    Lehet clusterezni a virtuális gépeket, de akár magát a Virtual Servert is, persze így már két gép kell hozzá. A virtualizáció azonban nem ezekre a problémákra ad megoldást, amiket írsz, ugyanúgy kiegészítő megoldásokra szorul, mint egy hagyományos, nem virtualizált rendszer. Mindkettőt kell backupolni, megtervezni a rendelkezésre állást, az ehhez szükséges megoldásokat.
     
    Webcast: hiszed, vagy sem, a webcastok LiveMeeting motorjával van a gond, szétzabálják az előadói gépen a procit néha nagyon csúnyán, és ilyenkor csak vánszorog szegény VPC. Meg persze közben a LiveMeeting próbálja streamelni az egérmozgatásokat is.
     
    Én amúgy – de talán kiderült – szintén hiszek a virtualizációban, és nem érzem azt, hogy ne tudnék vele bármit jól megoldani :)
     
    Peti

  3. Tamas says:

    Ebben a cikkben kizárlólag azt jártam körül, hogy egy tűzfal milyen feltételekkel virtualizálható. Külön misét megér a rendelkezésre állás, mert abban a virtualizációs megoldások alapvetően erősek. Csak majd máskor.

  4. SzJa says:

    Nem az a kérdés, hogy virtuális legyen-e hanem, hogy mi? A TMG kicsit sokba kerül, főleg, hogy kell alá egy szerver is. De valóban kell? Tényleg nem elég egy soho router mögött a saját tűzfala? Egy kis cégnek 3 emberrel… Igaz, webáruházat is szeretnénk rá…

Leave a comment