OpenBSD
Wolny (od wolności) system uniksopodobny z rodziny BSD. Twórcą i liderem projektu jest ekspert w dziedzinie bezpieczeństwa komputerowego, kanadyjski programista Theo de Raadt.
Puffy
Maskotką systemu jest Puffy — ryba z rodziny rozdymkowatych (ang. pufferfish), z powodu wyglądu często mylona z najeżkowatymi (ang. porcupinefish). Dowiedz się więcej o fascynujących mieszkańcach Morza Czerwonego.
Bezpieczeństwo — Secure by Default
OpenBSD zawiera bardzo wiele mechanizmów podnoszących poziom bezpieczeństwa. Są to między innymi:
- integracja silnych algorytmów kryptograficznych,
- obsługa sprzętu kryptograficznego,
- zintegrowany firewall PF,
- możliwość szyfrowania operacji I/O dysku przez pseudo-urządzenie
vnconfig -k, - ciągły audyt krytycznych dla bezpieczeństwa fragmentów kodu źródłowego,
- randomizacja we wszystkich możliwych obszarach systemu — m.in.: malloc() i mmap(),
- mechanizmy ochrony pamięci (W^X, .rodata segment, guard pages, atexit() and stdio protection),
- bezpieczne funkcje przydziału pamięci: strlcpy i strlcat.
Dodatkowo można użyć narzędzie sysjail, które zostało zaprojektowane jako możliwie wierny odpowiednik mechanizmu FreeBSD jails.
W odróżnieniu od twórców innych systemów operacyjnych, deweloperzy OpenBSD nie zakładają, że użytkownik jest ekspertem w dziedzinie bezpieczeństwa komputerowego. Od razu po zakończeniu instalacji, otrzymujemy świetnie zabezpieczony system, który nie wymaga mozolnego poprawiania, aby uzyskać wysoki poziom bezpieczeństwa. Jak dotąd od dziesięciu lat, od razu po zainstalowaniu, odkryto tylko dwa błędy umożliwiające zdalny dostęp — "Only two remote holes in the default install, in more than 10 years!" Dlatego motto OpenBSD brzmi "Secure by Default" (bezpieczny od razu po zainstalowaniu).
Programiści OpenBSD bardzo szybko publikują poprawki luk w bezpieczeństwie w gałęzi stable (ang. patch branch). Również do oprogramowania w portach są wprowadzane poprawki bezpieczeństwa. W obu przypadkach reakcja deweloperów jest bardzo szybka. Wynika to jednego z założeń projektu mówiącego, że poważne problemy powinny być szybko rozwiązywane — "Do not let serious problems sit unsolved."
Porównaj OpenBSD z innymi systemami pod względem bezpieczeństwa na Wikipedii. Serwis Secunia dostarcza statystyk dotyczących błędów OpenBSD.
Stop Blobowi! Kwestia zamkniętych binarnych sterowników
Programiści OpenBSD nie zgadzają się na włączanie do systemu zamkniętych, binarnych sterowników zwanych blobem, do których producenci nie udostępniają kodu źródłowego. Sterowniki takie mogą obniżać poziom bezpieczeństwa oraz mają wiele wad:
- mogą zawierać błędy, które są przez producenta "obchodzone" a nie naprawiane,
- w każdej chwili producent może zaprzestać ich dostarczania,
- nie mogą być wspierane przez deweloperów OpenBSD,
- nie mogą być poprawiane przez deweloperów OpenBSD,
- nie mogą być ulepszane przez deweloperów OpenBSD,
- nie mogą podlegać audytowi kodu,
- są przywiązane do danej architektury i przez to mało przenośne,
- bywają przeładowane (zbyt duże).
Większość programistów innych systemów przyjmuje podejście pragmatyczne i akceptuje zamknięte, binarne sterowniki — dotyczy to zwłaszcza akceleracji 3D. Programiści OpenBSD cechują się podejściem idealistycznym i zamiast wcielać takie oprogramowanie, nalegają na udostępnianie przez producentów specyfikacji i dokumentacji sprzętu. Służą temu między innymi serwisy Vendor Watch i Vendors. Problemowi zamkniętych sterowników została poświęcona piosenka pod tytułem Blob!.
System portów
Na potrzeby OpenBSD zapożyczono system portów z FreeBSD. Obecnie rozwój obu systemów portów przebiega różnymi drogami i nie są one ze sobą zgodne (choć są w pewnym stopniu podobne).
Porty umożliwiają instalację oprogramowania ze źródeł. Zainstalowanie programu jest banalnie proste i polega na przejściu do odpowiedniego katalogu w systemie portów i wpisaniu # make install (np. # cd /usr/ports/x11/ratpoison/; make install, aby zainstalować menadżer okien ratpoison). Zaletą jest możliwość dostosowania wszystkich opcji do indywidualnych potrzeb (odmiany pakietów i subpakiety), kosztem czasem dość długiego czasu kompilacji, zwłaszcza przy programach tak dużych jak KDE czy GNOME.
Gotowe pakiety binarne nie są tak elastyczne jak porty, ale czas ich instalacji jest zdecydowanie krótszy (instalacja menadżera okien ratpoison: # pkg_add -v ratpoison, należy pamiętać o ustawieniu zmiennej PKG_PATH). W obu przypadkach użytkownik nie musi troszczyć się o zależności, które rozwiązywane są automatycznie. Bezproblemowe jest wylistowanie nieaktualnych pakietów skryptem # /usr/ports/infrastructure/build/out-of-date lub ich zbiorcze zaktualizowanie poleceniem # pkg_add -u, można też łatwo sprawdzić jak przebiegnie instalacja danego pakietu, ale bez jego instalowania za pomocą komendy # pkg_add -n nazwa_pakietu.
Konieczne jest periodyczne aktualizowanie portów za pomocą cvs lub dużo szybszego cvsup. W celu skrócenia czasu pobierania źródeł, wskazane jest rozpakowanie pliku ports.tar.gz, który zawiera kolekcję portów z CD, o ile taka możliwość istnieje (odnosi się to również do aktualizowania źródeł systemu). Plik ten w wersji stabilnej można także pobrać poprzez FTP ze strony projektu lub serwerów lustrzanych (mocno zalecane). Dla użytkowników OpenBSD current dostępny jest snapshot wersji niestabilnej portów. Szybki polski serwer cvsup to rudy.mif.pg.gda.pl a cvs to anoncvs@openbsd.chem.uw.edu.pl:/cvs. Dostępna jest pełna lista serwerów cvsup i cvs.
Porty są szczegółowo udokumentowane. Strony man ports(7), bsd.port.mk(5) i packages(7) są dostępne również w wersji online.
Dokumentacja
Chociaż wszystkie znaczące systemy z rodziny BSD są dobrze udokumentowane, OpenBSD bardzo pozytywnie wyróżnia się w tym aspekcie. Dokumentacja jest wyczerpująca i opisuje wszystkie aspekty systemu. Od użytkownika oczekuje się, że jest w stanie poświęcić dużo czasu na samodzielną naukę i czytanie stron man. Do dyspozycji jest również bardzo obszerny FAQ. Brakuje jedynie poradnika użytkownika (ang. handbook), takiego jak poradnik FreeBSD czy też przewodnik NetBSD.
Po zainstalowaniu
Po zakończeniu instalacji OpenBSD, warto przeczytać stronę man afterboot, która zawiera wiele wartościowych informacji dla nowych użytkowników oraz dokonać aktualizacji systemu. Po zakończeniu aktualizacji, do scalenia plików konfiguracyjnych, które znajdują się w katalogu /etc, przydatny jest program mergemaster, który (po ściągnięciu portów) znajduje się w /usr/ports/sysutils/mergemaster.
Na temat OpenBSD zostały wydane dwie książki w języku polskim. Są to OpenBSD. Podstawy administracji systemem oraz OpenBSD. Tworzenie firewalli za pomocą PF". Zobacz pełny spis książek anglojęzycznych. Użytkownicy, którzy potrzebują płatnej pomocy technicznej, powinni zapoznać się z ofertą polskich firm i konsultantów.
Więcej informacji
- Oficjalna strona OpenBSD
- OpenBSD 4.3 release errata & patch list
- www.openbsd.org/pl — polskie tłumaczenie
- Opis na Wikipedii po polsku i angielsku
- OpenBSD timeline
- OpenBSD@DistroWatch
- OpenBSD@OSNews
- OpenBSD@OnLamp
- OpenBSD@Open Directory
- Marcin Wilk o OpenBSD
- Alternatywne bannery OpenBSD
- Spis (nie) obsługiwanego sprzętu dla platformy i386
- OpenBSD server hardware compatibility list
Nowości
- OpenBSD news@DistroWatch
- OpenBSD Journal
- Hackathony
- OpenBSD Media Coverage
- OpenBSD events
- OpenBSD News
- OpenBSD news@KernelTrap
- OpenBSD Conference
- OpenBSD commit stats
Dokumentacja, przewodniki i porady
- Dokumentacja
- Książki nt OpenBSD i systemów uniksowych
- FAQ po polsku i angielsku
- Projekt polskiej dokumentacji OpenBSD
- openbsd.fafik.org
- www.0penbsd.pl
- OpenBSD Wiki
- Using OpenBSD 4.2
- "OpenBSD 101" tutorial
- BSD: Linux With a Twist
- OpenBSDsupport
- OpenBSD tutorials
- MultiBoot — OpenBSD and FAT/NTFS Windows
- OpenBSD Presentations and Papers
- OpenBSD Explained
- Hardening OpenBSD Internet Servers
- Tworzenie obrazów ISO OpenBSD
- OpenBSD Packet Filter (PF)
- Firewalling with OpenBSD's PF packet filter
- Software RAID on OpenBSD using RAIDframe
- RAIDing OpenBSD
- OpenBSD SNMP MIBs
- Monitoring PF firewalls for health and performance
- Setting up an IPv6 Test Lab
- Polonizacja systemu OpenBSD (3.7/3.8/3.9/4.0/4.1 beta)
Oprogramowanie
Pomoc, fora, społeczność
- Fundacja OpenBSD
- Dział OpenBSD na: BSDForums, KernelTrap, Nabble Forums, BSDnexus Forums, BSDGuru
- Polskie forum użytkowników systemu OpenBSD
- #OpenBSD.pl — polski kanał IRC
- Konferencja meetBSD
Dystrybucje pochodne i LiveCD
Recenzje
- 4.2: www.softwareinreview.com
- 4.1: www.softwareinreview.com
- 4.0: www.softwareinreview.com, InfoWorld
- 3.9: developerWorks, InformIT, Software in Review
- 3.8: NewsForge
- 3.7: Flavio’s TechnoTalk, ImprovedSource, NewsForge
- 3.6: NewsForge, eWeek
- 3.5: NewsForge, DistroWatch, BSDartwork.com
- 3.4: OSNews
- 3.3: eWeek, ZDNet Australia
Wywiady
- Theo de Raadt: kerneltrap.org, en.epochtimes.com, bsd.slashdot.org, os.newsforge.com, ezine.daemonnews.org kerneltrap.org, kerneltrap.org, www.computerworld.com.au, www.forbes.com www.youtube.com
- Felix Kronlage, Ken Westerback, Wim Vandeputte, Henning Brauer, Fernando Gont, Joris Vink, Miod Vallat
- Editors Blog - Looking Forward to 4.3
- Puffy's Marathon: What's New in OpenBSD 4.2
- OpenBSD: Free As In Air
- OpenBSD 4.1: Puffy Strikes Again
- OpenBSD 4.0: Pufferix's Adventures
- OpenBSD 3.7: The Wizard of OS
- OpenBSD PF Developer Interview
- The Essence of OpenBSD
- More on OpenBSD's new compiler
- bsdtalk: Peter N. M. Hansteen, William Hurley, Matthieu Herrb, Jason Dixon, Robert Ricci, Pierre-Yves Ritschard, Ty Semaka, Claudio Jeker, Mike Erdely, Jason Wright, David Gvynne, Marc Balmer, Christoph Egger, Bob Beck



