A kiadvny trdelse a TEX 3.14159 verzijval kszlt, GNU/Linux opercis rendszeren. A TEX az American Mathematical Society bejegyzett vdjegye.
Szerkesztette: Zelena Endre ezelena@lme.linux.hu Linux-felhasznlk Magyarorszgi Egyeslete 1395 Budapest 62, Pf. 432, URL: http://www.lme.hu/ E-mail: info@lme.linux.hu
Minden jog fenntartva. Jelen kiadvnyt, illetve annak rszeit reproduklni, adatrgzt rendszerben trolni, o brmilyen formban vagy eszkzzel elektronikus ton, vagy ms mdon csak ezen kiadvnyra hivatkozssal, a szerz k rsos hozzjrulsval szabad. o
Tartalomjegyzk
Deim goston: Mail szerverek vdelme Fodor Orsolya: Weboldalkszts GNU/Linux alatt Ksa Attila: A Linux vllalati alkalmazsa Ksa Barna: GNU/Linux frtk a rendelkezsre lls s a teljestmny nvelsre Laky Norbert: Vkony kliens technolgia a F vrosi Brsgon o Magosnyi rpd: Nylt forrs fejlesztsi projectek dinamikja Mt Pter: Biztonsgos aktv webkiszolgl ptse Nmeth Lszl: Unix, vagy nem Unix? A Unix loza jvoje a Desktop rendszerek korban Papp Dniel Pintr Zoltn: Frtzsi megoldsok Linux-alap cluster technolgik Psztor Mikls: Digitlis alrssal kapcsolatos eszkzk s veszlyek Scheidler Balzs: Hlzati hatrvdelem eszkzei Sveg Gbor: GIMP, avagy graka unixon Zahemszky Gbor: A BSD vilga Zmb Marcell: Biztonsgos chroot kialaktsa GNU/Linux Opercis rendszeren 7
15 17 29
39 43 53
63 77
81 91 97 101
113
A konferencia tmogati
Tmogatk: AVNET
El sz o
dvzljk abbl az alkalombl, hogy ismt elrkezett az LME mr-mr hagyomnyos szakmai konferencija, s ezzel egytt elkszlt ez a tbb, mint szz oldalas, a konferencia el adsait tartalmaz kiadvny. o Harmadik alkalommal szervezett egyesletnk szakmai konferencit. Ez a mostani konferencia nem csak el adsai szmt tekintve ms, vagy nagyobb, mint a korbbiak, o hanem remnyeink szerint tartalmban is. Konferencinknak egy el ads erejig vendge lesz Richard M. Stallman, tovbb o tmogatnk jvoltbl eddig nem, vagy csak keveset ltott hardveren is tallkozhatunk kedvenc pingvines rendszernkkel. Remljk az el adsok, workshop-ok, illetve killtsok tallkoznak az n ignyeivel, o s viszontltjuk az LME jv beni rendezvnyein. o Amennyiben krdse, szrevtele, javaslata van, krjk ossza azt meg velnk a konferencin az LME-standjn, vagy a ks bbiekben az info@lme.linux.hu e-mail cmen. o A bevezet vgn csak azt kvnhatjuk, hogy forgassk haszonnal kiadvnyunkat, s o tallkozzunk 2002-ben, egy jabb, nagyszabs Linux-os konferencin!
Tisztelettel, A szervez k o
Tartalomjegyzk
1. Bevezets 2. Tmadsok az E-mail cmek megszerzsre 2.1. E-mail cmek begy jtse . . . . . . . . . . . . . . . . . . . . . . . . u 2.2. POP3 s IMAP szerver problmi . . . . . . . . . . . . . . . . . . . 2.3. Cmgy jts a webr l s levelez listkrl . . . . . . . . . . . . . . . . u o o 3. Tmadsok egyb clokbl 3.1. Szerverek tlterhelse . . . . . . . . . . . . . . . . . . . . . . . . . . 4. Egyb szolgltatsok hibi 4.1. Kongurlsi hibk . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.2. Open Relay . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5. Elmleti rsz sszefoglals 6. Gyakorlati megoldsok 7. Gyakorlati rsz sszefoglals 8 8 8 10 11 11 11 12 12 12 13 13 14
LME
GNU/Linux Konferencia
1. Bevezets
Az els krds, hogy mit tekintnk tmadsnak. A levelez szerverek elleni tmadsok o o nem korltozdnak a szoksos tmadsi formkra, melyeknek clja, hogy a megtmadott gpen rosszindulat programokat futassanak s kiemelt jogosultsgokat szerezzenek azon, uralmat szerezve a rendszer felett. Mivel az elektronikus levelezs mra az zleti let egyik legfontosabb informcikzvett eszkze lett, ezrt a levelek elfogsa o vagy meghamistsa is tmadsi formnak min sl. A levelek eredetisgt s esetleges o mdostsnak felfedezst biztost eszkzk bemutatsa az el adsnak nem clja, o mivel ez legnagyobb rszt valamilyen titkost algoritmus hasznlatt felttelezi. Kitrnk azonban a veszlyek msik vlfajra, a levelek eltrtsre illetve ellopsra, megszerzsre.
LME
GNU/Linux Konferencia
Connected to mail.domain.hu. Escape character is ^]. VR220 mail.domain.hu ESMTP Sendmail 8.9.3/8.8.7; VRFY ago 550 ago... User unknown A helyzet azonban lehet mg rosszabb is, ha az EXPN parancs hasznlatt engedlyezzk. Ekkor ugyanis nem csak a rendszer felhasznlinak cmhez juthatnak hozz, hanem az alias fjlban s a virtulis domainek felhasznlit tartalmaz fjlban ltez o cmekhez is. A fenti kt parancs elg knnyen szkriptelheto. Gondoljunk csak bele milyen egyszer olyan Perl-szkiptet rni, mely bejelentkezik a tvoli gp 25-s portjra s ott u sorozatos lekrdezseket hajt vgre. Csak meg kell nzni, hogy milyen vlaszokat ad vissza szerver s a kapott vlaszok alapjn a ltez e-mail cmeket el tudjuk trolni egy o fjlban. A prblt felhasznlneveket vehetjk fjlbl is vagy brute-force mdszerrel is felderthetjk a tvoli gpen rvnyes e-mail cmeket. A megolds teht, hogy az MTA dokumentcijban keressk meg hogyan lehet letiltani a fenti parancsokat. Ekkor egy elutastott krsnek pldul gy kell kinznie: [root@localhost /root]# telnet 0 25 Trying 0.0.0.0... Connected to 0. Escape character is ^]. 220 localhost.localdomain ESMTP Postfix HELO localhost 250 localhost.localdomain VRFY ago 502 VRFY command is disabled Sajnos van olyan mdszer melyet nem lehet kiiktatni. E sajnlatos eredmnyt nem az SMTP protokoll gyengesge, hanem a levl fogads folyamata teszi lehet v. Ha a o telnet parancs segtsgvel ismt nyomon kvetjk a kapcsolatot, akkor ltni fogjuk, hogy hol a gyenge pont. [root@localhost]# telnet 0 25 Trying 0.0.0.0... Connected to 0. Escape character is ^]. 220 localhost.localdomain ESMTP Postfix HELO localhost 250 localhost.localdomain MAIL FROM: valaki@valahol.hu 250 Ok RCPT TO: ago 250 Ok Itt is elg knny elkpzelni egy programot, melynek segtsgvel meg tudjuk szerezni u a vals e-mail cmeket. Csak a 250-el kezd d vlaszokat kell gyelni, hogy a mego o adott mail cmre ezt a vlaszt kaptuk e. Ha igen, csak el kell trolni egy fjlban vagy adatbzisban a neveket. 9
LME
GNU/Linux Konferencia
Ez ellen a mdszer ellen nehz vdekezni, igazbl csak lasstani tudjuk a tmadt. Ez azonban elg lehet. Ha nagyon lassan kapja vissza a vlaszokat s elunja a dolgot vagy mr nem hatkony szmra a mdszer. A vdelemnek teht be kell vonnia egy kls o programot a rendszerbe, mely a prblkozsokat gyeli s tl sok megszakadt kapcsolat vagy csak a cmzett megnevezsig felptett kapcsolat szlelsekor adott ideig letiltja az adott IP-r l rkez krseket, gy ksleltetve a tmadt. Ez az id persze nem o o o tarthat rkk, de ha minden kapcsolat felplsig elg ideig vrakozni knyszerl a tmad, akkor egy id utn a cmek megszerzse olyan lass lesz, hogy mr nem ri o meg vele foglalkozni vagy megn a lebuks veszlye - ami amgy is fennll, ha a tmao dott gp rendszergazdja rendszeresen olvassa a naplfjlokat. Ez tipikusan proxynak val feladat, br nhny MTA a tl sok egy helyrol rkez kapcsolatot kpes lasstani, o ha engedlyezzk ezt a funkcit. Felmerlhet mg egy olyan vdekezsi md, melyhez ismt csak proxy kell. A tmad minden bejelentkezsre pozitv visszajelzst kap. Mirt segt ez? Ha pldul nhny msodperc alatt mintegy 500 rvnyes e-mail cmet kap vissza, akkor taln elgondolkodik azon a tmad, hogy ebb l nagyon nehz lesz kisz rni a valban ltez cmeket. o u o Sajnos ilyen proxyt mg nem lttam, legalbbis GPL vagy BSD licensz t. u Ha azonban eltekintnk attl a m kdsi mdtl, hogy az RCPT TO: utn megadott u megadott e-mail cmet nem ellen rizzk vissza rgtn, akkor mg MTA szintjn is o meg tudjuk ezt a tmadst akadlyozni. Ezt gy lehet elrni, hogy rbrjuk az MTAt, ne ellen rizze le a kapcsolat elejn az e-mail cm helyessgt, hanem csak amikor o mr megprblja a felhasznl levelesldjba menteni a levelet vagy tovbb akarja kldeni azt. A postx, mivel modulris, ezt knnyen elrhet v teszi szmunkra. Egyo szer en kikapcsoljuk a felhasznli nevek ellen rzst a leveleket fogad modulban, u o de ez majd m kdni fog a loklis levlkzvetit dmonnl. gy minden levelet s cu o met elfogad a kapcsolat kezdetn, majd visszakld egy hibazenetet a kldonek, ha a cm nem ltezik a rendszeren. Ez azonban adott esetben megnveli a szerverre nehezed terhelst. Ilyenkor vlasztanunk kell, hogy a hatkonysgot vagy a biztonsgot o helyezzk el trbe. o
LME
GNU/Linux Konferencia
[root@localhost /root]# telnet 0 110 Trying 0.0.0.0... Connected to 0. Escape character is ^]. +OK POP3 localhost.localdomain USER ago +OK User name accepted, password please PASS rosszpasswd -ERR Bad login Ekkor -az emltett hardveres megoldson kv l- csak a ksleltets segt. A krt csku kenthetjk, ha minden zleti vagy fontos magnlevl titkostva van, de ezen mdszerek trgyalsa nem tartozik az el ads trgykrbe. o
11
LME
GNU/Linux Konferencia
ezrt kvtkat kell alkalmaznunk. Van olyan LDA, mely kpes ezt lekezelni, de a leggyorsabb s legbiztosabb kvta a fjlrendszeren alkalmazott.
12
LME
GNU/Linux Konferencia
nevben -amit mondjuk VRFY parancs segtsgvel szerzett meg, mert az aldozat.hu rendszergazdja sem tud rendesen mail szervert kongurlni- leveleket kld ltez ilo letve tbbsgben nem ltez e-mail cmekre. Melyiknek mi rtelme van? Egyrszt a o legtbb felhasznl nem fog rjnni, hogy a levl nem az aldozat.hu felhasznlitl jtt s mondjuk feljelenti oket vagy oket jelentik be open relaynek. Ez termszetesen csak a megrkezett, teht vals e-mail cmekre rkez levelekre vonatkozott. A direkt nem o ltez cmre kldtt levelek vissza fognak pattani, s az aldozat.hu felhasznlinak jn o egy jelents, hogy az ltaluk kldtt levl cmzett ismeretlensge folytn nem kzbesthet . Ha ez elg nagy mennyisgben fordul el , akkor egyrszt fennll a fjlrendszer o o megteltse, ha kvtt alkalmazunk ez ellen akkor pedig a felhasznl postakja telik meg s ez esetben sem tudja a szmra fontos leveleket fogadni. Az rvnyes camzettek kjt is meg lehet telteni s hasonl lesz az eredmny. Ebb l taln ltszik, hogy o nem biztos, hogy a felhasznlink tl boldogok lesznek s vagy ms szolgltat vagy ms rendszergazda utn nznek.
6. Gyakorlati megoldsok
Nzzk a gyakorlati alkalmazst. Ez felttelezi, hogy tudjuk egyedl is teelpteni az alaklamzst s nem vagyunk lustk elolvasni a dokumentcit. A postxet chroot krnyezetben val futtatsra fogjuk belltani, ezzel is nvelve a biztonsgot. Ehhez nincs msra szksgnk, mint egy felteleptett postx-re s a master.cf fjl ismeretre. A master.cf egyik oszlopa a chroot nevet viseli. Amely rtk itt a y bet rtkt veszi u fel, az a chroot jailen bell indul. Mivel a chroot krnyezetben a postx programjai szmra a rendszer fggvnyknyvtrai nem elrhet ek ezrt azokat a fjlokat, melyek o szksgesek a m kdshez, be kell msolnunk a megfelel helyre. A postx forrsu o kdja mellett megtallhat egy LINUX2 nevezet szkript is. Ez elvgzi a szksges u munkt helyettnk. A Debian disztribciban tallhat csomag mr chroot krnyezetben val futtatsra lett felksztve. Ne feledkezznk el az indtszkript mdostsrl sem. A LINUX2 szkript mindenesetre nagy segtsget nyjt. Ha mr teleptettk a postxet, akkor a main.cf-ben a kvetkez sort lltsuk be: o disable_vrfy_command = yes Ezzel megakadlyozzuk a cmek feldertst a szerveren. Ahhoz, hogy korltozzuk a kldheto s fogadhat levelek mrett, a kvetkez sort hasznljuk: o message_size_limit = 10240000 Ez a belltott alaprtk. Brmikor megvltoztathatjuk a mretet, amit bjtban kell megadni. 13
LME
GNU/Linux Konferencia
Ami szintn hasznos lehet sg a postx-ben, az a fejlc s a levltrzs tvizsglsa. Ez o nem klasszikus vrusrt, de sokat tud segteni az internetes frgek korban. A fejlc s a trzs vitzsglatt gyszintn a main.cf fjlban tudjuk belltani: header_checks = regexp:/etc/postfix/header body_checks = regexp:/etc/postfix/body A fjlok tartalma regurlis kifejezseket tartalmaz, de hasznlhatak Perl regulris kifejezsek is. Ekkor a regexp helyett pcre-t kell rni a kongurcis fjlba. A sz rshez u meg kell ismernnk a regulris kifejezseken kvl az e-mailek s a MIME kdolst sajtossgait is. Az open relayek kisz rshez pedig a u maps_rbl_domains = blackholes.mail-abuse.org sort lltsuk be. Ha akarunk ms szervert is megadhatunk persze. Azonban el fordulhat o olyan eset is, hogy be akarunk engedni valakit egy letiltott szerverr l vagy ppenhogy o ki akarunk tiltani egy, a spammerek listjn (mg) nem szerepl szervert. Ehhez a posto x tbbszintu smtp szint sz rst s a klasszikus access fjlt hasznlhatjuk. lltsuk u u be a main.cf-ben (Termszetesen egy sorba rva): smtpd_sender_restrictions = check_sender_access /etc/postfix/access o Ez mr a kldo azonostsnl megfogja vagy ppen engedlyezi a leveleket a kldot l. Az access fjl formtuma a kvetkez : o artatlan@open.relay ACCEPT bunos@domain.nev REJECT @open.relay REJECT A fjl formtum pontos megismershez olvassuk el az access(5) man lapot.
14
Tartalomjegyzk
1. A honlaptervezs folyamata (ttekints) 2. Hol tartunk most? 3. Hogyan tovbb? (ttekints) 16 16 16
15
LME
GNU/Linux Konferencia
Anyaggyujts, a rendelkezsre ll forrsok elektronikus feldolgozsa (pl. fny kpek szkennelse, szvegbevitel, fjlkonverzik stb.) Grakai tervezs (pl. kpek megrajzolsa, feldolgozsa, mretezse stb.) Kdols, HTML-szerkeszt k s hasznos segdprogramok hasznlata o Tesztels tbb bngszoben (Netscape/Mozilla, Lynx, Opera, Konqeror stb.) Publikls (pl. ftp-vel vagy weben keresztl)
Az el ads kzben a hallgatkkal kzsen megterveznk s elksztnk egy egyszeru o cges honlapot. A grakai tervezsnl kapcsoldunk Sveg Gbor: GIMP cm el au o dshoz.
A web gyors vltozkonysgnl fogva nehz lenne itt url-ek listjt, web-es olvasnivalt ajnlani, hiszen ami ma ltezik, az holnap mr nem biztos, ami ma rdekes s j, holnapra elavulhat. Emiatt azt a megoldst vlasztottam, hogy az el ads tmjval o kapcsolatos, rendszeresen frisstett listja megtallhat a http://fodorsi.ini.hu oldalon.
16
Tartalomjegyzk
1. F vrosi Oktatstechnolgiai Kzpont o 2. Index.hu Informatikai Rt. 3. Integrity Kft. 4. Interware Kft. 5. Mecsekfuszrt Rt. 6. Mdia 6 Rdi Szeged 7. MT-Telecom Kft. 8. Pcsi Tudomnyegyetem llam- s Jogtudomnyi Kar 9. Pcsi Tudomnyegyetem Linux Konzultcis Kzpontja 10. Prm Communications & Mdia Rt. 11. Vas Megyei Brsg 18 18 19 19 20 20 21 21 23 24 25
17
LME
GNU/Linux Konferencia
Ezek mellett mg aprbb munki is akadnak a gpnek: DNS-szerver, nyomtatszerver, t zfal, dialup-szerver. Az ltala kiszolglt felhasznlk szma krlbell 30. u
18
LME
GNU/Linux Konferencia
A merevlemezek RAID-be szervezshez Mylex RAID vezrl krtykat hasznlo nak. Minden gpen Debian disztribcit alkalmaznak. Figyelemremlt, hogy a rgi rendszer bizonyos rszei is Linuxokon futottak. A squid proxyk s az adatbziskezel k, valamint az egyik webkiszolgl is Linuxos o (volt).
3. Integrity Kft.
A 2000. vi Kzpiskolai Felvteli Rendszer Internetes adatgyujt s feldolgoz szerver o oldali moduljait SuSE Linux szervereken futtatta az Integrity Kft. Hrom fggetlen Internet-kapcsolattal rendelkez szerver fogadta a tbb, mint ezer iskolbl rkez o o adatokat, valamint egy Java-alap adatbzisalkalmazst futtat szerver dolgozta fel a 400.000 rekordnyi adatot. Minden szerveren Linux futott, a gpek IBM Netnity 3000-es s 3500-as szerverek voltak. A rendszer hibtlanul teljestett, ezrt a tervek szerint a jv ben is Linuxon fog futni. o Egy msik feladatuk az INI aldomntirnytsi s regisztrcis szerver, a legnpszer bb hazai ilyen alkalmazs f kiszolglja egy IBM Netnity 5500-as gp, 512 MB u o RAM-mal. Ezen a gpen Linux alatt Java alkalmazsok s SQL adatbziskezel o fut. A Netnity 5500-as magas rendelkezsre llst biztost megoldsait a Linux a hotswap PCI buszok kivtelvel tmogatja, idn azonban vrhatan ez a tmogats is megjelenik. Egy nemrg indult project keretben kzrdek u els sorban llamigazgatsi vo o natkozs informcikat tartalmaz honlapok s adatbzis-alkalmazsok indulnak Linux szervereken. A sorozat els tagja a www.kozjegyzo.hu, tovbbi tagjai a kzeljo v ben jelennek majd meg. A terv az, hogy az v vgre az Interneten t el lehessen o rni a kzjegyz k, a hivatalok, brsgok s gyvdek adatait. o ltalban nem tl er s gpeket alkalmaznak, f knt IBM Netnity 3000-es, 3500o o as gpeket, leger sebb gpk a fent emltett Netnity 5500-as. Inkbb tbb kisebb o gpre igyekeznek sztosztani a feladatot ez is a megbzhatsgot s a stabilitst nveli. Adatbzis s alkalmazskiszolglsi clokra szinte kizrlag Linuxot hasznlnak. Az Integrity tbb, mint 10 Linux-alap gpe, mint webes alkalmazskiszolgl, adatbziskezel , Internet kiszolgl m kdik. T zfal, proxy-szerver, fjlszerver s muno u u kalloms cljra is alkalmaznak Linuxot a kvetkez szoftverekkel: adatbziskezels o PostgreSQL, Interbase, MySQL; fjlszerver SaMBa, nfs; proxy-szerver squid; t zfal TIS; levelezsi listk mailman; webszerver Apache (Roxen Challenger u csak tesztelsre), Deneb (sajt fejleszts , Java-ban kszlt). Vannak sajt fejleszts u u alkalmazsaik, melyeket Java-ban, Perl-ben, PHP-ben s C-ben rtak. Klnlegesebb terleteken is alkalmaznak Linuxot: van egy belptet rendszerk, o amellyel egy vagy tbb Linuxos gp, akr tbb ezer krtys, PIN-kdos, ujjlenyomatolvass helyet kpes vezrelni. A Linuxot megbzhatsga s kis hardverignye miatt vlasztottk ki. A szoftver C nyelven (vezrls) s PHP-ban (webfellet) r dott. Folyamatban vannak klnbz o mr s kapcsol fejlesztsek, melyeket Linux o rendszerre alapoztak.
4. Interware Kft.
Compaq Proliant illetve AlphaServer DS20, ES40-es gpeket hasznlnak Debian Linux alatt. Legnagyobb gpk egy Alphaserver ES40, 1 GB RAM-mal s 36 GB merevle-
19
LME
GNU/Linux Konferencia
mezzel. Ezen jelenleg (tmenetileg) csak krlbell 5.500 felhasznl levelezse fut, de komolyabban is ignybe kvnjk venni a kzeljvoben. Ugyanis gyakorlatilag sokszorosan tl van mretezve mind processzor, mind memria oldalrl. Az tlag szerver Compaq Proliant DL380, 256 MB RAM-mal, krlbell 36 GB merevlemezzel. A Linuxra bzott feladatok a kvetkez k: proxy-szerver squid, webszerver Roxen Chalo lenger, levelez szerver exim + Courier + IMHO, hlzatfelgyelet snmpd + mrtg, o felhasznlk menedzselse MySQL adatbziskezel n keresztl trtnik, DNS szolo gltats bind. Krlbell 5.500 felhasznlt szolglnak ki a Linuxok. Nagyon sok sajt fejleszts webes szoftvert hasznlnak, melyeknek az el lltst megknnytette u o a Linux alatt elrhet programozsi nyelvek s eszkzk b sges trhza. Az sszes o o szerver fontosabb adatainak biztonsgi mentse jelenleg kln szerverre, RAID5-be kttt merevlemezekre trtnik hlzaton keresztl (rsync segtsgvel), de tervezik DLT vsrlst, s ha sikerl, akkor tllnak a szalagra trtno mentsre.
5. Mecsekfuszrt Rt.
Egy Epox KP6-BS alaplapban lv 2 darab 550 MHz-es Pentium III-as processzor, o 2 darab Promise Ultra66 IDE vezrl vel, 256 MB RAM hajtja azt a gpet, amelyo ben 2 darab 6,4 GB-os Western Digital merevlemez helyezkedik el RAID1-be ktve a rendszer szmra, s tovbbi 2 darab 20 GB-os IBM merevlemez szintn RAID1-be ktve az adatoknak. SuSE Linux opercis rendszer gondoskodik a kvetkez proo gramok futtatsrl: f knyvi rendszer Micro Focus Application Server; nagykeo reskedelmi rendszer Sea-Change 2 (iBCS2-vel futtatva); Cobol fejleszt i rendszer o Micro Focus Object Cobol Developer Suite. Az eddigieket krlbell 50 felhasznl hasznlja. Mostanban pedig a StarOfce szerver funkciit prblgatjk, krlbell 5-7 felhasznl szmra. Kisebb alrendszerek futnak mg a rendszeren Dataex for Intel Unix segtsgvel. A programok 200-600 MB-os fjlokkal dolgoznak. Fjlrendszerknt reiserfs-t hasznlnak.
20
LME
GNU/Linux Konferencia
A rgztett zenetek a SaMBa fjlkiszolgln keresztl rhet k el a kvnsgmusor o szerkeszt je szmra. Biztonsgi ments nem kszl ezekr l az zenetekrol, miutn o o lementek az adsban trlsre kerlnek.
7. MT-Telecom Kft.
3 darab Linuxos szerver van a cgnl, mind a hrom Debian Linuxot futtat. 1. Fjlszerver 400 MHz-es Pentium II-es Celeron processzor, 128 MB RAM, 1 darab 4 GB-os s 2 darab 13 GB-os merevlemez, szoftveres RAID-del. A hasznlt alkalmazsok: fjlszerver SaMBa,
2. T zfal 400 MHz-es Pentium II-es Celeron processzor, 64 MB RAM. A haszu nlt alkalmazsok: proxy-szerver squid, pop3-proxy.
Tervezik ftp-proxy s Socks hasznlatt is. 3. Webszerver 500 MHz-es Pentium II-es Celeron processzor, 128 MB RAM. A hasznlt alkalmazsok: webszerver Apache, levelez szerver qmail + vpopmail. o
Tervezik ftp-szerver (proftpd) s Mapguide szerver kialaktst is. Munkallomsknt is hasznlnak Linuxot, irodai alkalmazsok futtatsra, valamint tesztelsre.
21
LME
GNU/Linux Konferencia
2. Maszkol s router-szerver Pentium 75 MHz, 32 MB RAM, 2x210 MB SCSI merevlemez, EEPRO100, 3c905B s SMC-EZ hlzati krtyk, rack-kivitel (3U magas 19");
Red Hat 6.2 alap Linux; ipchains + ipportfwd + FWTK csomag; bind (DNS-szerver).
3. CD-torony s nyomtat-szerver Celeron 366 MHz, 128 MB RAM, 2x8 GB merevlemez, 3C905B hlzati krtya, 5 darab 8-szoros Sony SCSI CD-ROM; Renegt II (Red Hat 6.1 alap Linux); SaMBa szerver; NFS, YP-kliens.
4. CD-torony, HTTP proxy-szerver s X-alkalmazsszerver Celeron 366 MHz, 128 MB RAM, 2x15 GB IDE merevlemez, 3C905B hlzati krtya, 4 darab 8-szoros Sony SCSI CD-ROM, 2 darab 40-szeres Plextor SCSI CD-ROM, 1 darab Sun DAT; Renegt II (Red Hat 6.1 alap Linux); xdm X-szerver; SaMBa szerver; squid proxy-szerver; NFS, YP-kliens; grakus alkalmazsok: qvwm, fvwm s kde ablakkezel k; o Star Ofce 5.1; Netscape; irc kliensek; Complex jogtr (Kerszv fejleszts ); u
5. levelez szerver s fjlszerver o Pentium II 300 MHz, 256 MB RAM, 2x15 GB IDE merevlemez, 3C905B s SMC-EZ hlzati krtya; Renegt II (Red Hat 6.1 alap Linux); sendmail; Apache + stunnel (kls elrsre); o ssh; NFS, YP-szerver; SaMBa szerver; APC UPS kezels (APC hlzati szerver).
22
LME
GNU/Linux Konferencia
A hlzat: a szerverek kztt 100 Mbit/sec UTP hlzat van (3Com Superstack switchen keresztl). A kliensek fel tbbszrs csillagpont elrendezsu hlzat 100 Mbit/sec gerinc, s 10 Mbit/sec vgponti sebessggel. Az internet-elrs vegszlon trtnik, 10 Mbit/sec sebessggel. Az Internet tovbbszolgltatsa 1 darab mikrohullm brigde-en keresztl 2 Mbit/sec sebessggel, s 4 darab 56 Kbit/sec sebessg u analg modemen keresztl trtnik. A kliensek: 80 darab Windows 95 s 98, Windows 3.11 az irodkban;
30 darab Windows 98 s Linux kliens a laborban; 12 darab X-terminl (NCD, Sun, DEC, vt2000 gyrtmnyok vegyesen) kln laborban; 10 darab vt320 soros terminl, valamint i386 terminlszerver, ez a folyosi levelez rendszer. o
A fentieket kiszolgl szemlyzet 3 f b l ll, 1 rendszergazda s 2 opertor. A o o felhasznlk szma 1470, ebb l krlbell 200 aktv linuxos felhasznl van, a tbbi o SaMBa illetve levelez felhasznl. o Rvidtv fejlesztsi tervek: hardver-oldalrl a bels szerverek s a t zfal cserje rack-kivitel redundns hardverre; o u u a modemes behvszerver b vtse 12 darab 56 Kbit/sec sebessg moo u demre. szoftver-oldalrl kett s port s protokoll t zfalrendszer; o u SQL-alap logolsi rendszer, PostgreSQL s syslog segtsgvel.
LME
GNU/Linux Konferencia
A munkallomsokat jelenleg alapfok Linux-tanfolyamok s (februr elejt l) o rendszergazdai tanfolyamok tartsra hasznljk, valamint az oktatsban nhny dologra pldul C nyelv oktatsra. A jv ben szakprogramok (elektronika, trkpo szet, zika, matematika) is fognak futni, a Star Ofce (vagy taln az Open Ofce) lesz az irodai programcsomag, s termszetesen informatikus-oktats is lesz ezeken a gpeken. Az alkalmazott opercis rendszer neve Renegt II, amely a Red Hat Linux ltaluk ksztett magyartsa.
10.
5 darab szervert zemeltetnek, melyek kzl a legkisebb egy Pentium II 300 MHzes processzorral, 256 MB RAM-mal, SCSI merevlemezzel, a legnagyobb pedig kt Pentium III 800 MHz-es processzort, 512 MB RAM-ot s 70 GB SCSI merevlemezt tartalmaz. Ez utbbiak egy Intel vezrl segtsgvel hardveresen RAID5-be vannak o ktve. Minden szerveren Debian GNU/Linux fut, s a kvetkez ket nyjtja: o internetes szolgltatsok
dinamikus, adatbzis-alap hr-rendszer, cikkadatbzissal s kapcsoldsokkal; webmail rendszer (PrmPosta); weboldal-genertor (weboldal.com); frum; internetes folder (mappa), kpek s ms fjlok trolsra a szerverkn; egyb, adatbzis-alap szolgltatsok; Adserver a reklmok kiszolglst vgz szoftver; o pop3 s levelez szerver; o DNS-szerver; rendszermonitorozs. a cgirodban ip maszkols; proxy-szerver; levelez szerver. o A fentiek megoldsra a kvetkez f bb programokat alkalmazzk: exim, bind, o o Apache, PostgreSQL s PHP4. A biztonsgi mentsek az Amanda nev szoftver segtu sgvel trtnnek. A felhasznlk szmt a webes szolgltats miatt nehz pontosan megmondani. A Prm-rendszerben regisztrlt felhasznlk szma meghaladja a 80 ezret. A PrmPostt tbb, mint 10 ezer ember hasznlja rendszeresen. Gyakorlatilag az sszes PHP szkript sajt fejleszts , amelyekhez kivl fejleszt u o krnyezetet biztostott a Linux az eszkzeivel. Mivel internetes szerverekrol van sz, mr a munka legelejn vilgoss vlt, hogy a Linux megfelel eszkzket tud nyjtani o a kvnt clok elrshez. Az els dleges cl teht nem az volt, hogy ingyenes rendszert o ptsenek, hanem a hasznlhatsgon volt a hangsly. 24
LME
GNU/Linux Konferencia
11.
Az informatika a kilencvenes vek elejn jelent meg a brsgokon. 1998-ig az Orszgos Igazsgszolgltatsi Tancs megalakulsig a brsgi informatikai fejlesztst a megyei brsgok tbb-kevsb nllan vgeztk, ltalban a maradkelvet kvetve: volt fejleszts, ha maradt r pnz. (A szablyt er st kivtel a cgbrsgok o o orszgos hlzatnak kzponti fejlesztse.) 1992 vgt l a Vas Megyei Brsgon az azid tjt megszokott DOS-NetWare ho o lzat helyett SCO UNIX alap hlzatot helyeztek zembe. Azrt dntttek gy, mert a DOS-os vilg korltai mr kezdtek kirajzoldni, ugyanakkor meggyelhetoek voltak az Internet kibontakozsra utal els jelek. Clszer nek ltszott egy eleve nagyobb o u lehet sgeket engedo, ugyanakkor komoly mlttal, referencikkal rendelkez , de elro o het r rendszer megismerse s megszoksa. Termszetesen azrt kvetelmny volt o a mr meglv szoftverek illeszthet sge is. gy tltk meg, hogy vlasztsukkal nem o o sz ktettk le a mozgsterket: mind a DOS mind a UNIX vilga nyitott el ttk. u o A DOS-Windows 3.1 alap klienseket eleinte SCO-specikus program (PC-Interface) kapcsolta a szerverhez. Ks bb, a kliensek szmnak nvekedsvel ingyenes o (rszben nyitott forrskd) szoftverek hasznlatra trtek t. 1996-ig zemelt ez a rendszer, az SCO lnyegben fjlszerver, nyomtatszerver s CD-szerver (Complex Jogtr) funkcit ltott el. Kzben egy hlzatbovts eredmnyeknt egy msik SCO szervert is zembe helyeztek gy, hogy a kt szerver routerknt is funkcionlt, 3 koax ethernet szegmenst elltva. Linuxszal 1994-tol kezdtek el foglalkozni, egy magnton beszerzett Yggdrasil disztribcit tartalmaz CD segtsgvel (0.99.13-as kernel, X11R5, Postgres 4.1 experimental ELF loader. . . ). Eleinte kliensknt prblgattk, de hamar nyilvnvalv vlt, hogy kezesebb, mint az SCO. 1996-ban jtt el az ideje annak, hogy a szerverekre Linux kerljn, mr Slackware disztribci, 1.2-es sorozat kernellel. (Mindekzben a brsg gazdasgi hivataln bell m kdtt egy az id mlsval egyre szrklo u o NetWare hlzat 8 gppel. Ide UN*X nem tehette be a lbt. . . ) Gykeres vltozs 1998 oszn kvetkezett be. Ekkor minden megyei brsg (az addig informatikra jutott sszegekhez kpest) komoly kzponti forrsokhoz jutott, amelyet a (megye)szkhelyi brsg informatikai fejlesztsre kellett fordtania. gy dntttek, hogy a maximlis kltsghatkonysg elrse rdekben alapvet en Linuxos o rendszert alaktanak ki. Ekkorra mr kezdett beindulni a Linux-thenger, egyre tbb mrtkad folyirat, cg, frum volt knytelen reaglni a Linux-jelensgre, ezltal kezdtk igazolva ltni korbbi UNIX irny dntsk helyessgt. Vgl a rendelkezsre ll 10 milli forintbl a kvetkez t sikerlt kialaktani: o 36 vgpontos tisztn switchelt UTP hlzat (addig hzilag barkcsolt koax ethernetet hasznltak mindenhol);
1 darab szerver (10 GB UWSCSI merevlemez, CD r, CD olvas, 512 MB RAM, 24 GB DAT); 30 darab diskless (merevlemez nlkli) PC (K6-2/300, 64 MB RAM, boot epromos NIC, 15-os monitor); 1 darab hlzati nyomtat (PostScript, A3/A4, 32 lap/perc, duplexer, 3000 lapos adagol); 10 darab szemlyi lzernyomtat (8 lap/perc).
25
LME
GNU/Linux Konferencia
A topolgit gy alaktottk ki, hogy a ler/kezel irodkba 1-1 nyomtatt kzsen o hasznlnak az ott dolgozk. A bri szobkban nincs nyomtat, de a hlzati nyomtat mindenki szmra elrhet (els sorban a jogszablyok nyomtatsra a CD-s Jogtrbl). o o Szoftverknt a SuSe disztribcijt alkalmaztk, kt okbl: egyrszt megtlsk szerint a leginkbb tmogatta az j videovezrl ket, msrszt a bevezetett Applixo Ware irodai szoftver mell ezt kaptk. A klienseket alapvet en ktflekppen lehetne hasznlni: X-terminlknt, illetve o X-es munkallomsknt, attl fggoen, hogy a felhasznli programok a szerveren vagy a kliensen futnak. Ok ez utbbit vlasztottk: gy egyrszt ki van hasznlva a kliens processzornak teljestmnye, msrszt cskken a szerver terhelse, harmadrszt a loklis nyomtats gy nem jelent problmt. Minthogy mg DOS-os szoftvereik is vannak, dosemu-t muszj hasznlniuk, ami szintn ilyen elrendezst kvn. Htrnyknt el kell viselni a swap hinyt s a nagyobb LAN-svszlessg-ignyt. A kvetkez (tbb rszb l ll) nagyobb beruhzsra 1999 oszn kerlt sor. Eko o kor mr a kzpontostott kzbeszerzs keretn bell kzvetlenl jutott a brsg hardver- s szoftvereszkzkhz. Megkrtk a szllt cget, hogy tesztelhessk az ltaluk felknlt gpet a m kdo rendszerben: kiderlt, hogy az Intel alaplap (valu szn leg BIOS problmk miatt) nem volt hajland kezelni a boot-epromos hlzati u krtyt. gy teht az eredeti kongurcit mdostani kellett: msik (olcsbb) alaplapot krtek a gpekbe, merevlemez, oppy, CD s Windows nlkl, viszont gyorsabb processzorral, nagyobb memrival, s t hogy kitltsk a forintkeretet mg kt plusz o gpet s tz lzernyomtatt. (Az eredeti rendelsben egyltaln nem volt nyomtat.) (Kt rdekes trtnet ebb l az id b l: a szllt rtkestsi menedzsere eleinte o o o nem tudta elhinni, hogy nem kell minden gphez (diskless gphez!) OEM Linux. . . Amikor kiderltek az alaplappal kapcsolatos problmk, nehz volt rbeszlni a szlltt a cserre. Komolyan flmerlt bennnk, hogy ha nem megy a boot eprom, krjnk oppy meghajtt a gpekbe, de nylsval a gp belseje fel fordtva, egyszer s mindenkorra bennehagyva a boot-oppyt.) sszesen 6 darab szervert is kaptak volna a vidki brsgok elltsra (1 nagyob bat, 5 kisebbet). Mivel csak kt vidki brsgon van hlzat, az 5-bol 3-at becserltek a szlltnl: helyette krtk a brsg kt szombathelyi plete kztt mikrohullm sszekttets kiptst. A routerek termszetesen kiregedett 486-osok, Linuxszal. . . A nagy szervert a megyei brsgon lltottk munkba, az addigi szerver tartalkknt szolgl illetve az archivlsokat vgzi (naponta DAT-ra, nagyobb peridusok vgn, szoftverfrissts el tt CD-re is). Minthogy minden adat a szerveren van, a o napi mentst egy lpsben, egyszeru scripttel lehet elvgezni. Ezzel a beruhzssal lnyegben Linux-alapon ll a brsgi informatikai rendszer. Egyttal az egyre knosabb vl jogtisztasgi problmt is megoldottk. (Az ApplixWare mellett fokozatosan vezetik be a StarOfce-t.) Id kzben sajt er b l megvalso o o tottk az Internetelrst ISDN-en keresztl, s t a krmendi s a srvri brsgok fel o is van dediklt ISDN adatkapcsolat. 1999 vgn kiplt a brsgok orszgos hlzata is egy Phare projekt keretn bell: minden megyei brsg kapott 16 kbit/s garantlt svszlessg Frame Relay kapu csolatot az OITH irnyba, egy RS/6000 szervert (AIX + Apache + Samba + Oracle InterOfce (14 user)) a bels levelezs szmra s 14 IBM PC-t Windows NT-vel. Mivel o az installlt levelez rendszer m kdse s knyelme nmi kvnnivalt hagyott maga o u utn, a 14 PC-t is inkbb a loklis rendszerbe integrltk, kiiktatva az NT-ket. Az orszgos hlzat IP szmaival val tkzs miatt a loklis rendszert egy (termszetesen Linuxos) t zfallal vlasztottk le az RS/6000-rol, gy, hogy az azon mg fut InterOfu ce szksg esetn elrhet legyen. o 26
LME
GNU/Linux Konferencia
Jelenleg a szerveren a szoksos szerver szoftverek futnak: bootpd, nfs szerver, apache (bels hasznlatra), squid, bind, qmail, postgresql, mars_nwe, stb. A kzeljvoo ben fognak kapni vrusirt szoftvert is, ennek szerepe mg nem tisztzott. . . A szerver szolgltatja a Jogtrat is, de nem CD-r l, hanem a merevlemezrol a gyorsasg rdeko ben. Az 57 regisztrlt felhasznl kzl ltalban egyidejuleg kb. 30-35-t szolgl ki, kellemesen alacsony (0.1 krli) terhelssel. Folyamatosan trtnik a felhasznlk oktatsa az internetes technikkra, a F vrosi Brsg jvoltbl valamennyi felhasznl o kln kltsg nlkl e-levelezhet. Klnlegessgknt: a titkos anyagokat cfs (crypto le system) segtsgvel kdolt formban a szerveren troljk. (Kdols hinyban mobil adathordozt kne hasznlni s pnclszekrnyben trolni.) A klienseken els sorban szvegszerkeszts folyik, valamint a nagyrszt Clippero alap nyilvntartsok vezetse. Ez utbbiak tovbbra is dosemu-bl rhet k el, de o egy-kt szoftver esetn md van a kliens direkt DOS-os indtsra is. Mindkt esetben a kliens gp egyttal mars_nwe kliens is. Mr van nhny programjuk, ami a Linuxos krnyezetre kszlt. Ezek egy rsze nll fejleszts, msik rsze meglv o DOS program helyettest je illetve kiegszt je. (Ez utbbi esetekben a .dbf formj o o adatokat tteszik PostgreSQL al, s gy hasznljk fel.) Terveik kztt szerepel az LDAP bevezetse, pl. authentikci cljra. Minthogy a diskless kliensek mind ugyanazt a passwd s shadow fjlt ltjk, az LDAP alkalmazsa valjban nem srg s, de szeretnnek flkszlni az egyb LDAP-t ignyl szoftveo o rek fogadsra illetve ksztsre. Tervezik tovbbi DOS alap szoftverek kivltst Linuxos illetve multiplatformos szoftverekkel, j programok ksztst a brsgi gyvitel mg elltatlan terleteire, a vidki brsgok adatkapcsolatnak kihasznlst (e mail, adatbzis elrs). Szeretnnek ttrni a bootp-r ol dhcp-re. A fejlesztsek sorn els sorban a Python-PostgreSQL prost hasznljuk. Tekintettel a roppant egyszeru o s knnyen ttekintheto topolgira hlzatfelgyel o szoftvert egyel re nem kvnunk o hasznlni. A felhasznlk tbbsge csak annyit tud a Linuxrl, hogy ms, mint a Windows. Korbban mr tbben hasznltak Windowst, az o esetkben a grakus fellet hasznlata nem jelentett problmt, viszont az alkalmazsok mssga igen. Az els id ko o ben el fordultak vletlen dokumentumtrlsek, ilyenkor a felhasznlk els reakcija o o sokszor az volt, hogy rossz a gp. Akiknek nem volt szmtgpes tapasztalatuk, azoknl a legnagyobb problmt az egr kezelsnek megtanulsa s az rgpes mlt (az 1 s l karakterek, valamint a 0 s az o karakterek sszekeverse, a space billenty s szvegformzs) jelentette. Ok alapszint oktatsban rszesltek, s nhny u u nap alatt belejttek. A fortlyokat pedig mindig egy-egy konkrt eset kapcsn tanuljk meg. Korbban ugyanezek a problmk jelentkeztek a Windowsos krnyezetben is, gy t nik, hogy ezek a krdsek nem rendszerspecikusak. u Magval az opercis rendszerrel csak az informatikusok tallkoznak. Problmk abbl szoktak addni, hogy a .doc vagy .xls llomnyok bevitel utn nem pontosan gy nznek ki, mint egy Windowsos rendszerben. Ha nem lehet ett l eltekinteni, akkor ltao o lban ms formban (pldul .rtf) krik a kldot l az adatokat. Nem okoz klnsebb problmt a oppymeghajtk hinya sem, mert krsre brkinek a oppyn szlltott dokumentumait felteszik a rendszerre. Az irodai rendszerknt hasznlt Applixware menrendszere magyartott, ezzel nincs gond. Szokatlan zenet megjelensekor (mindegy, hogy angol vagy magyar nyelv ), u amikor a felhasznl bizonytalan a helyes vlaszban, akkor inkbb megkrdezi az informatikusokat.
27
28
Tartalomjegyzk
1. Bevezet o 2. Magas rendelkezsre llst biztost frtk 2.1. Megosztott diszkeket hasznl frtk . . . . . . . . . . . . . . . . . . 2.2. Megosztott elemek nlkli frtk . . . . . . . . . . . . . . . . . . . . 3. Terhelskiegyenlt frtk o 3.1. Virtulis szerverek . . . . . . . . . . . . 3.2. Egyetlen nagy SMP gpnek ltsz frtk . 3.2.1. Beowulf frtk . . . . . . . . . . 3.2.2. Mosix frtk . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 30 31 32 33 33 34 35 36 36 37 38 38
4. Prhuzamos feldolgozst biztost frtk 4.1. MPI alap frtk . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.2. Parallel Virtual Machine frt . . . . . . . . . . . . . . . . . . . . . . 5. sszefoglal
29
LME
GNU/Linux Konferencia
1. Bevezet o
A szmtstechnikban a frt (cluster) olyan, tbb gpbol ll kongurcit jelent, ami megsokszorozza az egyes gpek bizonyos tulajdonsgt. A frtzsi technolgikat tbb szempont szerint is osztlyozhatjuk: magas rendelkezsre lls (high availability),
A legtbb frtzsi technolgia egyszerre tbb kategriba is besorolhat. A magas rendelkezsre lls elrsre kt alapvet megolds alkalmazhat: teljesto mny-kiegyenlto frt (pl. web szerverek esetben) s a hagyomnyos high availability cluster, ami tartalk hardvert s kzs elrs diszkeket tartalmaz. Mindkt megoldsra u szmos nylt forrskd s kereskedelmi szoftver ltezik. A magas rendelkezsre llst biztost frtk leggyakrabban adatbzis- s alkalmazsszervereket vdenek. A Mosix s Beowulf megoldsok olyan ltalnos cl szerver frtk kialaktst teszik lehet v, o amelyeken tetsz leges alkalmazsokat futtathatunk a terhelskiegyenlts s a magas o rendelkezsre lls minden el nyvel. o A teljestmny nvelsre s a prhuzamos vgrehajts tmogatsra tbb nylt forrs frtzsi megolds ltezik, pldul az MPI/LAM s a PVM. Ezek a megoldsok nemcsak Linux alatt m kdnek, ezrt heterogn krnyezetben is alkalmazni lehet u oket. Ilyen mdon igazi szuperszmtgpeket lehet ltrehozni olcs PC-s hardverb l. o A megfelel szint sklzhatsg el felttele a feladatok prhuzamostsa s a prhuo u o zamos programozs. A prhuzamostst f knt a tudomnyos s technikai szmtsok o terletn lehet alkalmazni, de az ltalnos vllalati krnyezetben is tallhat jnhny lehet sg. o
A magas rendelkezsre llst biztost frtk nem hibat r megoldsok, mert meghiuo bsodsok esetn bizonyos szolgltatsok rvid id re megszakadhatnak. Hossz tvon o viszont a rendelkezsre lls rendkvl magas rtkeket rhet el. 30
LME
GNU/Linux Konferencia
2. gp
A csomag
B csomag
A frt kt gpbol ll s mindkett aktv szerepet tlt be: alkalmazsokat futtat s ksz o tvenni a msik gp alkalmazsait. A frt lnyeges jellemz je, hogy a kt gp egy kzs o SCSI buszon vagy Storage Area Network-n keresztl ri el a megosztott diszkeket. A frt megfelel m kdst egy mdostott kernel s dmon processzek biztostjk. A o u frt gpei bizonyos id kznknt gynevezett heartbeat jeleket kldenek egymsnak o LAN-on (tbb hlzati krtyn is lehetsges) vagy soros vonalon keresztl. Amennyi ben a bejvo heartbeat jelek az egyik gpen kimaradnak, a gp gy veszi, hogy a msik gp nem m kdik s megkezd dik a frt jraalakulsi folyamata. Az jraalakult frt u o mr csak egyetlen gpbol ll, amelyik tveszi a meghibsodott gp alkalmazsait. A meghibsodott gp jraindtskor automatikusan, vagy kzi vezrlssel csatlakozik a frthz. A frt indtsa, lelltsa, talaktsa, az alkalmazs-csomagok indtsa s lelltsa egy adott gpen kln parancsokkal lehetsges. A frt megoldsnak helyesen kell kezelnie azokat a helyzeteket is, amikor a kt gp kztt minden kommunikci megszakad. Ebben az esetben egy specilis diszkterletet lehet hasznlni a frt talakulsi folyamatnak vezrlsre. A frt gpein fut, magas rendelkezsre llst ignyl alkalmazsokat gynevezett alo kalmazscsomagokba kell szervezni. Az alkalmazscsomag minden olyan er forrst o tartalmaz, ami az alkalmazsok m kdshez szksges: fjlrendszerek, IP cmek, u fut programok (processzek). Minden egyes alkalmazscsomaghoz hlzati krtynknt legalbb egy mozg IP cm tartozik. Ahhoz, hogy egy alkalmazst egy ilyen frtn futtatni lehessen, meg kell felelnie nhny felttelnek: nem fgghet a host nvt l s semmilyen gp specikus paramtertol (pl. MAC o cm),
IP1 IPA
IP2 IPB
Hlzat
1. bra
31
LME
GNU/Linux Konferencia
Minden alkalmazscsomag szmra ltezik egy els dleges gp s egy vagy tbb tartao lk gp. Alapllapotban, amikor a frt minden gpe m kdik, az alkalmazscsomagok u az els dleges gpeken futnak. Amennyiben egy els dleges gp meghibsodik vagy leo o ll, a rajta fut alkalmazscsomagok automatikusan tkerlnek egy tartalk gpre. Az alkalmazscsomagok fontossgnak fggvnyben a tartalk gpen fut alkalmazsokat le lehet lltani, hogy megfelel er forrs (CPU, memria) jusson a kritikus alkalo o mazsoknak. A frt helyes m kdsnek elengedhetetlen felttele a megosztott diszkek biztonsu gos kezelse. Ezt nagyban segtheti a Logical Volume Manager (LVM) hasznlata. A megosztott diszkeken ajnlott naplz fjlrendszert hasznlni (pl. Reiserfs, JFS, XFS). Ellenttben egyb frt megoldsokkal, a magas rendelkezsre llst biztost, megosztott diszkekre pl frt megoldsok esetben csak megfelel , a hardver- s szofto o vergyrtk ltal min stett kongurcik m kdnek helyesen. Ezrt ltalban csak a j o u minosgu, drga hardverkongurcik tmogatottak. A frt kialaktsa s zemeltetse nagymrtkben egyszerusdik, ha megegyezik a gpek hardver- s szoftverkongur cija. A gpek opercis rendszere s patch szintje azonos kell legyen. A leggyakoribbak a kt gpbol ll frtk, de a frtszoftvert l fggoen a gpek szma o ennl nagyobb is lehet. A legismertebb Linux frtszoftverek a mr jl bevlt Unix megoldsok portolt vltozatai, pldul Hewlett-Packard MC/ServiceGuard, Silicon Graphics FailSafe, HighAvailability.Com RSF-1, de nagyon npszeru a Mission Critical Linux Convolo Cluster megoldsa is (http://www.missioncriticallinux.com/ ). A shared disk frtk magas ra s komplexitsa miatt csak olyan alkalmazsok ese tben rdemes hasznlni oket, amikor nem lehetsges tbb azonos szerver egyideju m kdtetse (pl. web szerverek) vagy az adatok replikcija (pl. DNS szerverek). A u leggyakoribb plda a shared disk frtk ltal vdett alkalmazsokra a klnbz o adatbzisszerverek. rdemes megjegyezni, hogy az Oracle Parallel Server fut s tmogatott is tbb GNU/Linux disztribcin is (pldul SuSE http://www.suse.com/ ). A shared disk frtk ltal az alkalmazsok szmra biztostott rendelkezsre lls nagymrtkben fgg az alkalmazsoktl. A meghibsodott gp szlelse s a frt jraalakulsa ltalban kevesebb, mint egy perc, de az alkalmazsok jraindulsa egy hiba utn ennl jval tbb is lehet. Megfelel hardverkongurci esetn (redundns tpegyso gek, sznetmentes tp, RAID diszkrendszerek) Linux frtkkel is elrhet 99,99%-os o rendelkezsre lls. Br a shared disk frtk els dleges feladata a magas rendelkezsre lls biztostsa, az o alkalmazscsomagok kzi vagy automatikus mozgatsval el lehet rni egy bizonyos fok terhelsmegosztst a gpek kztt.
LME
GNU/Linux Konferencia
cmek tartoznak az alkalmazsokhoz. Mivel nincsenek megosztott diszkek, a gpek kztti tvolsg tetsz legesen nagy lehet. gy lehetosg nylik katasztrfat r megoldsok o uo kialaktsra. A Linux High-Availability Project http://linux-ha.org/ weboldaln rszletes informci tallhat a projekt keretben kifejlesztett megoldsokrl (heartbeat, fake). Szmos linuxos cg indtott sajt projektet ( RedHat Piranha http://ha.redhat.com/, VA Linux UltraMonkey http://ultramonkey.sourceforge.net/ ) ilyen tpus frtmegoldsok kifejlesztsre. A gyakorlatban a megosztott elemek nlkli frtmegoldsokba beptik a dinamikus terhelsmegosztst is, s ezek a megoldsok az alkalmazsok szles skljt kpesek futtatni (pl. fjl-, nyomtat-, web, ftp, mail szerverek).
3. Terhelskiegyenlt frtk o
A terhelskiegyenlto frtk tbbnyire egyszerre oldjk meg a magas rendelkezsre lls s a sklzhatsg problmjt. A legegyszerubb terhelskiegyenlto frtt a DNS segtsgvel lehet megvalstani. Ha egy host nvhez tbb IP cmet rendelnk s a time-to-live paramter rtket kell en o alacsonyra vesszk, akkor a nvfelolds gyakorlatilag vletlenszeruen fogja visszaadni a host nvhez tartoz IP cmeket. Ez megfelel egy primitv terhelsmegosztsnak. A megolds nagy hinyossga, hogy nem biztost semmilyen magas rendelkezsre llst, s nem veszi gyelembe a szerverek tnyleges terhelst. A vals alkalmazsok ig nyeinek megfelel en olyan terhelskiegyenlto frtmegoldsok jelentek meg, amelyek o egyetlen gpknt mutatkoznak az alkalmazsok szmra. Alapvet en ktfajta terhelso kiegyenlto frtmegoldsrl beszlhetnk: virtulis szerverek, amelyek egy virtulis IP cm mgtt tbb valdi szervert jelentenek
Mindhrom mdszer a Linux kernel mdostst ignyli. A NAT mdszer a teljes odavissza forgalmat a LinuxDirector-on keresztl valstja meg. A msik kt mdszer esetben a virtulis szerverre rkez krseket a LinuxDirector sztosztja a valdi szerveo rek kztt, mg a vlaszokat a valdi szerverek egyenesen a klienseknek kldik vissza. 33
LME
GNU/Linux Konferencia
Mivel a vlaszok mrete nagyobb mint a krsek, ezek a megoldsok jval nagyobb tviteli sebessget tesznek lehet v mint a NAT mdszer. o A Linux Virtual Server tbb algoritmust is hasznlhat a valdi szerverek terhelsnek kiegyenltsre. Az algoritmusok gyelembe veszik, hogy egy adott gp elrhet -e s o hogy a gpen mekkora a terhels. gy megvalsul a valdi szerverek magas rendelke zsre llsa, mert a LinuxDirector csak a m kdo szerverek fel tovbbtja a krseket. u A terhelskiegyenlts is m kdik, mert az jabb krsek a kevsb terhelt szervereku hez rkeznek. A Linux Virtual Server-nek a LinuxDirector az egyetlen egyedi meghibsodsi pontja. Ezrt ha egy teljesen HA megoldst akarunk, kt LinuxDirector-t egy magas rendelkezsre llst biztost frtbe kell kapcsolni. Egy ilyen megoldssal pldul egy rendkvl magas rendelkezsrells s teljestmny webszerver-farm alakthat ki. Mivel u az sszes valdi szerver ugyanazt a tartalmat szolgltatja, a megoldst ki kell egszteni egy hibat r fjlszolgltatssal. Erre a clra a Coda http://www.coda.cs.cmu.edu/ uo elosztott s hibat r fjlrendszer az egyik legjobb megolds. uo
Valdi szerverek
1 krs
Hlzat
3
vlasz
2. bra A 2. brn egyedi meghibsodsi pont nlkli virtulis szerver frt lthat. A kliensr l o rkez krseket a LinixDirector fogadja s osztja szt a megfelel valdi szervernek. o o A valdi szerver a vlaszt kzvetlenl kldi vissza a kliensnek.
LME
GNU/Linux Konferencia
3.2.1.
Beowulf frtk
A NASA berkeiben indult projektet jelenleg a Scyld Computing Corporation: http://www.scyld.com/ folytatja. A Beowulf frt legjabb vltozata nagymrtkben egyszer stette a frt installcijt, m kdst s menedzsmentjt. A Beowulf terminou u lgit hasznlva egy Beowulf frt egy master gpbol s tbb compute gpbol ll. A compute gpek a master gprol bootolnak s a programok kdja a master gpen van trolva. A compute gpek a sajt merevlemezket csak swap terletknt s adatok trolsra hasznljk. gy garantlt, hogy ugyanaz az opercis rendszer s az alkalmazsok verzija a frt minden egyes gpn. A Bproc, a Linux kernel processzmenedzsment-b ovtse, biztostja, hogy a Beowulf frt egyetlen rendszer kpt mutassa. A Bproc lehet v teszi, hogy a frt gpein fut o processzeket a master gprol lehessen ltni s felgyelni. A processzek a master gpen indulnak s a Bproc segtsgvel tkerlnek egy megfelel compute gpre. A o processzek kztti szl -gyerek kapcsolat s a job control rvnyes marad a migrlt o processzekre. A Scyld Beowulf szmos olyan szoftver komponenst tartalmaz, amivel hatkonyan lehet kezelni a frt s a rajta fut alkalmazsok m kdst. Ezek kztt u rdemes megemlteni az MPI s PVM Beowulf frtre optimalizlt vltozatt. Ezek a szoftver komponensek alkalmass teszik a Beowulf frtt a hagyomnyos s a prhuzamos programok hatkony futtatsra. A Beowulf frt mukdsben a master gp jelenti az egyetlen egyedi meghibsodsi pontot. A Beowulf kvetkez verzija mr tbb master gpet is tartalmazhat majd, s o ezekbol ki lehet alaktani egy magas rendelkezsre llst biztost frtt.
processzB
compute gpek
processzB
HA frt master gp
processzA processzA
tartalk master gp
Hlzat
3. bra A 3. bra egy olyan Beowulf frtt mutat be, amelyikben nincsenek egyedi meghibsodsi pontok. A processzeket a master gpen kell elindtani (kzvetlen bejelentkezs vagy remote shell) majd a processz tkerl egy megfelel compute gpre. o
35
LME
GNU/Linux Konferencia
3.2.2.
Mosix frtk
A Mosix szoftvercsomagot a jeruzslemi Hebrew University-n fejlesztettk ki. A Beowulfhoz hasonlan a Mosix is mdostja a Linux kernelt. Mosix krnyezetben ktfajta gp ltezik: szerver s munkalloms. A szerverek mindig rszei a frtnek, a munkallo msok nem mindig. A nagysebessgu hlzatba kttt gpekbol nagyon rugalmasan tbb frtkongurcit is ki lehet alaktani: server-pool - csak a kijellt szerverek alkotjk a frtt, a munkallomsok nem. Processzeket csak gy lehet indtani, hogy bejelentkeznk egy szerverre.
adatprive-pool - a munkallomsok belphetnek a frtbe illetve kilphetnek a frtbol. half-duplex pool - a munkallomsok processzeket kldhetnek a szerverekbol ll frtre, de nem lpnek be.
A Mosix frt m kdse teljesen transzparens az alkalmazsok szmra. gy a Mosix u frt lehet v teszi tetsz leges szekvencilis vagy prhuzamos alkalmazs futtatst, o o fggetlenl attl, hogy a processzek melyik gpen futnak s hogy ms felhasznlk mit csinlnak. A Mosix ltal mdostott kernel a gpek terhelse s a gpeken rendelkezsre ll er forrsok fggvnyben transzparens mdon mozgatja a processzeket a gpek ko ztt. Ezltal nagymrtkben megn a rendszer ltalnos teljestmnye. Egy processz o rviddel a ltrehozsa utn tkerl a frt legmegfelel bb gpre. Ezutn a mdostott o temez gondoskodik a processz mozgatsrl s rendszerterhels optimalizlsrl. o A MOSIX temez je egy komplex algoritmust hasznl, ami gyelembe veszi a gpeo ken rendelkezsre ll er forrsokat (CPU sebessge, memria mennyisge). A fut o processzeket a QPS grakus program segtsgvel lehet felgyelni. A Mosix egy sajt elosztott MFS fjlrendszert hasznl. gy a frt sszes gpe ugyanazt a fjlrendszert ltja. Az MFS nagy el nye, hogy biztostja az MFS fjlrendszer cache o konzisztencijt a gpek kztt. Az MFS megfelel a Direct File System Access (DFSA) szabvnynak.
LME
GNU/Linux Konferencia
el nye, hogy egyarnt alkalmazhat SMP vagy MPP architektrj gpeken vagy egy o frt gpein fut feladatok kztt. Az zenettads sorn a kldo s fogad oldal egyttm kdik az adatok kldsben. Az adatokat explicit mdon el kell kldeni az egyik u oldalon s fogadni kell a msikon. zenettadsos mechanizmust hasznlva rendkvl nagy, tbb szz gpbol ll frtket is ltre lehet hozni. A frt teljestmnyt viszont csak megfelel mdon megrt o programokkal lehetsges kihasznlni. Nem minden feladat alkalmas az ilyen nagyfok prhozamos m kdsre. u A kt legelterjedtebb zenettads modellre pl megolds a Message Passing Intero face (MPI) http://www-unix.mcs.anl.gov/mpi/indexold.html s a Parallel Virtual Machine (PVM) http://www.epm.ornl.gov/pvm/pvm_home.html. Mindkt megolds nylt forrskd. A GNU/Linux az egyik legkedveltebb platform az MPI s PVM frtk megvalstsra.
37
LME
GNU/Linux Konferencia
parancs a LAM dmonokon keresztl indtja el a futtatand programokat. A vgn a wipe paranccsal a LAM frtt le kell lltani. A LAM lehet v tesz bizonyos fajta hibat rst, de nem nevezhet magas rendelkezsre o u o llst biztost frtnek. A Beowulf tartalmaz egy optimalizlt mpirun programot. gy a Beowulf frt egyarnt hasznlhat hagyomnyos s MPI programok futtatsra.
5. sszefoglal
Az x86-os processzorok egyre nagyobb teljestmnye, a mr rendelkezsre ll IA64 architektra s a nagyszm nylt forrskd vagy kereskedelmi frt szoftver egyre vonzbb teszik a GNU/Linux alap frtket. Gyakorlatilag minden frt tpusra ltezik ilyen megolds. gy rendelkezsre llsban s sklzhatsgban a GNU/Linux kszen ll a vllalati krnyezetek meghdtsra. Br GNU/Linux frt mg nem szerepel a TOP500 Supercomputer http://www.top500.org/ listn, szmos frt installci alapjn ez a platform biztostja a legjobb teljestmny/r tnyez t. o
38
Tartalomjegyzk
1. Bevezets 2. Tervezs trendek 2.1. Tervezs konklzi . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2. Tervezs Mi az, ami elrhet ? . . . . . . . . . . . . . . . . . . . . o 3. Vkony kliensek lehet sgek o 3.1. A Sun Hot Desk technolgija . . . . . . . . . . . . . . . . . . . . . 4. Megvalsts Eszkzk, tapasztalatok 40 40 40 40 41 41 42
39
LME
GNU/Linux Konferencia
1. Bevezets
A XVIII-XIX. Kerleti Brsg j pletbe kltztt 2000 oszn. A beruhzs kapcsn zld mez s beruhzsra nylt lehet sgnk. A brsgok letben a zld mez s o o o beruhzs kt szempontbl is izgalmas: Ilyenkor lehet sget kap az informatika, hogy a fantzija szrnyaljon s valami o jat alkosson.
Ritkn addik egy brsg letben hasonl lehet sg, teht rtkllt kell teo remteni.
2. Tervezs trendek
A beruhzs megtervezsekor meggyeltk a brsgi informatikban szlelhet treno deket. Az albbi rendszereket, elvrsokat elemeztk: 1. A Cgbrsgi rendszer: A Cgbrsgi rendszer (SCO Unix alap PC szerverek, DEC VT terminlok (97db), Soros kbelhlzat, Puritn alfanumerikus fellet, Modern hromrteg alkalmazs) A legfontosabb tapasztalatunk, az erklcsi u amortizci = zikai amortizci, illetve, hogy nincsenek knyszerek! Semmi sem knyszerit bennnket a rendszerelemek folyamatos cserlgetsre. A felhasznlk bartsgosabb felhasznli felletre vgynak. Grakus felhasznli fellet igny! 2. PC-s hlzatok (NetPC): Novell szerverek / Zenworks, IBM AIX szerverek / SAMBA, MS Windows kliensek NetPc-szer alkalmazs! A rgi PC-s op. u rendszerek alkalmatlanok, az j PC-s op.rendszerek modern, nagy kapacits PC-t ignyelnek. A vkony hlzati megoldshoz vastag kliensek szksgesek! 3. Szabadszoftver alap vkony-kliens megoldsok (lsd. ETB konferencia) 4. A F vrosi Brsg elnknek elvrsai: Folyamatos rendelkezsre lls, ino formatikai biztonsg, az erklcsi amortizci ideje kzeltse meg a zikai amortizci idejt, ergonmiai elvrsok, elgedett felhasznlk, olcs zemeltets. Kompatibilis irodai programcsomag, Adatbzisok (Jogtr, Lajstrom, . . . ), E-learning a szakmai kollgiumoknak.
LME
GNU/Linux Konferencia
SunRay technolgia
Mi a SUN megoldsa a SunRay technolgia mellett dntttnk, a szabad s kompakt irodai krnyezet miatt.
LME
GNU/Linux Konferencia
a felhasznlk egy nagy teljestmny , jobban kihasznlt rendszerben dolgoznak. Az u er forrsok megosztsbl fakad nyeresget mint ptllagos, a redundacit nvel o o teljestmnyt kltsghatkony mdon visszailleszthetjk a rendszerbe mind tkrzs, mind pedig melegtartalk formjban. (forrs: http://www.sun.hu)
42
Tartalomjegyzk
1. Bevezets 2. Project, project management 2.1. A project dencija . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2. Nylt forrs projectek . . . . . . . . . . . . . . . . . . . . . . . . . 2.3. A projectmenedzsment cljai . . . . . . . . . . . . . . . . . . . . . . 3. Az let, a vilgmindensg, meg a projectmanagement 3.1. A hacker kultra, avagy a kiindulsi projectkrnyezet 3.2. Technikai krdsek . . . . . . . . . . . . . . . . . . 3.2.1. Tecnikai krdsek s a amewar . . . . . . . 3.2.2. Okos struktrk s buta kd . . . . . . . . . 3.2.3. A j tletek . . . . . . . . . . . . . . . . . . 3.2.4. A szintaktikus cukor . . . . . . . . . . . . . 3.3. Motivcis krdsek . . . . . . . . . . . . . . . . . 3.3.1. A kritikus tmeg . . . . . . . . . . . . . . . 3.3.2. A felhasznlk fontossga . . . . . . . . . . 3.3.3. Release early, release often . . . . . . . . . . 3.3.4. A szemlyes problma varzsa . . . . . . . . 3.3.5. A hozzlls . . . . . . . . . . . . . . . . . 3.3.6. A jtkony dikttor . . . . . . . . . . . . . . 3.3.7. Ha lelpsz, tedd szpen . . . . . . . . . . . . 4. Epilg 44 44 44 44 45 46 47 47 47 48 48 49 49 49 49 50 50 50 50 51 51
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
43
LME
GNU/Linux Konferencia
1. Bevezets
Ebben az el adsban azt prblom meg krljrni, hogy hogyan s mit l m kdnek o o u illetve nem m kdnek azok a tevkenysgek, amik a lelkesedsb l vgzett kzs munu o kra ptenek. Ezt a tevkenysgformt s a mgtte meghzd mechanizmusokat a nylt forrs szoftverfejeztsi projecteken, mint egy informatikus ltal taln legjobban ismert ilyen tevkenysgen keresztl fogjuk vizsglni. Ennek a kalandozsnak a nem titkolt clja annak a krdsnek a boncolgatsa, hogy az LME[11] ltal vgzett munkban a lesz rt tanulsgok hogyan alkalmazhatak, de u nem fogunk elsiklani olyan krdsek mellett sem, amik a nem puszta lelkesedsb l o vgzett szoftverfejlesztsi projectek szmra mutathatnak j utakat. A flrertsek elkerlse vgett szeretnm kijelenteni hogy nem tartom magam mg amat r szociolgusnak sem, nemhogy a tma avatott ismer jnek. Ha az el ao o o dsnak csak annyi eredmnye lesz, hogy a tma irnti rdeklodst felkelti, elrtem a clomat.
44
LME
GNU/Linux Konferencia
A hatrid k nem annyira lnyegesek Mivel pnzt nem kapnak rte, az eredmny o sem annyira szmonkrhet o. Ennek egyik megjelensi formja az, hogy a hatrid k nem tl lnyegesek. o Nincs vge A nylt forrs szoftverek folyamatosan fejl dnek. Teht a fejlesztsnek o nincs vge, csak szakaszai vannak. Termszetesen a nylt forrs szoftvert kszt projectek kzl nagyon sok nem tekinto het a fenti denci szerint nylt forrs projectnek, gondoljunk csak azokra a szofto verekre, amiket egy-egy cg alkalmazottai a zetskrt rnak. Ez csupn azt jelenti, hogy a Nylt forrs project elnevezs nem elg pontos. De mivel denilva van az itt alkalmazott jelentse, remlem ez nagyobb flrerts forrsa nem lesz.
LME
GNU/Linux Konferencia
azonnal ki van tve a publikus szemlnek, gy az esetleges problmk gyorsan felsznre kerlnek. Az emberek motivlsa az unalmas munkra A hagyomnyos projecteknl ezt a problmt prmiumokkal s az emberek ismtelt krlelsvel szoks megoldani (a krlelst addig kell folytatni, amg unalmasabb nem vlik mint a munka elvg zse maga). A nylt forrs projecteknl ktfle hajtero van (a krlels persze rvid tvon itt is bevlik, de hossz tvon nem felttlenl kizet d ). Az egyik o o az, hogy a rsztvev k sokflesge miatt gyakran lehet tallni olyan embert, aki o szmra az adott munka nem unalmas; akr azrt, mert az elvgzendo munkt jelkpezo problmt nagyon rzi, akr azrt, mert az o kszsgeinek pontosan az adott munka a megfelel szint kihvs. A msik ok az, hogy a nylt forrs o u projectek ajndk-kultrn (gift culture) alapulnak, ahol a legfontosabb zet o eszkz a reputci. Ez azt jelenti, hogy az, akinek a kompetencijba tartozik egy adott feladat elvgzse, annak elhanyagolsrt a sajt reputcijval zet. Ez sok esetben nagyobb hajterot jelent az anyagi javaknl. Munkabeoszts A munka beosztsrl a rsztvev k irnyban tartsnl mr beszlo tnk. A nylt forrs projecteknl a kiemelendo szempont az, hogy a munkabeoszts egy nszablyz, a clok kijellsvel harmonizl folyamat. Legjobban taln a Debian projectnl ltszik ez: az egyes csomagokat azok ptyolgatjk, akik az adott tmt legjobban ismerik, s a funkcionalitsra a legnagyobb szksgk van. Az er forrsok megszerzse, megtartsa A hagyomnyos projectmenedzseri muno knak fontos rsze a project elejn az er forrsok biztostsa, azt kvet en peo o dig ezeknek az er forrsoknak a megtartsrt vvott remnytelen kzdelem:) A o nylt forrs projecteknl a kp egyszerubb, noha a feladat nem kevsb bonyo lult. Itt ugyanis egyetlen er forrs van, ami lnyeges; az emberi tuds. A project o vezet jnek teht a feladata az hogy megfelel mennyisg embert motivljon o o u rsztvtelre a projektben.
46
LME
GNU/Linux Konferencia
A technikai krdsekkel kapcsolatos egyeztets a project letben kt szempontbl fontos: Egyrszt a j technikai dntsek alapozzk meg a kszl szoftver min sgt s az o o elksztshez szksges munka mennyisgt, msrszt a szoftverr l szl diszkusszi o az ami letben tartja a projectet, mivel ez az egyik olyan terlet amivel a project tagja inak rdeklodst fel lehet kelteni s fenntartani. 47
LME
GNU/Linux Konferencia
rdekes meggyelni azt, hogy ez a diszkusszi igen gyakran f ttt hangulat viu tkban cscsosodik ki. Ez olyan szinten igaz, hogy az ehhez nem szokott szemll o szmra riaszt mdon hathat az a md s hevessg ahogyan az egyes krdsek a levelez listn megvitatsra kerlnek. Ez all a szably all gy t nik nincs olyan sikeres o u nylt forrs project ami kivtel. Az LME levelez listjt s az egyesletben vgzett o munkt meggyelve pedig kiderl, hogy ezeknek a amewar-oknak rendkvl er s o motivcis hatsuk van. Egy-egy ilyen utn kt-hrom htig csak gy buzog az let. Sajnos a amewaroknak visszatart erejk is van: esett meg hogy egy nylt szoftvert fejleszt cg azrt nem ksztett nylt fejleszt i listt mert az azon vrhat ao o mewart tlsgosan er s zavar tnyez nek gondoltk. Ugyangy lthat, hogy tbben o o ppen ezek miatt a vitk miatt tvolodtak el az Egyeslettol. A fenti kt effektust gyelembe vve az t nik sszer nek, hogy a levelez listn u u o folyamatos, de lehet leg szls sgmentes forgalmat tartunk fnn. A forgalom katao o lizlsra az Egyesletnl a Keddlog, a fejlesztsi projecteknl a release notes-ok s klnbz o sttuszriportok szolglnak, mg a moderlsra a lista illemtantl kezdve a modertori eszkzk s a spamdb alkalmasak. Abban gy t nik egyetrts van, hogy u emberi modertor beiktatsa az esetek nagy rszben nem a legalkalmasabb megolds: nem csak azrt mert az emberi kzremukds sok er forrs, hanem az ltala bevezetett o ksleltets nha tl lassv teszi a kommunikcit. 3.2.2. Okos struktrk s buta kd
ESR egyik alapelve azt mondja: Az okos adatstruktrk s a buta kd sokkal jobb, mint fordtva. Ennek a mondsnak a technikai alapja az, hogy ha az struktrk okosak, akkor elvgzik azt a munkt, amit egyb esetben a kdnak kellene vgeznie. Ha belegondolunk, az egsz digitlis technika arra pl hogy az anyagot olyan okos struktrkba hajtogatjk, amit l az a buta elektron pont gy grbl hogy mindenfle okos szmto sokat lehessen vele vgezni. Ez a monds az emberi munkra is igaz. Ha a struktrk (itt nyugodtan gondoljunk szervezeti struktrra ppgy mint egy weboldal felptsre) okosan vannak felptve, akkor a dolgokat m kdteto emberek sokka nagyobb hatst tudnak kifejteni. Ennek u egyik oka az, hogy aki csinl valamit, az ezt effektvebben tudja tenni, a msik pedig az hogy olyanok is odafrnek a munkhoz, akiknek egy rosszabb struktra esetn nem lenne hozz elg afnitsuk. Fontos azt tudni, hogy az okos struktra nem felttlenl bonyolult, s t a jl bevlt KISS alapelv szerint (Keep It Simple, Stupid), a o legegyszerubb struktrk a legjobbak. A szervezeti struktra okos felptsre irnyul er fesztsekre az egyesletnl a o csoportok kialaktsa, az azta megszntetett vlasztmny, s a Vnek Tancsa volt a plda. Sajnos ezek kzl sszesen a csoportok voltak azok amikre egyel re nem lehet o azt mondani hogy hamvba holt tlet. Az okosan struktrlt munkakrnyezetre irnyul er feszts a Fordts Segt Rendo o szer (FSR)[12], amelynek clja az, hogy a fordtsi munkkat koordinlja, egyszerubb tegye a fordtk munkjt, s lehet v tegye a bekapcsoldst azoknak is, akik egybo knt csak kevs id vel rendelkeznek erre a clra. o 3.2.3. A j tletek
A kvetkez szmbavett alapelv gy szl: Felismerni a felhasznlk j tleteit majdo nem olyan j, mintha neked lennnek j tleteid. Nha mg jobb is.
48
LME
GNU/Linux Konferencia
n tovbb mennk. A felhasznlk j tleteit felismerni mindig jobb, mert ez azzal jr, hogy a felhasznl gy rzi, hogy foglalkozva van vele. Ezen tl a szoftver a vals felhasznli ignyeket fogja kielgteni. Ha elvonatkoztatunk a szoftverfejlesztst l, a helyzet mg egy kicsit csiszoldik. o Ugyanis egy nem annyira j tlet, ami egy projecttagtl ered, gyakran nagysgrendekkel hatsosabb mint egy nagyon j, ami nem. Ugyanis ha valakinek van egy tlete, knnyen rvehet arra hogy valstsa is meg. o 3.2.4. A szintaktikus cukor
Az utolsnak citlt technikai alapelv: Ha a nyelved sehol sincs a Turing-teljeshez, a szintaktikus cukor a bartod lehet. Azt hiszem ezt a mondst a hacker slangben kevsb jratosak szmra nem rt rtelmezni. ESR itt a kongurcis llomny szintaxisrl beszl. Azt mondja, hogy ha ez a szintaxis egyszeru, akkor kedves tlet lehet olyanra formlni, ami az angol nyelvhez kzelebb ll. Ezzel kt legyet lehet tni egy csapsra. Az egyik ami ESRnek gy t nik nem jutott eszbe, s a mi diszkusszink szmra sem tl lnyeges, az u hogy az gy bevitt redundancia egyszerustheti a kongurcis hibk felismerst. A lnyegesebb elem az hogy gy a kongurci kzelebb fog llni a felhasznl szvhez, s gy jabb elgedett felhasznlkra tesznk szert.
Ha elg nagy a btateszteri s a fejleszt i bzis, szinte minden problma gyorsan be o lesz hatrolvam s nyilvnval lesz valakinek a javts. Ez a szably egy rendkvl fontos fogalomhoz, a kritikus tmeg fogalmhoz kapcsoldik. A kritikus tmeg az a felhasznlmennyisg, ami fltt egy fejleszts nfenntartv vlik. A felhasznlk szmval ugyanis egyenesen arnyos a btateszterek s a fejleszt k szma, s ltezik olyan fejleszt i szm, ami elegendo egyszoftver foo o lyamatos fejl dshez. A sikeres szoftverprojectek tulajdonsga az, hogy elrtk a o kritikus tmeget. Tovbbmenve, a legsikeresebb szoftverproject, a Linux kernel immr azzal a problmval kzd, hogy tl sok a fejleszt , s a fejleszt i tlet, s ez a project o o koordincijban okoz zavarokat, amik persze visszahatnak a min sgre is. o Az egyeslet letben ez gy fogalmazdik meg, hogy ha sok a tag, akkor vrhatan tbb lesz kzlk aktv (az aktv tagok arnya kb tz szzalkra tehet ), s gy o tbbet tudunk tenni a cljainkrt is. 3.3.2. A felhasznlk fontossga
A felhasznlk fejleszt knt val kezelse a legegyszer bb tja a gyors fejlesztsnek s o u az effektv hibakeressnek. 49
LME
GNU/Linux Konferencia
Ha a btateszterekkkel gy bnsz, mint a legfontosabb er forrsoddal, ok ogy vo laszolnak, hogy a legfontosabb er forrsodd vlnak. o Ez a kt alapelv nagyjbl ugyanazt mondja: a felhasznli s a btateszteri krt meg kell nagyon becslni, s akkor nagyon sok terhet levesznek a fejleszt k vllrl. o Ez az alapelv a nem nylt forrs projectek szmra is megszvlelendo. Az egyesletnl a potencilis s vals tagsg az, ami ezt a gyelmet megrdemeln, sajnos eddig nem sikerlt igazn j megoldst tallni a megszltsukra. 3.3.3. Release early, release often
Tedd kzz hamar. Tedd kzz gyakran. s gyelj a felhasznlidra. Ez taln ESR leggyakrabban idzett mondsa. A nylt forrs fejlesztsek egyik mozgatrugja az evolucionlis fejl ds, aminek sebessge legjobban a genercivlo ts sebessgt l fgg. Ha gyakran jnnek ki j verzik, akkor a hibk hamar napfnyre o kerlnek, a fejlesztsi irnyvltsok simk lehetnek, s a felhasznli/fejlesztoi tbor folyamatos izgalomban tarthat. F knt a folytonos izgalomban tarts s az irnyvltsok simasga az ami megszvo lelend a nem szoftverprojecteknl. o 3.3.4. A szemlyes problma varzsa
Minden j szoftver gy kezd dik hogy a fejleszt nek szemlyes problmja tmad. o o Ez az alapelv a szemlyes rintettsg fontossgt emeli ki. Ahhoz hogy valaki bekerljn egy nylt forrs projectbe, szinte ktelez hogy valamirt szemlyes leszo molnivalja legyen egy olyan problmval, ami az adott szoftverhez kapcsoldik. A nem szoftverfejlesztsi projecteknl a levonhat tanulsg az, hogy a project ltal kpviselt gyet a rsztvev k vagy potencilis rsztvev k szemlyes gyv kell tenni. o o Ez az egyesletnl taln a Linuxxal kapcsolatos ismeretekre val hsg kiaknzsval lenne legjobban elrhet , s lehet hogy a motivcis problmk pontosan onnan o fakadnak, hogy az egyeslet tagjai ltal vgzett tevkenysgek nagy rsze a PR s a rendezvnyszervezs tmakrbe esnek, amihez az tlag informatikusnak nincs tlzott afnitsa. Pedig szkpakols kzben lehet a memriamenedzsment rejtelmeir l s a o hlzati hatrvdelem krdseirol beszlgetni:) 3.3.5. A hozzlls
Ha megfelel a hozzllsod, az rdekes problmk megtallnak. o Hogy megoldhass egy rdekes problmt, keress egyet. Ez az alapelv inkbb a projectek rsztvev inek szl, mint azoknak, akik irnytjk o azokat. Egyszeruen arrl szl, hogy a vilg tele van rdekes tennivalkkal, s ha az ember nem ilyed meg azoktl, s keresi oket, rengeteget tanulhat. 3.3.6. A jtkony dikttor
Ha a fejleszts vezet jnek van egy mdiuma ami legalbb olyan j, mint az internet, o s tudja hogyan kell knyszer nlkl vezetni, a sok fej mindenkppen jobb mint egy Ez az alapelv azt mondja, hogy a j vezet nem er vel, hanem meggyozssel veszi o o r a segt it a megfelel lpsek megttelre. Azt hiszem egy lelkesedsb l vllalt felo o o adatnl nem kell ecsetelni ennek a jelent sgt, s a formlis felpts szervezeteknl o u is nyilvnval az ilyen vezetsi stlus el nye. o
50
LME
GNU/Linux Konferencia
3.3.7.
Ha elveszted az rdekl dsed a program irnt, az utols feladatod tani azt egy hozzo rt rksnek. o Ez a monds nmagrt beszl. Lthatjuk azt a folyamatot, ahogyan Linus a stabil verzival kapcsolatos gyeket tadja Alan Coxnak. Az egyeslet letben pedig meggyelhetjk, hogy az elnkk miutn egy v alatt tele lesz mindenk az egyes lettel, javasolnak egy olyan elnksget, akikbol kinzik hogy tovbb tudjk azt vinni a htukon.
4. Epilg
Az itt felvillantott krdsek a nylt forrs projectek vezetsnek csak nhny aspek tust fedtk le. Technikai krdsekrol direkt nem esett tl sok sz, nem szltam a problmafelolds mechanizmusairl (ezt a problmakrt ESR a Homesteading the Noosphere cm rsban alaposan felboncolja), s sz sem esett arrl a lehet sgr l, u o o hogy esetleg nylt forrs projectekhez is lehetne kszteni mdszertant a SUMMIT-D vagy a PRINCE pldjra. A cl csupn annyi volt, hogy egy kicsit tbbet megtudjunk az LME m kdsrol a nylt forrs projectek pldjn keresztl. u
Hivatkozsok
[1] Eric S. Raymond (ESR): The Cathedral and the Bazaar (http://tuxedo.org/ esr/writings/cathedral-bazaar/cathedral-bazaar/) [2] Eric S. Raymond (ESR): A Brief History of Hackerdom (http://tuxedo.org/ esr/writings/cathedral-bazaar/hacker-history/) [3] Eric S. Raymond (ESR): The Magic Cauldron (http://tuxedo.org/ esr/writings/cathedral-bazaar/magic-cauldron/) [4] Eric S. Raymond (ESR): Homesteading the Noosphere (http://tuxedo.org/ esr/writings/cathedral-bazaar/homesteading/) [5] Eric S. Raymond (ESR): Hogyan vljunk hackerr? (Kovcs Emese fordtsa) (http://lme.linux.hu/forditas/hacker-howto.html) [6] Eric S. Raymond (ESR): Loginakata (http://lme.linux.hu/forditas/loginataka.html) [7] Prince2, site index page. (http://www.prince2.com/) [8] Summit home page:
(http://www.pwcglobal.co.uk/gx/eng/about/svcs/summit/smmthome_allsallgxeng.html) [9] Debian home page (http://www.debian.org/) [10] Kernel Trafc (http://www.zork.net/)
51
LME
GNU/Linux Konferencia
[11] Linux-felhasznlk Magyarorszgi Egyeslete (http://www.lme.hu/) [12] Fordts Segt Rendszer (FSR) o (http://fsr.zope.hu/)
52
Tartalomjegyzk
1. Kinek szl ez az el ads? o 2. Az opercis rendszer biztonsgi krdsei 3. Megfelel eszkzk kivlasztsa o 4. Rendszer tervezse gyakorlati szemszgb l o 5. Az aktv tartalom fejlesztse 6. A kiszolgl teleptse, belltsai 7. zemeltetsi krdsek 8. Mr ltez rendszer vdelme o 9. Idegen szavak jegyzke 54 54 56 56 58 58 59 60 60
53
LME
GNU/Linux Konferencia
54
LME
GNU/Linux Konferencia
A korbban mr emltett meghajthibk elkerlsre s a hatkonyabb m kds u rdekben clszer egyedi fordts kernelt hasznlni. Ha olyan igny merl fel, ameu lyet a hivatalos Linux kernel egyel re nem tmogat (pldul IPSec VPN[5]), akkor o a kernelbe az adott patch is beptheto, de a nem hivatalos kiegsztsek hasznlatt clszer kerlni. Ezen kiegsztsek ugyanis okkal nem kerlnek a hivatalos kernelbe, u ami pedig a leggyakrabban teszteletlensg, vagy valamely komponenssel val sszefrhetetlensg. Elrhet k a kernel biztonsgi lehet sgeit b vt kiegsztsek is (pldul o o o o OW [1], HAP [2], LIDS [3] vagy a grsecurity [4]), ezek hasznlata abban az esetben clszer , ha azok forrsa hiteles. A kernelbe rdemes befordtani a csomagsz r tmou uo gatst is, amely segtsgvel egy er s nulladik vdelmi rteg alakthat ki a rendszer o rszre. Ez lehet v teszi a felesleges szolgltatsok tiltst (gy nem okoz gondot egy o esetleg vletlenl jraindult szolgltats), illetve az engedlyezett szolgltatsok elr het sgnek korltozst (ssh engedlyezse csak az arra kijellt gpekrol). Tovbbi o lehet sg a 2.4-es kernelsorozatnl a DoS s DDoS tmadsok elhrtsa. Ez nem o vdi meg a rendszert az elrhetetlensgtol, hisz a DDoS ppen arra pl, hogy a sok haszontalan krs kiszolglsa kzben a rendszer vagy sszeroppan, vagy a hasznos krsek nem lesznek kiszolglva. Mivel azonban korltozhat a segtsgvel a felplt kapcsolatok szma, gy a rendszert meg lehet vdeni az sszeomlstl, s a tmads befejeztvel a rendszer tovbb zemel. A rendszeren lv setuid s setgid llomnyok szmt a lehet legkisebbre kell koro o ltozni. Az esetek tbbsgben a sudo parancs elegendo, de bizonyos esetekben elrhet akr az is, hogy ne legyen egyetlen ilyen llomny sem. gyelni kell arra, hogy a o rendszeren az llomnyok hozzfrsi jogosultsgai a megfelel ek legyenek. Ez annyit o jelent, hogy olyan llomnyok ne legyenek mindenki ltal olvashatak vagy rhatak, amelyek ltalnos elrsre nincs szksg. Klns gyelmet kell fordtanunk a hlzati dmonokat futtat felhasznlk llomny-hozzfrsi jogaira. A legjobb megolds az egyes rendszerek klnvlasztsa. Ez a legegyszerubben a kernel ltal nyjtott chroot hvssal valsthat meg. Ugyan felmerlhetnek vele szemben biztonsgi problmk, de ezek a kernel nmi mdostsval elfogadhatan biztonsgoss tehet k [2]. o Jval biztosabb megolds valamilyen szmtgp emultor hasznlata. Ilyenek: usermode Linux [6], VMWare [7] vagy az Argante [8]. Ebben az esetben az egyetlen gpen futtatand szolgltatsok nagy biztonsggal szeparlhatk. Ezen megoldsok rszletes ismertetse meghaladja el adsom kereteit. o Ha a rendszer lehet v teszi, be kell hatrolnunk az egyes felhasznlk er forrso o felhasznlst, gy elkerlheto, hogy valamely hlzati kiszolgl tl sok er forrst o hasznljon fel. Krdses azonban, hogy hogyan reagl az adott kiszolglprogram az er forrsigny elutastsra. Ezt minden rendszernl tesztekkel lehet eldnteni. Ha o azonban kiderl egy kiszolglrl, hogy lell abban az esetben, ha nem kap elegendo memrit, akkor is rdemes hatrokat bevezetni. gy ugyanis elkerlheto, hogy egy tvoli, elrhetetlen gpteremben lv rendszer nhny rra, vagy akr vgleg elrheo tetlenn vljon. A msik vglet, hogy a gp jval nagyobb terhelst kpes elviselni, mint azt a kernelben belltott rtkek lehet v teszik (pldul a nyitott FD-k maxio mlis szma kevsnek bizonyulhat egy tbbprocesszoros gpen). Ebben az esetben szksg lehet a kernel kisebb mdostsra is. Az alaprtelmezett rtkek magasabbra lltsval a rendszer m kdse stabilizlhat. u
55
LME
GNU/Linux Konferencia
56
LME
GNU/Linux Konferencia
A processzor s a hlzat tlterhelsnek elkerlsre az adatszolgltatn futtatand lekrdezseket a fejleszt kkel optimalizltatni kell. A fejleszt kkel egyeztetve o o a virtulis tervez k arra a megllaptsra jutottak, hogy megfelel ellen rzs mellett a o o o php4 megfelel fejleszt eszkz lesz. Belltsait a biztonsgot szem el tt tartva kell o o o elvgezni (a php sok olyan lehet sget ad, melyek a programozst knyelmetlenebb, o a rendszert biztonsgosabb teszik). Az alkalmazs egyik legkritikusabb pontja a rendszert elr k azonostsnak s joo gosultsgainak krdse. Vegynk egy egyszeru pldarendszert ngy felhasznli szint tel: a webszervert futtat felhasznl (u0)
s a rendszerben jelen lv adatokat fontossg szerint osszuk ngy szintre (s jelli az o llomnyrendszerben elrhet adatokat, d pedig az adatbzisban megtallhatakat): o a honlap grakai s szveges elemei, a bevezet ash animci (s1) o a termkek adatai (d1) a rendelslista (d2) a raktri rendszer adatai (d3)
Miutn meghatroztuk, hogy milyen felhasznli szintek, s milyen adatok vannak, mr csak a hozzfrsi jogokat kell megfelel en kiosztani. Az albbi tblzatok kt o alapvet en klnbz o llspontot szemlltetnek. o u0 r rw rw rw u1 rw rw rw rw u2 r r rw r u3 r r w -
2. tblzat. Helyes jogosultsgi tbla Vizsgljuk meg, mi a problma az els jogosultsgrendszerrel. Ha a rendszer felo hasznlinak adatokat kell mdostani vagy lekrdezni az adatbzisbl, akkor oda valakinek hozzfrsi jogosultsgra van szksge. Gyakori hibs hozzlls az, hogy 57
LME
GNU/Linux Konferencia
a webszerveren fut aktv tartalom minden adathoz minden hozzfrsi jogot birto kol, s o dnti el, hogy melyik felhasznlnak mit tesz meg. Ez kt problmt vet fel: amennyiben a rendszert meg lehet tveszteni, vagyis nem megfelel az azonostsi o rendszer, akkor a csibsz ms felhasznlknt tud a rendszerhez frni. A komolyabb problma az, hogy akr a webszerverben, akr az aktivtorban van hiba, a csibszek rossz esetben hozz tudnak frni minden adathoz. Mi lehet a megfelel megolds? o Az aktivtornak nem kell ismernie az adatbzis elrshez szksges authentikcis tokent, hiszen neki nem kell elrnie azt. Mikor a felhasznl azonostja magt, va lamilyen formban megadhatja azt (jelsz esetn pldul bekrheto), gy biztostott az adatbzishoz val kapcsolds. Ebben az esetben a felhasznl semmilyen mdon nem tudja rszedni az aktivtort illetktelen m veletre, hiszen annak nincs joga hozz, az u authentikci az adatbzis szinten (is) lezajlik, s ott trtnik az authorizci. A felhasznl biztonsgos azonostsra rdemes egy egyszeru CA sszelltsa (openssl segtsgvel egyszeruen megoldhat), s a jogosult felhasznlknak kiadni egy-egy di gitlis azonostt.
58
LME
GNU/Linux Konferencia
Ezen a belltsok mdostsval sem lehet megnyugtatan vltoztatni, mivel az ilyen nomhangolst csak fordts kzben lehet elvgezni. Javaslom teht a kivlasztott eszkz forrsnak letltst, s a valban hasznlt opcik belltsa utn annak jrafordtst. Amennyiben a rendszer lehet v teszi, fordtsra praktikus a StackGuard [10] o hasznlata, amely bizonyos tmadsok kivitelezst alaposan megnehezti (nem teszi lehetlenn!). Ha elkszlt a futtatand szerverprogram, el kell lltanunk a megfelel o o futsi krnyezetet a szmra. Ez alapesetben az opercis rendszerbol ll, melynek belltsairl korbban szltunk. Ha nagyobb biztonsgra treksznk, a programnak rdemes egy kln futtat krnyezetet sszelltani (jail vagy sandbox). Ez hatalmasat dob a rendszer biztonsgn, hiszen az adott alrendszer kompromittldsa esetn a csibszek jval nehezebben, vagy egyltaln nem tudnak a tbbi alrendszerek ada taihoz frkozni. Itt is gyelmeztetnem kell azonban mindenkit, a jail nem csodaszer. Hibs kivitelezse vagy kernelhiba esetn elrhet ek a kls adatok. Helyes felptse o o tlmutat el adsom keretein [11], a megfelel eljrsokat Zmb Marcell el adso o o ban rszletesen ismerteti. Amennyiben a rendszernk futsra ksz, akkor mr csak a belltsok vannak htra. Ha valaki a cm lttn abban remnykedett, hogy itt ksz mintkat kap, sajnos ki kell brndtsam. Vlemnyem szerint egy m kdo kongurcis plda gyakran rossz u irnyba viszi a lusta vagy elfoglalt rendszerptot. Megtrtnhet, hogy a plda ltal hasznlt belltsok maradnak az les rendszeren is. Mivel azonban a dolgunk egy valban biztonsgos kiszolgl ptse, gy t kell olvasni a teljes rendszer dokumentcit, s mindenkinek egyedi ignyei szerint kell belltania a rendszert. Ha pldul a webszerver modulris felpts , akkor kizrlag azokat a modulokat szabad betlteni, u amelyek valban hasznltak. gy elkerlhetok a nem hasznlt, de hibs modulokon keresztli tmadsok. A rendszer biztonsgi funkciit kitntetett gyelemmel kell tvizsglni s belltani (pldul a php futsi hibk kirsa tilthat). A rendszer naplit rdemes egy tvoli rendszerre is tovbbtani s archivlni, gy a rendszer esetleges kompromittldsa esetn a mentett naplkbl rekonstrulhat a betrs.
7. zemeltetsi krdsek
Miutn a rendszer zemkpess vlt, mr csak arrl kell gondoskodnunk, hogy szervernknek nagy megbzhatsggal zemeljen kell. Ennek megknnytse rdekben lljon itt nhny jtancs. Minden alrendszert (csomagot) rdemes a lehet legutbbi stabil vltozaton tartani, o mivel az j verziban kijavthattak olyan biztonsgi hibkat is, amelyeket mg nem publikltak. Az ltalunk vlasztott rendszerek biztonsgi listit s a BugTraq-et [12] mindenkppen rdemes olvasni, mivel itt lehet legkorbban rteslni a napfnyre kerlt biztonsgi hibkrl. Azok a hibk, amelyeket a csibszek tallnak meg, s nem publiklnak, sajnos folyamatos veszlyt jelentenek a rendszereinkre. Itt legfeljebb annyit tehetnk, hogy az eddigieknek megfelel en megneheztjk a dolgukat, s remnykeo dnk. Ne ltassunk magunkat azzal, hogy a mi rendszernk srthetetlen. A kiszolgls zkken mentessge miatt a rendszer nem adat rszr l ksztsnk o o minden frissts el tt teljes mentst, vagy egy tesztrendszeren prbljuk meg a frisso ts utni llapotot, s csak ezutn kezdjnk az les rendszer frisstsbe. Hatrozzuk meg, hogy milyen gyors a rendszeren lv adatok vltozsi teme, s ksztsnk meno tsi tervet. A mentsi tervet tartsuk be. Tesztrendszeren ksrletezznk a mentsb l o val visszallssal, gy tkletesthetjk a mentsi rendszert, s sszellthatunk egy katasztrfatervet. 59
LME
GNU/Linux Konferencia
A rendszeren lv llomnyok mdostsnak az ellen rzsre hasznljunk valamio o o lyen digitlis ujjlenyomat-ellenorz eszkzt (pldul Tripwire). Ezzel, ha nem is bizto san, de viszonylag nagy biztonsggal eldntheto, hogy a rendszer llomnyai srlteke. Ha igen, megllapthat, hogy mi, s a hibs llomnyok visszallthatak. Valamely kongurcis llomny vagy binris vltozsa esetn azonban srg sen ki kell derteni, o hogy hogyan hatolhatott be az illet a rendszerbe. Ekkor nagy segtsgnkre lesznek a o naplllomnyok. Egy kzepesen terhelt rendszer is olyan mennyisg naplllomnyt llt el , ameu o lyet egy embernek naponta tnzni vagy lehetetlen, vagy nagyon unalmas. A naplk el sz rsre a legegyszerubb megolds a klasszikus Articial Ignorance mdszer, o u amely a mr ismert sorokat kisz ri, gy a naplelemzohz csak a klns tartalm u sorok jutnak el. Ez ugyan adatveszts, mivel a naplk mennyisgbol illetve frekvencijbl is lehet kvetkeztetseket levonni, de itt ez most nem szmt. Ha a csibszek a rendszerbe jutva lecserlik a weblapot, arrl clszer els knt ru o teslni. rdemes olyan rendszert telepteni egy tvoli gpre, amely id nknt ellen rzi o o a f bb oldalak llapott, s azok vltozsa esetn rtestst kld a rendszergazdnak. o Ez statikus tartalom esetn nagyon egyszeru, hiszen az adott lapok helyes tartalmt lemsolva az ellen rzs pofonegyszeruen elvgezheto. A dinamikus tartalm lapok o esetben kiss sszetettebb a helyzet. Ilyen esetben rdemes az aktivtor tervezsnl gyelembe venni az ellen rzs ignyt, s olyan vzjellel ltni el a generlt oldalakat, o amely ellen rizheto, de az esetleges tmadk szmra nehezen rzkelhet . Egy nao o gyon egyszeru megolds lehet pldul, hogy valamely HTML tag minden esetben egy el re meghatrozott mdon kerl az oldalra. Ez a megolds termszetesen nem vd az o adatbzisba vitt hibs adatok ltali deface ellen, de arra is kitallhat megolds.
LME
GNU/Linux Konferencia
albbi szszerkezetet helyettesti: a program, amely a weblapot dinamikuss teszi. certicate Digitlis azonost. Egy alrt digitlis kulcsbl s nhny egyb adatbl ll struktra, amely segtsgvel az ssl-re pl protokollok hasznlatnl a kt o kommunikl fl megbzhatan azonosthatja a msik oldalt. authentikci Azonosts. Minimlis szint vdelmi rendszer is authentiklja a felu hasznljt miel tt az brmilyen er forrst ignybe vehet. Az egyik legegyszeo o r bb formja a jelszavas azonosts, bonyolultabbak pldul az S-Key, CCard, u SmartCard, Certicate stb. authorizci Meghatalmazs, felhatalmazs. Ha a rendszer megklnbztet valamilyen hozzfrsi szinteket, akkor a felhasznlt annak azonostsa utn a rendszer felhatalmazza bizonyos er forrsok hasznlatra. Ezek lehetnek llomnyo vagy objektum-hozzfrsi jogosultsgok, belptet rendszer esetn akr egy o ajt kinyitsa.
sandbox
jail
jail Olyan futtat krnyezet, melyben csak egy adott program vagy programcsoport futshoz szksges llomnyok vannak. Hasznlata lehet v teszi az egyes ho lzati dmonok szeparlst. Ha megfelel hozzrtssel lltjk ssze, s a kero nel is megfelel (gyakran kiss mdostani kell), akkor nem lehet kitrni bel le. o o
Hivatkozsok
[1] Az OpenWall project honlapja: http://www.openwall.com [2] A HAP honlapja: http://www.theaimsgroup.com/ hlein/hap-linux [3] Linux Intrusion Detection System http://www.lids.org [4] grsecurity project honlapja http://www.getrewted.net [5] A FreeSWAN project honlapja http://www.freeswan.org [6] User Mode Linux project http://user-mode-linux.sourceforge.net [7] A VMWare honlapja http://www.vmware.com [8] Az Argante project honlapja http://www.argante.org [9] Common Criteria project http://csrc.nist.gov/cc [10] Immunix project: StackGuard http://www.immunix.org [11] Zmb Marcell, Biztonsgos chroot krnyezet kialaktsa III. GNU/Linux Konferencia kiadvnya, LME, [Bp., 2001.] [12] BugTraq levelez lista http://www.securityfocus.com o
61
62
Tartalomjegyzk
1. A Unix sikere 1.1. Kedvez r/teljestmny arny . . . . . . . . . . . . . . . . . . . . . o 1.2. Hordozhatsg . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.3. Programozsi krnyezet . . . . . . . . . . . . . . . . . . . . . . . . . 2. Unix-e a Linux? 3. A Unix parancsnyelv 4. Pldk 4.1. Egyszeru pldk . . . . . . . . . . 4.2. KWIC . . . . . . . . . . . . . . . 4.3. Megjegyezheto vletlen jelszavak 4.4. Web-tools . . . . . . . . . . . . . 5. sszefoglals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 64 64 65 65 65 66 66 66 71 72 75
63
LME
GNU/Linux Konferencia
1. A Unix sikere
A Unix opercis rendszer meglep en sikeresnek mondhatk az informatikban: tbb, o mint 30 ve m kdik ugyanazon alapelvek alapjn. Ha a siker okait rtatjuk, a ku vetkez ket kell kiemelnnk: a Unix egy olcs, rendkvli mrtkben hordozhat s o programozhat ltalnos cl opercis rendszer.
1.2. Hordozhatsg
Az id osztst tekintve a Unix nem az els opercis rendszer, hiszen Kemny Jnos o o s Thomas Kurtz 1963-ban ksztette el a Dartmouth Time-Sharing System (DTSS) el djt egy GE-235-sn, ami 1964-ben a szintn ltaluk kidolgozott (s nem interpreo tlt, hanem fordtott) BASIC nyelv segtsgvel a hallgatk rendelkezsre llt. 65-ben mr a krnykbeli kzpiskolkba is terminlok kerltek, 66-ban pedig egy ajndk m velet/msodperc) u GE-635-sn kidolgozsra kerlt a DTTS, ami kb. 1 MIPS ( sebessg mellett egyidejuleg 200 felhasznlt tudott kiszolglni [1]. Mg a BASIC nyelv vltozataiban ma is l (Visual Basic), a DTSS-r l ez nem o mondhat el, a legtbb assembly-ben megvalstott rendszerhez hasonlan. 1973-ban Ken Thompson Dennis Ritchie segtsgvel C nyelvre ltette t a Unixot, ezzel elksztve az els hordozhat forrskd opercis rendszert. A C nyelv Deno nis Ritchie m ve. A C gpfggetlen s mgis gpkzeli programrsra szolgl mind a u mai napig (Ritchie s Thompson megunta a programok tvitelvel jr bonyodalmakat). Rosszmjak szerint a Unix igazi sikernek oka ez [7], illetve, hogy az AT&T az akkori monopoltrvnyek miatt nem csinlhatott nagy zletet a Unix-bl: az oktats szmra ingyenesen hozzfrhet o tette a forrskdot, egybknt 99 dollrrt lehetett hozzjutni. Ken Thompson egyetemi kurzusokon sorrl sorra ismertette az opercis rendszer forrskdjt. Az, hogy ezt megtehette jcskn ksznheto a C nyelv megvau lstsnak! A Unix nem csak hordozhatv vlt, hanem rthet v is a szles szakma o szmra. Thompson-t olyan tantvnyok hallgattk, mint Bill Joy (BSD Unix s a Java specikci trsszerz je, az Internetet megalapoz BSD Unix-os TCP/IP implemento ci, valamint a C-shell, NFS, vi, stb. szerz je). A Berkeley egyetem forradalmi BSD o Unix-vltozata is kezdetben a gyenge BSD engedllyel jelent meg, ami lehet v tette o a forrskd szabad felhasznlst [6].
64
LME
GNU/Linux Konferencia
2. Unix-e a Linux?
Mivel vgig Unix-rl beszlnk, felmerl a krds, hogy a Linux mennyiben tekintheto Unix-nak. Linus Torvalds szerint a Linux Unix-szeru, mivel a hordozhatsg miatt van egy Unix-kompatibilis fellete, valamint kialakthat rajta Unix krnyezet a hj-, s a Unix segdprogramokkal, de nem Unix-vltozat, mivel a Linux rendszermag nem tartalmaz BSD Unix-bl rklt kdot [2]. A Linux terjesztsek jelenleg nagymrtkben a Unix-os oldalt tmogatjk a Linuxnak, alaprtelmezett segdprogramoknak tekintve a GNU Unix segdprogramokat (bash hj, textutils, leutils, sh-utils, ndutils, stb.) Kapcsoldva az el z szakasz zr megjegyzshez, szomor, hogy a Linux ero o r l az oldalrl kevss dokumentlt. A Linux terjesztsek alaprtelmezett hjhoz, a o bash-hoz kszlt HOGYAN elkpeszt en szegnyes, a bash kziknyv pedig tl tmr, o hogy brki egyszeruen megtanulja az alapjn a hj hasznlatt.
3. A Unix parancsnyelv
A Unix parancsnyelv, msnven hj kzel egyidos a Unix-szal. A Thompson hj, az eredeti /bin/sh mg a Multics-bl vett t tleteket, de olyan eredeti megoldsokkal b o vlt, mint a csvek, valamint a szablyos kifejezsek felhasznlsa a hjbl meghvhat segdprogramoknl. A cs nem teljesen Unix tallmny: a DTSS kommunikcis fjlai hasonl clt o szolgltak. Mg rgebbrol ismert a szmtstechnikban a korutinok fogalma, amit gyakran megfeleltetnek a cs hlzatba kttt programoknak. Ami egyedlll, az az o egyszeru szintaxis, ahogy ez megvalsthat a Unixban. Tovbb az egyszeruen kezel het fjlrendszer, az tirnytsok, s a hj helyettestsei maximlisan kib vtik a hj o o s a csvek felhasznlsi terlett. 65
LME
GNU/Linux Konferencia
4. Pldk
A kvetkez pldk clja, hogy a Unix loza erejt altmasszk. Az els plda o o szoksos Unix parancsokat mutat be. A msodik plda egy klasszikus szmtstechnikai feladat, a Parnas-fle KWIC indexkszts, amelyet egy egysoros hjprogrammal is megvalstunk. A harmadik megjegyezheto vletlen jelszavak generlst mutatja be. Vgl kib vtjk a Unix segdprogram-kszlett egy angol rtelmez kzisztrral, s o o egy l nyelvi fordtprogrammal. o
4.2. KWIC
A KWIC (Keyword in Context) mutatk a knyvtrltogatk hasznos segdeszkzei, mivel nem csak azt mutatjk meg, hogy a keresett trgysz milyen m ben fordul el , u o hanem azt is, hogy milyen szvegkrnyezetben. Dave Parnas 1972-es cikke [3] a KWIC egy olyan vltozatt veszi pldnak, ami pl. knyvcmek keresst knnyti meg akkor, ha csak az egyik cmben el fordul szt ismerjk. A pldafeladat lnyege a kveto kez : adott cmeknek a sorozata, minden cm kln sorban kerl elhelyezsre. Minden o egyes sor szavait krkrsen eltolva (vagyis az els szavakat htra kldve) tovbbi o sorokat kpeznk. Egy n-szavas cmb l teht n-1 tovbbi sort kapunk, vgl az sszes o sort bc szerint rendezzk. Parnas emlkezetes kijelentse szerint brmely gyakorlott programoz kt ht alatt megbirkzik ezzel a problmval. Azta persze sokat fejl o dtt a vilg, pl. C++ nyelven 80-90 soros programmal megoldhat a problma [4], ha az adott nyelvnek megfelel mdon programozunk. o Megolds awk-kal Tekintsk a Unix lehet sgeit. Els esetben az awk, mint jl programozhat sorfeldolo o goz jn szmtsba. A kvetkez circ.awk llomnyban trolt program a szabvnyos o bemenetnek minden sorra elvgzi a krkrs eltols-sorozatot, s az eredmnyt kirja a szabvnyos kimenetre: 66
LME
GNU/Linux Konferencia
{ for(i=1; i<=NF; i++) { text = $i for (j=i+1; j<=NF; j++) { text = text " " $j } text = text "," for (j=1; j<i; j++) { text = text " " $j } print text } } A program tesztelshez futtatjuk az llomnyt az awk-kal. $ awk -f circ.awk a b c [Ctrl-D] a b c, b c, a c, a b A pldban a bemenet most a terminl, de persze ha valban hasznlnnk ezt a programot, gyakoribb lenne az ilyen formban trtno meghvs: $ cat cim.txt | awk -f circ.awk > cim.kwic A KWIC poblma megoldshoz mr csak az bcsorrendbe trtno rendezs hinyzik: egyszeruen csak tadjuk a kimenetet a sort programnak: $ awk -f circ.awk | sort c b a [Ctrl-D] a, b c b a, c c b a, Ha a programunk a tesztek sorn m kdokpesnek bizonyult, el is helyezhetjk u egy futtathat llomnyba: #!/bin/sh # Parnas-fle KWIC I. megolds awk { for(i=1; i<=NF; i++) { text = $i for (j=i+1; j<=NF; j++) { text = text " " $j } text = text ","
67
LME
GNU/Linux Konferencia
for (j=1; j<i; j++) { text = text " " $j } print text } } | sort | uniq A forrsban szerepl uniq nem csinl mst, mint egy sort hagy csak meg az ismto l d sorokbl. o o Megolds awk nlkl Az awk hatkony, de a hj mellett megint egy j nyelvet jelent, ami radsul inkbb a C-re emlkeztet, mint a hjra. Keressnk egy msik, bizonyos szempontbl jobb megoldst. A hj rendelkezik egy olyan utastssal, ami nagyban megknnyti a krkrs eltols kivitelezst. Ez a shift, ami az aktulis hjprogram paramtereit tolja el balra (szm paramtert is elfogad az utasts, de erre most nem lesz szksgnk). Kszthetnk egy circ nev hjprogramot, ami a paramtereit krkrsen eltolja: u #!/bin/sh for i do echo $*, $j j="$j $1" shift done Pldul: $ circ a b c a b c, b c, a c, a b Most mr csak ssze kell raknunk a megfelel cs vezetket, ami a Parnas-fle o o KWIC problma el z hz hasonl megoldst jelenti. Ehhez felhasznljuk a xargs o o programot, ami egy szvegfjl sorait paramterknt adja t a megadott programnak. A -l1 kapcsol jelentse, hogy egyszerre csak egy sorbl ksztsen paramterlistt: $ echo A kutya meg a mja | xargs -l1 circ | sort A kutya meg a mja, a mja, A kutya meg kutya meg a mja, A mja, A kutya meg a meg a mja, A kutya Ez a megolds 1020-szor lassabb, mint az el z awk program, mivel a bemenet o o minden egyes sorra meghvunk egy alhjat. Ami miatt mi mgis ezt preferljuk, az az, hogy kicsi s egyszeru, valamint kell en rugalmas ahhoz, hogy knnyedn kisz rjk o u pldul a KWIC listt feleslegesen duzzaszt nvel ket s kt szkat. me a mdostott o o krkrs eltol, a circ2: 68
LME
GNU/Linux Konferencia
#!/bin/sh for i do case $1 in [aA]|[aA]z|[eE]gy|s|vagy);; *) echo $*, $j;; esac j="$j $1" shift done $ echo A kutya meg a mja | xargs -l1 circ2 | sort kutya meg a mja, A mja, A kutya meg a meg a mja, A kutya Mindez hjprogrammal (visszatrve a circ-hez): #!/bin/sh # Parnas-fle KWIC II. megolds xargs -l1 circ | sort | uniq Ha egy hjprogramba szeretnnk sszegezni programjainkat, akkor a kziknyv fellapozsa utn a kvetkez megoldst kapjuk: o #!/bin/sh # Parnas-fle KWIC III. megolds xargs -l1 sh -c for i do echo $*, $j j="$j $1" shift done $0 | sort | uniq Ez a megolds bonyolultabb, mint az el z , mivel egy j kapcsolt kell megjegyezo o nnk (az sh -c kapcsolja), valamint azt, hogy a hj a -c kapcsol megadsa esetn az $0 paramtert (ez rendszerint a hjprogram indtsi nevt tartalmaz vltoz) t lnk o vrja. Mi ide $0-t rtunk, tovbbadva a KWIC hjprogramunk nevt az alhjnak. Mirt bonyoltottuk el KWIC programunkat? Azrt, hogy egy llomnyunk legyen kett helyett, valamint hogy egy sorba rhassuk a Parnas-fle KWIC problma megolo dst (itt most nem ltszik, de megszmolhat, hogy pontosan 80 karakteres a program): #!/bin/sh xargs -l1 sh -c for i; do echo $*, $j; j="$j $1"; shift; done x |sort A tmr egysoros implementci ellenre a II. megolds a legegyszerubb megol ds. Egsztsk ki ezt egy szabvnyos -h, illetve help kapcsolval:
69
LME
GNU/Linux Konferencia
#!/bin/sh # Parnas-fle KWIC kapcsolkkal case $# in 0) xargs -l1 circ | sort | uniq ;; *) case $1 in -h|--help) echo "Parnas-fle KWIC, a bemenet minden sort krkrsen eltol, s rendez program." ;; o *) echo "Hibs paramter" >/dev/stderr ;; esac esac Lthat, hogy kt egymsba gyazott case szerkezettel ksztettnk bartsgosabb hjprogramot. A $# visszaadja a hjprogram paramtereinek a szmt. Ha ez nem nulla, akkor megvizsgljuk, hogy az els paramter -h, vagy help-e, s ebben az eseto ben jelentnk meg lerst. Egybknt pedig a szabvnyos hibakimeneten jelentnk meg egy hibazenetet. Tl szp a menyasszony Ha tesztllomnyokon futtatjuk az awk, s pusztn a hjjal megvalstott KWIC programokat, hamar rjvnk, hogy az utbbi nem tkletes. A fordtott perjelek elt nnek u az adatllomnybl, az els dupla s az egyszeres idz jel pedig a feldolgozs megszao o kadst eredmnyezi. A magyar nyelvben ez nem jelentene problmt, de az angolban az aposztrf knnyedn el fordulhat a cmekben. o A kziknyv fellapozsval kiderl, hogy ez a jelensg a xargs programhoz kthet , s ugyan kikapcsolhat, de akkor a soronknti feldolgozs nem m kdik (az o u egsz bemeno llomnyt egy sorknt van kezelve, hacsak a sorok nem nulla ASCII kd karakterre vgz dnek). Kzben el kerlt egy msik problma is a kziknyvo o b l: ha egy sor szkz, vagy tabultor karakterrel vgz dik, akkor a kvetkez sort is o o o hozzveszi a xargs. Ha a kellemetlen, de tipikus (a hj vd karaktereivel kapcsolatos) problmt meg o akarjuk oldani, a sed sz r hz kell fordulnunk. Egy sed paranccsal levdjk a fordtott uo perjelet, s a kt idz jelet, gy, hogy egy tovbbi fordtott perjelet helyeznk eljk. o Egy msik sed paranccsal pedig a sorvgi szkzket, illetve tabultorokat trljk, elintzve a xargs msik turpissgt: #!/bin/sh # awk kompatibilis KWIC hjprogram sed "s/\(["\"]\)/\\\1/g s/[ ]*$// | xargs -l1 circ | sort | uniq A sed paramterl megadott, szablyos kifejezst tartalmaz mintt (sajnos) trkks mdon kellett levdeni: az egyszeres idz jelet dupla idz jel kztt, a duplt egyo o szeres idz jelek kztt adhatjuk meg. o A pldban a prototpus- s a valdi programkszts hatrn mozogtunk a hjjal: awk s sed nlkl is j prototpust alkottunk, de a minden krlmnyek kztti helyes m kdshez szksg van a sed-re, vagy az awk-ra is. u
70
LME
GNU/Linux Konferencia
71
LME
GNU/Linux Konferencia
%% <INITIAL>{MINTA} { printf("%s",yytext); BEGIN(MAGAN); } <MASSALMAGAS>{MINTA} { printf("%s",yytext); BEGIN(MAGAS); } <MASSALMELY>{MINTA} { printf("%s",yytext); BEGIN(MELY); } <MAGAN,MAGAS>[ei] { printf("%s",yytext); BEGIN(MASSALMAGAS); } <MAGAN,MELY>[aou] { printf("%s",yytext); BEGIN(MASSALMELY); } .
Fordtsuk le, s futtassuk: $ flex jelszo.flex $ gcc -o jelszo -lfl lex.yy.c $ tr -cd a-zA-Z0-9 < /dev/urandom | jelszo | dd ibs=1 count=10 2>/dev/null; echo napodanoho A tr-re azrt van szksgnk mg els sorban, hogy nagyobb valszn sggel keo u rljenek tbbjegy mssalhangzk a generlt jelszavakba. u Ksztsnk az el z parancsbl egy hjprogramot jel nven, s generljunk le 10 o o darab megjegyezheto vletlen jelszt: $ for i in seq 10; do jel; done jemezidisi repimepepi tifijipepe hucamugajo kahujakoto ridedejive bucaponugu suganurugo jujajufuto pojojobahu A jelszavak irnikusak, s nem igazn megjegyezhetok mg, de a ex kell en eo xibilis ahhoz, hogy a magyar nyelv nyelvtani szablyait jobban gyelembe vev mego oldst ksztsnk. A kvetkez lps ami itt mr nem kerl megvalstsra egy olyan hjprogram o elksztse, ami nem trolja a jelszavakat, hanem a megadott azonostj felhasznlknak azonnal mdostja a jelszavt (passwd stdin), s kinyomtatja kln oldalra (pr -f ) a jelszavakat.1
4.4. Web-tools
A kvetkez kt hjprogram nem csinl mst, mint hlzati szolgltatsokhoz fr hozz, o s az eredmnyt beilleszti a Unix krnyezetbe. Gyakorlatilag a szegny ember Unix-os XML-RPC/Soap implementciinak is tekinthetjk.
1 Zrt ktrteg indigs leporell ami magba rejti a kinyomtatott jelszt kell en megnyugtatja a u o felhasznlkat.
72
LME
GNU/Linux Konferencia
Merriam-Webster sztr A kvetkez hjprogram a Merriam-Webster sztr hlzati vltozathoz a links (vagy o a lynx) karakteres bngszo segtsgvel fr hozz. #!/bin/bash # Merriam-Webster Dictionary case $# in 0) echo -e "Merriam-Webster Dictionary Usage: mw keyword" ; exit; esac url=http://www.m-w.com/cgi-bin/dictionary links -source $url?book=Dictionary\&va=$1 | grep "^<b>" > /tmp/webster.$$ links -dump /tmp/webster.$$ rm /tmp/webster.$$
Babelsh (SysTran) fordt A kvetkez hjprogram az el z h z hasonl megoldssal a SysTran fordthoz fr o o o o hozz, kihasznlva az Altavista ingyenes szolgltatst. #!/bin/bash i="Babelfish (SysTran) Translator filter human text translating from stdin to stdout Usage: fish [option] < textfile Options: -c English to Chinese -f English to French -g English to German -i English to Italian -j English to Japan -k English to Korean -p English to Portuguese -s English to Spanish -ce Chinese to English -fe French to English -ge German to English -ie Italian to English -je Japan to English -ke Korean to English -pe Portuguese to English -se Spanish to English -fg French to German -gf German to French" lp=en_es case $1 in 73
LME
GNU/Linux Konferencia
-h) echo -e "$i" ; exit ;; -c) lp=en_zh ;; -f) lp=en_fr ;; -g) lp=en_de ;; -i) lp=en_it ;; -j) lp=en_ja ;; -k) lp=en_ko ;; -p) lp=en_pt ;; -s) lp=en_es ;; -ce) lp=zh_en ;; -fe) lp=fr_en ;; -ge) lp=de_en ;; -ie) lp=it_en ;; -je) lp=ja_en ;; -ke) lp=ko_en ;; -pe) lp=pt_en ;; -se) lp=es_en ;; -fg) lp=fr_de ;; -gf) lp=de_fr ;; esac tr " \n<>\&\"" "++++++" > /tmp/fish.$$ url=http://babelfish.altavista.com/tr?doit=done\&urltext= links -source $url"$(</tmp/fish.$$)"\&lp=$lp | sed -n /<td bgcolor="*white"*>/,/<\/td>/p /<textarea[^>]*name="q">/,/^<\/textarea>/p | sed s/<\/*[^>]*>//g rm -f /tmp/fish.$$
74
LME
GNU/Linux Konferencia
5. sszefoglals
A Unix parancsnyelve verhetetlen a mindennapos feladatok automatizlsban, a cs veknek s egyb koncepciinak ksznhetoen egyedlllan robusztus. A gyakorlatban prototpus-kszts szempontjbl sem megvetend , hiszen a prototpus gyakran o tkletes programnak bizonyul, s nem szksges C, vagy egyb programnyelvekhez fordulni.
Hivatkozsok
[1] A. Colvin: The DTSS Time-Sharing System, http://www.dartmouth.edu/ carlp/dtss.html [2] L. Torvalds: The Linux Edge, in Open Sources: Voices from the Open Source Revolution http://www.oreilly.com/catalog/opensources/book/toc.html [3] D. Parnas: On the criteria to be used in decomposing systems into modules (Communications of the ACM, 15(12):1053-8, dec. 1972), http://www.acm.org/classics/may96/ [4] KWIC Page C++: http://www.infosys.tuwien.ac.at/Staff/gt/KWIC/ [5] Dennis Ritchie: Early Unix history and evolution, http://cm.bell-labs.com/cm/cs/who/dmr/hist.html Klasszikus cikk a Unix els pr vr l. o o [6] Andrew Leonard: BSD Unix: Power to the people, from the code, Salon Free Software Project, http://www.salon.com/tech/fsp/2000/05/16/chapter_2_part_one/ gretes bngszheto knyv rendkvl sok httrinformcival a szabadszoftvermozgalomrl. [7] Eric S. Raymond: Unix conspiracy in Jargon Files, http://www.tuxedo.org/ esr/jargon/html/entry/Unix-conspiracy.html [8] B. Kernighan, R. Pike: A Unix opercis rendszer, 5. burokprogramozs, M szaki u Knyvkiad, Budapest, 1994 A Unix programozs tmjban mg mindig alapm . u
75
76
Tartalomjegyzk
1. Tudomnyos-technikai frtzs (pl. Beowulf-cluster) 1.1. Tulajdonsgok . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2. Technikai jellemz k . . . . . . . . . . . . . . . . . . . . . . . . . . . o 2. Terhelsmegoszt frtzs (pl. Linux Virtual Server) 2.1. Tulajdonsgok . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2. Technikai jellemz k . . . . . . . . . . . . . . . . . . . . . . . . . . . o 78 78 78 78 78 78
3. Nagy rendelkezsrellst (HA - High availability) biztost frtzs (pl. Kimberlite, Convolo) 79 3.1. Tulajdonsgok . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79 3.2. Technikai jellemz k . . . . . . . . . . . . . . . . . . . . . . . . . . . 79 o 4. SSI (Single System Image) frt (pl. Mosix) 4.1. Tulajdonsgok . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.2. Technikai jellemz k . . . . . . . . . . . . . . . . . . . . . . . . . . . o 5. HA-frtk fejl dsi szakaszai o 6. sszegzs 7. Hivatkozsok 77 79 79 79 80 80 80
LME
GNU/Linux Konferencia
A felhasznli programnak kell gondoskodnia a prhuzamostsrl Els dlegesen tudomnyos alkalmazsok szmra jelent megfelel megoldst o o zleti alkalmazsok szmra ltalban nem megfelel o
78
LME
GNU/Linux Konferencia
3. Nagy rendelkezsrellst (HA - High availability) biztost frtzs (pl. Kimberlite, Convolo)
3.1. Tulajdonsgok
Cl: Tbb szmtgp s perifria sszekapcsolsa olyan mdon, hogy azok egyetlen rendszerknt ltsszanak s ez a rendszer m kdokpes maradjon aku kor is, ha valamelyik komponens meghibsodik.
NSPF - No Single Point of Failure El trtnet: Korbban gyrtfgg o megoldsok szlettek, az adott gyrt hardo verhez kapcsoldan (pl. VMS, TruCluster, SGI Failsafe, IBM Phoenix, NT Wolfpack) Linux alap megoldsok: PC-alkatrszekbol, jval alacsonyabb ron megpthet k o
79
LME
GNU/Linux Konferencia
6. sszegzs
A Linux-alap cluster megoldsok segtsgvel kisebb mret cgek, alkalmazsok is u rszeslhetnek a cluster technolgia nyjtotta el nykbol. A Beowulffal szuperszmo tgp teljestmnyt hozatunk ki rendszernkb ol, az LVS-sel web-farmokat pthetnk, a HA-clusterek rvn pedig megfelel megbzhatsg platformot nyjthatunk akr o nagyvllalati alkalmazsok szmra is.
7. Hivatkozsok
www.beowulf.org www.linuxvirtualserver.org www.linux-ha.org/LinuxFailSafe www.missioncriticallinux.com ultramonkey.sourceforge.net www.steeleye.com www.redhat.com www.turbolinux.com www.resonate.com www.sistina.com www.mosix.org
80
Tartalomjegyzk
1. Mi kze a GNU/Linux-nak a tmhoz? 2. Hogyan is mukdik a digitlis alrs? 2.1. A digitlis alrs s a kzirsos alrs kzti klnbsgek . . . . . . 2.2. Elg-e a digitlis alrs s a titkosts? . . . . . . . . . . . . . . . . 2.3. A digitlis kulcsok kezelsnek problmi . . . . . . . . . . . . . . . 3. Az X.509 alap technolgia 3.1. Nvtveszts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2. Mit garantlhat egy X.509 tanstvny egyltaln? . . . . . . . . . . 4. A CA-k felel ssgvllalsa o 5. Mirt veszlyes ha 1 szemly - 1 nv - 1 kulcs? 5.1. Magnszfrnk fenyegetettsge . . . . . . . . . . . . . . . . . . . . 5.2. Implementcis hibk . . . . . . . . . . . . . . . . . . . . . . . . . 6. GNU/Linux eszkzk 6.1. PGP/GPG . . . . . . . . 6.2. SSH/OpenSSH . . . . . 6.3. OpenSSL . . . . . . . . 6.4. jabb kezdemnyezsek 7. sszfoglals 82 82 82 83 83 84 84 85 85 86 86 87 87 87 88 88 88 89
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
81
LME
GNU/Linux Konferencia
82
LME
GNU/Linux Konferencia
hanem szmtgpek, programok, szerverek s kliensek, hlzati interfszek vagy mobil telefonok is sajt kulcsprral kszthetnek digitlis alrst. Valjban ez a dolog sokkal gyakoribb mint a szemlyek ltal ksztett digitlis alrs. Egy szemly ltal ksztett digitlis alrs jobban hasonlt egy pecsthez: egy eszkz kell hozz, ami az alr tulajdonban van. Ahhoz, azonban hogy egy szemly egy digitlis alrst ne lehessen hamistani, a titkos kulcst kell vdeni gy, mint egy pecstet. Csakhogy ez sokkal nehezebb: ha egy pecstet ellopnak, az nem marad ott. A titkos kulcs azonban elektronikus informci, msolhat. Egy szemly titkos kulcsa rendszerint valamilyen jelszval vdett. A jelszt illetktelenek kileshetik, megtudhatjk. A szmtgphez hozzfrhetnek stb. Slyosbtja a helyzetet, hogy a legtbben - mg azok is akikt l ez elvrhat lenne -, nagyon keveset rtenek abbl, hogy mi s o hogyan trtnik.
83
LME
GNU/Linux Konferencia
lncszeme. Lehet brmilyen kit n a tanstvny, brmilyen brillins a matematikai u o eljrs, brmilyen sok bites a kulcs amit hasznlunk, ha a digitlis alrshoz tartoz titkos kulcs illetktelenek hasznlhatjk, mit sem r. A illetktelen felhasznl nem felttlenl ember, lehet progam is. ppen ezrt nem szabad fontos digitlis alrst kszteni, vagy ellen rizni olyan gpen, mely hlzatba van ktve, vagy pl. Word is o van rajta teleptve. Egy vrus, vagy hlzati betrs veszlyt jelent nem csak az alr, hanem az alrst ellen rz gpen is. Vlhet , hogy az ilyen vrus, vagy behatol nem o o o fedi fel magt olyan gyorsan, mint pl. egy web szerver esetn: lehetsges, hogy akr hnapokig lappang. Egybknt is vrhat, hogy csak kslekedve jelentkezik a hatsa: megjelenik valahol egy irat, amit a mi nevnkben rtak al s kicsit ms mint amit mi alrni vltnk, ms sszeg szmlt zettnk ki, vagy nyjtottunk be, vagy valamilyen u er forrst a nevnkben hasznltak. Illetve valakir l tvesen azt hisszk, hogy valamit o o alrt, valamilyen szmlt kizetett, vagy benyjtott stb.
3.1. Nvtveszts
Az X.509 alap digitlis alrsok egyik pillre a nv. Minden X.509 tanstvny egy nv-kulcs megfelelst tanst. A gyakorlat azt mutatja, hogy a nevek hasznlata sok zavart okoz, sem nem szksges, sem nem elgsges egy-egy alkalommal. Ha valaki az adbevallst akarja digitlisan benyjtani, akkor nem elg tudnunk, hogy Kovcs Jnos, aki Jszbernyben a Thkly utcban lakik: nincs kizrva, hogy kt Kovcs Jnos is lakik ugyanabban a hzban, pl. apa s a. Mg az sem elg, ha azt tudjuk, hogy az illet a Jszbernyi H t gpgyrban dolgozik: lehet, hogy mindketten ott dolgoznak. o uo Az sincs kizrva, hogy ppen egy csaldban nagy a ksrts, hogy az egyik Kovcs a msik kulcsval visszaljen... Nem egyszer el fordul, hogy pl. tbb Bornemissza van o egy vllalatnl, s a bornemissza@valahol alak cmre kldtt levelek rendszeresen eltvednek. Ha egy magnlevelet gy rosszul cmznk, ltalban kisebb bosszankodssal megsszuk. Ha azonban digitlis alrsban tvednk, akkor nagy kr rhet.
84
LME
GNU/Linux Konferencia
az alrsa, de a legtbbszr nem is tudjuk elolvasni. Vits esetben az iskola tudja csak ellen rizni, hogy abban az vben kik is voltak az illetkesek, s az alrs valdi-e. o Hasonl a helyzet pl. a patikban, ahol a orvos ltal alrt receptet mutatunk be: fontos az alrs, de az orvos neve nem. Lehetsges, hogy a fenti kt Kovcs Jnos, apa s a Jszbernyben mind a ketten orvosok, s ha el is tudjuk a recepten olvasni az alrsukat, maga a nv nem szolgl valdi informcival. Ezrt van, hogy a recepteket az alrs nmagban mg nem hitelesti.
Flrevezet szavak o
Ahogy fentebb mr sz volt rla, valjban a digitlis alrs sz is flrevezet : taln o helyesebb lenne digitlis pecstet mondani. De nem csak ez a szhasznlat kelt zavart, tlzott vrakozst. A tanstvny, tanstvny kibocst sz azt sugallja, mintha
85
LME
GNU/Linux Konferencia
egy digitlisan alrt dokumentumrl a kibocst tanstan, hogy hiteles, valban az rta al, aki/ami szerepel az alrsban. Akik rtik, akik vgiggondoltk, hogy err l o sz sincs, azok is knnyen megfeledkezhetnek rla a szhasznlat miatt. Sajnlatos, hogy a trvny is min stett digitlis alrsrl beszl, holott nyilvnval, hogy nem o az alrs min stett, hanem a tanstvnykibocst, aki a digitlis alrsnl hasznlt o kulcsot alrta.
A kzpontosts htrnyai
Az X.509 tanstvnyok vilgban a hitelest k (CA-k) lncolatot alkotnak. Egy tano stvny kibocstjnak tanstvnyt egy msik, magasabb szinten lev hitelest rja o o al, akinek tanstvnyt egy msik s gy tovbb, egy nmagt hitelest legfels bb o o szint hitelest kzpontig. A felttelezs az, hogy ez a legfels root CA egy mindenki u o o ltal tmogatott s elfogadott intzmny. Az let azonban szmtalanszor bizonytotta, hogy az ilyen szerkezet igen srlkeny: egyetlen emberi hiba, netn visszals, egyetlen gyintzsi gyelmetlensg, vagy programhiba risi kvetkezmnyekkel jrhat. Egy kzpontostott struktra htrnya, hogy a hitelest k visszalhetnek lehet sgeiko o kel: nem csak a szolgltats rt srfolhatjk magasra, visszalhetnek pl. azzal, amit egy-egy kulcs hasznlatval kapcsolatos informcik jelenthetnek. A visszavont tanstvnyok listjban (Revocation List) val keresgls naplfjlja informcit szolgltathat pldul egy cg, vagy egy szemly vsrlsi szoksairl. A kzpontostott szervezs htrnya, hogy a hierarchia magas fokn ll hitelest k o titkos kulcsa klnsen csbt clpont lehet a b nzok szmra. Ez abba az irnyba u hat, hogy az ilyen kulcsot gyakran vltsk. A kzponti szerep miatt azonban a kulcs vltsa igen nehzkes: nem csak a gyerek kulcsokat, hanem esetenknt programokat, program kongurcikat is rint. Egy kzpontostott modell csak akkor m kdhet jl, ha tkletesen megbzhatunk a u kzpontban s nem csak a szndkait, hanem a szervezettsgt, gyintzst, technikai felszerelst illet en is. Az letben az osztott, tbb lbon ll, vltozatos rendszerek o bizonyulnak jobbnak s hatkonyabbnak.
86
LME
GNU/Linux Konferencia
az Orwell regnyb l ismert rm fenyeget (kulcsunk hasznlatnak nyomonkvetse, o adatgyujts). Nem egy hitelest hatsg maga generlja s osztja is a kulcsot. Ez azt jelenti, o hogy eleve a kibocst birtokban van a titkos kulcs, eleve lehet sge van arra, hogy o megszemlyestse a kulcs tulajdonost. Egyes esetekben (pl. egy-egy munkahelyen) ez megengedhet o lehet, a legtbb esetben azonban elfogadhatatlan. A magyarorszgi X.509 PKI-vel kapcsolatos tervekben felmerl, hogy az sszes hitelest szervezet, azok minden telephelye hasznljon egy kzs tanstvny adatbzist. o Egy ilyen adatbzis - klnsen ms adatokkal kombinlva - risi informciszerz o forrs lehet magnszemlyekr ol, intzmnyekrol, azok szoksairl stb. Mr ma is sok intzmny hasznl hasonlt - pl. internetrol gy jttt adatokat - els sorban marketing u o cllal. Az ilyen cl is kifogsolhat, de semmi biztostk sincs arra, hogy a felhasznls csak marketing clokra korltozdik. Van olyan trekvs is, hogy a generlt kulcs titkos rszt valamilyen biztos helyen, lettben kell tartani (key escrow). Ez szintn indokolt lehet egy-egy munkahelyen, a legtbb esetben azonban ez is elfogadhatatlan veszllyel jr. rdemes klnbsget tenni a titkostsra s a digitlis alrsra szolgl kulcsok kzt. A munkehelyen rdemes a tisztsghez tartoz kulcsokat hasznlni titkostsra, s a szemlyhez tartoz kulcsokat digitlis alrsra. A tisztsghez tartoz kulcsokat van rtelme lettbe helyezni, tbb ember szmra hozzfrhet ov tenni, azok titkos rszr l is biztonsgi msolatot o fenntartani, a szemlyhez tartoz, digitlis alrsra szolgl kulcs titkos rsze viszont maradhat teljesen a magnember hasznlatban s tulajdonban. Illetktelen hasznlat nem csak gy fordulhat el , hogy valaki rossz szndkkal o birtokolja kulcsunkat, vagy pl. a hitelest hatsgnl valaki visszal a lehet sgeivel. o o Gondolnunk kell arra, hogy hiba bzunk meg pldul a f nknkben, annak is lehet o utdja, bartja, a bartjnak is bartja stb. Ha valaki krn a titkos kulcsunkat, ajnlatos gy viselkednnk, mint az reg miniszterelnk, akir l az ismert anekdota szl. Az o jsgrk hiba csorogtak a kapu el tt, ahol a kormny zrt trgyalst folytatott, semo mit sem tudtak meg. Az utoljra tvoz miniszterelnkt meglltja kt kitart atal jsgr. A miniszterelnk krdsre - Uraim, tudnak nk titkot tartani? - a kt atalember buzgn vlaszolja: - Ht hogyne! Az reg vlasza: - n is.
6. GNU/Linux eszkzk
Szabadon terjeszthet digitlis alr eszkzk mr rgen hasznlatban vannak. o
6.1. PGP/GPG
ppen 10 ve annak, hogy az els forrskdban is elrhet nyilvnos kulcs titkostst o o s digitlis alrst lehet v tev eszkz a PGP (Pretty Good Privacy) kezdett elterjedni. o o
87
LME
GNU/Linux Konferencia
Els sorban szemlyes dokumentumok, levelek digitlis alrsra sznta alkotja, Phil o Zimmermann. A PGP alrs sok ve rutinszeruen hasznlatos les terleteken: pl. GNU szoftverek hitelestsre s a CERT-ek (Cumputer Emergency Response Team) kommunikcijban. A PGP formtumot azta internet RFC (RFC2440) szabvnyostotta, s tbb implementci szletett. A legjelent sebb s legteljesebb ezek kzl az GPG, a GNU o Privacy Guard. Nem csak kulcsokat, hanem kulcsok hierarchijt kezelhetjk segts gvel. Az alkulcsokat azutn klnbz o clokra hasznlhatjuk. A klasszikus pgp-ben az egyik problma az volt, hogy ha valaki elvesztette a titkos kulcst vagy elfelejtette a jelmondatot, akkor nem volt md arra, hogy a kulcst visszavonja. Az OpenPGP s a GPG mdot ad arra, hogy kijelljnk olyan szemlyt pontosabban kulcsot ami ilyen esetben segt. PGP/GPG kulcsot brki generlhat, hasznlhat. Egy nyilvnos kulcson akrhny alrs lehet. A klcsnsen alrt kulcsok hlt, a PGP bizalmi hlt alkotjk. gy egy nyilvnos kulcs hitelessgt akr tbb tucat alrs tansthatja, s minden felhasznl maga dntheti el, hogy milyen felttelekkel fogad el hitelesnek egy addig nem ltott nyilvnos kulcsot.
6.2. SSH/OpenSSH
Az SSH els sorban tvoli szmtgpekbe val bejelentkezsre szolgl eszkz. Nyilo vnos/titkos kulcspr tartozik felhasznlkhoz, s szmtgpekhez is. SSH-val a szerver s kliens szmtgpeket is digitlis alrs segtsgvel azonostjuk. Ez mdot ad arra, hogy noman (s pl. az IP cmnl biztonsgosabban) szablyozzuk, hogy mely gpekrol szabad bizonyos tevkenysgeket vgezni, s hogy megakadlyozzuk, hogy egy imposztor lecserlje a szervert amin dolgozunk, vagy lehallgats cljbl kzbeiktassa a sajtjt. Nagyszeru eszkz az ssh-agent: lehet v teszi, hogy egyszer azonost o suk magunkat pl. reggel a sajt pc-nken, s aztn a tbbi bejelentkezst mind o vgzi el gy, hogy a szerverekt l kapott kihvst (challange) a mi digitlis alrsunkkal kldi o vissza. Ezt a mdot nevezik SSO-nak (Single Sign On). Mindez vek ta rutinszeruen hasznlt dolog GNU/Linux platformon.
6.3. OpenSSL
Az SSL (Secure Socket Layer) a TCP kapcsolatok titkostsra s digitlis alrsra szolgl protokoll, a Netscape fejlesztse. Internet RFC is vlt bel le (RFC2246), ahol o TLS-nek (Transport Layer Security) nevezik. Els sorban arra hasznlatos, hogy web o szerverek azonostsk magukat a bngszoknl X.509 tanstvnnyal, s a forgalmat a bngszo s a szerver kzt titkostva bonyoltsk. Az OpenSSL alkalmas arra, hogy SSL-t hasznljunk brmilyen programban, pldul a nylt forrskd web szerverekben. Az OpenSSL csomag segtsgvel tanstvnyokat is kszthetnk: hasznlhatjuk az X.509 technolgit kls tanst hatsg (CA) nlkl. Amint arrl fentebb mr sz o volt egy CA tanstvnya nem teszi biztonsgosabb a web szervert, s a kliensek sem felttlenl nyernek vele, ha a szervernk nyilvnos kulcst CA-val aliratjuk.
88
LME
GNU/Linux Konferencia
Infrastructure/Simple Distributed Security Infrastructure, RFC2693), vagy a KeyNote Trust Management (RFC2704). Az SPKI nem csak egyszeru, hanem ltalnos is: specilis esetknt tartalmazza az X.509, PGP, SSH szerinti kulcs kezelst is. Md van arra, hogy egy SPKI kulcs ltal kapott jogokat, azoknak egy rszt tovbb delegljuk egy msik kulcs tulajdonosnak. A delegls noman szablyozhat: pl. megmonthatjuk, hogy meddig rvnyes, vagy hogy az jabb tovbbdeleglsra is felhatalmazst adunk-e.
7. sszfoglals
Az X.509-en alapul PKI egy-egy jl krlhatrolt - akr szles - krben megfelel o lehet (pl. katonasg, hivatalok) de a polgri letben, s az interneten val ltalnos hasznlata tbb mint problematikus. Szerencsre tbb alternatva ltezik: ezek egy rsze mr rgen bevlt, vek ta hasznlatos digitlis alrsra s titkostsra (PGP, SSH). Nhny jabb pedig ppen a kulcs kezels terletn jelent el relpst (SPKI/SDSI). A o digitlis alrsrl szl trvnyt mostanban fogadta el az orszggyuls. Ezrt igen aktulis ma ez a tma. Beszlni, gondolkodni rla, rtve s gyelmesen hasznlni, illetve kszlni a hasznlatra klnsen fontos: nem csak az a veszly fenyeget, hogy hitelesnek hisznk valamit, ami nem az, hanem az is, hogy szemlyek s intzmnyek nagy sszeg beruhzsokkal vlnek olyasmit elrni, amihez inkbb jzan sz, gyeu lem, tanuls s hozzrts kell. A magyarorszgi trvny - ms orszgok trvnyeihez hasonlan -, nem ktelezi el magt semmilyen technolgia, vagy infrastruktra mellett, br tbb ponton egyrtelmu utals van az X.509 PKI-ra. Mindazonltal szabatosan, s ltalnosan a fogalmaz, s a trvny szerint jogilag hatlyosak lesznek ms digitlis alrsok is. Nyilvnval, hogy sem technikailag, sem jogilag nem zrult le a digitlis alrs alkalmazsnak folyamata. A GNU/Linux eszkzk s klnsen az a szellem amit ezek kpviselnek nyilvnvalan sokat lendtenek azon, hogy technikailag jobb, anyagilag kedvez bb, o kevsb veszlyes s nem utols sorban embersgesebb legyen az, ami kialakul.
89
LME
GNU/Linux Konferencia
Rivest R.L. & Lampson B. (1996): SDSI A Simple Distributed Security Infrastructure, 15 Sep 1996, http://theory.lcs.mit.edu/~rivest/sdsi10.html OpenPGP Message Format, RFC2440 ftp://ftp.sztaki.hu/pub/nic/rfc/rfc2440.txt.Z PGP kulcs szerverek: http://www.rubin.ch/pgp/keyserver.en.html SPKI-hoz kapcsold web lap: http://world.std.com/~cme/html/spki.html Alattomos tovbbtsrl szl cikk: http://world.std.com/~dtd/sign_encrypt/sign_encrypt7.html Az X.509 modell rszletes kritikja: http://www.anu.edu.au/people/Roger.Clarke/II/PKIMisFit.html
90
Tartalomjegyzk
1. Bevezets 2. Bastion hoszt 3. Csomagszur router o 3.1. Egyszeru router . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2. Router s a NAT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.3. Csomagsz rs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . u 4. Stateful Packet Filter - llapottart csomagszur o 5. Alkalmazsszintu proxy tuzfalak 6. Zorp 7. Zorp a jvoben 92 92 92 93 93 93 94 94 95 95
91
LME
GNU/Linux Konferencia
1. Bevezets
Napjainkban egyre termszetesebb, hogy egy cg internet-kapcsolattal rendelkezik, s valamilyen mdon felhasznlja az Internet szolgltatsait, ilyen mdon beolvasztva azt sajt folyamataiba. gy azonban sajt informatikai infrastruktrja kapcsolatba kerl az Internettel, mely kapcsolatot a cg (s az internet) vdelme rdekben szablyozni kell. A hlzati hatrvdelem feladata, hogy klnbz o vdelmi szint znkat elvlasszon egymstl u olymdon, hogy kztk a kommunikci ramlsa szablyozott krlmnyek kztt, de biztostott legyen. A hatrvdelem legfontosabb feladatait gy sszegezhetjk: a helyi Informatikai Biztonsgi Szablyzatnak megfelel szablyrendszer betaro tatsa.
informciramls biztostsa, a bjtsorozat folyamatos rtelmezsvel s ellen orzsvel. ismeretlen s tiltott elemek thaladsnak megakadlyozsa, ilyen mdon vdve a kt znt egymstl.
2. Bastion hoszt
Bastion hoszt neve magyarra nagyon nehezen fordthat le gy, hogy tkrzze az eredeti jelentst. A bastion angolul meger stett terletet jelent, a bastion host kifejezs o pedig egy olyan meger stett szmtgp, mely egy vdett bels hlzat szmra a ho o lzati er forrsok ignybevtelt lehet v teszi. o o A bastion hoszt egy szabvnyos munkalloms, kt hlzati interfsszel, melyek kzl az egyik a bels -, a msik pedig a kls hlzat fel gyel (a kls s bels o o o o elnevezs kizrlag a szemlltetst szolglja, egyszeruen kt znrl van sz). A felhasznlk a sajt munkallomsaikrl gy tudjk ignybevenni a hlzat szolgltatsait, hogy bejelentkeznek a bastion hosztra (akr az X Window akr terminl emultor hasznlatval), majd onnan indtjk a hlzati kliensprogramot (pl: bngsz t). o A bastion hoszt hasznlata egyrszt knyelmetlen, mert az adatok nem kzvetlenl a mi gpnkre rkeznek, msrszt nem is nyjt elegendo biztonsgot, mivel a munkallomsokra rt szoftvereknl nem ez az els dleges szempont. o Termszetesen proaktv kongurcival a veszly cskkenthet , de nem sznteto het meg (pl: ha lehet, akkor szolgltatsok csak a bels interfszen gyelnek, kls n o o o nem). Bastion hoszt alkalmazsakor a bels hlzaton lv szmtgpek IP cmeinek o o kvlrol nem kell cmezhet nek lennie, hiszen minden krs a klvilg fel a bastion o hoszt kls IP-jr l indul. o o
3. Csomagszur router o
Nzzk meg, hogy egy csomagsz r nlkli router milyen mdon valstja meg kt uo alhlzat sszekapcsolst. 92
LME
GNU/Linux Konferencia
3.3. Csomagszurs
Mint ahogy a nevben is benne van, a csomagsz rs lehet v teszi bizonyos csomagok u o eldobst ill. tengedst a csomag fejlcben lv informcik alapjn. o Ez ltalban egy szablyhalmazt jelent, ahol minden szably egy felttelt, valamint egy akcit jell. Ha a berkez csomag megfelel a felttelnek, azon alkalmazni kell o a megadott akcit, mely lehet pldul a csomag tengedse, eldobsa vagy visszautastsa. A felttelben kikthetjk a csomag forrs valamint cl IP cmt, az IP feletti protokoll azonostjt, valamint TCP s UDP protokollok esetn a portszmot. Csomagsz r router alkalmazsa esetn teht lehet sgnk van bizonyos csomauo o gokat tengedni vagy eldobni az alkalmazott cmtartomnyok, valamint portszmok alapjn, viszont ha egy csomag engedlyezett, akkor cmtrson kv l a csomag vlu tozatlanul halad t. Szmos opercis rendszerben fordult el olyan hiba, mely az IP fejlcek rossz o rtelmezsbol addott, a csomagsz r router mr ezekkel szemben is tehetetlen, nem uo beszlve a csomagok adatrszben tmen adatokrl. o
93
LME
GNU/Linux Konferencia
u Tovbbi problma a kizrlag portszm alapjn trtno sz rsben az, hogy nem lehet ellen rizni, hogy egy adott porton tnyleg az adott fels bb szint protokoll halad o o u t (pl. 80-as port esetn HTTP).
amennyiben a t zfal a mskpp rtelmezi a fragmentlt IP csomagokat, gy elu kpzelheto, hogy mst "lt" a t zfal, s mst a kliens. u nehz az adatfolyamban olyan vltoztatsokat eszkzlni, melyek tlpik a csomaghatrt (pldul tartalomsz rs, jrakdols vagy kdols levtele, stb). u
Tovbbi problma jelentkezik, ha a feldolgozand protokoll bonyolult. Ez knnyen llapottr-robbanshoz vezethet, ami tlthatatlann teheti a protokoll ellen rzst. o sszessgben: az llapottart csomagsz r valamivel nagyobb biztonsgot kpes uo nyjtani egy egyszeru csomagsz r nl. uo
LME
GNU/Linux Konferencia
6. Zorp
A Zorp egy alkalmazs szint proxy t zfal, azonban szmos jtst tartalmaz a szokvu u nyos proxy t zfalakhoz kpest: u Modularits: a Zorp a protokollok felptshez hasonlan rekurzv, azaz kpes lekezelni azt, ha egy protokoll begyazott alprotokollt tartalmaz s a begyazott protokollt is ellen rizni kvnjuk. o
Kriptoproxy: a Zorp SSL proxyja kpes a titkostst eltvoltani az SSL-t alkal maz protokollokrl, gy az ilyen adatok is ellen rizhetoek (HTTPS, POP3S, o IMAPS), valamint kpes arra is, hogy az egyik oldalon cleartextben rkez foo lyamot SSL-be csomagolva kldje tovbb a szerver fel. Elemzs mlysge: a proxyk fejlesztse sorn trekedtnk arra, hogy a protokollokat a lehet legrszletesebben elemezzk, gy biztostva a kommunikl felek o klcsns biztonsgt. Kongurci: a kongurci lersnak nyelve egy programozsi nyelv, a Python. Ennek segtsgvel a proxyk m kdse nomhangolhat, szinte minden u protokoll-esemnyre sajt esemnykezel t rhatunk, mellyel beavatkozhatunk a o proxyk m kdsbe. gy pldul a HTTP proxy URL sz rst megvalsthatjuk u u tisztn Pythonban nhny sor megrsval.
A Zorp fejlesztse jelenleg kt gon zajlik: egyrszt a Zorp GPL alatti vltozata, mely szabad szoftverknt letlthet s hasznlhat, msrszt a Zorp Professional, mely o termkknt kaphat. A GPL-es vltozat teljes rtk , a klnbsg els sorban a tmou o gatott protokollok szmban, illetve a csomagols min sgben van. o A tervezett 1.0 kiads a kvetkez proxykat tartalmazza majd: HTTP, FTP, FINo GER, WHOIS, SSL, POP3, IMAP, NNTP, PRINTER, TELNET.
7. Zorp a jv ben o
A Zorp fejlesztse a tovbbiakban a kvetkez k szerint zajlik: o Tovbbi protokollok tmogatsa Menedzsment eszkzk Naplfeldolgoz eszkzk Grakus fellet
95
96
Tartalomjegyzk
1. Bevezet o 2. A szmtgpes kpalkots rvid ttekintse 2.1. Mely grakai programokat hasznlhatjuk linux alatt ? 2.1.1. Pixelgrakai programok . . . . . . . . . . . 2.1.2. Vektorgrakai programok . . . . . . . . . . 2.1.3. 3D rajzprogramok . . . . . . . . . . . . . . 98 98 98 98 99 99 99 99 100
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
97
LME
GNU/Linux Konferencia
1. Bevezet o
A Unix rendszereket els sorban kiszolglknt ismerjk, a httrben dolgoz sokszor o monitor nlkl hnapokon keresztl lellts nlkl megbzhatan m kdo, kls re u o nem a legszebb gpknt. Szerencsre ez a helyzet az elmlt vek gyors hardver fejl o dsnek s a unix terjedsnek ksznhetoen egyre szebb grakus felleltek (Gnome, KDE, Enlightenment stb.), s alkalmazi programok hasznlhatk alatta. Mra mr elmondhatjuk, hogy a unix felsorakozott a desktop rendszerek kz (is). Termszetesen ez mg nem jelenti azt, hogy a szabad UNIX-ok megel zik a professzionlis grakai o rendszereket. De szerencsre vannak olyan terletek, ahol a szabad unix rendszernk mr jobban megllja a helyt, mint a mregdrga eddig ismert grakai opercis rendszerek. Az el ads clja nem a tbbi opercis rendszer s a grakai alkalmazs vo lemnyezse, hanem els sorban a unixban rejl lehet sgek kihasznlsnak bemutao o o tsa.
98
LME
GNU/Linux Konferencia
2.1.2.
Vektorgrakai programok
1. XFig - egyszerbb vektoros rajzok ksztse 2. Killustrator - a KDE csomag rsze. 3. GYVE (Yellow Vector Editor) - er sen fejleszts alatt o 4. Gill - Gnome Illustrator (korbban SVG) 5. Sketch - igretes vektoros rajzprogram 2.1.3. 3D rajzprogramok
1. Blender - jl, sokrten hasznlhat program, (sajnos a forrskd nem szabad) 2. Moonlight - 3D rajzporgram, er sen fejleszts alatt o 3. PovRay - kicsit kilg a sorbl, de sokak ltal hasznlt program 3. Maya - a Hollywoody stdikban is hasznlt program, nemrg jelent meg a linuxos vltozata (nem ingyenes). A felsorolsbol is ltszik, hogy a graka unixon mg nagyon atal. Kevs jl hasznlhat programot tallhatunk. A felsorols korntsem teljes, sok hasznos, s igretes program kimaradt a listbl. Ebb l a sorbl kilg a GIMP a tulajdonsgaival. o
3. A GIMP
A GIMP megjelense ta szinte minden sszehasonltsban az els helyet foglalja el o a linuxos kpszerkeszt programok kztt. Tudsa, hasznlhatsga elri, nha meg o is el zi a digitlis kpfeldolgozsban s grakban eddig ismert, drga programokat. o Vajon mirt ilyen sikeres a GIMP? Mi a titka a sikernek? Hogyan lehet vele dolgozni? Hogyan lehet a GIMP rejtett tartalkait kihasznlni? Ezekre prblok nagyon rvid bevezetst tenni az el ads sorn. o
LME
GNU/Linux Konferencia
100
A BSD vilga
Zahemszky Gbor <ZGabor@BSD.HU> Magyar BSD Egyeslet 2001.08.31.
Kivonat A BSD vilgrl, lozjrl szl majd az el ads, sok rdekessggel a klno bz licenszekr l (XFree86, Perl Apache...), a BSD-rendszerek hasznlatrl s o o hasznlirl.
Tartalomjegyzk
1. Bevezets 2. Az ltalnossgok utn nzznk nhny konkrtumot e rendszerekr l! o 2.1. Fjlrendszerek . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2. RAID, s vidke . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.3. Hlzat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.4. NAT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.5. Csomagsz rs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . u 2.6. Forgalomkorltozs, -szablyozs . . . . . . . . . . . . . . . . . . . 2.7. Szoftver Portolhatsg . . . . . . . . . . . . . . . . . . . . . . . . . 2.8. Emulcik . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.9. Csomagkezels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.10. Kernel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.11. Napraksz BSD-k . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3. BSD-k hasznlata a vilgban s itthon 3.1. BSD-k elrhet sge . . . . . . . . . . . . . . . . . . . . . . . . . . . o 102 105 105 106 106 107 107 108 108 108 109 110 110 111 111
101
LME
GNU/Linux Konferencia
1. Bevezets
Mi is az a BSD? Els rnzsre valami rondasg, hisz ha egyltaln kpes ezt a nevet o valaki megjegyezni (mr ez se szokott sikerlni, van akik tbbszri nekifutsra is csak BDS-nek hvjk - mint pl. az APEH), akkor is csak az jut eszbe, hogy: valami, ami nagyon hasonlt az LSD-re (ami lehet, hogy j, de nem biztos, hogy leglis), s mg ennl is sokkal jobban emlkeztet a BSA-ra (ami lehet, hogy leglis, de biztos, hogy nem j). Szval BSD. Maga a nv egy rvidts, a Berkeley Software Distribution (azaz Berkeley-i Szoftver Terjeszts) rvidtse. Persze, mint minden rvidts, s azok magyarzata, ez se r tl sokat. gy maradjunk annyiban: ez egy UNIX-verzi elnevezse. Ebbe persze nem megyek bele, hogy most a BSD-k valban UNIX-ok, vagy nem, jogilag nem, gyakorlatilag igen. Ezen a konferencin elhangzik egy el ads, amelynek o cme (UNIX vagy nem UNIX?) azt sejteti, hogy ugyanez a problma fennll a Linux esetben is. (Sajnos a tervezett id beoszts ismeretben mr sose fogom megtudni, kio vve, ha az el ad velem ellenttben gynyru s hasznlhat el adsanyagot kldtt o o a szervez knek a konferenciakiadvny megjelentetshez.) n az egyszerusg kedvo rt UNIX-nak fogom nevezni. Ha egy kicsit megvizsglnnk a BSD mltjt (amihez pl. a Linuxvilg c. lap II/1-es szmban tallhatunk egy kis segtsget), akkor sok minden kiderlne err l az oprendszerr ol, amely 1977-ben (vagy a krl) jelent meg, o s az elmlt nagyjbl 25 vben j pr hasznos funkci itt jelent meg el szr. Ez a o UNIX-verzi j nhny msik rendszer szletshez jrult hozz. Az ismertebbek, ABC sorrendben: AIX - az IBM-t l, HP-UX a HP-t l, SunOS a SUN-tl, s Tru64 o o UNIX (msnven Digital UNIX azaz DEC OSF/1 azaz Ultrix a Compaq-tl, korbban Digital-tl). Ezekrol az vekr l is kell(ene) beszlni, de gyeljnk egyel re a jelenre: o o manapsg a BSD a legtbb hozzrto szmra semmit nem jelent. Jelenleg a kvetkez BSD verzik ismertek - megint ABC-rendben: BSD/OS, Freo eBSD, NetBSD, OpenBSD. Ezek kzl az els kiss kilg a sorbl, ez egy cg keo reskedelmi termke, melyet Intel platformra, els sorban hlzati kiszolglnak, valao mint t zfalakhoz ajnlanak. (A cg neve csak azrt marad ki, mert az utbbi id ben u o a tulajdonoson kvl a neve is igen s r n vltozott.) (Tallkozhatunk egyb nevekkel: uu 386BSD - ez tulajdonkpp mr nem ltezik; Trusted BSD, ami egy biztonsagi dolgokra kihegyezett BSD, a stabil dolgok rendszeresen kerulnek bele a FreeBSD-be.) A FreeBSD, amit n rendszeresen hasznlok, egy eredetileg Intel platformra fej lesztett BSD vltozat, a 386BSD tovbbfejlesztsbol alakult ki. Ez az elrhet o BSD rendszerek kzl taln a legjobb PC-s hardvertmogatssal br. Mint neve is jelzi, szabad. Forrsa is, a hasznlhat binris is ingyenesen elrhet - letlto het a hlrl, megvehet CD-n, s lemsolhat (leglisan) ismer skt l. o o o o
A NetBSD egy olyan BSD vltozat, amelynl egyetlen jl megfoghat cl ltezik: AZ opercis rendszer akar lenni. Legf bb jellemz je, hogy mindenfle o o hardveren kpes m kdni. (Sajnos ez nem igaz, pl. a jelen lev AS400-on nem u o megy, de a felhasznlk zme ltal elrhet vasakat - PC, Amiga, Atari, Mac, o Sun-ok, rgi HP-k, Alpha-k, klnbz o palmtopok - tmogatja.) Vgl az OpenBSD. Eredetileg a NetBSD fejleszt i csapatbl vlt ki nhny o ember, s a legbiztonsgosabb opercis rendszer kifejlesztst t ztk ki clul. u Alapknt az akkori NetBSD-t vettk, s azta igen sokat vltoztattak rajta, els o sorban biztonsggal kapcsolatos dolgokat. (Volt a fejlesztsben egy igen hossz
102
LME
GNU/Linux Konferencia
id szak, amikor gyakorlatilag az j funkcik beptse megllt, s a meglev kd o o igen er teljes auditlson ment keresztl.) o Ebb l a bevezetsb l avatatlan kvlll azt sz ri le, hogy akkor ez egy elgg o o u kusza rendszer, hisz van legalbb 4 klnbz o verzi bel le, elgg eltr clokkal. (Ez o o a 4 azonban nem is sok, ha sszevetjk a klnbz o Linux-terjesztsek - disztribcik - szmval.) A BSD rendszerek azonban kzs alapbl fejl dtek, teht nagyon sok hasonl o (nemegyszer megegyez ) rszt tallhatunk. Az igazsg az, hogy nhny, az egyik, o vagy msik rendszerhez elktelezett fejleszt t kivve, a fejleszt k jelent s rsze nem o o o csak az egyik vagy msik, hanem 2-3 BSD fejlesztsben vesz rszt. Ezek a rszek aztn nyilvn ugyanolyanok, ugyangy m kdnek, s a belltsuk is megegyezik. u Termszetesen, mint a szoftveriparban mindentt, az egyik fejleszt (csapat) ltal o kitallt, megvalstott dolgokat itt is ellopjk a msiktl. Illetve nem lopjk, ugyanis nincs r szksg. A BSD-k egyik igen komoly eltrse a GNU/Linux vilgtl ugyanis a szoftverekhez tartoz engedly (licensz). Mg a GNU/Linux rendszereken hasznlt programok tbbsge a GPL-t (vagy LGPL-t) hasznlja, addig a BSD rendszereken hasznlt programok zme Berkeley-engedly al tartozik. Ez rendszerint komoly vitkat eredmnyez, ugyanis a Berkeley-engedlynek van tbb, sokak - felttelezett szabadsgrzett srt kittel. Ezek kzl nhny: o ezen programokat lehet mdostani anlkl, hogy a mdostst ktelez lenni o kiadni
Ezt sokan flrertik, s a Linux- s egyb rendszereket hasznlk egy rsze nhny aprsgot nem lt (az elvakult Linux hv k pedig nem hajlandk ltni). o Egy modern irodai Linux rendszer gyakorlatilag nem ltezik a grakus fellet nlkl (s most nem a GNOME/KDE/??? rendszerekre, hanem az alatta lev o X Window System rtegre gondolok). Ennek legs r bben hasznlt vltozata uu az XFree86 - nem GPL-t hasznl. Akkor teht ne hasznljuk az X-et? Legtbb Linuxos rendszer szerves rszt kpezi a Perl, mely az un. Artistic License (m u vszi engedly?) alapjn terjeszthet . Akkor teht ne hasznljuk a perl-t s az o ezen alapul dolgokat? (Megjegyzendo, hogy a szerz lehet v tette programjo o nak GPL-alap terjesztst is.) De tallhat sok Linux rendszeren Apache, (n)vi, s sok egyb program, mely nem GPL-t hasznl. Teht ezeket se kellene hasznlnunk? Ezek a programok az eltr jogi szablyozs ellenre nem rosszak. (Arrl o nem is beszlve, hogy mg a legelvakultabb Nylt Forrskd-hv ok tbbsge is a Netscape, illetve az Opera bngszot hasznlja, s jval kevesebben vannak a Konqueror illetve a Mozilla rendszeres - s kizrlagos - hasznli.) Senki nem ktelez minket arra, hogy BSD-alap rendszernkn csak BSD-engedlyes programokat hasznljunk, vagy fejlessznk. Ezek a rendszerek is hasznlnak olyan programokat, melyekhez tartoz engedly sokszor szigorbb. s a taln legfontosabb: a felhasznlk zmt nem klnsebben rdeklik a Copyright-problmk. Ha venni kell a programot, veszi, ha lopni lehet, akkor lopja; ha nem kell lopni, mert leglisan juthat hozz pnz nlkl (vagy legalbbis 103
LME
GNU/Linux Konferencia
jval kevesebb pnzrt) akkor leglisan gy jti be; a lnyeg: m kdjn, s azt s u u gy csinlja, ahogy azt kell, s amire a felhasznlja utastja, ne pedig valami mst, kisujjbl kiszopva. (Szerencsre(?) egyre tbben vannak olyanok is, akik egyes cgek irrelis zletpolitikja, bizonyos termkek id nknt a hasznlatot is o megnehezto instabilitsa, illetve a szmtgpes vilgot elraszt levlszemt s vrusradat elleni vdekezs okn szeretnnek vltani.) Trjnk vissza a BSD-khez. A tovbbiakban (mivel csak elgg rg, s elgg keveset hasznltam) a kereskedelmi BSD-t, a BSD/OS-t nem trgyalom. A BSD-k vilga olyan vilg, amely bizonyos terleteken hasonlt, msokban eltr a Linux-vilgtl. Hasonlt abban, hogy: legnagyobb rszben szabad szoftver
tbbsgben megszllott orltek fejlesztik tbb klnbz o, mde elgg hasonl vltozata ltezik jl hasznlhat szerver funkcik elltsra, s lassan de biztosan halad abba az irnyba, hogy hasznlhat alternatva legyen a hozz-nem-rt ok szmra is a jelenleg elterjedt rendszerekkel szemben
Eltrnek: a legtbb BSD rendszernl kimondva, kimondatlanul a szerver kategrit, s sokkal kevsb az otthoni jtsz, internetezo, lmet nz , zent hallgat felhaszo nlt clozzk meg (ezt taln kevsb flrerthetoen valaki egyszer gy fogalmazta meg: az Adaptec RAID-vezrl meghajtprogramja fontosabb, mint az o Opti931-es hangkrty). klnbz o BSD rendszerek vannak ugyan, de nincs tbbfle (pl.) NetBSDterjeszts: ha valaki az 1.5.2-es NetBSD verzit hasznlja, az elgg konkrt dolgot takar, ha nem kezd a rendszergazda orlt rendszertszervezsbe, akkor szinte mindegy, hogy mely vasat vlasztottuk a teleptshez, ugyanazt ugyanott fogjuk tallni. (Ellenttben a legtbb eleve egymstl is klnbz o Linux terjesztst l , amelyeknl a tbb-kevsb ltalnosnak tekintheto dolgokbl o ltalban a telepts kzben el kell dnteni, hogy: melyik vi-hasonmst teleptsk (nvi/elvis/vim/...) melyik levelez szerver programot teleptsk o (sendmail/smail/qmail/postx/exim/...) melyik karakteres levelez klienst teleptsk termszetesen teljesen feo leslegesen, lvn a tbbsg grakus felleten dolgozik (mailx/pine/elm/mutt/mh/nmh/...) melyik hrolvas programot teleptsk, melyik grakus levelez klienst teo leptsk s . t.) ezeknl komolyabb eltrs: a BSD rendszerek fejlesztse a szoftverfejlesztsben eddig elgg jl bevlt kzpontostott mdszert kveti. ltalban jl elhatrolt terletek lteznek, s az ezekhez rt szemlyek csoportja koordinltan dolgozik o 104
LME
GNU/Linux Konferencia
ezen. Nincsen olyan egyrtelmuen azonosthat szemly, mint Linus Torvalds, aki az egsz felett orkdik, s akinek szava tulajdonkppen az egyetlen dnto sz a tekintetben, hogy valami igen, vagy nem: a fejleszt k kzs dntse hatrozza o meg, hogy valami a rendszer szerves rszt kpezi-e, vagy marad becserkszend o rendszerfolt (patch) valahol a Hln. a rendszer szerves egsz. Az n rendszerem nem Debian 2.2 (Potato) 2.2.19es kernellel, a libc6-nak a 2.1.3-10-es verzijval, valamint a . . . -val . Nem, az n rendszerem FreeBSD 4.3-RELEASE, ha esetleg nagyon akarom, akkor a szksges biztonsgi foltokkal. s ezt gy a BSD-sek tbbsge rti, s tudja, mit hol keressen.
a csomagkezels (a kereskedelmi BSD/OS-t kivve) egysges s rugalmas. Nem vagy .tar.gz, vagy .rpm, vagy .deb, a hozz tartoz segdprogramokkal. Egyetlen formtum ltezik, ami egybirnt .tar.gz, de termszetesen a csomagkezels mint olyan hasznlathoz szksges funkcik megtallhatk. (Ltszlag nem sokban trnek el az egyes Linux-rendszerek rpm-jei, de legalbbis a linux- s linux-kezd levelez listk, illetve az Index frumain olvashat hozzszlsok o o valamint nmi sajt tapasztalat alapjn ez a csekly eltrs elg sok felhasznl s persze nhny rendszergazda lett meg tudja nehezteni. s ha szerencsnk van, akkor szp lassan el ll ugyanez a deb formval is.) o a legtbb Linux-rendszerrel szemben, a rendszer belltshoz (kernel fordts, szoftverek m kdsnek belltsa, egyebek) egyetlen jl hasznlhat, mde kiu csit nehezen tanulhat kongurl eszkzt lehet csak hasznlni. Neve: vi. Ms nincs! A BSD rendszerekben az alaptelepts (teht ha extra programokat nem teszek fl) nem ad joe-t, emacs-ot, ae-t, nedit-et, s f leg nem ad adott tero jesztsben (s csak ott!) hasznlhat kongurl eszkzt. Er sebb idegzet ek o u esetleg megprblkozhatnak az ed-vel vagy teleptsk fl az ignyelt plusz szvegszerkeszt t, ami valszn leg el refordtott csomagknt megtallhat. o u o
105
LME
GNU/Linux Konferencia
Stabilan egyel re csak a NetBSD-nek rsze, de ltezik egy LFS-nek (Log Struco tured File System) nevezett, nevb l lthat, naplz fjlrendszer. A szekvencilis o diszkre rs miatt az olvass s rs is gyorsul, mg a naplzs miatt a megbzhatsg is megfelel . o Aki szeret kockztatni, az BSD alatt is bellthatja az aszinkron rst azaz ugyanazt, ami ext2-n alaprtelmezs Vgl, jelenleg mindegyik BSD-nek rsze egy viszonylag j mechanizmus, amit soft-updates-nek neveznek. Nagyon leegyszerustve a dolgot, a rendszer a diszkre rand adatok kztt fggosgi ft pt fel, s ez alapjn dnti el, hogy mely diszkterletet kell kirni. Ennek segtsgvel megmarad a szinkron rsmd stabilitsa, s majdnem az aszinkron rs sebessgt kapjuk. Ez mr ugyanaz a stabilits, mint amit a kereskedelmi UNIX-rendszerekben nha pnzrt, nha szriatartozkknt adott klnbz o naplznak (journaling) nevezett fjlrendszerek (GNU/Linux rendszeren a ReiserFS, az ext3, az SGI-fle XFS, illetve az IBM-fle JFS) nyjtanak, egyetlen htult je a rendszer nem-szablyszer u lellsa utni diszkellen rzs lasssga. (Ezt napo o lz fjlrendszerek esetn azzal kerlik meg, hogy a napl alapjn, csak a legutols mdostsokat ellen rzi a rendszer.) Ez termszetesen komoly htrny, ezrt egy jabb o eszkz jelent meg mostanban: a rendszerindts utni, httrben trtno fjlrendszerellen rzs (background fsck). Azaz miutn a rendszer elindul, egy-kt pillanat mlva o mr hasznlhat a fjlrendszer, a klnbz o inkonzisztencikat a norml m kds kzu ben javtja a rendszer. Az UFS fjlrendszerben a fjlokhoz tartozik nhny specilis jelz . A chags szolo gltats hasonlt az ext2-fjlrendszerben megtallhat, chattr paranccsal llthat dolgokhoz. Bellthat egy fjlra pldul, hogy ne lehessen trlni, vagy ne lehessen semmilyen mdon vltoztatni. Amiben eltr az ext2-s megvalststl, hogy ezekbol a lehet sgekbol kett van: egy, a kznsges felhasznlk (nyilvn a fjl tulajdonosa) o o ltal llthat, s egy, csak a rendszeradminisztrtor ltal llthat pldny. Ez utbbinak van egy igen rdekes tulajdonsga: a kernel specilis belltsa mellett ez utbbi jelz k trlse mg a rendszergazdnak sem engedlyezett. o
2.3. Hlzat
Mindhrom szabad BSD A referencia TCP/IP megvalstst hasznlja, mely az el mlt vtizedek alatt elgg kiforrott, gyerekbetegsgeit kinvo programrendszer lett. 106
LME
GNU/Linux Konferencia
Termszetesen mind az IPv4, mind az IPv6 hasznlhat, Magyarorszg els , ksrleti o IPv6-os hlzatt is BSD-s gpek alkottk. Szerencsre mindhrom rendszer ugyanazt az IPv6-os megvalstst ptette rendszerbe, gy ezek kztt csekly eltrs tallhat. A BSD-k szerves rszt kpezi az IPSEC tmogats (IPv4-en is). Hasznlhat IPX/SPX, AppleTalk, valamint NetBSD s OpenBSD alatt nhny manapsg kevsb elterjedten hasznlt hlzati protokoll is, pl. Xerox NS. A SLIP, CSLIP s els sorban a PPP ugyangy rendszertartozk. Mg a SLIP mego valstsban nincs klnbsg, addig OpenBSD-n s FreeBSD-n egy ppp-nek nevezett program (ez egy specilis tun nvre hallgat eszkz segtsgvel, felhasznli programbl intzi a PPP protokollt), mg NetBSD-n s FreeBSD-n egy pppd-nek nevezett, kernel szinten m kdo szoftver hasznlhat. Kt megjegyzs: FreeBSD-n ezek szeu rint kt klnbz o megvalsts is ltezik (ez mg nhny egyb dologgal gy van); ez utbbi pppd megegyezik a Linux-rendszerekben tallhat pppd programmal (mind a kernel-szintu, mind a felhasznli szint rsze ugyanaz). u Az IP, IPX s AppleTalk tmogatson kvl az egyb oprendszerek fjl- s nyomtatmegosztsi protokolljt is tmogatjk, a Samba, a NetAtalk, a MaRS (valszn leg u sokak ltal ismert) programok segtsgvel.
2.4. NAT
A korbbi Linux-kernelekben masquerading-nak nevezett, a hivatalos dokumentcikban NAT (Network Address Translation kb. Hlzati Cmfordts) nvre hallgat funkci is elrhet . FreeBSD-n, NetBSD-n az alaprendszer rsze Darren Reed o iplter nev programcsomagja, melynek egyik funkcija a cmfordts. Ez az utols u OpenBSD verzibl (tulajdonkppen) szemlyes okokbl hivatalosan kikerlt, de a fejleszt je vltozatlanul karbantartja az OpenBSD specikus rszeket, gy gyakorlatilag o ott is hasznlhat. OpenBSD-s fejleszt k g zer vel dolgoznak egy pf-nek nevezett, az o o o iplterrel (legalbb parancssori belltsszinten, egyes hrek szerint kernel programozi fellet-szinten) kompatibilis megvalstson, amely valszn leg az iplter funku ciit tveszi. FreeBSD-n ezen kvl ltezik egy specilis rendszermechanizmus, amit divert socket-nek neveznek (eltrtett hlzati csatlakozs), s ennek, a csomagsz u r nek, s egy natd-nek nevezett felhasznli programnak a segtsgvel is megoldo hat a NAT. (jabb funkci, melynek FreeBSD alatt tbb klnbz o megvalstsa ltezik.)
2.5. Csomagszurs
Az el bb emltettek szinte szrl-szra igazak, ugyanis az iplter (s az OpenBSD-s o pf) els dlegesen csomagsz r k. Azaz NetBSD-n, FreeBSD-n rendszertartozk, mg o uo OpenBSD-hez kls csomag. OpenBSD-ben pf nven egy msik megvalsts rhet o o el hivatalosan. FreeBSD-n szoks szerint ltezik mg egy eszkz, ezt ipfw-nek hvjk (s az 1.x-es Linux-kernelbeli Alan Cox-fle csomagsz r ezen alapult. BSD -> uo Linux, s nem viszont :-) Azta persze sokat vltozott.) Ezek mindegyike, azaz az iplter is, a pf is, s most mr j ideje (mg ha sok FreeBSD felhasznlban nem is tudatosult idig) az ipfw is un. SPF, azaz llapottart csomagsz r (Stateful Packet uo Filter). Ennek lnyege, hogy a ki- be- irnyul csomagokat nem nmagban rtelmezi a rendszer (ami a csomagsz r k alapvet viselkedsi mdja), hanem az esetlegesen kouo o rbban mr thaladt csomagokban tallhat informcikat is gyelembe veszi. Ennek segtsgvel bizonyos szksges hlzati forgalom lnyegesen biztonsgosabb tehet . o
107
LME
GNU/Linux Konferencia
Az jabb Linux-kernelekben (2.4-tol mr a stabilban is) ennek (az SPF-nek) egy nmileg tovbbfejlesztett vltozata tallhat kapcsolatkvets (connection tracking) nven. (B vebben lsd pl. az egyszer mr emlegetett Linuxvilg-ban, az I/1-es szmtl sok o ezer rszen t fut sorozatot. Esetleg az itteni el adsok ...) o
2.8. Emulcik
Mivel a BSD-k egyel re a kereskedelmi szoftvereket gyrt cgek szmra amolyan o mostohagyerekek (szerencsre egyre tbb kivtel van), nagyon fontos az adott vason fut egyb opercis rendszerek ltal futtathat alkalmazsok BSD alatti futtathatsga. Intel/AMD/... alap PC-n ez mindhrom BSD-n ugyanazt jelenti: els sorban o a mindenki ltal nagyrabecslt M$ cg W* nev szoftverre rt programok, illetve u (szgyen-gyalzat, hogy egy mondatba kerlnek) Linux-ra rt alkalmazsok futtathatsgt. Erre ugyanazokat a lehet sgeket nyjtjk. Egyrszt a feltehet en sokak ltal o o ismert WINE-emultor elrhet BSD-ken is, gy szinte minden windows-os program, o amit a WINE kpes futtatni, fut a BSD-ken. Msrszt mindhrom BSD-nek ltezik Linux-emultora (szakszer en taln jobb u lenne szimultornak nevezni, s t mg ezt is lehetne ragozni), s ennek a kdnak a o segtsgvel Linux-alkalmazsok is futtathatk. S t, a hab a tortn, az egyel re zrt o o kd VMWARE segtsgvel Linux-emulcin fut VMWARE, abban esetleg Windows 2000 vagy Linux vagy ms. (s mivel a Linux-emultor kernel-szintu megvalsts, nem nagyon tapasztalhat az emultorokra jellemz lassuls.) NetBSD-n s FreeBSDo n ltezik nmileg korltozott kpessg SCO UNIX, s elg jl hasznlhat Solaris u 108
LME
GNU/Linux Konferencia
emulci is, OpenBSD-n sajnos nem tudom. A nem PC-platformokon az adott vas eredeti gyrtja ltal fejlesztett oprendszer alkalmazsainak futtatsa tbb-kevsb megoldott (pl. Alpha-kon Tru64-es alkalmazsok.) Jelenleg a FreeBSD az egyetlen, mely tbb processzor hasznlatt tmogatja. A hamarosan megjelen 5.0-s sorozat egyik leglnyegesebb vltoztatsa az ehhez kapcsoo ld rendszerrszekben tallhat. Termszetesen mind a NetBSD, mind az OpenBSD fejleszt k clkit zsei kztt szerepel. o u
2.9. Csomagkezels
Ez a BSD-rendszerek egyik nagy er ssge. FreeBSD s OpenBSD alatt az elnevezo sek megegyeznek, mg a NetBSD egy nmileg eltr (taln mg logikusabb) elnevezst o hasznl. A rendszer szerves rszt kpezo programokon kvl ktfle, azonnal (vagy minimlis er fesztssel) elrhet szoftver ltezik. Az els t csomagnak (package) hvo o o jk. Ez gyakorlatilag a klnbz o Linux-terjesztsek rpm vagy deb csomagjaival megegyez kategria. Ez .tar.gz formj, amelyben valamely program futshoz szksges o fjlok tallhatk, a futtathat, a segdprogramok, a csak hozz tartoz knyvtrfjlok, a dokumentci, stb. A csomagfjlban az adatok a rendszerbeli katalgusstruktrjuknak megfelel formban tallhatk. Ezen kvl specilis nev adatfjlokban nhny, a o u csomag kezelsvel kapcsolatos informci: a telepts el tt, vagy utna vgrehajtand o m veletek; mely ms csomagok meglte szksges; illetve milyen fjlok tartoznak a u csomaghoz ez az informci pldul a csomag eltvoltshoz szksges. Ha egy csomagot flteleptek, akkor a m kdshez szksges egyb csomagokat is automau tikusan flrakja a csomagkezel . A csomagkezel helyben, vagy URL-lel adott, ftp o o protokollal elrhet csomagot kpes telepteni. o A msik lehet sg FreeBSD-ben s OpenBSD-ben port, NetBSD-ben pedig a soko kal logikusabb csomagforrs (package source, pkgsrc) nvre hallgat. (NetBSD-n port nak a rendszer klnbz o vasakon fut verziit nevezik azaz van ARM-port, meg Alpha-port, de az mgetty elrhet csomag, s csomagforrs formjban is.) o Ez egy adott programnl egy kicsi, normlis esetben csak 5-10 fjlt tartalmaz katalgusstruktra. Az itt tallhat fjlok tartalmazzk a program felptshez szksges esetleg letltendo fjlok nevt, forrsnak helyt, a letlts mdjt ftp/http, s a forrsprogrambl a vgrehajthat el lltshoz szksges utastsokat. Ha valamio lyen szmunkra szksges program el fordtott binris csomagknt nem ltezik, akkor o teleptse sszesen kt utastst ignyel: # cd /usr/ports/audio/mpg123 # make install Ez el szr letlti a forrst (illetve ha a forrs mr rendelkezsre ll, s megfelel o o helyen van ez FreeBSD alatt pl. a /usr/ports/distles knyvtr , akkor a letlts elmarad), a letlts utn kicsomagolja egy tmeneti knyvtrba, a program fordtshoz esetleg szksges javtsokat automatikusan elvgzi, lefuttatja a ./congure-t (s javt a vgeredmnyen), ha erre szksg van, lefordtja a lerfjlokban szerepl bellto soknak megfelel en, fltelepti a rendszerbe, elkszt egy csomaglert (hogy ks bb a o o csomagkezel parancsokkal lehessen kezelni), s ksz. Mivel gy a fordts szemete a o rendszerben marad, ltalban e helyett a # make install clean javasolt. Ez takart is maga utn. Ha valakit zavar, hogy a letlts, a foltozs, a fordts rendszergazdai jogokkal trtnik, akkor lehet: 109
LME
GNU/Linux Konferencia
$ $ $ #
formban is. Tovbbi lehet sgknt lehet csak a letltsig, vagy csak a foltozsig o menni a: $ make fetch $ make patch parancsokal. Ez utbbi els sorban olyankor javasolt, ha valaki sajt belltsokkal o szeretn fordtani, nem pedig azokkal, melyeket az adott csomag elkszt je jnak lt. o Termszetesen a lerkban a portok esetn is megtallhatk a klnbz o fggosgek, gy egy csomag el lltsa minden esetben fltelepti a program hasznlathoz o szksges egyb szoftvereket. Mint az vrhat, ezeket a fggosgeket a rendszer szmon tartja, gy a csomagkezel parancsok szablyos hasznlatakor nem llhat el az, o o hogy leszednk egy feleslegesnek tlt programot, amelyre egy msiknak szksge van. (FreeBSD alatt van kt furcsa csomag: KDE s GNOME, ezek olyan csoma gok, melyek egyedl csomagfgg osgeket tartalmaznak, gy egyszerustve ezeknek a rendszereknek a teljes s konzisztens teleptsst.)
2.10.
Kernel
A BSD rendszerek kernelje monolitikus. Hasonlan a Sun, Compaq, HP vagy ppen Linux rendszerekhez, BSD alatt is lehet un. modulokat hasznlni. Ezt NetBSD s OpenBSD alatt az LKM (Loadable Kernel Module), mg FreeBSD alatt az ennl egy fokkal tbbet nyjt KLD (Kernel Loadable Driver?) nvre hallgat szolgltats nyjtja. A rendszer bizonyos paramterei a kernel jrafordtsval, msok az un. sysctl mechanizmus segtsgvel, futs kzben vltoztathatk. Ez utbbi Linux-alatt is ltezik, de BSD-k alatt nem a /proc matatst jelenti a sysctl. Ltezik egy szolgltats, amely legalbbis nv alapjn szintn ismer s lehet: gy o hvjk, security level (vdelmi szint). Ez egy kernel vltozn kersztl szablyozhat (termszetesen sysctl-lel), ezt a vltozt mg a rendszergazda is csak nvelheti, cskkenteni nincs joga. Ennek a szintnek a belltsai sok, a rendszer biztonsgra veszlyes m veletet tiltanak. Adott szint fltt, a rendszergazdnak nincs joga a fjl-jelz ket u o trlni (chags), nincs joga a csomagsz r szablyrendszern vltoztatni, a diszk periuo frikhoz kzvetlenl hozznylni, s hasonlk. Ezen lehet sgek fktelen hasznlato val el lehet lltani igen biztonsgos, de f knt kezelhetetlenl nehzkes rendszereket o o ezeket feltrni aztn a valdi hozzrto szmra szinte kihvs lesz, de ktsgtelen, hogy napjaink tlag cracker-je valszn leg csak bambn nz. u
2.11.
Napraksz BSD-k
Mivel a BSD-k elgg szorosan sszetartoznak tekintik a kernelt, a rendszerknyvt rakat s a klnbz o felhasznli programokat, ezrt a klnbz o j verzik elrsre is kialakult egy viszonylag egysges mechanizmus. Nincs olyan, hogy izgatottan vrjuk a legjabb kernelt, esetleg az j libutils csomagot, s csak ezeket frisstjk. Az egsz rendszer CVS (Concurrent Versioning System) fban troldik, s gyakorlatilag
110
LME
GNU/Linux Konferencia
az egsz rendszert egyszerre lehet csak frissteni. Ebb l kvetkez en nem sok esly o o van arra, hogy frisstjk egy adott funkci kernelbeli rszt, de megfeledkeznk a felhasznli rtegr l. A BSD-knl hasonlan a Linux-kernelhez prhuzamosan kt o fejlesztsi g ltezik. A fejleszt i g (Current) tartalmazza az jdonsgokat, ez vihao ros tempban szokott vltozni, id nknt teljesen hasznlhatatlan gyakorlatilag csak o akkor javasolt hasznlni, ha valakinek van r kln lete. A stabil vltozat lassabban halad, ide a fejleszt i gban mr stabilnak min sl dolgok kerlnek, pr hetes, hnao o o pos tesztels utn. A stabil gat egy adott pillanatban befagyasztjk, ilyenkor kizrlag a mr benne lev dolgok javtsa kerl bele, majd tnak engedik az ekkor release-nek o nevezett vltozatot. Ez ltalban CD-n megvsrolhat, illetve CD-image formjban letlthet . Nha kisebb mret rszekre sztszedett formban is hozz lehet jutni. o u
111
112
Tartalomjegyzk
1. Mi az a chroot? 2. A chroot alkalmazs biztonsgos hasznlata 3. Chroot krnyezet kialaktsa 4. Szksges knyvtrszerkezet kialaktsa 5. Alkalmazsok, rendszerknyvtrak (libek) 6. Jogosultsgok, mount opcik 7. Chrootok fajti 8. Kls krnyezet o 9. Mi ellen nem vd a chroot? 10. Egyb megoldsok 114 114 114 115 115 115 116 116 117 117
113
LME
GNU/Linux Konferencia
1. Mi az a chroot?
A mindennapokban a chroot ltalban valamilyen npszerubb nevn jelenik meg, pl dul: jail, sandbox, subsystem s gy tovbb. Chroot alatt ltalban hrom dolgot szoktunk rteni: - a chroot rendszerhvst [1]
A chroot rendszerhvs feladata a gykrknyvtr megvltoztatsa, a chroot alkalmazs pedig ehhez a feladathoz nyjt egy egyszeru felletet. Ha nem programozi szemmel vizsgljuk a krdst, gyakorlatilag az els kett egynek tekintheto. o o Eredetileg az init hasznlta a gykrknyvtr belltsra, ez a feladata ma mr megsz nt, inkbb mint lehetsges biztonsgi kiegszts tlti be feladatt. u A chroot alkalmazs legalbb egy paramtert vr, ez az j gykrknyvtr elrsi tja, msodik paramterknt a futtatand parancsot vrja, amennyiben ez nincs megadva, gy a SHELL krnyezeti vltozban tallhat belltst prblja meg futtatni, ha nincs SHELL krnyezeti vltoz, ebben az esetben a /bin/sh-t ksrli meg futtatni. A chroot rendszerhvshoz, gy a chroot alkalmazshoz is rendszergazdai jogosultsg (de legalbb cap_chroot [3]) szksges. A chroot ltal megvalstott vdelem alapja a lerendszer szint levlaszts: a futu tatni kvnt alkalmazs, alrendszer krl egy kell en kicsiny, minimlis krnyezetet o lehet kialaktani, amely nem tartalmaz felesleges alkalmazsokat, hibalehetosgeket.
114
LME
GNU/Linux Konferencia
Chattr [11]: - A jailen bell a csak olvashat/futtathat llomnyokra clszer u az immutable aget feltenni. - Az rhat llomnyok trlsnek megneheztsre jl hasznlhat az append only ag. Mount [12] opcik: - A chroot krnyezeten bell ne legyen set[ug]id llomny, az esetlegesen odakerl set[ug]id alkalmazsok futtatst a nosuid mount opcival meggtolhatjuk. o - A jailben eszkzle-t nem clszer tartani, mivel azok segtsgvel igen knnyen u ki lehet trni az elzrt krnyezetbol, az esetlegesen odakerl eszkzle-ok haszo nlatt a nodev opcival histhatjuk meg.
115
LME
GNU/Linux Konferencia
Ahhoz, hogy ezen opcikat hasznlhassuk, a chroot krnyezetet kln partcira kell elhelyezni. Egy nem csak jailben kvethet egyszeru szably alkalmazsval too vbb fokozhat a rendszer srthetetlensge: ahonnan fut alkalmazs, oda nem lehet rni, ahova lehet rni, onnan nem futhat alkalmazs. me: mount /dev/hdc1 -o nodev,nosuid,ro /jail/exec mount /dev/hdc2 -o nodev,nosuid,noexec,rw /jail/write Fontos: a noexec opci elg knnyen megkerlheto az ld-linux.so hasznlatval, pl: /lib/ld-linux.so /jail/write/bash
rdekessg: chroot krnyezet ksztsekor rdemes elgondolkodni a statikusan fordtott alkalmazsok hasznlatn. (gcc [13])
7. Chrootok fajti
ltalban ktfle chroot krnyezetet alkalmaznak jelenleg. Az els , amikor az alkalo mazs a chroot krnyezeten kvlrol indul, majd adott feladatok elvgzse utn a jailen bell tevkenykedik (szp magyarsggal bechrootol). A msodik forma, amikor az alkalmazs mr eleve a chroot krnyezetben kezdi meg m kdst. Mindkt esetnek megvannak az el nyei, illetve htrnyai. Az els u o o esetben a futtatott alkalmazs s annak indt/bellt llomnyai nincsenek a jailben, gy a tmad nem tudja azokat megszerezni, azonban a chroot m velet elvgzsnek u sikeressge az alkalmazstl fgg. A msodik esetben az alkalmazsnak nincsen szksge a chroot elvgzshez, azonban az indtshoz, valamint futtatshoz szksges valamennyi llomny megtallhat a jailben.
8. Kls krnyezet o
A chroot krnyezet kialaktshoz hozztartozik annak elhelyezse valamely m kdo u rendszeren. Ez is legalbb akkora krltekintst ignyel, mint az el z feladatok. No o hny ezen feladatok kzl. Syslog [14]. Ha tudni szeretnnk, mi trtnik a jailen bell, valamilyen formban ki kell onnan juttatni a naplbejegyzseket, semmi esetre se vlasszuk a jailen belli le-ba trtno naplzst, mivel a jail esetleges tmadhatsga esetn a napl trlheto/mdosthat lesz. Clszer bb megolds a syslogd unix socketen u vagy hlozaton keresztli hasznlata. (Esetleg egy chrootolt syslogd :) Ulimitek [15]. Ha nem szeretnnk, hogy a jailben fut alkalmazs teljes egszben magval rnthassa rendszernket, gy clszer a PAM ltal nyjtott er forrsu o korltozst alkalmazni [limits.conf]. (rdekes krds a jailen bell hasznlt uid krdse is, azaz hogy a jailen bell hasznlt uid ltezzen-e a kls rendszeren.) o Indt/lellt [16] scriptek. Ezek mdostsa ltalban nem tl nehz feladat, azonban rdemes tbb id t sznni rjuk. (Nzzk csak meg egy chrootolt alkalo mazs krnyezeti vltozit: Pl.: cat /proc/[chroot-olt-alkamazs-pid]/environ)
116
LME
GNU/Linux Konferencia
10.
Egyb megoldsok
- hap [18] patch - capability tools: lcap [19], lids [20]
Hivatkozsok
[1] man 2 chroot [2] man 8 chroot [3] ftp://ftp.guardian.no/pub/free/linux/capabilities/capfaq.txt [4] chroot break: http://www.bpfh.net/simes/computing/chroot-break.html [5] man 1 ldd [6] man 8 ld.so [7] man 1 strace [8] http://www.gnu.org/software/autoconf/autoconf.html [9] http://www.gnu.org/software/glibc/ [10] : man 1 chmod [11] : man 1 chattr [12] man 5 fstab [13] http://gcc.gnu.org [14] man 8 syslogd [15] http://www.kernel.org/pub/linux/libs/pam/, man limits.conf [16] man start-stop-daemon
117
LME
GNU/Linux Konferencia
118
LME
GNU/Linux Konferencia
Jegyzetek
119
LME
GNU/Linux Konferencia
Jegyzetek
120