Linux jakby rozmiękczony

Bezpieczeństwu Linuxa trzeba zacząć przyglądać się nieco baczniej. Nowe wersje niektórych ''przyjaznych'' użytkownikowi dystrybucji to pod względem bezpieczeństwa prawdziwe antyprzykłady.

Bezpieczeństwu Linuxa trzeba zacząć przyglądać się nieco baczniej. Nowe wersje niektórych 'przyjaznych' użytkownikowi dystrybucji to pod względem bezpieczeństwa prawdziwe antyprzykłady.

Większość informatyków ze słowem Linux kojarzy trzy cechy: jest za darmo, jest bezpieczny i trudniejszy w obsłudze niż Windows i Mac OS. To prawda, ale nie zawsze i nie całkiem. W ciągu kilku ostatnich lat Linux szybko się rozwijał, stając się dużo łatwiejszy w obsłudze i instalacji. Powstające jak grzyby po deszczu dystrybucje i coraz lepiej dopracowane aplikacje spowodowały ułatwienie pracy w graficznym środowisku, bez szkody dla elastyczności oraz wydajności tego systemu.

Dystrybucje Linuxa mają zwykle pewną myśl przewodnią. Są takie, które powstały z myślą o serwerach WWW, są systemy typowo biurkowe, są wreszcie takie, które pomyślano jako systemy wbudowane dla urządzeń. Choć systemy te wyrastają z jednego rdzenia technologicznego, ich rzeczywiste funkcje i poziom bezpieczeństwa są niekiedy skrajnie różne. Trudno porównywać Adamantix czy OpenWall Linux z Auroxem czy Mandriva Linux (d. Mandrake).

W niektórych przypadkach wygoda pracy wzrasta, zaś równocześnie bezpieczeństwo nie poprawia się, lecz pogarsza. Antyprzykładem pod tym względem jest najnowsza wersja systemu Linspire, dawniej Lindows. Ta przeznaczona dla początkujących użytkowników dystrybucja stała się wizualnie bardzo podobna do Microsoft Windows. Niestety, oprócz wyglądu, system ten coraz bardziej przypomina Windows pod względem jakości zabezpieczeń. Linux Linuxowi nierówny i w związku z tą różnorodnością na bezpieczeństwo tego systemu trzeba zacząć patrzyć bardziej uważnie. Diabeł, jak zwykle, tkwi w szczegółach.

Sedno problemu

Typowo skonfig urowany system typu Unix posiada rozbudowane mechanizmy do konfiguracji uprawnień. Każdy użytkownik ma konto w systemie, gdzie zapisane są jego uprawnienia, prywatne ustawienia, hasła itd. Gdy użytkownik się loguje, wszelkie procesy wywoływane przez niego będą uruchamiane z jego uprawnieniami. Od tej reguły są wyjątki, ale o tym dalej. System typu Unix posiada specjalnego superużytkownika o nazwie root (UID=0), który ma najwyższe możliwe uprawnienia w systemie. Jeśli nie wprowadzono szczególnych zabezpieczeń, root przeczyta każdy plik, obchodzi każde ograniczenia.

Pozostali użytkownicy mają niezerowe numery UID i niższe prawa. Dzięki mechanizmom uprawnień do systemu plików, dla każdego użytkownika można bardzo precyzyjnie ustawić dostęp zgodnie z założeniami przyjętej polityki bezpieczeństwa. Wiele dystrybucji korzysta z tych mechanizmów bardzo skutecznie, zaś wsparcie ich dodatkowymi metodami, takimi jak listy dostępowe (ACL) i nakładki "utwardzające" (np. Security Enhanced Linux) czyni system bezpiecznym.

Najczęściej używane dystrybucje (Fedora, Aurox, Mandrake, Suse, Debian, Slackware) podczas instalacji proponują od razu utworzenie użytkownika o zwykłych uprawnieniach, przeznaczonego do codziennej pracy. Większość dodatkowo informuje o tym, by superużytkownika zachować do czynności administracyjnych rzeczywiście wymagających uprawnień systemowych. Dzięki temu uniknie się także przykrych niespodzianek wynikających ze zwykłych ludzkich pomyłek.

