Zapomniany ważny system

O systemach z rodziny BSD mało kto pamięta, choć na co dzień korzystają z nich wszyscy użytkownicy Internetu. Oby jak najdłużej.

O systemach z rodziny BSD mało kto pamięta, choć na co dzień korzystają z nich wszyscy użytkownicy Internetu. Oby jak najdłużej.

Świat systemów Unix jest dziś postrzegany głównie przez pryzmat trzech głównych systemów komercyjnych związanych ze sprzętowymi platformami RISC: HP-UX, Sun Solaris i IBM AIX. Jeszcze nie tak dawno wraz z nimi wymieniane były inne systemy: SCO Unix, OpenVMS i Tru64 Unix (dawniej Digital Unix). Choć wciąż są one używane jako platformy dla krytycznych aplikacji w wielu firmach i instytucjach, ich przyszłość została już przesądzona. Istnieje jednak rodzina systemów Unix, które pomimo zmiennych wiatrów wciąż mają znaczenie, są rozwijane i doskonalone.

Mowa oczywiście o rodzinie systemów BSD. Większość użytkowników informatyki nie wie nawet, że systemy takie w ogóle istnieją, tymczasem na co dzień korzystają z ich usług. Dostawcy Internetu, firmy hostingowe, deweloperzy aplikacji internetowych, producenci platform sprzętowo-programowych (sprzętowe zapory sieciowe, sondy IDS, analizatory ruchu sieciowego, routery itp.) znają systemy BSD bardzo dobrze. Dla nich BSD to chleb powszedni, bez którego trudno się obejść.

Kierunek: specjalizacja

O BSD krąży wiele obiegowych opinii, najczęściej dawno już nieaktualnych. Główną przyczyną mniejszej popularności systemów z rodziny BSD w stosunku do innych systemów Unix jest to, że ich deweloperzy skłaniali się głównie ku tworzeniu zaawansowanych technicznie systemów operacyjnych, zaniedbując ułatwienia w dziedzinie instalacji i generalnie "przyjazność" dla użytkownika. BSD nie dbał też nigdy o promocję, co w przypadku Linuxa od pewnego momentu wzięły na siebie firmy komercyjne.

Deweloperzy BSD skupili się na rozwoju funkcjonalności trudnych, acz użytecznych. FreeBSD jest uznawany za system ogólnego zastosowania, który doskonale sprawdza się także w środowisku serwerowym. Jeszcze do niedawna posiadał tylko jeden pracujący w prostym trybie tekstowym instalator, który umożliwiał instalację całego systemu z sieci przy użyciu dwóch dyskietek startowych. Jego ciekawą własnością był i jest mechanizm portów. W odróżnieniu od repozytoriów gotowych pakietów znanych z systemu Linux, większość skryptów portów pobiera z serwerów kod źródłowy programów wraz z łatami i kompiluje do postaci uruchamialnej już na docelowej maszynie. Oprócz tego istnieje mechanizm emulacji systemu Linux, dzięki czemu na BSD można uruchomić bazę Oracle, co jednak, trzeba zaznaczyć, nie jest proste.

OpenBSD ma inny cel - stworzenie i utrzymanie tak bezpiecznego i funkcjonalnego systemu typu Unix jak to tylko możliwe. Lata pracy włożone przez ekipę Theo de Raadta w szczegółowy audyt kodu i naprawę błędów, a także strategia "bezpiecznej domyślnej instalacji" przyniosły efekty. Jest to jedyny system, w którym przez całe lata nie wykryto żadnego eksploita umożliwiającego zdalne uzyskanie uprawnień systemowych w standardowo zainstalowanym systemie. W ciągu ośmiu lat zdarzyła się tylko jedna "wpadka".

Wszystkie testy bezpieczeństwa bardzo wysoko oceniają OpenBSD. Deweloperzy systemu sukcesywnie usuwają błędy w oprogramowaniu, nawet jeśli nie wiadomo, czy ten błąd w ogóle daje się wykorzystać do włamania. Wbrew pozorom często właśnie tak jest - wystarczy prześledzić listy dyskusyjne w rodzaju Bugtraq. Niektóre systemy operacyjne są wrażliwe na "nowo odkrytą dziurę", podczas gdy twórcy OpenBSD dokonali pewnych zmian (uniemożliwiających eksploitowanie tego typu błędu) już w poprzednim wydaniu systemu.

