System na wylot bezpieczny

OpenWall Linux to propozycja dla tych, którzy nie chcą wciąż martwić się o bezpieczeństwo udostępnianych w sieci aplikacji.

OpenWall Linux to propozycja dla tych, którzy nie chcą wciąż martwić się o bezpieczeństwo udostępnianych w sieci aplikacji.

OpenWall Linux (OWL) to nie jedyny projekt open source związany z bezpieczeństwem. Celem projektantów OWL jest rozwijanie systemu operacyjnego zapewniającego maksymalny poziom bezpieczeństwa zaraz po zainstalowaniu - bez potrzeby dodatkowego strojenia konfiguracji. W porównaniu z dystrybucjami, takimi jak Debian czy Red Hat, OWL zawiera tylko podstawowe usługi - te, które są niezbędne do działania systemu. Nie ma tu standardowo uruchomionego serwera FTP, WWW czy usług Telnet. Mimo to, instalując OWL, administrator ma do dyspozycji w pełni funkcjonalny system operacyjny, mogący służyć jako platforma dla wybranych przez niego usług.

Będące podstawą OWL świadome instalowanie i aktywowanie tylko niezbędnych usług i funkcji systemu oddaje istotę filozofii bezpieczeństwa sieciowego. Stoi to w silnym kontraście z podejściem firm oferujących popularne dystrybucje. Dla nich najważniejsze jest konkurowanie funkcjonalnością, a więc zapewnienie dystrybucji jak największej liczby kompatybilnych pakietów oprogramowania. W kwestii bezpieczeństwa energia dostawców popularnych wersji Linuxa skupia się na bieżącym usuwaniu błędów pojawiających się w pakietach, nie zaś na zapewnieniu dobrych podstaw bezpieczeństwa systemu jako całości.

Dla administratora mającego wziąć odpowiedzialność za system i działające na nim usługi/aplikacje takie podejście jest nie do zaakceptowania. Podejmowanie decyzji o wyborze, dajmy na to, systemu pocztowego jedynie na podstawie przeświadczenia, intuicji czy nawet wiedzy, że oprogramowanie działa w miarę bezbłędnie, jest co najmniej ryzykowne. Instalowanie Sendmaila - króla dziur - to pomysł z gruntu zły, jednak wybór między pakietami Postfix, Exim czy Qmail nie jest już taki oczywisty.

Aby móc zaufać oprogramowaniu, wypadałoby zbadać jego kod źródłowy i przyjrzeć się, jak jego twórcy zaimplementowali funkcje bezpieczeństwa. Twórcy OWL zdają sobie sprawę z tego, że audyt kodu to zadanie nie dla każdego, postanowili więc wziąć ten ciężar na siebie. Tu właśnie tkwi siła OWL - podstawowym narzędziem zabezpieczania systemu jest bardzo restrykcyjna polityka włączania zewnętrznych pakietów oprogramowania do dystrybucji.

Architektura bez ryzyka

System na wylot bezpieczny

Separacja przywilejów w OpenWall Linux na przykładzie popa3d

Szczególna uwaga, co zrozumiałe, jest w OWL poświęcana oprogramowaniu, które ma działać z uprawnieniami roota lub jako usługa nasłuchująca w tle na publicznie otwartym porcie (tzw. daemon). Nawet jeśli kod programu nie zawiera konkretnych błędów, ale jest pisany w sposób budzący wątpliwości, oprogramowanie nie jest włączane do dystrybucji.

Jeśli program przejdzie wstępną selekcję, rozważane są możliwości dalszego zwiększenia poziomu jego bezpieczeństwa. W wielu przypadkach to "utwardzanie" aplikacji polega na tworzeniu łat mających na celu separację przywilejów. Ponadto dla każdego pakietu jest tworzony szczegółowy dziennik audytu - po jego lekturze znacznie łatwiej jest podjąć decyzję, czy program nadaje się do wykorzystania w konkretnym środowisku.

