OpenBSD jest bezpiecznym, wolnym systemem operacyjnym typu BSD. Może działać na wielu architekturach i modelach sprzętowych, w tym na komputerach typu Intel PC oraz na Apple Computer's PowerPC, a także na współczesnych platformach takich jak amd64, arm64, sparc64 i innych.

Podobnie jak inne systemy BSD o otwartym kodzie źródłowym — i w przeciwieństwie do większości dystrybucji Linuksa — cały podstawowy system operacyjny (tzw. base system) jest rozwijany i utrzymywany przez jedną grupę deweloperów projektu OpenBSD. Oprogramowanie dodatkowe jest dystrybuowane oddzielnie przez ports i pakiety, co pozwala na jasne rozgraniczenie między bazą systemu a dodatkami.

Cechy wyróżniające i podejście do bezpieczeństwa

OpenBSD jest znany z rygorystycznego podejścia do bezpieczeństwa i jakości kodu. Główne filary tego podejścia to:

  • Proaktywne audyty kodu — programiści regularnie przeglądają i poprawiają kod, by wykrywać i eliminować błędy zanim staną się podatnościami.
  • Bezpieczeństwo domyślne — instalacja domyślna jest minimalna i domyślnie w miarę możliwości wyłączona jest funkcjonalność zwiększająca powierzchnię ataku.
  • Mechanizmy ograniczeń i ochrony pamięci — implementacje takich technik jak W^X (Write XOR Execute), stosowa ochrona przed przepełnieniami (stack-protector), restrukturyzacja allocatorów (malloc), ASLR i inne mechanizmy utrudniające korzystanie z błędów pamięciowych.
  • Izolacja procesów i ograniczanie uprawnień — projekt wprowadza mechanizmy ograniczania praw procesu, sandboxing i separację ról.
  • Własne, bezpieczne narzędzia sieciowe — projekt dostarczył m.in. OpenSSH (zastępujący starsze protokoły takie jak telnet i rlogin), pf (packet filter), OpenNTPD, OpenBGPD i inne, zaprojektowane z myślą o bezpieczeństwie i prostocie konfiguracji.
  • Mechanizmy specyficzne dla OpenBSD — w kolejnych wydaniach wprowadzane były nowe zabezpieczenia, np. systemy ograniczeń wywołań systemowych jak pledge i unveil, które umożliwiają aplikacjom zadeklarowanie minimalnych potrzeb i ograniczają możliwość nadużyć.

Model rozwoju, licencja i społeczność

Projekt jest prowadzony przez Theo de Raadta oraz grupę deweloperów; Theo de Raadt zapoczątkował i nadzoruje rozwój projektu. Autorzy i koordynatorzy pochodzą z różnych krajów (m.in. z Calgary w Albercie w Kanadzie). OpenBSD jest wydawany na zasadach licencji BSD, która nakłada niewiele ograniczeń na ponowne użycie kodu.

OpenBSD ma ustalony harmonogram wydań: nowe wersje pojawiają się co około sześć miesięcy, a każda wersja otrzymuje wsparcie (poprawki bezpieczeństwa) przez zwykle rok od daty wydania. Dzięki temu użytkownicy mają przewidywalny cykl aktualizacji i okres utrzymania wersji.

Przykłady technologii wprowadzonych przez projekt

  • pf — rozbudowany i wydajny firewall/packet filter, używany także poza OpenBSD (np. w innych systemach BSD i urządzeniach sieciowych).
  • OpenSSH — bezpieczna implementacja SSH, która powstała w ramach projektu i stała się standardem w wielu systemach.
  • OpenNTPD / OpenBGPD — proste i bezpieczne implementacje protokołów czasu i routingu.
  • Różne mechanizmy ochronne (W^X, stack protector, ASLR, pledge, unveil) i restrukturyzacje bibliotek i alokatorów pamięci.

Maskotka

Pierwszą maskotką OpenBSD był demon BSD z aureolą. Został on zastąpiony postacią o nazwie Puffy, pufferfish, w czerwcu 2000 roku wraz z wydaniem OpenBSD 2.7 — Puffy od tamtej pory jest rozpoznawalnym symbolem projektu.

Zastosowania

Dzięki naciskowi na bezpieczeństwo i stabilność OpenBSD jest często wybierany jako firewall i urządzenie brzegowe (router, gateway) w sieciach wymagających wysokiego poziomu zabezpieczeń. Inne typowe zastosowania obejmują:

  • serwery sieciowe i usługi krytyczne,
  • systemy IDS/IPS i urządzenia sieciowe,
  • bezpieczne hosty końcowe oraz serwery aplikacyjne,
  • użytkowanie desktopowe — choć OpenBSD nie jest typową dystrybucją desktopową, można go skonfigurować tak, żeby działał i wyglądał podobnie do innych systemów, np. Mac OS X czy Microsoft Windows, w zależności od środowiska graficznego i oprogramowania.

Dokumentacja OpenBSD (obszerne strony manuali, przewodniki instalacji i konfiguracji) oraz aktywna społeczność ułatwiają wdrożenie i utrzymanie systemu. Dzięki jasnemu rozdziałowi pomiędzy base system a portami/pakietami, OpenBSD jest atrakcyjnym wyborem tam, gdzie priorytetem jest bezpieczeństwo, przewidywalność i czytelność kodu.