Sekcje

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


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

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

Tekst jest kontynuacją artykułu Porównanie bezpieczeństwa: GNU/Linux vs BSD.

Kernel

Konfiguracja 

Każdy z systemów z rodziny BSD ma swoje własne podejście do jądra. W przeciwieństwie do Linux’a, który to jest zarządzany przez dużą grupę ludzi powiązanych z jeszcze większą ilością różnych dystrybucji. Podstawową różnicą pomiędzy nimi jest sposób konfiguracji jądra. Taki proces jest dość uciążliwy jeśli przyjdzie nam go przeprowadzić pod Linuksem. Natomiast jest czystą przyjemnością na wszystkich systemach z rodziny BSD. Co zapewne jest oczywiste, aby skonfigurować i skompilować jądro Linuksa musimy wydać komendę ‘make menuconfig’ w odpowiednim katalogu. Po krótkiej chwili, a dokładniej procesie budowania menu, czyli zautomatyzowanym przeczytaniu setek różnych Makefile’ów rozsianych po wielu różnych katalogach, otrzymamy rozbudowane menu. Wspomniane już, gotowe menu dysponuje setkami, jak nie tysiącami, przeróżnych opcji, sterowników oraz ustawień. W takim gąszczu informacji trudno się połapać a tym bardziej wyłowić wszystkie, niezbędne nam szczegóły potrzebne do skonfigurowania i zabezpieczenia naszego systemu.

Miłą odmianę wprowadzają systemy BSD. Cała zabawa zaczyna się i kończy podczas edycji tylko jednego pliku konfiguracyjnego. W tym Makefile’u znajdują się wszystkie potrzebne nam ustawienia, opcje i sterowniki. Jeśli czegoś tam nie ma, to znaczy że nie powinno tego tam być. Wszystko jest doskonale udokumentowane i opisane. Sam plik jest tworzony w taki sposób aby był w łatwy sposób zinterpretowany przez człowieka (czyt. administratora/developera).

Systemy plików 

Niewątpliwie Linux obsługuje największą ilość różnorakich systemów plików. Między innymi ext2, ext3, ext4, FAT, HFS, JJFS, JFS, UDF, XFS, ReiserFS, Reiser4, Tux3. Zapewne większość z nich jest bardzo dobrze przetestowana. Jednak warto zauważyć że przy tak dużej ilości systemów plików bardzo trudnym staje się dokładne przetestowanie nowej wersji jądra wraz ze wszystkimi możliwymi systemami plików. Co niekiedy zmniejsza stabilność naszej maszyny.

Z kolei systemy BSD nie obsługują tak imponującej ilości systemów plików. Są w stanie wykorzystać między innymi UFS, FAT, ext2 oraz ZFS. Dzięki małej różnorodności każdy aspekt poszczególnego systemu plików jest zbadany i należycie przetestowany co minimalizuje straty danych.

Firewall 

Ważnym zabezpieczeniem systemu operacyjnego jest firewall. Dlatego też standardem stało się dołączanie zapory ogniowej do systemu. Linux standardowo dystrybuowany jest z netfilter/iptables, który zapewnia pełną dowolność w zarządzaniu naszymi portami i pakietami sieciowymi.

Natomiast systemy z rodziny BSD wykorzystują inne filtry pakietów. Są nimi PF lub IPFW w zależności od upodobań developerów. Istotną przewagę nad szeroko wykorzystywanym netfilter’em filtry BSD mają w prostocie konfiguracji. Bardzo dużą uwagę poświęcili developerzy kwestiom tworzenia reguł. Zapewniło to znaczącą poprawę czytelności wszystkich plików konfiguracyjnych, oczywiście są one human-readable. Filtry BSD w żadnej mierze nie ustępują wydajnością ani funkcjonalnością netfilter’owi, niejednokrotnie go przewyższając.

Exploity 

Zarówno Linux jak i BSD wykorzystują różne technologie w celu mitygowania ataków typu Exploit. Głównym zabezpieczeniem Linux’a jest stanie z technologi PaX oraz Exec Shield. Niestety, nie zawsze są one standardowo włączone.

BSD z kolei wykorzystują między innymi W^X, PaX, GCC-SSP. Wykorzystanie poszczególnych technologii ściśle zależy od konkretnego systemu. Na szczęście wszystkie zabezpieczenia są w większości standardowo włączane. Zwalnia nas to z konieczności konfiguracji i rekompilacji jądra oraz poszczególnych podsystemów.

Zabezpieczenia 

Każdy system z rodziny BSD implementuje swoje własne zabezpieczenia. W większości wykorzystywane są jail, chroot, POSIX ACL, TrustedBSD MAC, kauth, securelevels oraz Xen. Jak to zwykle bywa z BSD większość jest standardowo włączona oraz dostępna bez jakichkolwiek modyfikacji systemu.

Natomiast Linux wykorzystuje zarówno POSIX ACL jak i chroot ale również Xen, KVM, LSM, POSIX Capabilities. Niestety nie wszystkie zabezpieczenia są standardowo dostępne w każdej dystrybucji. Tym bardziej, nawet jeśli jakieś zabezpieczenie jest dostępne to nie oznacza że jest ono włączone.

Czytaj również

--Marcin Piotr Pawłowski

Przydatne informacje? Polub nas na facebooku.

Nawigacja
 
Darmowy magazyn o ITsec

zine
Subskrybuj RSS:
RSS