To pierwsza dystrybucja Linuxa, której aplikacje są sprawdzane pod kątem bezpieczeństwa, zanim zostaną "certyfikowane". Używając programów znajdujących w standardowej dystrybucji, można mieć pewność, że korzysta się z najbezpieczniejszego zestawu narzędzi open source. Oczywiście, oprócz oprogramowania dołączonego standardowo, istnieje możliwość zainstalowania na OWL także dowolnych programów. Mogą to być pakiety RPM (znane z dystrybucji Red Hat Linux) i oprogramowanie kompilowane ze źródeł. Czy jednak w takiej sytuacji korzystanie z OWL ma jeszcze jakieś uzasadnienie?

Tak! Do OWL dodano wiele interesujących ulepszeń podnoszących poziom bezpieczeństwa całego systemu. Jest tu m.in. łata do jądra systemu, dzięki której wykonanie niektórych rodzajów ataków jest bardzo utrudnione lub wręcz niemożliwe. Pakiet tcb, którego autorem notabene jest Polak Rafał Wojtczuk, umożliwia zastąpienie niezbyt udanej koncepcji przechowywania haseł w pliku /etc/shadow, bezpieczniejszą metodą zakładania plików z hasłami osobno dla każdego użytkownika. Rozwiązanie to jest przezroczyste dla starych aplikacji i nie wymaga ich rekompilacji. Standardowe serwisy systemowe, takie jak crond, syslogd czy klogd, zostały zmodyfikowane w taki sposób, aby ewentualne zawarte w nich błędy nie wpłynęły na bezpieczeństwo całego systemu. Dodatkowo część pakietów została specjalnie na potrzeby OWL przeniesiona z uznawanych za bardzo bezpieczne systemów z serii BSD.

Usługi w cuglach

Instalacja OpenWall Linux może początkowo wydać się skomplikowana, co wynika z raczej skąpej dokumentacji. Po pierwszej udanej próbie wszystko jednak staje się oczywiste i instalowanie kolejnych serwerów trwa nie dłużej niż kilkanaście minut. System instaluje się z płyty CD - na razie nie ma możliwości instalacji przez sieć, aczkolwiek autorzy zapowiadają dodanie takiej opcji w przyszłości.

Dużą różnicę w stosunku do innych dystrybucji Linuxa widać już po pierwszym starcie systemu.

Jedyny daemon, który otwiera publiczny port, to OpenSSH. Nie ma tu chargen, daytime, echo i innych podobnych usług. Jeśli chodzi o programy uruchamiane w trybie usług systemowych, tzw. SUID (takie programy działają z innymi przywilejami niż te, które ma użytkownik uruchamiający dany program), ich liczba w standardowej instalacji jest ograniczona do minimum.

Wszystkie dodatkowe pakiety można pobrać z witryny FTP projektu OWL - w Polsce działają kopie serwerów głównych. Po ich pobraniu najlepiej jest wydać polecenie make buildworld, w wyniku czego system skompiluje całe dostępne oprogramowanie, zaaplikuje odpowiednie łaty i stworzy pakiety RPM. Instalowanie najprościej przeprowadzić przy użyciu polecenia make installworld.

Standardowo każdy pakiet zostanie skonfigurowany w maksymalnie bezpieczny sposób. Na przykład serwer FTP będzie zezwalać jedynie na logowanie się jako użytkownik anonimowy (z najmniejszym możliwym zestawem uprawnień), a serwer pocztowy będzie umożliwiać przesyłanie poczty jedynie lokalnie. Inny przykład. Domyślna wartość parametru umask w OpenWall Linux to 077. Oznacza to, że jeśli stworzymy w nim jakiś plik, to nie będzie on dostępny nikomu oprócz jego właściciela. Użytkownicy innych dystrybucji są przyzwyczajeni, że każdy stworzony przez nich plik jest od razu dostępny także wszystkim użytkownikom. Różnica ta może więc powodować wiele problemów, np. w różnego rodzaju skryptach i programach. Takie przykłady można by mnożyć.

Reasumując, w OWL administrator ma pełną kontrolę nad tym, co działa w jego systemie. Aby wykonać działanie potencjalnie niebezpieczne, program musi otrzymać świadome zezwolenie administratora w postaci wpisu w odpowiednim pliku konfiguracyjnym. Dla doświadczonego administratora to rutyna, dla początkującego będzie jednak pewną przeszkodą.

W celu komercyjnej reprodukcji treści Computerworld należy zakupić licencję. Skontaktuj się z naszym partnerem, YGS Group, pod adresem [email protected]

TOP 200