182
Budapest, 2003. november 8 . V. GNU/Linux Szakmai Konferencia

GNU szkamai konferencia

  • Upload
    laszlo

  • View
    33

  • Download
    5

Embed Size (px)

DESCRIPTION

József Attila összes költeménye

Citation preview

  • Budapest, 2003. november8 .

    V. GNU/Linux Szakmai Konferencia

  • A kiadvny trdelse a TEX 3.14159 verzijval kszlt,GNU/Linux opercis rendszeren.

    Helyesrs-ellenorzs: Hunspell 0.9.6.2 verziA TEX az American Mathematical Society bejegyzett vdjegye.

    Szerkesztette: Zelena [email protected]

    Linux-felhasznlk Magyarorszgi Egyeslete1395 Budapest 62, Pf. 432,URL: http://www.lme.hu/E-mail: [email protected]

    Minden jog fenntartva. Jelen kiadvny elektronikusverzija mdosts nlkl szabadon terjesztheto. Anyomtatott vltozat terjesztse, msolsa, informatikai rendszerben trtno tovbbi feldolgozsa, trolsacsak a szerzok rsos hozzjrulsval lehetsges.

    http://www.lme.hu/

  • Tartalomjegyzk

    Barth Gbor: Megjelens fggetlen dokumentci ksztse szabad szoftverekkel 9

    Blint Sndor: A Common Criteria 19

    Bodnr Csaba: openMosix: Live free() or die() 29

    Bodnr Csaba: Mitol megy a villamos, avagy HA-telepekben hasznlt technolgik 35

    Deim goston: Hlzatfelgyeleti megoldsok Linux alapon 41

    Fejos Tams: Csoportmunka/Egyttmukds/Projekttmogats linuxos eszkzkkel 51

    filter:max: A t uzfalon tl A kretlen levelek szurstol a teljes tartalomszursig 63

    Kabai Jzsef: Az SQL-Ledger integrlt gyviteli rendszer 69

    Kadlecsik Jzsef: Tuzfal teljestmny-tesztels 75

    Keszei Csaba: Biztonsgos hlzati elrs vezetk nlkli kapcsolat felett 87

    Lszl Gbor: Nylt forrskd szoftverek s kormnyzatok 97

    Mlinarics Jzsef: Hazai plyzatok s a magyar rszvteli lehetosgek az EU program-jaiban 105

    Nagy Bence: Scribus DTP Linux alatt 109

    Nmeth Lszl: A Szszablya fejleszts 117

    Noll Jnos: Az OpenOffice.org mltja, jelene s jvoje 123

    Tomka Gergely: Permanens forradalom 131

    Tth Sndor: Tartalomkezelo Rendszer(ek) TYPO3 139

    Verk Istvn: FSRv2: Fordtst Segto Rendszer (v2) 145

    Vomberg Istvn Drszler Attila: Programok fejlesztse Linux krnyezetben a sorosporti kommunikcitl a tbbszlas programozsig 151

    Vomberg Istvn Drszler Attila: Felhasznli programok fejlesztseGTK+/Gnome krnyezetben 161

    Szab Lszl (Konzumbank Rt.): GNU/Linuxszal visszk a bankot! Mirt s miknttrt t a Konzumbank GNU/Linuxra? (x) 175

    Cserp Jnos (Sun): A Sun Java System(x) 177

    Knts Zoltn (IBM Hungary): Nylt, j vilg: A Linux lehet osgei a kormnyzatiinformatikban (x) 179

    3

  • A konferencia tmogati

    Fo tmogat:Konzumbank Rt.

    Fo mdiatmogat:Computerworld Szmtstechnika

    Mdiatmogat: Prim Online

    Arany fokozat tmogatk: IBM Hungary Novell Magyarorszg Oracle Hungary Kft. Sun Microsystem Kft.

    Ezst fokozat tmogatk: Linuxvilg Linux Support Center Kft. Matv ULX Kft.

    Bronz fokozat tmogatk:

    Balabit IT Biztonsgtechnikai Kft.

    Direkt Kft.

    Lafisoft

    Mission Critical Linux Kft.

    Software Station

    4

  • Elosz

    Kedves vendgnk, tisztelt Olvask!

    dvzljk a Linux-felhasznlk Magyarorszgi Egyesletnek immr V. alkalommalmegrendezett szakmai konferencijnak alkalmbl.

    Egyesletnk 1998oszn azzal a fo cllal alakult, hogy sszefogja a Linuxszalfoglalkoz szakembereket s cgeket, szakmai frumokat teremtsen, terjessze a Linux-szal kapcsolatos ismereteket, szksg esetn jogi szemlyisgknt kpviselje a Linux-hvok hazai trsadalmt.

    t v a szmtstechnika vilgban hihetetlenl hossz ido, de taln egy egyes-let letben ppen elg, hogy gyermekbetegsgeit kinoje, az ifjonti hv keveredjen afelnott vls komolysgval.

    Hossz volt az t, mely az elso 5-8 fos beszlgetsektol az egyeslet megalakul-sig vezetett, s mg hosszabb, amg eljutottunk odig, hogy szakmai konferenciink-nak orszgos elismertsget szereztnk.

    Az eltelt ido alatt tbb komoly eredmnyt rtnk el. Egyesletnk tagltszma hanem is drasztikus mrtkben, de folyamatosan no, azoszi Konferencia idoszaka mindigkiugr cscsknt jelentkezik azezzel kapcsolatos kimutatsokban.

    Idn a mg alakulban lvo Nemzeti Szabad Szoftver Stratgia eloksztsbenval aktv szerepnk taln legltvnyosabb eredmnynk.

    rdekkpviseletnk a Szoftver Szabadalmakkal Kapcsolatos direktvatervezet mi-att elso alkalommal komoly formban lttt testet.

    Az e tren kifejtett komoly ismeretterjesztsnk kifejezetten sikeres volt. Az ak-tivistink munkja, valamint a civil szemlyek/szervezetek kzremukdse megfelelomrtkben fordtotta a problmra a figyelmet.

    Egyesletnk szinte minden frumon igyekszik megjelenni, ahol lehetosge nylika szabad szoftverek npszerustsre. Tbbek kztt rszt vettnk az zon fesztivlon,a Sziget fesztivlon, a Civilida rendezvnyen.

    Egyesletnk minden vben kiemelt feladatnak tekinti a GNU/Linux szakmaikonferencia megrendezst, mely a tavalyihoz hasonlan sznvonalas krnyezetben ke-rlt idn is megrendezsre.

    Remnyeink szerint a Konferencin t idopontban sszesen huszont eloads kerllebonyoltsra. Elso alkalommal sikerlt azt megoldanunk, hogy minden, a Kiadvny-ban szereplo eloadst meg is tudunk tartani.

    Ez vben szinte minden olyan cg kpviselte magt Tmogatknt, eloadknt, akivalamilyen formban mr zszlajra tuzte a Linux tmogatst. Bzunk benne, hogy azeloadsok, s a killtk knlata tallkozik vendgeink rdeklodsvel.

    szrevteleit, javaslatait btran ossza meg velnk a Konferencin szemlyesen azLME standjn, vagy ezt kvetoen elektronikus levlben [email protected] rvid bevezeto lezrsaknt azt kvnjuk, hogy forgassk minl tbbet kiadvnyun-kat, s ltogassanak el 2004-ben a kvetkezo GNU/Linux Szakmai Konferencira!

    Tisztelettel,

    A konferencia szervezoi

    5

  • 6

  • Eloadsok

  • 8

  • Megjelens-fggetlen dokumentci ksztseszabad szoftverekkel

    Barth Gbor

    2003. oktber 27.

    Kivonat

    A dokumentumkdolsi alapjai, SGML s XML sszehasonltsa. Szerkesztoprogramok (emacs, jedit, OpenOffice.org), docbook, TEI2, doc-

    book website DTD-k bemutatsa. Megjelens-vezrlsi alapok, DSSSL s XSL bemutatsa, parser programok

    ttekintse (jade, openjade, saxon, xalan). Klnbzo kimentetek elolltsi lehetosgei a gyakorlatban: segdprogra-

    mok (sgml2x, docbook2x, sajt makefile ksztse) nyomtatshoz hasznltkimenetek (pdf, ps, dvi), elektronikus kimenetek ksztse (html, klnbzoe-book formtumok).

    Nehzsgek: kpek elksztse, kimeneti formtumok enkdolsa, stb.

    Tartalomjegyzk

    1. Bevezeto 10

    2. Dokumentumkdolsi alapok 102.1. SGML s XML sszehasonltsa . . . . . . . . . . . . . . . . . . . . 102.2. Dokumentum tpusok (DTD) . . . . . . . . . . . . . . . . . . . . . . 102.3. Szerkesztoprogramok . . . . . . . . . . . . . . . . . . . . . . . . . . 11

    3. Megjelens-vezrlsi alapok 123.1. DSSSL s XSL bemutatsa . . . . . . . . . . . . . . . . . . . . . . . 123.2. Parser programok ttekintse . . . . . . . . . . . . . . . . . . . . . . 133.3. Klnbzo kimentetek elolltsi lehetosgei a gyakorlatban . . . . . 13

    4. Nehzsgek 16

    9

  • 10 Barth Gbor

    1. Bevezeto

    Jnhny, dokumentumokkal kapcsolatos feladat esetn, amennyiben:

    nagy mennyisgu dokumentum egysges formtumban val elksztse,

    egy dokumentum ugyanazon a mdin klnbzo megjelensben val publik-lsa,

    egy dokumentum klnbzo mdin vagy formtumban val publiklsa

    a cl, rdemes elgondolkodni jrahasznosthat dokumentumok ksztsn.Mindegyik feladat elltshoz alapvetoen szksges, hogy a dokumentumot kt

    rszre vlasszuk szt. Az egyik rsznek a dokumentum szerkezett kell lernia, hogyantagozdik rszekre, fejezetekre, stb., mg amsik rsznek ennek a struktrnak s amegjelento eszkznek az ismeretben elo kell tudnia lltania a megfelelo kimenetet.

    Az gy sztvlasztott dokumentumot aztn a tartalom vltoztatsa nlkl lehet k-lnbzo megjelento eszkzkre publiklni vagy fordtva, a dokumentum vltozsakor mint pldul j fejezet beszrsa a megjelento rteg vltoztatsa nlkl lehet jrapubliklni.

    Sot, mivel a megjelento rteg a lehetsges struktra alapjn mukdik, gy a szerke-zet betartsval kszlt dokumentumok ugyanazzal a megjelento rteggel mukdhet-nek.

    Ezt a gyakorlatban SGML vagy XML kdolssal s a hozzjuk tartoz transzform-cikkal lehet a legegyszerubben s ami igen fontos, a szabvnyok betartsval elrni.

    2. Dokumentumkdolsi alapok

    2.1. SGML s XML sszehasonltsa

    Mr a 60-as vekben felmerlt egy ltalnos dokumentum-jello nyelv kidolgozsnakszksgessge, de az elso ilyen szabvnyostott nyelv csak 1986-ban kszlt el SGML(Standard Generalized Markup Language) nven. Az SGML egy nagyon tgondolt,szleskruen hasznlhat szabvny, amit az is jl mutat, hogy az elso tz vben gyakor-latilag semmit nem vltoztattak rajta. Viszonylagos bonyolultsga miatt azonban kevsszoftver kszlt hozz s ezek tbbsge is a teljes szabvnynak csak kis rszhalmazttmogatta.

    1998-ban a W3C elfogadta szabvnynak az XML (eXtensible Markup Language)1.0-t amelyet az SGML s HTML j tulajdonsgainak figyelembevtelvel alaktottakki. Az SGML-hez hasonlan DTD (Document Type Definition) alap, nler, tetszo-legesen kiterjesztheto nyelv. Alapjban vve az XML megfeleltetheto az SGML egyrszhalmaznak, teht minden XML dokumentum SGML dokumentum is egyben. El-lenben az SGML dokumentumok XML-l alaktsa egyltaln nem trivilis feladat, sotbizonyos esetekben nem is lehetsges.

    2.2. Dokumentum tpusok (DTD)

    Minden esetben, amikor egy dokumentumot ksztnk, eloszr meg kell hatrozni a do-kumentum tpust, teht el kell kszteni a DTD-t. Szerencsre nem kell mindent ellrolkezdeni, hiszen j nhny dokumentumfajthoz tallhatunk mr elksztett DTD-ket.

    V. GNU/Linux Konferencia 2003. november 8.

  • Megjelens-fggetlen dokumentci ksztse szabad szoftverekkel 11

    Amennyiben szoftverdokumentcit ksztnk, az egyik legalkalmasabb vlasztsa docbook DTD [1]. Ebben ksztik tbbek kztt a GNOME desktop teljes doku-mentcijt is. Nem elhanyagolhat szempont, hogy rendkvl jl konfigurlhat, sokkimenet elolltsra alkalmas stluslap-csomag is rendelkezsre ll hozz, melyneksegtsgvel szmos formtum vgdokumentum ksztheto postscripttol a javahelpig.

    Szpirodalmi muvek kdolshoz hasznlhat a TEI2 (Text Encoding Initiatve)DTD [2], mely a versesknyvtol a szndarabig mindenfle mure alkalmazhat. Sajnos astluslap csomag egyelore elg kezdetleges, gy a megjelensek testre szabsa nagyobbenergiarfordtst ignyel mint a docbook esetn.

    Ltezik egy docbook alap, kifejezetten weboldalak lersra tervezett DTD, mely-nek docbook-website a neve. Ennek segtsgvel weboldalunk tartalmt az ismert doc-book DTD szerint rhatjuk le, kiegsztve nhny, az oldalak struktrjra s a webol-dalra vonatkoz informcival.

    Szt kell ejtennk mg egy DTD-rol, amelyet kifejezetten a dokumentum formz-snak teht nem a struktrnak, hanem a megjelensnek lersra fejlesztettek ki. Eza dokumentum fajta az xsl formating objects (xsl:fo). Mi kizrlag kztes formtum-knt fogjuk hasznlni, hiszen a bevezetoben mr emltettk a struktra s a megjelenssztvlasztsnak fontossgt, amely az xsl:fo esetn nincs meg.

    Vgezetl az rdekessg kedvrt megemltjk, hogy termszetesen tallhat DTDa weboldalak lersrt felelos HTML 3.2 s HTML 4.0 szabvnyhoz, illetve a HTMLxml-kompatibilis verzijhoz, az XHTML-hez is.

    2.3. Szerkesztoprogramok

    Emacs s Xemacs

    Az emacs s a psgml kiegszto csomag segtsgvel komplett SGML szerkeszto pro-gramot kapunk gyakorlatilag az sszes Linux terjesztssel, amely termszetesen XMLszerkesztsre is kivlan hasznlhat. Aprogram kpes szintaxis kiemelsre, DTDalapjn a lehetsges elemek beszrsra, SGML s XML rvnyessg ellenorzsre,tagok elrejtsre s kibontsra.

    V. GNU/Linux Konferencia 2003. november 8.

  • 12 Barth Gbor

    Tovbbi elonyt jelenthet bizonyos helyzetekben, hogy akr konzolon is kpes futni,gy akr tvoli elrs esetn, grafikus krnyezet nlkl is hasznlhat.

    jEdit

    A jEdit [3] egy nagy tuds, java alap programozi szvegszerkeszto, melyhez letlt-heto tbbek kztt XML bedolgoz modul is. Ennek a modulnak a segtsgvel a jEdittalakul egy igazi HTML s XML szerkesztov, mely mindent tud amit az emacs-nlemltettnk, ezen fell kpes a tagok struktrjt faszerkezetben megjelenteni.

    Htrnya, hogy a java virtulis gp miatt viszonylag nagy eroforrsignye van, gylassabb gpen nem igazn hasznlhat.

    OpenOffice.org

    Az OpenOffice.org [4] szvegszerkesztoje sajt DTD alapjn XML-ben trolja a do-kumentumot, ezrt adott a lehetosg, hogy megfelelo transzformcival a sajt for-mtumt tetszoleges ms DTD-nek megfelelo dokumentumm alaktsuk. Mr az 1.0vltozat tmogatta a dokumentumok ilyen mdon trtno betltst s kimentst, saz 1.1 verziban mr fejlesztett sdocbook (Simplified Docbook) tmogats tallhat de brki kszthet a sajt DTD-nek megfelelo transzformcikat hozz.

    3. Megjelens-vezrlsi alapok

    3.1. DSSSL s XSL bemutatsa

    A dokumentumok megjelenst az gynevezett stluslapok segtsgvel vezrelhetjkegy transzformcinak nevezett eljrs sorn. Alapvetoen ktfle stluslap szabvnyltezik, az SGML-hez kidolgozott DSSSL s az XML fjlok transzformcijt vgzoXSLT.

    V. GNU/Linux Konferencia 2003. november 8.

  • Megjelens-fggetlen dokumentci ksztse szabad szoftverekkel 13

    A DSSSL nyelv s a hozz tartoz elemzo (parser) programok segtsgvel mindSGML mind XML fjlok transzformcija megoldhat, az XSLT kizrlag XML fj-lok transzformcijra hasznlhat.

    Mindkt transzformcis eljrs esetn lehetosg van stluslapok importlsra,melynek segtsgvel a transzformci egyes eljrsait felldefinilhatjuk. A gyakor-latban ezt gy hasznljuk, hogy az ltalnosstluslapokhoz, melyek az alap DTD-khezletlthetok, sajt vezrlo stluslapot ksztnk, melyben bellthatunk paramtereket,vagy sajt kpnkre formlhatjuk a transzformci brmely rszt. Ugyanezzel a md-szerrel kszthetnk klnbzo nyelvu stluslap-vltozatokat.

    3.2. Parser programok ttekintse

    A DSSSL stluslapokhoz kt rtelmezo rheto el: a James Clark ltal rt jade [5] s ajade alapjn ksztett openjade [6] rtelmezo. A jade sebessgben, az openjade tuds-ban mlja fell trst. Ha pldul nem akarunk ktoldalas nyomatot, vagy knyvjelzo-vel elltott pdf-et kszteni, hasznlhatjuk a jade-t, ellenkezo esetben marad az open-jade. Fontos megjegyezni, hogy az openjade 1.4-es verzija egyelore rengeteg hibttartalmaz, radsul rendkvl lass, ezrt inkbb a stabil 1.3 verzi hasznlata javasolt.

    XSLT vezrloprogramblmr lnyegesen nagyobb vlasztk ll rendelkezsre, ked-vnkre vlogathatunk a nagyszm klnbzo nyelven rt program kzl. Sebessgbena C vagy C++ nyelven implementlt programok viszik el a plmt, ilyen az expat [7],a sablotron [8] vagy a xalan [9] rgi, C++ verzija. Ezek azonban tbbsgkben hi-nyossgokat mutatnak, pldul a klnbzo kdlapok kezelse illetve a nhny extraszolgltats (kimenet tbb fjlba rsa, stb.) tern.

    A java alap szoftverek kzl kt kituno, gyakorlatilag hibtlan, sok extra szol-gltatst nyjt implementci ltezik: a saxon [10] s a xalan [11] java-s verzija.Bizonyos stluslap-csomagok ezekhez a transzformtorokhoz ksztett kiegsztokettartalmaznak, melyekkel tbb lehetosget tudunk kihasznlni a transzformci sorn.Ezrt, amennyiben nem sebessg kritikusa rendszer, mindenkppen ezek valamelyiktajnlott hasznlni.

    3.3. Klnbzo kimentetek elolltsi lehetosgei a gyakorlatban

    A kvetkezokben a docbook DTD alapjn elksztett dokumentumok transzformciitfogjuk ttekinteni. Termszetesen megfelelo stluslapok segtsgvel tetszoleges DTD-n alapul dokumentumok hasonl mdszerekkel transzformlhatk.

    Nyomtatshoz hasznlt kimenetek

    Linux rendszernkkel hromfle nyomtatshoz optimalizlt kimenetet kszthetnk,DVI, PS s PDF formtumokat. Ezen kimenetek elolltshoz docbook dokumentu-mok esetn a DSSSL stluslapokat hasznljuk mellyel TEX -forrst kszthetnk do-kumentumunkbl, majd a jadetex vagy pdfjadetex makr segtsgvel DVI vagy PDFfjlt ksztnk belole. A DVI fjlbl a szoksos mdon a dvips programmal PS fjlt k-szthetnk. Ezzel a mdszerrel nagyon j minosgu, akr nyomtatsban is megjelenokiadvnyok kszthetok, automatikus magyar elvlasztssal. Bizonyos esetekben jljhet, hogy a jade s az openjade rendelkezik egy backenddel mellyel RTF formtumkimenet ksztheto.

    V. GNU/Linux Konferencia 2003. november 8.

  • 14 Barth Gbor

    Egy msik, szintn TEX -alap megolds segtsgvel, a megfelelo XSLT stluslap-pal eloszr xsl:fo fjlt ksztnk, majd ezt az xmltex makr segtsgvel feldolgozzuk.Az gy kapott DVI fjlt a dvips s a dvipdf programmal PS s PDF formtumra konver-tlhatjuk. Ez a mdszer hasznlhat tbbek kztt TEI2 dokumentumokra is, azonbannhny bosszant hibja van, tbbek kztt a margkat nem helyesen kezeli s nemkompatibilis az jabb docbook stluslapokkal.

    A harmadik mdszerhez szintn xsl:fo fjlra van szksg, amelyet a fop nevu javaalap szoftverrel alakthatunk tbbek kztt PDF-f. Ez a program azonban mg csaka fejleszts korai fzisban van, tbbek kztt a nyelvi tmogats sem teljes benne, gynagyobb dokumentumok feldolgozsra nem ajnlatos hasznlni.

    V. GNU/Linux Konferencia 2003. november 8.

  • Megjelens-fggetlen dokumentci ksztse szabad szoftverekkel 15

    Elektronikus kimenetek ksztse

    A docbook xsl stluslap csomag segtsvel egyetlen transzformcival ksztheto HTMLs XHTML kimenet, akr egyetlen fjlba, akr tbb, fejezetekre trdelt automatikustartalomjegyzkkel elltott fjlba.

    Ezeken a stluslapokon alapulnak a docbookxsl stluslapokhoz tartoz htmlhelp sjavahelp formtumokat elollt stluslapok.

    Amennyiben dokumentumunkat PDA-kra szeretnnk publiklni, ltalban tbb l-psre van szksg. Palmdoc ksztshez hasznlhatjuk a pyrite publisher programot[12], mely HTML fjlbl kszt PDB-t, amelyet aztn a Palmra feltltve a legtbbe-book olvas kpes megjelenteni. A plucker nevu programmal [13] szintn kszthe-tnk HTML oldalakbl Palmon olvashat dokumentumot, ez azonban csak a sajt egybnt szabad szoftver olvasjval tekintheto meg.

    Az openebook e-book formtum, tbb olvas, tbbek kztt a Microsoft Readervalamint nhny fogyatkosoknakkszlo hangos knyv [14] kiindul formtuma, me-lyet XHTML kimentbol sajt stluslappal llthatunk elo.

    Vgso esetben a HTML kimenetbol a lynx segtsgvel szpen trdelt szvegfjltkszthetnk. Ez termszetesen megfelelo stluslappal egy lpsben is elksztheto adokumentumunkbl.

    Segdprogramok

    SGML docbook transzformcikhoz kt segdprogram csomag is ltezik az sgml2x sa docbook-utils. Ezek gyakorlatilag olyan hjjprogramok, melyek segtsgvel egyrsztcskkenthetjk a legpelt karakterek szmt, msrszt figyelnek bizonyos tipushibkra,pldul a TEX -makrk esetben. Mindkt programcsomag hasonl tuds, a docbook-utils csomag tartalmaz egy perl helpert, amellyel man oldalt kszthetnk.

    A legpelt karakterek szmnak cskkentsre egy msik lehetsges md egy sajtMakefile ksztse, melyben elhelyezzk az sszes sajt sznk ze szerinti transzfor-mcit.

    V. GNU/Linux Konferencia 2003. november 8.

  • 16 Barth Gbor

    Akit a tma bovebben rdekel tanulmnyozhatja a galateia programot [15], melyegyrszt egy Makefile-alap grafikus frontend, msrszt pedig egy rteges transzfor-mcis rendszer, melynek segtsgvel mind a dokumentumok egysges megjelense,mind pedig az egyes dokumentumok ettol eltro megjelense bellthat.

    4. Nehzsgek

    A dokumentumok kdolsakor felmerlo elso nehzsg a magyar nyelvvel kapcso-latosan a klnbzo kdlapok hasznlata. Magyar nyelvu szveghez alapvetoen azISO8859-2 s az UTF-8 hasznlatos. Sajnos ez a klnbzo megjelento eszkzk ese-tn ms s ms lehet, gondoljunk csak a klnbzo webbngszokre, vagy mondjuk aPalm PDA-ra amely egyiket sem tmogatja.

    Sajnlatos mdon ltalnosan j megolds nincs, a legtbb esetben azt lehet mon-dani, hogy a SGML transzformcik esetn rdemes az ISO8859-2 kdolst hasz-nlni, ha XML fjlt transzformlunk DSSSL stluslappal akkor a specilis XML kdo-lst hasznljuk az SP_ENCODING krnyezeti vltoz belltsval, mg XSLT esetnhasznljunk UTF-8 kdolst.

    A msik sarkalatos pont a kpek elksztse, hiszen ha ugyanazokat a kpeket sze-retnnk hasznlni nyomtatsban mint egy weboldalon akkor elg behatroltak a lehe-tosgeink mint formtum, mint mret szempontjbl. Ilyen esetben, 150 vagy 300 dpifelbonts maximum 500 pixel nagysg jpeg kpet hasznljunk. Ez felbontstl fg-goen 5, 10 centimteres kpet eredmnyez, amely brnak elg nagy, de a webrol mggyorsan letltheto, s mind PDF-be mind pedig PostScript dokumentumba beilleszt-heto.

    Hivatkozsok

    [1] http://www.oasis-open.org/docbook/

    [2] http://www.tei-c.org/

    V. GNU/Linux Konferencia 2003. november 8.

    http://www.oasis-open.org/docbook/http://www.tei-c.org/

  • Megjelens-fggetlen dokumentci ksztse szabad szoftverekkel 17

    [3] http://www.jedit.org/

    [4] http://www.openoffice.org/

    [5] http://www.jclark.com/jade/

    [6] http://openjade.sourceforge.net/

    [7] http://www.jclark.com/xml/expat.html

    [8] http://www.gingerall.com/charlie/ga/xml/p_sab.xml

    [9] http://xml.apache.org/xalan-c/

    [10] http://saxon.sourceforge.net/

    [11] http://xml.apache.org/xalan-j/

    [12] http://www.pyrite.org/

    [13] http://www.plkr.org/

    [14] http://www.daisy.org/

    [15] http://galateia.fsf.hu/

    V. GNU/Linux Konferencia 2003. november 8.

    http://www.jedit.org/http://www.openoffice.org/http://www.jclark.com/jade/http://openjade.sourceforge.net/http://www.jclark.com/xml/expat.htmlhttp://www.gingerall.com/charlie/ga/xml/p_sab.xmlhttp://xml.apache.org/xalan-c/http://saxon.sourceforge.net/http://xml.apache.org/xalan-j/http://www.pyrite.org/http://www.plkr.org/http://www.daisy.org/http://galateia.fsf.hu/

  • 18

  • A Common Criteria

    Blint Sndor

    2003. oktber 27.

    KivonatA cikk clja a Common Criteria for IT Security Evaluation szabvny (r-

    viden CC vagy CCITSE, egyben ISO15408 szabvny is) ismertetse, klns te-kintettel arra, hogy miknt hasznosthat az ltalnos nylt forrskd fejlesztseksorn.

    Sor kerl a Common Criteria fo dokumentumainak (vdelmi profilok, bizton-sgi rendszertervek) ismertetsre, sz esik olyan kifejezsekrol, mint rtkelsigaranciaszint, biztonsgi garancilis intzkedsek s biztonsgi funkcionlis k-vetelmnyek.

    Az eloads ttekintst nyjt arrl, hogy az USA Nemzetbiztonsgi Hivatala(NSA, National Security Agency) ltal elksztett, az ITSEC B1 minostsvel ek-vivalens Labeled Security Protection Profile (LSPP) funkcionlis kvetelmnyeimiknt teljesthetok Linuxon ill. ms nylt forrskd szoftverekkel, illetve ho-gyan fejleszthetnk olyan alkalmazsokat, rendszereket, amelyek megfelelnek azabban foglalt biztonsgi funkcionlis s garancilis kvetelmnyeknek.

    Az rtkelsi garanciaszintek kapcsn sz esik arrl, hogy CC-s szempontblmilyen korltai vannak a nylt forrs fejlesztsnek, valamint a szoftverek bizton-sga s az rtkelsi garanciaszint kztti nem teljesen egyrtelmu sszefg-gsrol.

    Tartalomjegyzk

    1. A Common Criteria bevezets 20

    2. A Common Criteria szabvny felptse 20

    3. A Common Criteria mdszertana ttekints 21

    4. A Common Criteria terminolgija 22

    5. A Common Criteria kt f o dokumentuma: a vdelmi profil s a biztonsgirendszerterv 22

    6. Biztonsgi funkcionlis s garancilis kvetelmnyek 236.1. Funkcionlis kvetelmnyek . . . . . . . . . . . . . . . . . . . . . . 256.2. Garancilis kvetelmnyek . . . . . . . . . . . . . . . . . . . . . . . 256.3. rtkelsi garanciaszintek . . . . . . . . . . . . . . . . . . . . . . . 25

    7. Common Criteria s a fejlesztok 267.1. Tovbbfejlesztett alkalmazsok,rendszerek s a Common Criteria . . 287.2. rdemes-e egyltaln Common Criteria szerint fejleszteni? . . . . . . 28

    19

  • 20 Blint Sndor

    1. A Common Criteria bevezets

    A Common Criteria (teljes nevn Common Criteria for Information Technology Secu-rity Evaluation, rvidtve CCITSE vagy CCIMB-99-031) nylt szabvny, jelen pillanat-ban a 2.1 verzinl tart, melyet 1999-ben adtak ki. 2.0 verzija ISO/IEC 15408:1999nven ISO szabvny is lett. Immr magyar nyelven is elrheto, azoknak javasoljuk,akik szmra problmt jelent a tbbszrsen rekurzv angol nyelvu rvidtsekkelmegpakolt szakszveg olvassa.

    A Common Criteria ksztoi szndka szerint lehetosget teremt arra, hogy az in-formatikai rendszerek felhasznli az ltaluk hasznlt vagy hasznlni kvnt termkek(eszkzk, rendszerek, szoftverek s hardverek egyarnt) IT biztonsgi szintjt egykonkrt, elore elksztett kvetelmny- vagy szempontrendszer innen a CommonCriteria=egysges kvetelmnyrendszer elnevezs alapjn tlhessk meg. Ezenkvetelmnyrendszer segtsgvel egyrtelmuv vlik, hogy az adott termk egy bizo-nyos clnak megfelel vagy sem, illetve az is, hogy a megfelelosghez milyen biztonsgikvetelmnyeknek kell mg eleget tennie.

    A Common Criteria (CC) a fentiekbol is lthat mdon hasznos lehet mind a fel-hasznlk, mind a fejlesztok szmra. A felhasznlk (ahol felhasznl alatt vllalatikrnyezetben elsosorban az informatikai rendszerek bevezetst irnyt dntshoztrtjk) a CC rendszer alapjn trtno rtkels eredmnyeknt lthatja, a hasznlni k-vnt rendszer mely biztonsgi kvetelmnyeknek tesz eleget, s ezek ismeretben hoz-hatja meg dntst. A fejleszto szmra pedig oly mdon jelent segtsget a CC, hogy afelhasznl nem csak homlyosutalst tesz az ltala megrendelt eszkzzel/rendszerrelszemben elvrt biztonsgi funkcionalitsra, hanem pontos kvetelmnyrendszert tuda fejleszto rendelkezsre bocstani, aki ily mdon azt a fejleszts sorn mintegy ve-zrfonalknt hasznlva bizonyos lehet abban (mellesleg: bizonytani is kpes), hogy afejleszts vgn eloll rendszer megfelel azoknak a biztonsgi elvrsoknak, amelye-ket a fejleszts megkezdsekor a felhasznl vele szemben elorsknt tmasztott.

    A magukra biztonsgi szempontbl valamit ad fejlesztok szmra a fentieken tlazrt is fontos lehet a CC mdszertanval mielobb megismerkedni, mert mint az egy,a kzelmltban megrendezsre kerlt konferencin elhangzott 2003 v sorn Ma-gyarorszg befogad llamknt csatlakozni kvn a Common Criteria orszgaihoz. Ezazt jelenti, hogy az llamigazgatsi szervek szmra trtno szoftver- ill. rendszerfej-lesztsek sorn j esllyel elobb vagy utbb gy is, gy is szemben talljk magukat akvetelmnyrendszerrel. A Common Criteria szabvny teljes szvege szabadon letlt-heto ahttp://www.commoncriteria.org/ webcmrol.

    2. A Common Criteria szabvny felptse

    A Common Criteria mint szabvny, igencsak vaskos dokumentum: hrom ktetbol ll,melyek a kvetkezok:

    1. Bevezets s ltalnos modell

    2. Biztonsgi funkcionlis kvetelmnyek

    3. Biztonsgi garancilis kvetelmnyek

    Az elso ktet tartalmazza a CC szabvny alkalmazsval kapcsolatos alapveto tud-nivalkat, a szabvny felptst, az egyes dokumentumok szerept s az azokra vo-

    V. GNU/Linux Konferencia 2003. november 8.

    http://www.commoncriteria.org/

  • A Common Criteria 21

    natkoz formai s tartalmi elvrsokat.A msodik s harmadik fejezet rendre a funk-cionlis s garancilis kvetelmnyek (gynevezett komponensek) listjt tartalmazzahierarchikus rendbe szedve. Ez utbbi kteteket szoks komponens-katalgusnak is ne-vezni. A harmadik ktet tartalmazza a biztonsgi funkcionlis kvetelmnyek listjntl az gynevezett rtkelsi garanciaszintek (angol rvidtsk utn EAL szinteknek isnevezett biztonsgi szintek) ltal megkvetelt garancilis elvrsok krt is. Ez utbbitszoks a rgi TCSEC (Trusted Computing Systems Evaluation Criteria) szabvnybanmegfogalmazott biztonsgi szintek, gymint B1, C2 Common Criteria szerinti utdj-nak tekinteni. Ksobb ltni fogjuk, hogy ez nem teljesen vals, azonban az elmondhat,hogy a 7 elore definilt EAL szintbol minl magasabbra van rtkelve egy adott rend-szer vagy eszkz, annl biztosabbak lehetnk az adott termk biztonsgi funkciinakmukdokpessgben.

    3. A Common Criteria mdszertana ttekints

    A Common Criteria mdszertana a kvetkezo modellt kveti:

    1. A rendszer biztonsgikrnyezetnek lersa

    2. Biztonsgi clok meghatrozsa

    3. Biztonsgi kvetelmnyek megllaptsa

    A fenti rtegek egymsra plnek, s a CC mdszertana elorja, hogy mindent in-dokolni kell. A majdani rendszerbiztonsgi krnyezetnek (felttelezsek, fenyegetett-sgek, rvnyben levo szervezeti szablyozsok) ismeretben kell meghatrozni a biz-tonsgi clokat, oly mdon, hogy egyrszt minden cl egyrtelmuen visszavezethetolegyen a krnyezettel kapcsolatos megllaptsokra, msrszt minden, a krnyezettelkapcsolatos megllaptsunkhoz tartozzklegalbb egy olyan biztonsgi cl, amelyazt lefedi. Hasonl mdon, a biztonsgi kvetelmnyek megllaptsa a mr korbbanmeghatrozott biztonsgi clokhoz illeszkedik. A mdszertan helyes hasznlatval arendszer koherens, egyenszilrd vdelme megoldhat, valamint biztosak lehetnk ab-ban, hogy

    a fejleszts vgn eloll rendszer az ltalunk meghatrozott krnyezetben valmukdsre megfeleloen felksztett, valamint

    a rendszer egyetlen biztonsgi funkcija sem felesleges.

    Ez utbbi ugyan furcsn hangozhat, m az albbi kp taln segt meglttatni, mirtis fontos ez.

    Biztonsg HasznlhatsgMenedzselhetosg Rendelkezsre ll anyagi forrsok

    Lssuk be: a gyakorlat azt mutatja, hogy a fenti szempontok egymssal szinte ki-bkthetetlen ellenttben vannak (a biztonsgos s jl hasznlhat rendszerek ltalbanmenedzselhetetlenek, a jl menedzselheto s hasznlhat rendszerek tbbnyire nemigazn biztonsgosak, a biztonsgos s jl menedzselo rendszerek gyakran hasznlha-tatlanok, a biztonsgos, jl hasznlhat s knnyen menedzselheto rendszerek pedig

    V. GNU/Linux Konferencia 2003. november 8.

  • 22 Blint Sndor

    tbbnyire megfizethetetlenek). Mrpedig, ha egy rendszert kizrlag a biztonsg szem-pontjbl kzeltve ptnk fel, az mind a hasznlhatsg, mind a menedzselhetosgkrra mehet, azon tl, hogy olykor drgbb is teszi a termket. Ezrt is fontos az,hogy a rendszerben azok s csak azok a biztonsgi funkcik legyenek jelen, amelyekrevalban szksg van (amellett termszetesen, hogy ezen funkcik megfelelo mdonkerljenek kivlasztsra spersze megvalstsra is).

    A CC modellje biztonsgi szabvny lvn nem foglalkozik ugyan kln sema menedzselhetosg, sem a funkcionalits, sem a rendszer fejlesztsnek kltsgeinekkrdseivel, azon tl, hogy az egymsra plo rtegek egymsbl trtno szrmaztatsarvn biztostja a kockzatarnyos vdelem megvalstst, s lehetov teszi a bizton-sgi kvetelmnyek tisztzst mg a fejleszts megkezdse elott. Ez a projekt jellegufejlesztsek esetn mint a sikerkritriumok egyike hasznosthat.

    4. A Common Criteria terminolgija

    Az albbiakban a fontosabb CC kifejezsek rvid ismertetoje tallhat:

    Angol rvidts Angol nyelvu elnevezs Magyar elnevezsCC Common Criteria Kzs kvetelmnyrendszerEAL Evaluation Assurance Level rtkelsi garanciaszint (GSz)IT Information Technology InformatikaPP Protection Profile Vdelmi profilSF Security Function Biztonsgi funkciSFP Security Function Policy Biztonsgi funkci politikjaSOF Strength of Function A funkci erossgeST Security Target Biztonsgi rendszertervTOE Target of Evaluation Az rtkels trgyaTSC TSF Scope of Control Az rtkels trgya biztonsgi

    funkciinak hatkreTSF TOE Security Functions Az rtkels trgya biztonsgi

    funkciiTSFI TSF Interface Az rtkels trgya biztonsgi

    funkciinak interfszeiTSP TOE Security Policy Az rtkels trgynak

    biztonsgi politikja

    5. A Common Criteria kt f o dokumentuma: a vdelmiprofil s a biztonsgi rendszerterv

    A Common Criteria kt fo dokumentummal segti mind a fejlesztok, mind a megrende-lok munkjt (akik belso fejleszts illetve nem klso megrendels esetben termsze-tesen megegyezhetnek). Az egyik neve vdelmi profil (angolul Protection Profile, r-vidtse: PP), mely egy megvalsts-fggetlen dokumentum, amely absztrakt mdonfogalmazza meg a konkrt rendszerrel szembenibiztonsgi kvetelmnyeket. A msikdokumentum a biztonsgi rendszerterv (Security Target, rvidtse: ST). Ez utbbi mra kvetelmnyeken tl a konkrt megvalsts lerst is tartalmazza, gymint a rend-

    V. GNU/Linux Konferencia 2003. november 8.

  • A Common Criteria 23

    szer biztonsgi funkciit, valamint a rendszerfejlesztse sorn alkalmazott gynevezettgarancilis intzkedseket.

    A vdelmi profilok s biztonsgi rendszertervek elksztsben az albbi mdokonnyjt segtsget a Common Criteria szabvny:

    megadja a dokumentumok formai kvetelmnyeit

    ismerteti az egyes szakaszok tartalmi kvetelmnyeit

    a komponens-katalgus (lsd albb) segtsgvel mintt szolgltat a kvetelm-nyeket tartalmaz szakasz elksztsre

    gynevezett csomagok (package) segtsgvel elore sszelltott kvetelmny-halmazokat nyjt, melyeket tetszs szerint felhasznlhatunk (plda: EAL szin-tek)

    A fentieken tl a Common Criteria mdszertan alapjn az Amerikai Nemzetbiz-tonsgi Szolglat (National Security Agency, NSA) elksztett nhny vdelmi profilt,amelyeket szabadon hozzfrhetov is tett. Ezek kzl a kt leglnyegesebb a CAPP(Controlled Access Protection Profile, hozzfrs-vezrelt vdelmi profil, a TCSEC C1kategria Common Criteria szerinti megfeleloje), a msik az LSPP (Labeled SecurityProtection Profile, magyarul taln ktelezo hozzfrs-vezrelt vdelmi profilnak le-hetne fordtani, ezen vdelmi profil nagyjbl a TCSEC B1 besorolsnak felel meg). Ahttp://www.commoncriteria.org/ weboldalon tovbbi vdelmi profilok rhetoek el.

    Rvid keresssel ugyancsak tallhatunk ksz biztonsgi rendszerterveket is az In-terneten. Ezek kzl taln a tbbek rdeklodsre tarthat szmot a SUN Solaris 8 ope-rcis rendszernek, illetve a MicrosoftWindows 2000 opercis rendszernek bizton-sgi rendszerterve. Mindkt dokumentum szabadon letltheto a fejleszto weboldalairl.

    6. Biztonsgi funkcionlis s garancilis kvetelmnyek

    A CC filozfija szerint szksg van a biztonsgot fenyegeto tnyezok, valamint azrvnyes szervezeti biztonsgi szablyozsok tisztzsra, a biztonsgi intzkedseketezek alapjn kell levezetni, valamint igazolnunk kell, hogy az elort intzkedsek elg-sgesek a clok elrshez.

    Ezen kvl olyan intzkedsekre is szksgvan, amelyek hasznlatval cskkent-heto a sebezhetosgek eslye, azok szndkos kihasznlsnak lehetosge, valaminta kr mrtke, amely egy ltezo sebezhetosg kihasznlsa esetn rhet bennnket.Olyan intzkedsekre isszksg van, amelyek elosegtik a fejleszts lezrultt k-vetoen is a sebezhetosgek felismerst, azok megszntetst, a krok cskkentsts/vagy jelzik azt, hogy egy adott sebezhetosg kihasznlsra kerlt.

    A biztonsgi kvetelmnyeket a Common Criteria kt kategriba sorolja: egyrsztfunkcionlis kvetelmnyekre, melyek elsosorban technikai mdon megvalstott biz-tonsgi funkcikat illetve a funkcik ltal rvnyestett szablyokat tartalmaznak, ms-rszt pedig garancilis intzkedsekre, melyek azt hivatottak garantlni, hogy a rend-szer biztonsgi funkcii valban megbzhatan s rendeltetsszeruen mukdnek.

    A knnyebb eligazods rdekben az egymshoz hasonl kvetelmnyek (minda funkcionlis, mind a garancilis kvetelmnyek esetben) kategrikba, gynevezettcsaldokba soroldnak, a csaldok pedig gynevezett osztlyokat alkotnak hasonlana fajok darwini rendszerhez.

    V. GNU/Linux Konferencia 2003. november 8.

    http://www.commoncriteria.org/

  • 24 Blint Sndor

    A knnyebb hivatkozs rdekben az osztlyok hrom karakterbol ll kdot kap-tak, melyek elso karaktere utal a kvetelmnyosztly tpusra (A=funkcionlis. ill.A=assurance, vagyis garancilis), a msodik s harmadik karakter pedig az osztlynevnek rvidtse.

    Pl: FAU, ADV

    Az osztlyokon belli csaldok elnevezse a 3 betu + alulvons + 3 betu formultkveti, ahol az elso hrom karakter azon osztly azonostja, amelybe az adott csaldtartozik, mg a msodik hrom betu az osztly angol nevnek rvidtse.

    Pl: FAU_GEN, ADV_FSP

    A konkrt kvetelmnyeket megfogalmaz egysgek, a komponensek jellse acsald kdjbl szrmazik, melyet egy ponttal elvlasztva s egy szmjeggyel (az adottcsaldon belli komponens sorszmval) kiegsztve jell a CC:

    pl: FAU_GEN.1; ADV_FSP.4

    A Common Criteria msodik s harmadikktete rendszerezve tartalmazza a kom-ponenseket, ezrt szoks komponens-katalgusknt isutalni rjuk.

    Funkcionlis osztlyok

    Kd Osztly angol elnevezse Magyar elnevezsFAU Security Audit Biztonsgi naplzsFCO Communication KommunikciFCS Cryptographic support Kriptogrfiai tmogatsFDP User data protection Felhasznli adatok vdelmeFIA Identification and authentication Azonosts s hitelestsFMT Security management BiztonsgmenedzsmentFPR Privacy Szemlyes adatok vdelmeFPT Protection of the TOE security functionsAz rtkels trgya biztonsgi

    funkciinak vdelmeFRU Resource utilization Eroforrs-felhasznlsFTA TOE access HozzfrsFTP Trusted path/channels Megbzhat csatornk

    Garancilis osztlyok

    Kd Osztly angol elnevezse Magyar elnevezsACM Configuration managementKonfigurci-menedzsmentADO Delivery and operation Szllts s mukdtetsADV Development FejlesztsAGD Guidance documents DokumentciALC Life cycle support lettartam-tmogatsATE Tests TesztelsAVA Vulnerability Assessment Sebezhetosg-vizsglatAMA Maintenance of Assurance Garanciaszint fenntartsa

    V. GNU/Linux Konferencia 2003. november 8.

  • A Common Criteria 25

    6.1. Funkcionlis kvetelmnyek

    A funkcionlis komponensek clja a biztonsgi funkcionlis kvetelmnyek defini-lsa, vagyis annak ismertetse, hogy milyen viselkedst vrunk el az rtkels trgy-tl. A komponenseket a vdelmi profilban illetve biztonsgi rendszertervben megha-trozott biztonsgi clok elrsre kell s lehet hasznlni. Ezen kvetelmnyek cljaaz, hogy segtsgkkel kzzelfoghatv, egyrtelmuen megfogalmazhatvvljanak azazonostott fenyegetettsgek elleni vdelem kvetelmnyei, valamint azok a felttelek,amelyeknek megfelelve eleget tehetnk a rnk rvnyes szervezeti szablyozsoknak mindezt az ltalunk elvrt mukdsi krnyezetben.

    A Common Criteria funkcionlis kvetelmnyeket tartalmaz 2. ktett haszon-nal forgathatjk mind az informatikai rendszerek felhasznli (dntshozk), akik egyvdelmi profilban vagy biztonsgi rendszertervben megfogalmazott biztonsgi clokmegvalstshoz keresnek maguknak eszkzket, mind a fejlesztok, akik szabvnyo-stott, jl rendszerezett mdszertant kapnak annak biztostsra, hogy az ltaluk fejlesz-tett rendszerek valban kpesek a kitzttbiztonsgi clok elrsre no, meg aztnegyre tbb esetben fordul elo az is, hogy egy megrendelo eleve meg is adja a fejlesz-tok szmra az ltala megfelelonek vlt vdelmi profilt, mint kvetelmnyrendszert,s ilyenkor nem rt tudni, hova is forduljunk segtsgrt. Ez utn fejlesztoknt nemkapkodni fogunk, mint Bernt a mnkuhz, hanem ehelyett mdszeresen kikeresska komponenseket a komponens-katalgusbl, megrtjk, milyen clt szolglnak, s gyvgl minden bizonnyal azt fogjuk megvalstani, amit a kedves megrendelo elvrt. Ilymdon a reklamci egy j rsztol is megszabadulhatunk radsul nyugodtan alha-tunk, mert a rendszernkbol j esllyel nem maradt ki egyetlen fontos vdelmi funkcisem.)

    6.2. Garancilis kvetelmnyek

    Mg a funkcionlis kvetelmnyek elsosorban IT eszkzkkel megvalsthat funkci-kat rnak elo meglehetos rszletessggel (pldul: legyen olyan naplz funkci, amelya naplzs elindulst s lelltst rgzti), addig a garancilis kvetelmnyek a ter-vezs, megvalsts s zemeltets menetre (egyebek kztt a tesztelssel szembentmasztott kvetelmnyekre, adminisztrtori s felhasznli dokumentci elkszt-sre) tartalmaznak tmutatst.

    A biztonsgi garancilis kvetelmnyek elsodleges clja a sebezhetosgek csk-kentse. Sebezhetosgek felbukkansra abban az esetben kell szmtanunk, ha a k-vetelmnyek, megvalsts, vagy ppen az zemeltets terletn hinyossgok mutat-koznak, ennek megfeleloen a garancilis kvetelmnyek is kln hangslyt fektetneke terletekre.

    A garancilis kvetelmnyek alapja az rtkels: minl alaposabb az rtkels fo-lyamata, minl tbb terletre terjed ki, s minl szigorbb kvetelmnyrendszer alapjntrtnik, annl nagyobb bizonyossgot (garancit) szerezhetnk az elkszlt termk j-sgt illetoen. E mellett fontos cl az is, hogy minl magasabb garanciaszintet rjnkel gy, hogy emellett az rtkelsre csakis a minimlisan szksges energit kelljenfordtanunk. Tbbek kztt ebben segtenek az rtkelsi garanciaszintek.

    6.3. rtkelsi garanciaszintek

    Az rtkelsi garanciaszintek a CC terminolgija szerint vett csomagok, melyek 7egyre szigorbb kategrban sorolnak fel biztonsgi garanciliskvetelmnyeket. Fon-

    V. GNU/Linux Konferencia 2003. november 8.

  • 26 Blint Sndor

    tos azonban megjegyezni, hogy az EAL csomagok nem tartalmaznak minden bizton-sgi garancilis osztlybl komponenseket: a legtbb esetben teht szksges lehet akiegsztsk. A 7 EAL szint a kvetkezo:

    EAL szint Angol elnevezs Magyar elnevezsEAL1 Functionally tested Funkcionlisan teszteltEAL2 Structurally tested Strukturlisan teszteltEAL3 Methodically tested and checked Mdszeresen tesztelt s

    ellenorzttEAL4 Methodically designed, tested Mdszeresen tervezett,

    and reviewed tesztelt s ttekintettEAL5 Semiformally designed and tested Flformlisan tervezett

    s teszteltEAL6 Semiformally verified and tested Flformlisan igazoltan

    tervezett s teszteltEAL7 Formally verified design and testedFormlisan igazoltan

    tervezett s tesztelt

    ltalnossgban elmondhat, hogy

    a CC nem ismer rszleges EAL megfelelosget. Egy termk vagy teljesti azEAL szint ltal megkvetelt garancikat, vagy nem.

    amennyiben az EAL kvetelmnyein tlegy termk tovbbi kvetelmnyeknekis megfelel, azt az EAL szint jellse utni + jellel szoks jellni: pl. EAL2+,EAL4+. A fentiekbol kvetkezik, hogy nincs EAL4- vagy EAL7-.

    egy mr meglevo termk CC szerinti rtkelse sorn az elrheto legmagasabbminosts az esetek tbbsgben legfeljebb EAL4, valamint

    EAL5-nl magasabb rtkelsre csak nagyon kevs, ltalban korltozott funk-cionalits termknek van eslye (pldul chipkrtyk)

    minl magasabb EAL szintet clzunk meg, annl tbb idobe telik s tbbpnzbe kerl a termk elksztse

    vgl pedig: magasabb EAL szintbol nem kvetkezik egyenesen magasabb lta-lnos biztonsgi szint, tekintve, hogy az EAL csomagok nmagukban nem tar-talmaznak egyetlen biztonsgi funkcionlis kvetelmnyt sem.

    7. Common Criteria s a fejlesztok

    Ha valaki azt mondja, hogy a Linux soha nem lesz kpes elrni azt a biztonsgi rtke-lsi garanciaszintet, amelyet a kereskedelmi, zrt forrs opercis rendszerek, mindenelfogultsg ellenre (vagy nlkl?) azt kell mondanunk, hogy lehet benne nmi igaz-sg. Ez persze nem jelenti azt, pl. a Microsoft Windows 2000 opercis rendszer, amelymegkapta az EAL4+ minostst, bizonytottan biztonsgosabb, mint pl. a SuSE LinuxEnterprise Server 8, amely EAL2 szinten lett rtkelve.

    De vajon mirt van az, hogy mg a Windows 2000 EAL4+ szinten kerlt minos-tsre, a SuSE Linux pedig csak EAL2-n? Az alapveto klnbsg a fejlesztsi modell-ben rejlik.

    V. GNU/Linux Konferencia 2003. november 8.

  • A Common Criteria 27

    Mint azt mr lttuk, a CC biztonsgi funkcionlis kvetelmnyei az rtkels trgyabiztonsgi funkciival kapcsolatos kvetelmnyeket tartalmazzk, a garancilis kve-telmnyek pedig a funkcik megfelelo mukdst hivatottak garantlni a fejleszts,szllts, zembe helyezs illetve zemeltets menetre vonatkoz kvetelmnyek de-finilsval.

    Hogy a fejlesztsre vonatkoz kvetelmnyeknl maradjunk, gondoljuk magunkel a kvetkezo helyzetet. Cgnk egy gyflkapcsolati s -nyilvntartsi rendszer-szoftvert kszl bevezetni. A fejleszto el is ksztette a szoftvert a mi ignyeink szerint,azonban a bevezetst kvetoen meglepetten tapasztaljuk, hogy rvid ido leforgsa alattversenytrsaink hossz ideje husges gyfelek tmegeit hdtjk el tolnk. Hosszasnyomozst kvetoen kiderl, hogy a programban ltalunk nem krt funkci is tall-hat; nevezzk mondjuk trjai kdrszletnek. A fejleszto termszetesen tagadja, hogyszndkosan kerlt oda a kd,mi tbb: azt lltja, hogy nem azo fejlesztoi keze mun-kjt dcsri az ominzus programrszlet.

    Hogyan segt az ilyen helyzetek megelozsben a Common Criteria?

    Eloszr is a fejlesztsre vonatkoz garancilis kvetelmnyek olyan dolgokat r-nak elo, mint pldul hogy a fejleszts sorn konfigurci-menedzsmentet kell hasz-nlni. Mi is ez? A taln legtbb helyen alkalmazott konfigurci-menedzsment esz-kz a CVS (Concurrent Versioning System), amely a konfigurci-menedzsment egyiklegelterjedtebb eszkze. Helyes hasznlatval brmilyen kdrszletrol meg lehet mon-dani, hogy ki, mikor adta hozz az alkalmazshoz, ezltal a hibk, esetleges szndkosextrk hozzadsa letagadhatatlann vlik valamint bizonythat, hogy a nyilvn-tartott vltoztatsokon kvl senki nem nylt bele a program forrsba. Innen mr csakarra kell gyelni, hogy a lefordtott binrist ne tegye valami rosszindulat cracker amagv.

    Msodszor: tovbbi garancilis kvetelmnyek foglalkoznak az rtkels trgyazembe helyezsvel, illetve (le)szlltsval. Ezek azt hivatottak biztostani, hogy va-lban az kezdjen el zemelni, amit a fejleszto sajt telephelyn elksztett. Megoldsilehetosg szmos akad, talna kriptogrfia (digitlis alrs) hasznlata tunik a leg-knnyebben kivitelezhetonek, ezltal ugyanis a megrendelo minden esetben ellenoriznikpes, hogy az ltala megkapott/letlttt/megvsrolt termk valban az-e, aminek lt-szik illetve egszen pontosan csak azt, hogy valban a fejleszto rta-e al.

    Harmadszor: a biztonsgi garancilis kvetelmnyek egyike ppen a mdszeres fej-lesztsre vonatkozik. Ennek egy kiss kevsb emberbart (illetve fejlesztobart) vl-tozata az, amely egy magasabb rtkelsi garanciaszint alapjt szolgltatja ez pedignem ms, mint a formlis programhelyessg-bizonyts. Ettol a fejlesztok htn a szorfelll, szemk kigvad, szjuk szle remegni, majd habzani kezd. Kicsit megnyugod-hatnak: a formlis programhelyessg-bizonyts csak EAL7 szinten kvetelmny.

    De vajon milyen plusz terheket r a nylt forrs szoftverek fejlesztoire az, ha aCommon Criteria mdszertant kvetve akarnak fejleszteni? Eloszr is nagyobb fe-gyelmet, rendszerezettsget (a konfigurci-menedzsmentszoftvert kell hasznlni min-denfajta mdostsra, amihez clszeruen csak a vezeto fejlesztok frhetnek hozz rsijoggal, stb.), valamint olyan intzkedseket, amelyek megakadlyozzk a fejleszts so-rn trtno kdkorrupcit (pl. tuzfal mgtt trtno fejleszts, personal firewall alkal-mazsa) ami, mint az mr elhangzott, egyfajta radsul rendkvl hatkony mdjaa programbeli sebezhetosgek kezelsnek.

    V. GNU/Linux Konferencia 2003. november 8.

  • 28 Blint Sndor

    7.1. Tovbbfejlesztett alkalmazsok, rendszerek s a Common Cri-teria

    A fentiekbol taln sejlik, hogy a Common Criteria mdszertannak teljes mrtkbenmegfelelo mdon csak gy lehet fejleszteni, hogy mr a kezdetektol fogva a megfe-lelo kvetelmnyek szem elott voltak. Mi a helyzet azonban azokkal a projektekkel,amelyek nem eleve a CC mdszertannak figyelembe vtelvel indultak el (arrl nemis beszlve, hogy szmos program mr azelott ltezett, hogy az egysges szabvny-rendszer pajzn gondolatknt megfogantosatyjai fejben)? Igen, ilyen projekt a Linuxkernelnek fejlesztse is.

    A Common Criteria mdszertana szerint termszetesen nem csak olyan termke-ket/rendszereket lehet rtkelni, amelyekkifejezetten a CC mdszertana szerint k-szltek. Sot: ha egy adott termk elbukna a CC rtkelsen, lehetosg van javtsras szksg esetn jbli vizsglatokra. A tapasztalat azt mutatja, hogy a CommonCriteria szerinti legmagasabb rtkelsi garanciaszint, amelyet egy mr meglevo pro-jektre viszonylag rtelmes ero-, energia- s pnzrfordtssal r lehet hzni (ms sz-val: amelyre iszonyatos kltekezs nlklfel lehet hozni a rendszert), valahol az EAL4krnykn megll.

    7.2. rdemes-e egyltaln Common Criteria szerint fejleszteni?

    A krdsre adand vlasz brmily meglepo nem olyan nevetsgesen egyszeru, mintamilyennek elso ltsra tunik. A Common Criteria szerint fejleszteni ugyanis nem ol-cs: mind a fejleszto, mind a felhasznl megrzi a born (vagy a pnztrcja vastag-sgn). Elozo azrt, mert az egybknt mskor taln csak sszecsapott munkt mostsokkal gondosabban knytelen elvgezni, utbbi azrt, mert szvinfarktust kap a fel-hasznl az el letett rajnlaton szereplo sszegtol. Amennyiben fontos a rendszerrendelkezsre llsa, a rendszerben trolt adatok bizalmassga, hitelessge, a muvele-tek letagadhatatlansga, illetve amennyiben fejlesztoknt garantlnunk kell (esetleg mimagunk szeretnnk bizonytani), hogy amit elksztettnk, abbl nem maradt ki egyet-len biztonsgi szempont sem, gy igen, van rtelme a megnvekedett munkaterhek skltsgek ellenre. Amennyiben a majdani rtkels trgya semmifle biztonsgi funk-cionalitst nem lt el, gy bizonyos esetekben btran eltekinthetnk a CC szerinti fej-lesztstol. J tudni azonban, hogy a CC ltal tmasztott kvetelmnyek kzl szmos ha nem is olyan rszletessggel s precizitssal, mint ahogyan az a CC-ben megta-llhat minden fejlesztsi projekt sorn jl jhetnek. Az adminisztrtori s felhasz-nli dokumentci, amely nlkl (felhasznlk s megrendelok, figyelem!) termkettvenni nem illik, kitunoen illusztrlja ezt a megllaptst. A kvetelmnyek jelentosrsze pedig a fejleszts munkjt segti.

    A krdst tfogalmazva teht egyrtelmubb vlaszt kapunk: arra a krdsre, hogyaz ltalnos fejlesztsek sorn hasznos-e a Common Criteria mdszertannak szemelott tartsa, a vlasz a leghatrozottabb igen. Ugyanez vonatkozik a tbbi, mr meg-levo projekt tovbbfejlesztsre is. Mr persze, ha fontos szmunkra az, hogy az alkal-mazs vagy rendszer, amelyet a keznkbol kiadunk, jl dokumentlt, megfelelo mly-sgben vgiggondolt s megtervezett, a felesleges sallangoktl mentes, ennek ellenreaz alapveto biztonsgi elveket kveto legyen.

    V. GNU/Linux Konferencia 2003. november 8.

  • openMosix: Live free() or die()

    Bodnr Csaba

    2003.11.08.

    Kivonat

    Az openMosix napjaink egyik legizgalmasabb Linux-alap telep-projektje (clusterprojekt). Ms telep-tpusoktl eltroen megprblja teljes egszben egyetlen nagyLinux-gpknt lttatni a tetszoleges szm csompontbl ll telepet. Az eloadsttekinti az openMosix [1] projekt az eredeti Mosix szabad legazsa (fork) je-lenlegi llst.

    Tartalomjegyzk

    1. Live free() or die() 30

    2. Az openMosix projekt trtnetnek mrfldkvei 30

    3. A klnbzo telep-tpusok ttekintse 30

    4. Mi az openMosix? 31

    5. Hogyan mukdik az openMosix? 315.1. Az eroforrs-megoszt algoritmusok . . . . . . . . . . . . . . . . . . 315.2. Processz-migrls . . . . . . . . . . . . . . . . . . . . . . . . . . . . 315.3. openMosix fjlrendszer (MFS), kzvetlen fjlrendszer elrs (DFSA)) 325.4. Socket migrls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325.5. Telep-szinten elosztott memria (DSM, Distributed Shared Memory) . 32

    6. Kezelofelletek 326.1. karakter-orientlt fellet . . . . . . . . . . . . . . . . . . . . . . . . 326.2. OpenMosixView-kszlet . . . . . . . . . . . . . . . . . . . . . . . . 336.3. openMosixWebView . . . . . . . . . . . . . . . . . . . . . . . . . . 33

    7. openMosix elonyk s htrnyok 337.1. Elonyk . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 337.2. Htrnyok . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

    8. sszefoglals 34

    29

  • 30 Bodnr Csaba

    1. Live free() or die()

    1-2 vvel ezelott a BSD-rol tartott valaki eloadst hasonl cmmel. Ennek ellenren is ezt a cmet adtam az eloadsnak, egyrszt mert maga az openMosix Howto isezt a jelmondatot hasznlja, msrszt mert a Mosix szabadsga 2001-ben valbanveszlybe kerlt, amikor a projekt kt vezetoje nem tudott megegyezni annak tovbbilicencpolitikjt illetoen. Az eredmny a fejleszts kettvlsa lett: Dr. Moshe Bar mindnyjunk rmre gy dnttt, hogy tovbbra is GPL licencelssel viszi tovbb akdot, openMosix [1] nven.

    2. Az openMosix projekt trtnetnek mrfldkvei A 80-as vekben szletett PDP-11/70-en. Egy teljes s egy lemeztelentett

    (diszkless) PDP, innen jtt a processz migrls tlete.

    1997 ta fut GNU Linux alatt.

    1999: Az elso nagy pofon a nylt forrskd kzssgnek: kijnnek egy csakbinris verzival. . .

    1998 s 2001 kztt Prof. Barak s Dr. Moshe Bar kzsen vezetik a projektet aHebrew University-n.

    2001-ben Mosix/openMosix sztvls licenc problmk miatt.

    2002 jliusra a Mosix installcik 97%-a openMosixra vltott.

    2002 augusztusa ta a legaktvabb Linux-telep projekt.

    2002 augusztus: HP-partneri kapcsolat.

    3. A klnbzo telep-tpusok ttekintse

    Az openMosix egy Linuxos telep. Maga a telep sz (angolul cluster, frt) nem ta-kar mst, mint hogy valahny szmtgpet valamilyen cl rdekben egybefogunk,sszetartoznak tekintnk. Ha ez a cl a:

    magas rendelkezsre lls, akkor magas rendelkezsre llst nyjt teleprol (HighAvailability, HA, pl. Kimberlite, Red Hat Cluster Manager, . . . )

    terhelsmegoszts, akkor terhelsmegoszt teleprol (pl. LVS)

    szuperszmtgp teljestmny elrse, akkor tudomnyos-technikai cl teleprol(High Performance Technical Computing, HPTC, pl. Beowulf)

    egy nagy SMP-gpnek ltsszon, akkor SSI-teleprol (Single System Image, mgnem talltam r j magyar kifejezst :) (pl. openMosix, Qlusters [2], OpenSSI)

    beszlnk.

    V. GNU/Linux Konferencia 2003. november 8.

  • openMosix: Live free() or die() 31

    4. Mi az openMosix?

    Fenti terminolgia szerint az openMosix egy olyan SSI-telep, amely elsodlegesen tu-domnyos-technikai feladatok megoldsra szolgl. Automatikusan kiegyenlti a ter-helst a telep klnbzo tagjai kztt, valamint az egyes tagok menet kzben csatla-kozhatnak hozz vagy hagyhatjk el a telepet. A terhelst adott szempontok szerint(CPU-sebessg, hlzati svszlessg, . . . ) osztja szt a tagok kztt.

    Hasonlan a klasszikus VMS-telepekhez (a DEC 20-30 vvel ezelott csinlt elso-knt ilyen telepeket VMS opercis rendszer alatt), a telep brmely tagjra belpve afelhasznl ltal indtott processz azon a tagon fog futni, amelyik az adott pillanatbanlegjobban ki tudja szolglni annak ignyeit, vagyis a rendszer megprblja optimlisansztosztani a tagok kztt a felhasznlk fut processzeit.

    Fontos hangslyozni, hogy az eroforrsok megosztsa a processzek szintjn trt-nik, vagyis egy processz egyszerre csak egy teleptag eroforrsait hasznlhatja. A fel-hasznl gy jr jl, ha munkjt egymssal prhuzamosan futtathat rszekre bontjas azokat kln processzknt futtatja. A ksobbiekben lesz majd lehetosg szlanknti(thread) sztosztsra is.

    5. Hogyan mukdik az openMosix?

    Moshe Bar szavaival lve: A processz migrci maga elg egyszeru, egyszeruen t-rakjuk a processzt az egyik gprol a msikra, s szksg esetn mg tbb processztrakunk t. A rendszerhvsokat pedig vagyvisszakldjk az UHN-re (Unique Home-Node), vagy nhny esetben helyileg hajtdnak vgre (pl. DFSA, kzvetlen fjl-rendszer elrs esetn). Ez ennl nem lesz sokkal egyszerubb. Az rdg a rszletekbenlakozik.

    5.1. Az eroforrs-megoszt algoritmusok

    Az egyik az eroforrsok felhasznlsra hatssal levo algoritmus nagyon egyszeru:ha egy adott tagon elkezd elfogyni a memria, a rendszer elkezdi tpakolni a processze-ket a tbbi tagra.

    A msik algoritmus dnti el, hogy egy adott processz melyik tagon fusson. Azalgoritmus matematikai modellje kzgazdasgi kutatsok eredmnye. Annak eldn-tse, hogy egy feladatnak melyik tag a legmegfelelobb helye, igen bonyolult prob-lma. A legnagyobb baj az, hogy az egy telepen elrheto eroforrsok nagyon klnb-zoek lehetnek: A memria, a CPU, a processz-kommunikci, stb. nehezen sszevethe-toek, mg csak nem is ugyanazokban az egysgekben mrhetoek. Az algoritmus meg-prblja ezeket a heterogn eroforrsokat egysges formra hozni, kltsget rendelnihozz. A feladatok pedig mindig azokon a gpeken fognak futni, ahol a legalacsonyabba kltsgk.

    5.2. Processz-migrls

    Minden egyes processznek van egy gynevezett UHN-je (Unique Home-Node): ez aza teleptag, amelyen a processzt eredetileg elindtottk. Ezen az UHN-en fut a pro-cessznek egy helyettese (deputy), amely kapcsolatban van a processz tnyleges, va-lsznuleg valamelyik msik tagon fut pldnyval, a tvolival (remote). A legna-gyobb problma a rendszerhvsok krdse: minl tbb rendszerhvst kell a tvoli-

    V. GNU/Linux Konferencia 2003. november 8.

  • 32 Bodnr Csaba

    nak visszakldenie a helyettes fel, annl lassabb lesz az egsz, hiszen a hlzatonkeresztli kommunikci nagysgrendekkel lassabb a gpen bellinl.

    A fejlesztok mindent elkvetnek azrt, hogy minl tbb rendszerhvs tudjon he-lyileg vgrehajtdni: ezt clozta meg az oMFS hlzati fjlrendszer kifejlesztse s asocket migrls (ha egyszer lesz majd) is.

    5.3. openMosix fjlrendszer (MFS), kzvetlen fjlrendszer elrs(DFSA))

    Az openMosix telep vagy hlzati fjlrendszer kifejezetten a DFSA rszre lett kifej-lesztve. Segtsgvel brmely tag el tudja rni a tbbi tagon lvo fjlrendszerek fjljait,gy a migrlt processzek anlkl rhetik ela hozzjuk tartoz adatokat, hogy ehhez arendszernek tvoli rendszerhvsokat kellene vgrehajtania (nyilvn gy is lesz hlzatiforgalom, de jval kisebb, mert ez kifejezetten erre a helyzetre van optimalizlva).

    5.4. Socket migrls

    Ha a processzel egytt t lehetne kldeni magt a socketet is (vagyis a meglvo TCPkapcsolatot is) valamely msik tagra, az szintn nagyban gyorstan a telep mukdst.Sajnos a megfelelo kdot mg nem rta meg senki. . . illetve dehogynem! Amit Shah,az egyik fo fejleszto sajt bevallsa szerint tavaly ezen dolgozott, a keletkezett kdazonban a Qlusters Inc. tulajdonba kerlt :( A Qlusters nevu cg egy az openMosix-hoz hasonl zleti cl telepszoftver fejlesztsvel foglalkozik, techolgiai vezetoje(CTO, Chief Technology Officer) Moshe Bar, az openMosix projektvezetoje. . .

    5.5. Telep-szinten elosztott memria (DSM, Distributed Shared Me-mory)

    A fenti Amit Shah instrukcii alapjn t indiai diklny a MAASK-csoport [3] dip-lomamunknak a DSM ltrehozst vlasztotta. Jelenleg ugyanis az openMosix egyikkomoly hinyossga, hogy az osztott memrit hasznl illetve a tbbszl (multi-threaded) alkalmazsok nem migrlhatk, gy nem rszeslhetnek annak ldsaibl.A MAASK-csoport ltal fejlesztett Migshm (Migration of shared memory) segts-gvel mind a shared memrit hasznl processzek (shmget(), shmat(), shmdt() andshmctl() rendszerhvsok), mind pedig a tbbszl processzek (clone() rendszerhvs)migrlhatv vlnak.

    Moshe Bar egyelore nem tette be a Migshm-et az openMosixba, mondvn hogymg nem elg stabil (I would rather have no DSM than bad DSM).

    6. Kezelofelletek

    6.1. karakter-orientlt fellet

    A klasszikus karakter orientlt segdprogramok (mosmon, mosctl, mosrun, moslimit,migrate) mind rendelkezsnkre llnak, emellett tbbfle grafikus eszkz is segti mun-knkat.

    V. GNU/Linux Konferencia 2003. november 8.

  • openMosix: Live free() or die() 33

    6.2. OpenMosixView-kszlet

    Az albbi X-window alap segdprogramok OpenMosixView-kszlethez tartoznak:

    openMosixview- A f o figyelo s adminisztrcis alkalmazs

    openMosixprocs- Processz kezelo alkalmazs

    openMosixcollector- Telep s teleptag informci gyujto alkalmazs

    openMosixanalyzer- Alkalmazsa a gyujttt adatok elemzsre

    openMosixhistory- Telep-szintu processz-trtnet alkalmazs

    6.3. openMosixWebView

    Az openMosixWebView egy web alap monitoroz eszkz az openMosixhoz.

    7. openMosix elonyk s htrnyok

    7.1. Elonyk ltalban nincs szksg az alkalmazs mdostsra.

    Nincs szksg kiegszto csomagokra.

    Egyszeru installls s konfigurls (pl. rpm -Uvh openMosix*.rpm).

    openAFS integrci.

    Portolva IA-64-re, AMD-64 port folyamatban.

    Telep-szintu hlzati fjlrendszer (oMFS).

    Tbb ms termk is az openMosixon alapul: openMosixView, openMosixWeb-View, openMosixApplet, RxLinux, PlumpOS, K12LTSP, LTSP, . . .

    Maguk a felhasznlk fejlesztik, a felmerlo ignyeknek megfeleloen.

    Teleptag automatikus felfedezse (Nodeautodiscovery/fail-over daemon).

    Telep maszkols (Cluster Mask).

    Az automatikus hangolst lehetov tevo segdeszkz.

    7.2. Htrnyok Kernelfggo.

    Telep-szintu osztott memria tmogats mg nem stabil.

    Tbbszl alkalmazsok tmogatsa mg nem stabil.

    Nincs mg socket migrci.

    Ha az alkalmazsunk egyetlen processzbol ll, nem nyernk semmit vele.

    V. GNU/Linux Konferencia 2003. november 8.

  • 34 Bodnr Csaba

    8. sszefoglals

    Az openMosix mr most is egy teljes rtku, sokak ltal hasznlt SSI-telep szoftver.A vrhat tovbbi fejlesztsekkel kiegsztve nem csak tudomnyos-technikai szm-tsok, hanem egszen ms tpus feladatok (hlzati alkalmazsok, adatbzis-kezelok,stb.) terhelsnek megosztsra is alkalmass vlik.

    Hivatkozsok

    [1] openMosix:http://openmosix.sourceforge.net/

    [2] Qlusters:http://www.qlusters.com/

    [3] A MAASK-csoport:http://mcaserta.com/maask/

    V. GNU/Linux Konferencia 2003. november 8.

    http://openmosix.sourceforge.net/http://www.qlusters.com/http://mcaserta.com/maask/

  • Mit ol megy a villamos, avagy a HA-telepekbenhasznlt technolgik

    Bodnr Csaba, [email protected]

    2003.11.08.

    Kivonat

    Az eloads eloszr ttekinti a Linux-alap telepek (clusterek) tpusait, klns te-kintettel a HA-telepekre. Ezutn az ezekben hasznlatos klnbzo technolgikatveszi sorra; vagyis azokat a funkcikat, amelyektol egy rendszer HA-telepp v-lik. Vgl nhny ismertebb HA-telep szoftvert hasonltunk ssze a fenti funkcikmeglte illetve implementcijnak minosge szerint.

    Tartalomjegyzk

    1. A klnbzo telep-tpusok ttekintse 36

    2. Teljes redundancia (NSPOF, No Single Point Of Failure) 36

    3. Tbbsgi szavazs (quorum) 36

    4. Figyelo csatornk (heartbeat) 37

    5. Node lelvsnek lehetosge (STONITH, Shut The Other Node In TheHead) 37

    6. Rendszer mukdokpessg figyels (szoftveres ill. hardveres watchdog) 38

    7. Eroforrscsoportok (resource group, service) 38

    8. Alkalmazsfigyels (Application monitoring) 38

    9. Telep-llomnyrendszerek (cluster filesystem) 39

    10. sszehasonlt adatok 39

    11. sszefoglals 39

    35

  • 36 Bodnr Csaba, [email protected]

    1. A klnbzo telep-tpusok ttekintse

    Maga a telep sz (angolul cluster, frt) nem takar mst, mint hogy valahny szmt-gpet valamilyen cl rdekben egybefogunk, sszetartoznak tekintnk. Ha ez a cla(z)

    magas rendelkezsre lls, akkor magas rendelkezsre llst nyjt teleprol (HighAvailability, HA, pl. Kimberlite[1], Red HatCluster Manager[3], SGI FailSafe[4]. . . )

    terhelsmegoszts, akkor terhelsmegoszt teleprol (pl. LVS)

    szuperszmtgp teljestmny elrse, akkor tudomnyos-technikai cl telep-rol (High Performance Technical Computing, HPTC, pl. Beowulf)

    hogy egy nagy SMP-gpknt ltsszon, akkor SSI-teleprol (Single System Image)(pl. openMosix, Qlusters, OpenSSI)

    beszlnk.Mivel a legtbb vllalatnl igazi jelentosge a HA-telepeknek van, a tovbbiakban errekoncentrlva ttekintjk, melyek azok a technolgik, amelyek rvn egy HA-teleptbb, mint nhny gp egyms mell rakva:

    2. Teljes redundancia (NSPOF, No Single Point Of Fai-lure)

    Br nem technolgia, hanem inkbb alapelv, rdemes beszlni rla. Mivel HA-teleprolvan sz, itt a leglnyegesebb a magas rendelkezsre lls, vagyis az hogy a rendszerfolyamatosan mukdjn, az esetleges kiess minimlis idotartamra korltozdjon.

    Ennek egyik alapfelttele, hogy ha valamely hardver eszkz meghibsodik a rend-szerben, legyen helyette egy msik, amelyikautomatikusan tveszi a szerept; vagyisne legyen egyetlen olyan eszkz sem a rendszerben, amelybol csak egy van (SinglePoint Of Failure).

    Ez bizonyos eszkzk esetn kis erofesztssel elrheto, ms eszkzk (pl. az, hogyegy klso RAID-alrendszerben a klso RAID-vezrlo is redundns legyen) esetn s-lyos szzezrekbe vagy akr millikba is kerlhet. Azt, hogy a tartalk eszkzre az t-kapcsols automatikusan megtrtnjen, vagy maga a hardver, vagy pedig a HA-telepszoftvere intzi el.

    3. Tbbsgi szavazs (quorum)

    Maga a quorum sz latin eredetu (jelentse: aki, akinek a. . . ), angolszsz nyelvterle-ten a kvetkezo jelentssel br: Egy szervezet tagjainak olyan gyulse, amely elg nagyahhoz, hogy dntokpes legyen.

    Telepek esetn is hasonl rtelemben hasznljuk: A telep csak akkor letkpes, haa quorumhoz szksges szm tag elrheto s mukdik. ltalban a quorumot 50%+1-ben szoktk meghatrozni, vagyis a telep tagjainak tbb mint felnek mukdnie kell. Emgtt az a logika rejlik, hogy ha valami miatt a kommunikci megszakad a telep ktrsze kztt, akkor ne tudjon elindulni mindketto nll telepknt.

    Kt tagbl ll telepek esetn (ami HA-telep esetn tipikus) a fenti szablyt lehe-tetlen betartani, hiszen ekkor ha az egyik tagkiesik, akkor lell a telep; mrpedig a

    V. GNU/Linux Konferencia 2003. november 8.

  • Mit ol megy a villamos, avagy a HA-telepekben hasznlt technolgik 37

    HA-telep clja elsodlegesen az, hogy valamely tag esetn a msik tvehesse a szerept.Ezrt ilyenkor a quorum 50% szokott lenni (vagyis egy tag meglte esetn a telep mrletkpes).

    Gyakran van egy n. quorum-partci is egy az sszes tag ltal elrheto kzslemezterleten, ezen keresztl jelzik a tagok, hogy el tudjk rni a telepet.

    4. Figyelo csatornk (heartbeat)

    Figyelo csatornk segtsgvel tudja 2teleptag figyelni egyms elrhetosgt. Az egyiktag rendszeresen jeleket kld a msik fel, ezzel jelezve letkpessgt. Ha egy ezek ajelek megszunnek, az azt jelenti, hogy valami problma van a gppel.

    A figyelo csatornk klnbzo mdikat hasznlhatnak erre a clra. Leggyakoribba soros vonali s az ethernet-hlzati figyels, de ltalban brmilyen TCP/IP-t tmo-gat mdin mehet az effle letjel. Akr az is elkpzelheto, hogy kzsen elrhetolemezterleten jelezzk elrhetosgket egymsnak a teleptagok. rdemes legalbb 2,klnbzo tpus egyideju figyelst alkalmazni, gy ha valamelyik meghibsodik (pl.kicsszik a soros kbel), a msikon keresztl mg mindig mukdik a kommunikci.

    Milyen paramterezsi lehetosgek vannak egy figyelo csatorna esetn? ltal-ban llthat a jelek kldsnek gyakorisga, tovbb a fogad tag rzkenysge,vagyis hogy hny egyms utn kvetkezo jel elmaradsa utn kell megkezdenie a be-avatkozst.

    5. Node lelvsnek lehetosge (STONITH, Shut TheOther Node In The Head)

    A STONITH szintn gyakran hasznlt mdszer HA-telep krnyezetben, klnsen ak-kor, ha osztott lemezes alrendszer elrst is alkalmazunk. Mit is jelent ez? Segtsgvelegy teleptag le tud kapcsolni valamely msik teleptagot, ha gy ltja, hogy az mr nemelrheto.

    Mirt hasznos ez szmunkra? Tegyk fel, hogy van egy ktelemu HA-telepnk,amely megosztva hasznl egy hagyomnyos fjlrendszert (nem telepfjlrendszert!)osztott SCSI-buszon keresztl. Ebben az esetben fontos, hogy egyszerre csak egy tagrhesse el a fjlrendszernket, hiszen ha egyszerre ketten rnnak, az adatsrlst okozna.

    Elofordulhat, hogy (pl. lefagys miatt) egyik tag gy ltja, hogy a msik mr nemelrheto, tveszi annak szerept, s tbbek kztt felcsatolja a kzs fjlrendszert.Fontos, hogy a lefagyott tag ne tudjon jra felledni s rni a mr ms ltal tvett fjlrendszerre. A STONITH-technolgia ppen ezt garantlja szmunkra, azltal, hogyaz tkapcsols elso lpseknt lekapcsolja a lefagyott tagot.

    Hogyan kerlhet sor a STONITH fizikai megvalstsra, vagyis a gplekapcso-lsra (a STONITH-implementcikban ezek tbbsghez van tmogats):

    Specilis soros vonali kapcsolkkal (a gp ezen keresztl kapja az ramot) (pl.WTI RPS-10, APC)

    Specilis ethernet hlzati kapcsolkkal (a fentihez hasonl, csak a vezrls nemsoros vonalon, hanem etherneten keresztl trtnik; ezekkel egyszerre tbb esz-kz is vezrelheto, ez viszont egy HA-telepben SPOF-f vlhat) (pl. WTI NPS-230, APC, NetBay)

    V. GNU/Linux Konferencia 2003. november 8.

  • 38 Bodnr Csaba, [email protected]

    Nagyobb IBM-kiszolglk esetn a szervzprocesszorhoz tartoz Service Ma-nagement Porton keresztl

    Intel alaplapok esetn azEMP-port programozsval

    A reset kapcsol kivezetsvel

    6. Rendszer mukdokpessg figyels (szoftveres ill. hard-veres watchdog)

    Watchdognak nevezzk azt a mechanizmust, amelynek rvn egy gp figyeli a sajtmagn fut alkalmazs ltal kldtt letjeleket; ha a jelek megszunnek, a gp jrain-dtja magt. Ezzel szintn kikszblheto a fentebb, a STONITH-nl mr emltett, k-zs fjlrendszer elrssel kapcsolatos problma. Mivel mindkt megolds (STONITH,watchdog) kb. ugyanarra a problmra nyjt valamifle, egymstl klnbzo megol-dst, az ember vagy egyiket, vagy msikat hasznlja, zlse s lehetosgei szerint.

    Maga a Linux-kernel is biztost egy watchdog szolgltatst (insmod softdog, mknod/dev/watchdog c 10 130), amelyet szoftveres watchdognak nevezhetnk. Ezen tlme-noen vannak n. watchdog krtyk, amelyek szintn ugyanilyen elven mukdnek. l-talban elmondhat, hogy a hardveres krtyk megbzhatbbak a szoftveres megolds-nl, hiszen a szoftveres megolds letkpessghez a kernelnek mg valamilyen szintenmukdnie kell.

    7. Eroforrscsoportok (resource group, service)

    A HA-telep infrastruktra ltalban biztost szmunkra egy olyan keretet, amelyben al-kalmazsunkat, a hozz tartoz adatokat s egyb eroforrsainkat elhelyezhetjk. Eztaz egyik terminolgia szerint eroforrscsoportnak, a msik szerint egyszeruen szolgl-tatsnak nevezzk. Mik tartoznak tipikusan bele egy ilyen eroforrscsoportba?

    Alkalmazs indt/lellt scriptek,

    Maga az alkalmazs, a hozz tartoz adatokkal,

    IP-cmek,

    Lemezes eszkzk, amelyeken az alkalmazs s az adatok elhelyezkednek,

    Csatolsi pontok.

    8. Alkalmazsfigyels (Application monitoring)

    Gyakori elvrs egy HA-telepszoftverrel szemben, hogy figyelje a rajta fut alkalmaz-sok llapott, s problma esetn indtsa jra az alkalmazst. Ezt a legtbb HA-szoftvertmogatja, vagy tervbe van vve a tmogats elksztse.

    ltalban az elterjedtebb alkalmazsokhoz(Oracle, mysql, apache, ...) adnak pldafigyelo scripteket, amelyek minimlis mdostst ignyelnek; egyb alkalmazsok ese-tn pedig neknk kell megrni a scriptet. Mibol is llhat egy ilyen script? Pl. bejelent-kezik egy adatbzisba, lekrdez 1-2 rendszertblt s ha mindent rendben tall, akkora megfelelo visszatrsi rtkkel lp ki.

    V. GNU/Linux Konferencia 2003. november 8.

  • Mit ol megy a villamos, avagy a HA-telepekben hasznlt technolgik 39

    9. Telep-llomnyrendszerek (cluster filesystem)

    Telep-llomnyrendszerekneknevezzk azokat a fjlrendszereket, amelyeket egyszerretbb teleptag egyidejuleg! is hasznlhat. Mg egy hagyomnyos fjlrendszert egy-szerre csak egy gp csatolhat fel (mount), egy osztott fjlrendszerrel ezt tbben is meg-tehetik.

    Az utbbi vekben jelentos fejlodsen ment keresztl ez a fajta technolgia is, brmg ltalban nincs integrlva a HA-szoftverekbe viszont klnsebb integrciranincs is szksg, hiszen a fjlrendszer, amit eddig a HA-szoftvernek kellett kln csa-tolnia eroforrscsoport indtsa estn, az mostmindig minden teleptagon rendelkezsrell, teht nem kell kln foglalkozni vele.

    A legismertebb GPL-licenszesimplementci az OpenGFS[5].Az egyik legfontosabb problma maga a tny, hogy egyidejuleg tbb teleptag r-

    heti el ugyanazt a csatolt fjlrendszert, vagyis a tagok kztti zrols (locking)megoldsa. Az OpenGFS-ben az egyes tagok memexp moduljai mukdnek egytt azrols folyamatos nyilvntartsa rdekben. A zrolsokat egy kzs helyen troljk,ami lehet:

    Egy kzs lemezterlet (elklntve a fjlrendszertol s a naplzstl (journal)),amelyet DMPE-eszkznek ( Device Memory Export Protocol) neveznek

    Egy memexpd hlzati dmon, amely vagy memriban, vagy a helyi lemezentrolja a zrolsokat

    Az OpenGFS felhasznlk tbbsge az utbbit hasznlja, br szerintem az elobbiHA-szempontbl jobb megoldsnak tunik, hiszen nincs egyetlen olyan kitntetett gp,aminek kiesse esetn a zrolsi informcik elvesznek.

    10. sszehasonlt adatok

    Az 10 tblzatban nhny ismertebb, GPL-licenszelsu HA-szoftver tulajdonsgait ha-sonltjuk ssze, a fenti szempontok szerint.

    Jellemzok Heartbeat Kimberlite RH Cluster Manager Failsafe

    Quorum van? nem igen igen nemQuorum-eszkz van? nem igen igen nemFigyelo csatornk igen igen igen igenSTONITH tmogats igen igen igen igenwatchdog tmogats igen nem igen nemEroforrs csoportok igen igen igen igenAlkalmazs figyels nincs nincs van van

    1. tblzat. HA-szoftverek sszehasonltsa funkcionalits szerint

    11. sszefoglals

    A fenti technolgik alkalmazsval komplett HA-megoldsok pthetok. A HA-telep-szoftverek fejlodse sorn egyre jabb s jabb technolgik beptse rvn a

    V. GNU/Linux Konferencia 2003. november 8.

  • 40 Bodnr Csaba, [email protected]

    vgso cl egy SSI-tpus telepszoftverr vls lehet, amely egyetlen nagy rendszerneklttatja a telepet s egyarnt rendelkezik a HA s a terhelsmegoszt kpessgekkel.

    Hivatkozsok

    [1] http://oss.missioncriticallinux.com/projects/kimberlite/

    [2] http://www.linux-ha.org/

    [3] http://www.redhat.com/

    [4] http://oss.sgi.com/projects/failsafe/

    [5] http://opengfs.sourceforge.net/

    V. GNU/Linux Konferencia 2003. november 8.

    http://oss.missioncriticallinux.com/projects/kimberlite/http://www.linux-ha.org/http://www.redhat.com/http://oss.sgi.com/projects/failsafe/http://opengfs.sourceforge.net/

  • Hlzatfelgyeleti megoldsok Linuxon

    Deim goston

    2003.11.08.

    Kivonat

    A cikk clja bemutatni nhny nylt forrs, hlzati tvfelgyeleti szoftvert, vala-mint azt, hogy egyszeru eszkzkkel is milyen hatkonyan felgyelheto egy hl-zat.

    Felhvjuk a tvfelgyeleti szoftverek htrnyaira s elonyeire a figyelmet, aholszksges, ott tancsot adva. A szoftvereket mdszereik alapjn is osztlyozzuk dmon vagy adott idonknt fut programok , klnbsgeiket, elonyeiket s htr-nyaikat elemezzk.

    A szabad szoftverek kzl eloszr egy teljesen kidolgozott, professzionlisprogramot, a Nagiost [1] (a Netsaint utda) vizsgljuk meg, kln kiemelve annakwebes s wap-os rendszert. Alternatv megoldsknt rviden ismertetsre kerl aBig Sister [2] alkalmazs is.

    Tartalomjegyzk

    1. Mi is a hlzatfelgyelet? 42

    2. Hlzatfelgyeleti megoldsok 422.1. Csatlakozs tvoli kiszolglhoz . . . . . . . . . . . . . . . . . . . . 422.2. Tvoli gpen fut alkalmazs . . . . . . . . . . . . . . . . . . . . . . 422.3. A kompromisszumos mdszer . . . . . . . . . . . . . . . . . . . . . 43

    3. A Nagios 433.1. A sikersztori . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 433.2. A Nagios felptse s mukdse . . . . . . . . . . . . . . . . . . . . 443.3. Hibk meghatrozsa . . . . . . . . . . . . . . . . . . . . . . . . . . 473.4. llapotok . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 473.5. Esemnykezelok . . . . . . . . . . . . . . . . . . . . . . . . . . . . 473.6. A riasztsokrl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 483.7. Idoztett kimaradsok . . . . . . . . . . . . . . . . . . . . . . . . . . 483.8. Web fellet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 493.9. sszefoglals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49

    4. A kihv: Big Sister 49

    5. sszefoglal 49

    41

  • 42 Deim goston

    1. Mi is a hlzatfelgyelet?

    Hlzatfelgyelet alatt kiszolglk s kliensgpek felgyelett rtjk, melynek clja,hogy folyamatosan elrhetoek s hasznlhatk legyenek az azokon kiajnlott szolgl-tatsok. Ennek sorn figyelni kell az opercis rendszert ppgy, mint a fut szolglta-tsokat s a hasznlt hlzatot.

    2. Hlzatfelgyeleti megoldsok

    Az albbiakban vizsgljuk meg a leggyakrabban hasznlt megoldsokat, azok elonyeits htrnyait is szmba vve. A kt hasznlt megolds a felgyelt szolgltatsokhoztrtno csatlakozs, mg a msik kliens dmonmdszer szerint megszerzett inform-cik elemzse. A tvolrl, kzvetlen csatlakozssal mukdo felgyeletet nevezikaktvellenorzsnek, mg a felgyelt gpen fut alkalmazsok eredmnyeit feldolgoz ellen-orzstpasszv ellenorzsneknevezzk.

    2.1. Csatlakozs tvoli kiszolglhoz

    Ez a legnpszerubb mdszer, mivel knnyen ellenorizhetok a fut szolgltatsok anl-kl, hogy brmit is kellene futtatni a tvoli rendszeren. Ennek a mdszernek kt ht-rnya van. Az elso, hogy nem kpes informcit adni tvoli rendszer eroforrs-kihasz-nltsgrl s terhelsi adatairl, mint pldul a processzor terhels, merevlemez tel-tettsg, szabad memria mennyisge. A msik htrny, hogy ha a felgyelt szmtgps a felgyeletre hasznlt szmtgp kztt tuzfal helyezkedik el, akkor nincs ms le-hetosgnk, mint a felgyeleti gprol rkezo forgalom szmra utat nyitni a tuzfalon.Van aki idegenkedik ettol a megoldstl. Hogy okkal vagy ok nlkl, azt mindig azadott helyzet ismeretben lehet megtlni.

    A felgyeleti mdszere a kvetkezo: ltalban egy kzponti szmtgprol idoztet-ten elindulnak a felgyeleti programok, melyek a tvoli gpen fut szolgltatsokhozcsatlakoznak, ellenorizve llapotukat. A hibakezelsre ltalnos rvnyu, hogy egy jminosgu szoftver nem csak a felhasznli felleten zen, hanem minimum e-mailbenis rtestst kld a hibrl, de kpes lehet pldul sms-en keresztl zenni persze csakakkor, ha megfelelo eszkz van a kiszolglhoz csatlakoztatva.

    2.2. Tvoli gpen fut alkalmazs

    Egy tvoli gpen fut alkalmazs rengeteg olyan dolgot kpes kzlni, amire a t-voli ellenorzs nem kpes. Ilyen az elozoekben emltett eroforrs-kihasznls mindenjellemzojnek megjelentse. Mukdsket tekintve a szoftverek egy rsze kliens sdmon keverke, mg msik rszk csak dmon. A kevert mukdsu szoftverek az ada-tokat helyileg gyujtik, majd kliensknt egy vagy tbb kzponti gphez csatlakozvakldik t az adatokat egy ott lvo dmonnak, mely elemzi az adatokat. A szoftverekmsik krbe tartoznak azok, melyek csak dmonknt futnak, a kzponti gptol csatla-koznak r s krik le az adatokat tovbbi elemzsre. Itt ltalnos rvnyu, hogy rdemestitkostani a felgyelt szmtgp s a felgyeleti szerver kztti kommunikcit. Ezeka szoftverek kpesek elkerlni az elozoleg ismertetett mdszer htrnyait.

    V. GNU/Linux Konferencia 2003. november 8.

  • Hlzatfelgyeleti megoldsok Linuxon 43

    2.3. A kompromisszumos mdszer

    Azrt, hogy lehetoleg mindkt mdszer elonyeit ki tudjk hasznlni a rendszergazdk,s pontos kpet kapjanak a kiszolglk teljes llapotrl, a szoftverek ri vegyesenkezdtk alkalmazni a mdszereket, gy advateljes megoldst a problmkra. Tlsly-ban vannak a tvoli megfigyelsek adatai, demegtallhatk kiegsztsknt a felgyeltgpen fut szoftverek is.

    3. A Nagios

    3.1. A sikersztori

    A legnpszerubb felgyeleti eszkz a NAGIOS[1], mely hossz vek ta jelen van anylt forrs szoftverek kztt. Nem is olyan rgen mg NetSaint-nek hvtk, azonbanaz 1.0-s verzit elrve a vezeto programoz gy dnttt, hogy a rengeteg vltozs miattj nevet ad a szoftvernek, mivel az szinte nem is hasonltott a rgi verzikra.

    Mirt npszeru ez az eszkz? Fut az sszes jelentosebb kiszolgl rendszeren, mintamilyenek a Linux disztribcik, a BSD-k, vagy akr az Apple UNIX s FreeBSDalap szervertermkn, az XServer + MacOS X proson is. Kiegsztoknt kaphat aNagios-szal tkletesen integrlhat hardver, melynek segtsgvel tbbek kztt nyo-mon kvetheto akr a szerverszoba homrsklete s sok ms adat is. A szoftver magapedig tkletesen modulris s nem elhanyagolhat elony a kituno webes fellet, me-lyet hatkonyan egszt ki a WAP-os fellet, hogy minden ignyt kielgtsen.

    Lehetosgeinek rvid sszefoglalja:

    szolgltatsok tvoli felgyelete, kiszolglk eroforrsainak megtekintse,

    adatbzis-kapcsolat a konfigurcis fjlok trolsra,

    csoportosthat szolgltats s kiszolgl felgyelet,

    szintn csoportosthat felgyeleti szemlyek, csoportok,

    rtests nem csak e-mailen, de akr sms-en vagy azonnali zenetkldo szolgl-tatson keresztl mint pldul az ICQ,

    korszeru bovtmnykezels tovbbi szolgltatsok felgyeletre,

    esemnykezelo rendszer a problmk azonnali elhrtsra,

    Web s WAP-alap megjelentsi rendszer,

    hardver integrci,

    elosztott felgyelet,

    klaszterek felgyelete.

    V. GNU/Linux Konferencia 2003. november 8.

  • 44 Deim goston

    3.2. A Nagios felptse s mukdse

    Mib ol is ll a Nagios?

    A Nagios tulajdonkppen egy mag, mely nmagban nem lenne hasznlhat. Ez a magnem kpes szolgltatsok ellenorzsre, adatok elemzsre, egyszeruen csak a meg-kapott adatokat jelenti meg illetve reagl ezek szerint. Hogyan lesz mgis hasznlhat?A munka legnagyobb rszt a modulok vgzik, melyek beplnek a Nagiosba, ezekellenorzik a szolgltatsokat s jelentenek a Nagiosnak. Ezeken kvl, gyakorlatilag alegfelso szinten jelenik meg a Web s WAP-alap fellet, ahol a legjobban rtelmezhetomdon, vizulisan jelenik meg az informci. Opcionlis a hardver elem, mely szintnbovtmny hasznlatval adja t az adatokat. Szintn kln osztlyt alkotnak akieg-sztok, melyek nem a felgyeleti gpen fut alkalmazsok vagy csak rszben azok azonban mgis a Nagios-hoz tartoznak s a tvoli gpek eroforrs-kihasznltsgt vagya szolgltatsok llapott kzvettik.

    A bovtmnyekrol

    A bovtmnyeknek a Nagios ltal elvrt mdon, bizonyos szablyok betartsval kelladatokat kzlnik. A bovtmnyek szmra kln oldalt hoztak ltre, itt megtallhata teljes lers, hogy milyen elvrsoknak kell megfelelnie annak, aki azt szeretn, hogybovtmnye a hivatalos csomagba kerljn. A projekt irnytinak felhasznl/rend-szergazda-bartsgrl sokat elrulhat, hogy nem lehet a csomag rsze olyan alkalma-zs, mely nem rendelkezik--help kapcsolval. Ezenkvl a legfontosabb meghatro-zs, hogy tartani kell magt mindenkinek egy egysges kdtblhoz, mely a felgyeltszolgltats llapotra vonatkozik s ettol eltrni nem lehet. A bovtmnyek brmilyenprogramozsi nyelven rdhatnak, elonyben rszestik azonban a lefordthat progra-mokat az interpretltakkal szemben, mely teljestmny adatokkal magyarzhat errolrszletesen ksobb , illetve a Nagiosba beptett, mdostott Perl rtelmezo szmrart alkalmazsokat kedvelik. Termszetesen hasznlhat akr kedvenc shell szkriptnkis, ha megfelel a kvetelmnyeknek.

    A kiegsztokr ol

    A kt legelterjedtebb kiegszto azNRPEs azNSCA. Mukdsi elvk szerint mind-ketto hasznos lehet, ha olyan adatokhoz szeretnnk hozzfrni, melyeket tvolrl nemtudunk ellenorizni teht nem szolgltatsok, hanem eroforrsok , vagy nincs lehe-tosgnk kzvetlenl a szolgltatsokhoz kapcsoldni. Mindkt alkalmazs tartalmazegy dmont s egy klienst is, azonban fordtott logikval mukdnek. Vizsgljuk meg,hogyan.

    Az NRPE dmon neve mely rvidts is sokat elrul mr. Magyarul s kifejtvea kvetkezot jelenti: Nagios Tvoli Bovtmny Vgrehajts. Ez gyakorlatilag egy kz-blso rteg. Egy kln felgyeleti gpen is futhat a dmon inetd vagy xinetd all isindthat s idonknt ehhez kapcsoldik a kzponti felgyeleti gprol a check_nrpeprogram, hogy ott olyan mdon hajtsa vgre a meghatrozott bovtmny(eke)t, minthaazt a felgyeleti gp tenn meg. Az NRPE dmon vgrehajtja a szksges bovtm-nyeket, majd az eredmnyeket a check_nrpe programnak adja t, mely tovbbadja azta Nagios kzponti rsznek a megfelelo kddal s program kimenettel. Az NRPE d-monnak megszabhat, hogy mely IP cmekrol fogadjon el kapcsolatot. Kommunikcisrsze tmogatja a titkostst. Az NRPE dmon rendelkezik Microsoft platformon fut

    V. GNU/Linux Konferencia 2003. november 8.

  • Hlzatfelgyeleti megoldsok Linuxon 45

    verzival, melyet szolgltatsknt kell ott futtatni. Az NRPE teht tkletesen alkal-mas arra, hogy egy tuzfallal elzrt alhlzaton kinevezznk egy kzponti gpet, erreteleptsk az NRPE dmont, majd belltsuk gy, hogy ez ellenorizze az alhlzatbanlvo tbbi gpet s az eredmnyeket visszaadja a kzponti Nagios kiszolglnak. Eztszemllteti az 1. bra. Ezzel csak egyetlen csatornt nyitunk a tuzfalon, ahol a kom-

    1. bra. NRPE-Nagios kapcsolat

    munikcit remlhetoleg titkostottan vgezzk. Termszetesen nyugodtan futtathategyetlen gpen is az alkalmazs. Tovbbi lehetosg az ilyen kiszolglk lncba fuzse,melyet a 2. bra mutat be.

    2. bra. Kiszolglk lncba fuzse

    Az NSCA szintn tbb rszbol ll, itt azonban a kliens rsz az, mely a felgyelt

    V. GNU/Linux Konferencia 2003. november 8.

  • 46 Deim goston

    gpen sszegyujti az adatokat a konfigurcis fjl alapjn s elkldi azt a kzpont Na-giost futtat kiszolglnak, ahol az NSCA dmon feldolgozza az adatokat s tovb-btja azt a Nagios szmra. Amennyiben a rsztvevo feleken teleptve van azmcryptfggvnyknyvtr a kommunikci titkostottan is trtnhet. Ennek a kiegsztonek asegtsgvel vgezhetnkpasszvellenorzseket.

    Konfigurcis lehetosgek s osztlyzsaik

    A Nagios rendkvl sok konfigurcis lehetosggel rendelkezik, de a konfigurcis l-lomnyokat is tbb rszre osztja. Ezek: a kzponti llomny, az objektumok ezekfelelnek a szolgltatsokrt, kiszolglkrt is, mivel ezek az objektumok , a CGI (we-bes) fellet bellt fjlja s ms kiegszto fjlok. A kzponti llomnyban hivatkoz-hatunk tbb, klnllkonfigurcis llomnyra, gymindent kln tudunk kezelni,ezzel is nvelve az tlthatsgot. A legjobb lehetosg azonban asablonokhasznlata.Segtsgkkel rendkvli mrtkben lecskken a szolgltatsok felgyeletnek konfi-gurcis ideje s karbantarthatbb vlik az egsz struktra.

    Hogy megtapasztaljuk milyen hasznos egy ilyen sablon, alaktsuk ki a kvetkezostruktrt:

    define kiszolgalok{check_command check-host-alivenotification options d,u,rmax_check_attempts 5name kiszolgalosablonregister 0}define host{host_name www.belsohalo.huaddress 192.168.0.126use kiszolgalosablon}define host{host_name www2.belsohalo.huaddress 192.168.1.253max_check_attemtps 2use kiszolgalosablon}

    Ez kifejtve a Nagios szemszgbol a kvetkezokppen nz ki:

    define kiszolgalok{check_command check-host-alivenotification options d,u,rmax_check_attempts 5name kiszolgalosablonregister 0}define host{host_name www.belsohalo.huaddress 192.168.0.126check_command check-host-alivenotification options d,u,rmax_check_attempts 5}define host{host_name www2.belsohalo.huaddress 192.168.1.253chec\_command check-host-alivenotification options d,u,rmax_check_attemtps 2

    V. GNU/Linux Konferencia 2003. november 8.

  • Hlzatfelgyeleti megoldsok Linuxon 47

    }

    Mi derl ki a fenti mintbl? Mint lthat a sablonok egymsba is gyazhatk sa loklis vltozk fellbrljk a sablonban belltottakat. A fenti plda sablonban amax_check_attempts rtke 5, melyet t is vett az elso kiszolgl, de msodik bell-tsnl helyileg fellbrltuk azt, gy 2 lett az rtke.

    A fentieken tl a sablonokkal vagy akr azok nlkl is mg csoportokat isalakthatunk szolgltatsok vagy kiszolglk szerint is belltva. Bovebb pldkat ta-llhatunk a Nagios terjesztsben s dokumentcis kziknyvben.

    3.3. Hibk meghatrozsa

    A felgyelt szolgltatsoknl fontos krds, hogy ha nem tudunk egy adott szolglta-tsrl informcit szerezni,akkor az a kiszolgl, az adott szolgltats vagy a hlzathibja? Ha egy kiszolgln fut szolgltats hibjt rzkeli a Nagios, akkor megvizs-glja, hogy a kiszolgl egyltaln mukdik-e? Amennyiben nem, akkor felesleges aszolgltatsok hibjrl rtestst kldenie, hiszen mindegyik hibs lesz. Amennyi-ben a kiszolgl mukdik, kikldi a hibajelentst. Ha elrhetetlen a kiszolgl, akkorfelmerl a krds, hogy hardver vagy hlzati hiba okozza-e a kiesst? A Nagios sz-mra a hlzat felptse a kvetkezo: amelyik felgyelt gppel azonos hlzaton vanilletve kzvetlenl elri azt, azt helyi gpnek tekinti. Minden ms felgyelt gp tvoli.Mirt fontos ez? Mert ha tbb szmtgpen keresztl rjk el a felgyelt kiszolglkat,akkor lehetsges, hogy egy kzblso, sszekto gp esett ki. A gpek kztti relcimeghatrozsra a Nagios bevezette a szmtgpek kztti fggosgeket s a szlo gyermek kapcsolatot. Ez ltal, ha kiesik egy kiszolgl, de mr a szloje sem rhetoel, akkor felttelezhetjk, hogy a szlo kiesse okozta a problmt. Ha tbb ton is eltudunk jutni egy adott szolgltatsig, akkor ennek segtsgvel mg knnyebben meg-hatrozhat, hogy valban egy kzblso szmtgp esett-e ki. A hibk meghatrozstelvgzi szmunkra a Nagios, ennek eredmnyt megtekinthetjk a webes felleten.

    3.4. llapotok

    Amennyiben hiba lp fel, akkor felmerla krds, hogy miknt is osztlyozhatk ezeka hibk. A Nagios kt hibatpust ismer.

    Soft: az enyhe hiba kategria, amikor mg nem bizonyosodott be teljesen, hogy hibsa szolgltats, valamint amikor a szolgltats vagy kiszolgl visszatr az enyhehiba llapotbl.

    Hard: slyos hiba, amikor bebizonyosodott, hogy a szolgltats vagy kiszolgl hi-bs, illetve amikor ebbol az llapotbl tr vissza enyhbb kategriba, azaz meg-gygyult.

    Az, hogy mikor vlik bizonyoss egy szolgltats vagy kiszolgl hibja, konfigu-rcis paramterek belltsval szablyozhat. Ezekhez is segtsget nyjt a Nagiosdokumentcija.

    3.5. Esemnykezelok

    Amennyiben a Nagios vals hibt szlel, akkor mg az rtests elott megprbl proak-tv mdon beavatkozni. Erre valk az esemnykezelok. Amennyiben azonos gpen fut

    V. GNU/Linux Konferencia 2003. november 8.

  • 48 Deim goston

    a Nagios s a szolgltats, vagy ms mdon van lehetosgnk beavatkozni, akkor egyesemnykezelovel rengeteg dolgot el tudunk rni. Futtathatunk tovbbi ellenorzsekets a vlaszok alapjn dnthetnk. Akr jra is indthatjuk a szolgltatst, hogy a szol-gltats kiessi idot minl lejjebb szortsuk. Ha egy szolgltatshoz esemnykezelo ishozz van rendelve, akkor azmindigelobb hajtdik vgre, mint a riaszts. Mirt? Egy-rszt a mr emltett proaktv md miatt,msrszt ezzel a hibrl kldtt zenetbenbenne lehet, hogy mr el is lett hrtva amennyiben sikeres volt az esemny kezelse.

    3.6. A riasztsokrl

    A Nagios minden olyan esetben riasztst kld ki amikor a hiba slyos minostst kapvagy a slyos hiba minostst kapott szolgltats/kiszolgl adott konfigurlhat idon bell nem kerl enyhe hiba vagy minden rendben llapotba. Ki s hogyan kap ek-kor rtestst? Az adott szolgltatshoz vagy kiszolglhoz rendelt szemly(ek). Azon-ban mielott egy levl kimenne a kvetkezo ellenorzsek zajlanak le:

    Senki nem kap meg ktszer egy zenetet.

    Engedlyezve van-e a riasztsok kldse globlisan?

    A szolgltats/kiszolgl ugrl, azaz vltogatja az llapott, ha igen, akkornincs riaszts!

    Ellenorzi az llapotokra vonatkoz belltsokat, mikor kell rtestst kldeni?

    Engedlyezett idopontban kldi-e a riasztst? Ha nem, akkor az elso rvnyesidopontra tolja azt.

    A megadott intervallumon bell esik-e a riaszts, azaz nem tl gyakori-e?

    Azonban az, hogy ezeken a szurokn tment egy riaszts, nem jelenti azt, hogyminden, az rtestsi listban szereplo szemly megkapja, mivel szemlyenknt is be-llthatk a fenti szursek. Az a riaszts azonban, mely kpes minden szurst kikerlni,a kvetkezo mdokon juthat el a cmzettekhez:

    SMS

    Pager

    ICQ, Yahoo, MSN(!) azonnali zenetklds

    Hang alap riaszts

    stb.

    3.7. Idoztett kimaradsok

    Termszetesen a Nagios kpes kezelni az olyan eseteket, melyben mi magunk lltjuk lea szolgltatsokat s a kiszolglkat. Ha tudjuk elore, hogy le fog llni, mirt is kldjnrtestst hibrl? Minden ilyen idoztett lelltst bellthatunk elore. Ez pontosabbstatisztikkat is eredmnyez pldul nem jelennek meg az akr tbb rs idoztettkiessek hibaknt.

    V. GNU/Linux Konferencia 2003. november 8.

  • Hlzatfelgyeleti megoldsok Linuxon 49

    3.8. Web fellet

    A Nagios rendkvl jl felszerelt webes fellettel rendelkezik, melynek segtsgvelegy bngszon keresztl nyomon tudjuk kvetni a szolgltatsok s kiszolglk llapo-tt, kszthetnk kimutatsokat rengeteg ms lehetosg mellett. rdemes ezen keresztlnyomon kvetni a szolgltatsok llapott.

    3.9. sszefoglals

    Br a fenti sszefoglal sok krdsben segt, de terjedelmnl fogva nem kpes min-denre vlaszt adni, nem is volt clja. Rengeteg egyb lehetosg van a Nagios-ban, mintaz elosztott felgyelet, melyben tbb Nagiost fogunk ssze, klasztereket s ms redun-dns szolgltatsokat felgyelve. A teljes referencia lista elrshez letltheto a Nagiosmintegy 300 oldalas angol nyelvu kziknyve.

    4. A kihv: Big Sister

    A Nagios nem egyedl tartzkodik a felgyeleti szoftverek piacn. R