Sekcje

Przejdź na skróty do treści. | Przejdź do nawigacji


Baza wiedzy Publikacje Porównanie bezpieczeństwa: Gnu/Linux vs BSD (część 1)

Porównanie bezpieczeństwa: Gnu/Linux vs BSD (część 1)

Wstęp

Od wieków ludzie toczą zacięte boje ideologiczne na temat pojęcia wolności. Dla jednych, wolność jest niezbywalnym prawem, dla innych przywilejem. Odblask tych wojen możemy z łatwością zaobserwować nawet w tak ścisłym, w rozumieniu matematycznym, świecie jakim jest uniwersum komputerów.

Ideologia GPL i BSD. Niewolników wolności i prawdziwie wolnych. Pomimo widocznych różnic niewątpliwie niepodważalnym faktem jest to że wolność idzie w parze z odpowiedzialnością. Natomiast jedną z podstawowych składowych odpowiedzialności, jest troska o bezpieczeństwo. Bezpieczeństwo nasze, naszych maszyn, naszych sieci oraz ich użytkowników. W tym artykule postaram się przybliżyć różnice w pojmowaniu, tych pojęć, przez twórców systemów GNU/Linux i rodziny BSD.

Idea

Kompletność

Główną cechą rozróżniającą systemy BSD od Gnu/Linux jest podejście ideologiczne. Podstawowym zadaniem developerów systemów BSD jest dostarczenie pełnego systemu operacyjnego. Kompletność oznacza mianowicie, że ta sama grupa ludzi odpowiada zarówno za jądro jak wszystkie pozostałe składowe systemu. System nie będzie kompletny dopóki nie będzie w stanie sam się skompilować.

Natomiast Gnu/Linux podzielony jest na dwie części Gnu oraz Linux. Pierwsza z nich oznacza całe środowisko, które jest wykorzystywane przez jądro. Druga, z kolei, część jest tylko i wyłącznie jądrem. Nie istnieje też żadna kontrola nad obiema składowymi. Zarówno pierwsza jak i druga żyje swoim własnym życiem.

Kontrola 

Oba systemy rozwijane są przez grupy ludzi żyjących w różnych państwach, mówiących różnymi językami i posiadających odmienne ideologie. W takich mało-optymalnych warunkach należy prowadzić kontrolę oraz ułatwiać komunikację developerom pracującym nad poszczególnymi częściami systemu. Ze względu na ewidentny podział projektu Gnu/Linux, za każdą z części odpowiadają inni ludzie. Ma to niekorzystny wpływ na przepływ informacji oraz śledzenie zmian kodu, co z kolei ma również niekorzystny wpływ na bezpieczeństwo.

Ze względu na ujednolicają pracę nad jądrem i resztą systemu, BSD zminimalizowały wpływ rozproszonego projektowania. Dzięki jednolitości wszelkie zmiany są łatwo dostępne. Co daje możliwość każdemu z developerów, w stosunkowo krótkim czasie, szansę sprawdzenia interesującego go fragmentu kodu. W tak panujących warunkach łatwo znaleźć miejsce w którym się coś zepsuło.

Odpowiedzialność 

Ze względu na podział panujący w Gnu i Linux trudno wyszczególnić jednoznacznie jakąś grupę osób odpowiedzialnych za rozwój całego projektu. Zarówno nad jądrem jak i środowiskiem pracują dziesiątki tysięcy developerów. Teoretycznie pieczę nad Linuksem sprawuje Linus Torvalds ale w rzeczywistości odpowiada on jedynie za podejmowanie decyzji w sprawach kluczowy dla całego projektu. Nie jest również w stanie śledzić na bieżąco wszystkich zmian jakie są wprowadzane. W świecie rozmytej odpowiedzialności, żadna odpowiedzialność nie istnieje. To wszystko przenosi się na grunt bezpieczeństwa.

