OpenBSD

From EIK wiki

Ülevaade

OpenBSD on vaba ja tasuta, avatud lähtekoodiga ning paljusid riistvaraplatvorme toetav UNIXi-laadne operatsioonisüsteem. OpenBSD põlvneb BSD-st (Berkeley Software Distribution - California Ülikoolis Berkeleys loodud Unix). Projektiga alustas 1995. aasta lõpus Theo de Raadt, kes oma Kanada kodust seda projekti tänaseni koordineerib. OpenBSD logo ja maskott on kerakala nimega Puffy.

OpenBSD ajaloost

Detsembris 1994 lahkus Theo de Raadt, üks NetBSD loojatest ja arendajatest ning tuumikgrupi liikmetest, NetBSD meeskonnast. 1995. aasta oktoobris alustas ta NetBSD 1.0 lähtekoodil põhinevat OpenBSD projekti. Esimene väljalase (OpenBSD 1.2) ilmus 1996. aasta juulis, millele sama aasta oktoobris järgnes versioon 2.0. Sellest ajast on projekti ajakavas järgitud tava tuua uus versioon välja iga poole aasat tagant, mida hallatakse ja toetatakse peale väljatulekut ühe aasta jooksul. Viimane versioon (OpenBSD 4.6) tuli välja 18. oktoobril 2009, järgmine versioon (OpenBSD 4.7) tuleb välja 19. mail 2010.

25. juulil 2007 anti teada OpenBSD Fondi loomisest, mis on Kanadas asuv mittetulunduslik organisatsioon. Fondi eesmärk on olla üldiseks kontatiks isikutele ja organisatsioonidele, kes soovides OpenBSD projekti kuidagi toetada, vajavad suhtlemiseks konkreetset juriidilist isikut.

OpenBSD-le omane

OpenBSD projekti puhul pannakse erilist rõhku koodi korrektsusele, turvalisusele, krüptograafiale, standardsusele ning porditavusele. OpenBSD toetab enamuse SVR4 (Solaris), FreeBSD, Linuxi, BSDI, SunOSi ja HPUXi programmide binaarset emulatsiooni (st. on võimalik kasutada muidu vaid nende operatsioonisüsteemide all töötavat tarkvara). OpenBSD-d arendavad vabatahtlikud. Projekti arenduskulud kaetakse CD-de müügist ja annetustest.

Avatud lähtekood

OpenBSD loomisel otsustas Theo de Raadt, et lähtekood peab olema kõigile igal ajahetkel lihtsalt ligipääsetav ja loetav. Seetõttu pani ta üles avaliku anonüümse CVS serveri, mis oli tol ajal tarkvaraarenduse maailmas esimene omasugune: tol ajal oli pigem kombeks, et vaid väikesel rühmal arendajatel on ligipääs projekti lähtekoodi repositooriumile. Selline otsus võimaldas kasutajatel võtta tarkvaraarenduses veidi aktiivsem roll ja lihtsustas arendajate tööd ning ühtlasi oli rohkem kooskõlas avaliku lähtekoodi filosoofiaga. OpenBSD avatusele suunatud poliitika laieneb ka riistvara dokumentatsioonile. de Raadti väitel teevad arendajad sageli draiverite kirjutamisel vigu ning valmis binaarsel kujul draiverid ei ole OpenBSD puhul üldse vastuvõetavad, sest need ei ole usaldatavad ning nendes ilmnevaid vigu ei saa ka parandada.

Litsentsipoliitika

OpenBSD projekti üks eesmärke on säilitada nö algse Berkeley Unixi autoriõiguste vaimu, mis lubas Unixi lähtekoodi levitamist suhteliselt väheste piirangutega. Selleks on uue koodi puhul eelistatud Internet Systems Consortium (ISC) litsents, mis on lihtsustatud versioon 2-punktlilisest BSD litsentsist (ära on jäetud sõnastus, mis on täidetud Berni konventsiooniga). Kuid ka MIT ja BSD litsentid on aktsepteeritud. Laialdaselt kasutatav GNU General Public License loetakse nendega võrreldes liialt piiravaks.

2001. aastal võeti ette süstemaatiline OpenBSD litsentsiaudit ning leiti üle saja faili, milles sisaldus koodi, mis oli kasutuses litsentseerimata või mille kasutamine rikkus mingil moel litsentsiõigusi. Selle tulemusena osa koodi eemaldati, palju asendati ning mõnedel juhtudel muutis litsentsiomanik tingimusi, et OpenBSD-s saaks tema koodi jätkuvalt kasutada.