Nacisk na bezpieczeństwo ma swoją cenę - OpenBSD trudno używać jako stację roboczą w codziennej pracy, choć przy pewnej dozie samozaparcia da się w nim zainstalować większość oprogramowania open source, jeśli nie przez gotowe pakiety binarne, to przez kompilację źródeł. Trzeba mieć świadomość, że OpenBSD niekoniecznie jest adresowany do typowych użytkowników komputerów, a w zasadzie nawet nie dla wszystkich administratorów.

DragonFly BSD to projekt, którego twórcom przyświecały dwie idee: stabilność i skalowalność środowiska. Wybrano takie rozwiązania, które umożliwiają uruchomienie systemu w skali od prostego serwera z jednym procesorem aż po wielkie serwery SMP i ich klastry. Na obecnym etapie prace skupiają się na całkowicie spójnych buforach cache w dużych systemach SMP i całkowicie "przezroczystym" klastrowaniu z mechanizmem automatycznej aktualizacji stanów między węzłami. Według twórców ponad połowa ważniejszych zadań została już wykonana, ale wciąż jest jeszcze wiele do zrobienia. Mimo to DragonFly BSD ma za sobą pierwsze wdrożenia produkcyjne.

NetBSD to system z założenia najbardziej przenośny między platformami sprzętowymi. Rzeczywiście, jak żaden inny system operacyjny NetBSD można uruchomić na dowolnej platformie x86 czy RISC, a jednocześnie na procesorach przemysłowych lub wyjętym z lamusa komputerze Atari czy Amiga. Żaden inny system operacyjny nie wspiera tak dużej liczby różnych platform. Wybrany kierunek rozwoju systemu i aplikacji przynosi sukcesy, bowiem NetBSD jest bardzo często spotykanym systemem w platformach sprzętowo-programowych.

W internecie

Historia BSD