W przeciwieństwie stoją systemy z rodziny BSD, które to z kolei nie mają aż tak licznej rzeszy developerów jak Gnu/Linux. Są natomiast w stanie wyszczególnić osoby odpowiedzialne za poszczególne podsystemy. Większość zmian w kodzie musi być zatwierdzona przez inną osobę odpowiedzialną za tą część systemu lub za inną ściśle powiązaną. Eliminuje to w znacznym stopniu wprowadzanie błędnych instrukcji do repozytoriów. Co oczywiście wpływa na poprawę bezpieczeństwa.

Współpraca

Każdy z system z rodziny BSD ma swoje własne cele i założenia, które są realizowane przez developerów. Daje to możliwość równoległego testowania różnych technologi i rozwiązań. Sprzyja to również ogólnemu rozwojowi wszystkich systemów. Ze względu na niedrastyczne różnice kodów poszczególnych BSD istnieje możliwość wymiany technologicznej. Czyli w momencie w którym jakaś technologia zostanie wprowadzona i przetestowana przez jeden z systemów może nastąpić przeportowanie jej do innego BSD przy stosunkowo niewielkim nakładzie pracy. Taka wymiana nie jest możliwa z systemem Linux a przynajmniej nie z taką łatwością.

Licencja

Oba systemy wykorzystują otwarte i wolne typy licencji. Linux korzysta z GPL natomiast BSD z (i tu zaskoczenie) - BSD. Porównanie obu licencji daje jednoznacznie do zrozumienia że licencja typu BSD jest bardziej wolna i otwarta od GPL. Pozwala to między innymi na o wiele łatwiejsze wykorzystanie kodu BSD w projektach komercyjnych. Pomimo pewnych zastrzeżeń bardzo często zdarza się że firma która modyfikuje oryginalny kod udostępnia swoje poprawki i oddaje je społeczności.

Prostota 

Nie trzeba wyjaśniać że zbyt skomplikowane systemy są trudne w utrzymaniu. Niejednokrotnie przerost formy nad treścią utrudnia nasze życie. Dlatego ludzkość dąży do znacznego uproszczania sobie życia. Takiej też zasadzie twórcy BSD poświęcili sporo czasu. Każda część systemu jest dostatecznie przemyślana i odpowiednio zaprojektowana. Umożliwia to w sposób wydajny oraz szybki skonfigurowanie interesującej nas usługi bądź właściwości systemu. Każdy plik konfiguracyjny jest human-readable co minimalizuje możliwość błędnej konfiguracji.

Odrobinę inną drogą poszli twórcy Gnu/Linux, którzy niejednokrotnie dodają funkcjonalności i narzędzia do ich obsługi mające ułatwić nam życie. Po krótkim czasie okazuje się że nie są one wykorzystywane lub są, ale bardzo rzadko. Zamiast skupiać się na już istniejących rozwiązaniach i upraszczać ich obsługę developerzy muszą zajmować się różnego rodzaju nowinkami i rozszerzeniami. W gąszczu przeróżnych dźwigni łatwo się pomylić i przez przypadek narazić bezpieczeństwo naszego systemu. Skomplikowany jest również proces tworzenia plików konfiguracyjnych, niejednokrotnie twórcy danego narzędzia wymagają od nas nauki nowego slangu konfiguracyjnego. Tutaj też łatwo o pomyłkę.

Komercja 

Równie ważne jak sam system jest fakt jego wykorzystania przez rynkowych liderów. Dlatego ważny jest proces komercjalizacji, nie systemu, ale produktów na nim opartych. Istnieje wiele rozwiązań komercyjnych wykorzystujących Gnu/Linux jak i BSD. To znaczy, że zarówno pierwszy jak i drugi system dają się łatwo sprzedać. Niestety dość restrykcyjna licencja GPL często odstrasza dużych graczy. Dlatego firma produkująca wysokiej klasy sprzęt core’owy oparła swoje rozwiązania na systemie BSD. A nawet, “znienawidzony” potentat i “handlarz okien” na rynku komputerowym, zwrócił uwagę na korzyści płynące z wykorzystania systemu BSD.

Czytaj również

--Marcin Piotr Pawłowski

 

Przydatne informacje? Polub nas na facebooku.

Nawigacja
 
Darmowy magazyn o ITsec

zine
Subskrybuj RSS:
RSS