Litsentseerimispiirangutest tingituna on OpenBSD arendajad kirjutanud tarkvara nullist või adopteerinud mõne sobiva litsentsiga tarkvara. Märkida võib näiteks pf paketifiltri loomist peale seda, kui IPFilter'ile rakendusid liigsed litsentsipiirangud. OpenBSD arendajad on ka asendanud GPL-i aluseid utiliite samaväärsete BSD litsentsi alusel olevatega (näiteks diff, grep, gzip ja pkg-config) ning loonud uusi projekte, sh. OpenBGPD ja OpenNTPD.

Turvalisus

Paljud turvaspetsialistid peavad OpenBSD-d kõige turvalisemaks UNIXi-laadseks operatsioonisüsteemiks üldse. Turvalisus on pideva ja põhjaliku lähtekoodi auditeerimise tulemus. OpenBSD veebilehel on kirjas teade: "Vaid kaks turvaauku vaikimisi installatsioonis ühe igavesti pika aja jooksul". See väide on leidnud ka kriitikat, kuna vaikimisi install sisaldab suhteliselt vähe töötavaid teenuseid, ning üldjuhul kasutajad siiski paigaldavad täiendavat tarkvara. Arendajate väitel on aga vaikimisi install taotluslikult minimalistlik, et algajad kasutajad ei peaks koheselt olema eksperdid erinevates turvaküsimustes.

OpenBSD sisaldab mitmeid turvalisuse tõstmiseks loodud funktsionaalsusi. Nende hulgas: API lisandused, erinevad mälu kaitsmise tehnikad, krüptograafia ja juhuarvude genereerimisega seotud omadused. Et vähendada riski, et turvaaugust või valest konfigureerimisest tulenevalt on mingil kasutajal liiga palju õigusi, on mõnedesse programmidesse kirjutatud võimalus kasutada õiguste eraldatust, õiguste tühistamist ja chroot'imist. Õiguste eraldamine on esmakordselt just OpenBSD-s kasutusele võetud tehnika, mille puhul programm on jaotatud kaheks või rohkemaks osaks, millest üks täidab mingeid õigusi vajavaid operatsioone, ning teine osa töötab ilma igasuguseid õigusi omamata. Õiguste tühistamine on eelmisele sarnane, kuid tähendab seda, et programm täidab vajalikud operatsioonid õigustes, millega ta käivitub ning seejärel loobub õigustest. Chroot-imine tähendab rakenduse piiramist töötama vaid ühes failisüsteemi osas, takistades tal sellega juurdepääs süsteemifailidele või muudele oluliste failidele. Arendajad on lisanud need omadused OpenBSD versioonidele mitmetest üldlevinud rakendustest, nagu näiteks tcpdump ja Apache veebiserver.

OpenBSD koodi auditeeritakse pidevalt. Turvalisus ei ole mingi valmis toode vaid on pidev protsess. Kood peab vastama ka standardsele Kernel Normal Form koodistiilile, mis määratleb ära, kuidas kood peab välja nägema, et olla lihtsasti hallatav ja mõistetav.

Krüptograafia

OpenBSD projekt asub ametlikult Kanadas, kus puuduvad krüptograafiatarkvara ekspordipiirangud. Krüptograafia on sisse kirjutatud operatsioonisüsteemi mitmetesse erinevetesse osadesse. On vajalik, et krüptograafiatarkvara, mida OpenBSD kasutab, oleks vabalt saadaval ning heade litsentsiõigustega. Otseselt ei kasutata karmide patentidega koormatud krüptot. Ka on vajalik, et kasutatav tarkvara pärineks riikidest, kus on mõistlikud eksporditingimused, sest arendajad ei soovi rikkuda ühegi riigi seadusi. Hetkel kasutatavad krüptograafilise tarkvara komponendid on kirjutatud Argentiinas, Austraalias, Kanadas, Saksamaal, Kreekas, Norras ja Rootsis.

Seotud projektid

OpenBSD-st on välja kasvanud mitmeid projekte, mida arendatakse küll koos OpenBSD-ga, kuid mis seejuures on kasutusel ka paljudes teistes operatsioonisüsteemides.

OpenSSH

OpenSSH (OpenBSD Secure Shell) tarkvarakomplekt, mis pakub ssh protokolli kasutades krüpteeritud võrgukommunikatsiooni, turvalist asendust tavalisele telnetile. See loodi kui avatud lähtekoodiga alternatiiv SSH Communications Security poolt pakutavale Secure Shell tarkvarakomplektile. OpenSSH-d arendatakse osana OpenBSD projektist. Algselt võtsid arendajad aluseks viimase piisavalt vaba litsentsiga originaalse SSH koodi ning arendasid sellest edasi OpenSSH. Esimest korda ilmus see OpenBSD 2.6 versioonis ning on tänaseks päevaks kõige populaarsem SSH implementatsioon ning kasutusel paljudes operatsioonisüsteemides.