(http://daemonz.org/bugs/history.html )

FreeBSD

http://www.freebsd.org

NetBSD

http://www.netbsd.org/pl/

OpenBSD

http://www.openbsd.org

DragonFlyBSD

http://www.dragonflybsd.org/

Mac OS X

http://www.apple.com.pl/macosx

Wielka tradycja BSD

Systemy BSD rozwijane są przez środowisko akademickie Uniwersytetu Stanu California w Berkeley oraz środowisko niezależnych deweloperów open source. Nazwa BSD to skrót od Berkeley Software Design, jednostki utworzonej do zarządzania licencjonowaniem oprogramowania tworzonego na uniwersytecie w Berkeley. Notabene, w tym ośrodku naukowym powstało wiele innych bardzo wartościowych dla całej informatyki projektów. Spora część kodu BSD została napisana przez studentów i coraz bardziej rozwijana. W latach 80. z powodu procesu z firmą AT&T sporne fragmenty kodu zostały usunięte, razem z tym system stracił nazwę Unix. Z głównego projektu wydzieliły się odgałęzienia, z których najważniejsze to: FreeBSD, OpenBSD, Darwin, DragonflyBSD, NetBSD czy PicoBSD.

Dorobek wciąż aktualny

Systemy BSD są obecne w informatyce także pośrednio. Wiele projektów open source i firm komercyjnych czerpie z dorobku BSD pełnymi garściami. Niewątpliwie przyczynia się do tego bardzo liberalna licencja, która wręcz zachęca, by skorzystać z dorobku twórców.

BSD ma się czym chwalić. Pierwszą implementacją protokołu IP, będącego fundamentem komunikacji Internetu, była właśnie ta wchodząca w skład systemu BSD. Stos TCP/IP pochodzący z Berkeley jest uznawany za modelową implementację tego protokołu. Nic dziwnego zatem, że została wykorzystana przez Sun Microsystems, a nawet Microsoft, choć już nie tak umiejętnie. Kto nie wierzy, niech sprawdzi. Polecenia związane z IP (takie jak choćby ping) są jedynymi w systemie Windows, które rozróżniają wielkość liter w opcjach, co jest typowe dla systemów z rodziny Unix.

Wkład BSD w rozwój informatyki i Internetu nie kończy się na stosie IPv4. Dzięki projektowi KAME systemy z tej rodziny od początku pełniły znaczącą rolę w rozwoju . Z Berkeley pochodzi jeden z najważniejszych serwerów Internetu - serwer nazw DNS określany jako BIND (Berkeley Internet Name Daemon). Chociaż powstało wiele innych serwerów nazw o zupełnie innej konstrukcji (choćby djbDNS autorstwa D. J. Bernsteina, twórcy serwera pocztowego qmail, czy serwer DNS obecny w systemach Windows), gros serwerów DNS wśród maszyn utrzymujących naprawdę istotne domeny BIND nadal "rządzi".

Bardzo ważnym projektem związanym z BSD, a dokładnie z OpenBSD, jest OpenSSH - pakiet oprogramowania open source zapewniający bezpieczne połączenie terminalowe poprzez sieć. Dzięki swoim zaletom jest on obecny niemal w każdym systemie typu Unix dystrybuowanym na licencji open source. Niemal każda dystrybucja systemu Linux go posiada i nie tylko Linux czerpie z niego korzyści. OpenSSH wywodzi się z projektu OpenBSD, a wydanie dla systemu Linux jest jego portem. Z OpenSSH korzysta także Solaris i wiele innych systemów typu Unix.

Mit o trudności użytkowania systemów BSD skutecznie obala próba zainstalowania FreeBSD, który przy okazji jest bardzo bezpieczny. Z FreeBSD wywodzi się dzisiejszy Mac OS X, będący połączeniem jądra BSD z efektywnie działającą powłoką graficzną. Stare powłoki Unix wciąż jednak działają - na Mac OS X wciąż można uruchomić powłokę Korn albo X Window - standardowe w Unixach środowisko okienkowe.

Desktopy i serwery to nie cały dorobek twórców BSD. Bardzo wiele urządzeń służących do zabezpieczeń sieci posiada wbu dowany system operacyjny wywodzący się z FreeBSD lub NetBSD. Dla przykładu, bardzo zaawansowane zapory firmy Nokia posiadają zmodyfikowany system FreeBSD, wzbogacony o oprogramowanie służące do zarządzania nim i aktualizacjami firmware. Także kierowane do innego użytkownika zapory firm takich jak D-Link korzystają z dorobku BSD. To samo dotyczy tanich stacji bazowych WLAN, gdzie NetBSD jest nieocenione, dzięki przenośności.

Oprócz tego spora część niekomercyjnych projektów czerpie z BSD, wykorzystując albo minidystrybucję przygotowaną do konkretnych zadań (routery, zapory sieciowe czy odtwarzacze MP3), bądź też kompletne rozwiązania, jedynie nieznacznie zmodyfikowane, takie jak kioski internetowe, terminale, urządzenia do zarządzania innymi obiektami za pomocą sieci.

Warto pamiętać, że systemy z rodziny BSD zawierają od dawna solidną zaporę sieciową, doskonale nadającą się do wszelkich zastosowań związanych z bezpieczeństwem. Bywa, że administratorzy chętnie kupujący gotowe rozwiązania markowe nawet nie zdają sobie sprawy, że w pudełku X czy Y pracuje system BSD.

Przyszłość jasna mimo wszystko

Na jasnym niebie pojawiają się jednak ciemne chmury. Coraz więcej projektów z rodziny BSD ma kłopoty, bowiem wielu zdolnych deweloperów zmieniło pracę bądź zainteresowania. Wbrew pozorom zmiana dewelopera w kluczowym projekcie jest poważnym problemem dla firm korzystających z ich dorobku, jak również dla ostatecznych użytkowników rozwiązań. Gdy projekt przeżywa kłopoty finansowe (a tak niedawno było z OpenBSD), ratunek może przyjść z najmniej oczekiwanej strony. Zamiast wsparcia gigantów korzystających z dorobku gratis (np. Sun, który także używa OpenSSH), życiowe dzieło Theo de Raadta zostało wsparte przez Mozilla Foundation.

Co będzie dalej? Projekty BSD są zbyt ważne dla zbyt wielu ludzi i firm, by pozwolić im po prostu "rozejść się po kościach". Jeśli dotychczasowy model funkcjonowania i finansowania okaże się niewydolny, być może trzeba go będzie zmienić. W Stanach Zjednoczonych jest jeszcze kilka instytucji działających pro publico bono, które zapewne byłyby skłonne roztoczyć opiekę nad projektami BSD. Oprócz The Mozilla Foundation byłyby to być może fundacja Apache lub Open Source Development Labs.

W ostateczności firmy zainteresowane dalszym rozwojem platform BSD mogą stworzyć nową organizację non profit, podobnie jak tworzą alianse w celu krystalizacji standardów i promocji nowych technologii. Jedno jest pewne - dorobek środowiska BSD jest zbyt wielki, by branża pozwoliła na jego zaprzepaszczenie.


TOP 200