Aby ułatwić pracę, w najpopularni jszych środowiskach graficznych jest już skonfigurowane uruchamianie narzędzi administracyjnych przy użyciu hasła superużytkownika, ale bez konieczności zmiany tożsamości (przelogowania). W środowisku KDE takim programem - przełącznikiem jest kdesu i każdy, kto chciał uruchomić narzędzia do konfiguracji systemu z poziomu zwykłego użytkownika, na pewno poznał charakterystyczny ekran z pytaniem o hasło. Aby ułatwić pracę zwykłym użytkownikom, system można tak skonfigurować, by wszelkie czynności administracyjne dało się wykonać bez logowania się na użytkownika root.

Tymczasem Linspire (i podobne dystrybucje) wszystkie procesy uruchamia z uprawnieniami użytkownika root. Przypomina to ciągłą pracę z uprawnieniami administratora w systemie Windows, zainstalowanym na partycji FAT32. To bardzo wygodne - rozwiązuje to wiele problemów związanych ze zgodnością źle napisanego oprogramowania lub specyficznego sprzętu. Niektóre programy, jak np. popularny na platformie Windows Nero Burning ROM, wymagają do zapisu płyt CD/DVD uprawnień administratora.

Linspire ma dużo mniejsze problemy ze zgodnością. Jej projektanci doszli do wniosku, że aby użytkownik nie musiał stykać się z problemami, dla których nie jest w stanie znaleźć rozwiązania, powinien uruchamiać wszystko z uprawnieniami roota. Oczywiście, ma to swoją cenę - o zagrożeniach dla bezpieczeństwa wynikających z owej wygody wiadomo od dawna. Działania Linspire są zaskakujące, tym bardziej że typowe oprogramowanie dla Linuxa wymaga uprawnień administratora w sumie rzadko, np. przy zapisie danych do napędów dyskowych (tych, które nie zostały przypisane użytkownikowi domyślnie), przy manipulacji ustawieniami sieci albo jądra systemu.

Bezpieczeństwo to nie magia

Bezpieczeństwo jest sprawą ważną i nie można go lekceważyć - również w Linuxie. W bezpieczeństwie nie ma bowiem nic magicznego - jest ono pochodną konfiguracji systemu i przekonania administratora o słuszności utrzymania go w stanie jak najbardziej aktualnym. Obecnie nie ma jeszcze oprogramowania spyware instalującego się na Linuxie "samoczynnie" poprzez eksploatowanie dziury w przeglądarce WWW, jak w Windows, ale nikt nie zagwarantuje, że nie będzie to możliwe w przyszłości.

Dla systemów Unix od dawna dostępne są narzędzia do przełamywania zabezpieczeń, a także zestawy rootkitów, niemniej złośliwe oprogramowanie nadal wymaga aktywnego udziału włamywacza-człowieka do jego instalacji i późniejszego wykorzystania. Pojawienie się robaków sieciowych wykorzystujących dziury bądź błędy w konfiguracji Linuxa jest tylko kwestią czasu i jest to groźba całkiem realna. Oczywiście Linux, dzięki mnogości i zróżnicowaniu poszczególnych dystrybucji, nie jest jednorodny - napisanie efektywnego robaka będzie zatem bardzo trudne. Ale tylko teoretycznie - w praktyce masowo wykorzystywane jest tylko kilka dystrybucji.

Dobrze napisany rootkit - dziś, nie w przyszłości - może pozostać niezauważony nawet przez niektórych specjalistów. Wystarczy podmienić pewne biblioteki i program będzie nie do wykrycia ani poprzez listę procesów, ani przez analizę użycia pamięci - wszystkie programy będą funkcjonować normalnie. Czasami dopiero analiza ruchu sieciowego naprowadza na trop "niespodzianki". W przypadku zwykłego użytkownika prawdopodobieństwo odkrycia takiego włamania jest bliskie zeru.

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

TOP 200