OpenBGPD

OpenBGPD on vabavaraline implementatsioon Border Gateway Protocol versioon 4-st. See võimaldab tavalistel arvutitel toimida ruuteritena, vahetades ruutimisinfot teiste BGP protokolli tundvate süsteemidega.

Projekt sai alguse rahulolematusest teiste saadaval olevate implementatsioonidega. Tänaseks päevaks on OpenBGPD küllaltki täiuslik implementatsioon. Kasutajad kiidavad sageli selle lihtsust ning suurt jõudlust ning ka töökindlust. OpenBGPD kaaslane OpenOSPFD lisab toe OSPF ruutimisprotokollile.

OpenNTPD

OpenNTPD on vabavaraline lihtsalt kasutatav NTP protokolli implementatsioon. See pakub võimalust sünkroniseerida kohalikku kella mõne NTP serveriga kui ka toimib ise NTP serverina.

OpenCVS

OpenCVS on vabavaraline CVS-i (Concurrent Versions System) implementatsioon. CVS on vaba versioonihalduse tarkvara mis süstematiseerib ja säilitab informatsiooni faili muutmise ajaloo kohta. Lisaks kehtestab CVS faili muutmise tingimused ja jälgib nende täitmist, mis võimaldab vältida muudatuste hävimist kui ühe ja sama failiga töötab paralleelselt mitu inimest. Kuigi CVS on laialdaselt kasutatav, on tema arendus viimasel ajal pidurdunud ja mitmed uuemad konkureerivad vahendid on välja tulnud (Subversion, Git, Mercurial, Bazaar).

Theo de Raadt

Theo de Raadt on sündinud 19. mail 1968 Pretorias, Lõuna Aafrikas. Ta elab Calgarys, Kanadas. Ta on tarkvarainsener, kes on OpenBSD ja OpenSSH projektide looja ning üks NetBSD projekti loojatest.

1992. aastal omandas ta Calgary Ülikoolist bakalaureusekraadi arvutiteaduses. Aastal 1993 asutas ta koos kolme teise mehega NetBSD projekti. Nad ei olnud rahul Jolixi, tolleaegse standardse BSD, kiiruse ja kvaliteediga ning uskusid, et rohem avalikum arendusmudel tuleb operatsioonisüsteemi arendamisel suureks kasuks.

1994. aasta detsembris paluti de Raadtil lahkuda oma kohalt NetBSD vanemarendajana ja NetBSD põhimeeskonnast. Selle põhjus pole päris selge, kuid on kõlanud väiteid isikute kokkosobimatusest. De Raadti on kritiseeritud tema veidi keerulise ja konfliktse iseloomu pärast. Mõned leiavad tema otsekohesuse olevat ka värskendava ning vähesed eitavad, et ta on andekas häkker ja turvaspetsialist.

Oktoobris 1995 asutas de Raadt OpenBSD projekti ja juhib seda tänaseni.

Theo de Raadt on OpenBSD loomisest peale olnud ka vaba tarkvara valjuhäälne propageerija. Ta on ka tugev sõnavabaduse pooldaja, pidades vahete-vahel avalikke vaidlusi erinevate gruppidega, alates Linuxi propageerijatest kuni valitsusteni välja. Selline sõnakas käitumine, kuigi vahel konfliktiallikas, on toonud talle ka palju kiitust. Ta on esinenud avatud koodi, vaba tarkvara ja turvalisustemaatikaid käsitlevatel konverentsidel üle maailma.

Mitmesugust

Iga uue versiooni väljalaskmisel tuleb välja ka uue kujundusega poster, T-särk ja uue versiooni tunnuslaul. Kogu seda atribuutikat on loomulikult võimalik huvilistel ka osta...

Konkreetset kasutusstatistikat OpenBSD kohta ei ole. Septembris 2005 küsitles BSD Certification Group 4330 BSD kasutajat, et hinnata erinevate BSD operatsioonisüsteemide populaarsust. Umbes 77% vastanutest kasutas FreeBSD-d, 33% OpenBSD-d, 16% NetBSD-d, 2.6% DragonFly BSD-d ja 6.6% muud (tõenäoliselt mitte-BSD) süsteemi. DistroWatch veebilehe andmetel 1. mai 2010 seisuga: FreeBSD 12. koht, DragonFly BSD 60. koht, OpenBSD 67. koht, NetBSD 94. koht.

Lingid

OpenBSD

Teisi BSD-tüüpi operatsioonisüsteeme:

FreeBSD

NetBSD

DragonFly BSD

Autor

Siim Liivand AK31