Pingwin w opałach

Słusznie czy nie, panuje opinia, że Microsoft Windows jest systemem, na którym nie można polegać – głównie ze względu na problemy ze stabilnością i “dziury” w zabezpieczeniach. A jak wygląda sytuacja na “rynku” linuksowym? Okazuje się, że system ten coraz powszechniej jest wykorzystywany zarówno do zastosowań domowo-biurowych, jak i w roli serwerów przez osoby mające niewielkie doświadczenie w administracji systemami uniksowymi. Sprawia to, że komputery z Linuksem coraz częściej padają ofiarą włamywaczy.

Wynika to z faktu, że jednym z najczęściej popełnianych podczas instalacji i/lub konfiguracji dowolnego systemu błędów jest wiara, że domyślne ustawienia są równocześnie najlepszymi z możliwych – a tymczasem wcale tak nie jest. Co więcej, automatyczna instalacja pozostawia często karygodne “dziury” w zabezpieczeniach serwera czy stacji roboczych – i to niezależnie od tego, czy mamy do czynienia z darmowym systemem “na biurko”, czy też z rozbudowanym serwerem za kilka tysięcy dolarów.

Proces “uszczelniania” i łatania systemu z pingwinem w herbie przedstawiony zostanie na przykładzie dystrybucji Red Hat w wersji 7.2. Oczywiście, w podobny sposób można zabezpieczyć większość dostępnych dystrybucji Linuksa.

Niniejszy tekst jest przeznaczony dla początkujących administratorów Linuksa, głównie dla osób korzystających z tego systemu w domu i łączących się z Siecią za pośrednictwem modemu czy SDI. Artykuł wymaga znajomości podstawowych poleceń i pojęć z zakresu budowy systemu plików Linuksa. Wszystkie te informacje można znaleźć w podręczniku systemowym (man), dokumentach HOWTO (JTZ) oraz na stronach internetowych podanych w ramce “Info”.

Już instalacja jest ważna

Sposób, w jaki zainstalujemy system, może mieć znaczny wpływ na jego bezpieczeństwo. Bardzo ważny jest przede wszystkim podział dysku twardego. Należy pamiętać, aby oprócz partycji przeznaczonej na katalog główny (

/

) stworzyć oddzielne partycje bądź dyski logiczne co najmniej dla katalogów /home ,

/var

,

/tmp

i /usr. Jeżeli komputer pełni funkcję serwera, to warto także wydzielić katalogi /var/log oraz /var/spool/mail oraz inne, które będą szczególnie ważne bądź intensywnie wykorzystywane w konkretnych zastosowaniach.

Podejście takie ma kilka znaczących zalet. Po pierwsze, w przypadku awarii dysku (lub jednego z dysków) mamy większe szanse na odzyskanie danych. Poza tym użycie kilku partycji lub dysków pozwala lepiej kontrolować zużycie przestrzeni dyskowej – w razie potrzeby wymieniamy jeden dysk w systemie i nie musimy niczego instalować na nowo.

Z punktu widzenia bezpieczeństwa Linuksa wydzielenie poszczególnych katalogów pozwoli natomiast na późniejsze ustawienie flag noexec ,

nosuid

oraz nodev dla odpowiednich części partycji. Przemyślany system uprawnień do poszczególnych dysków powinien skutecznie utrudnić życie potencjalnym włamywaczom. Przykładową zawartość pliku /etc/fstab przedstawia ilustracja na sąsiedniej stronie.

Istotną rolę, szczególnie w przypadku instalacji serwera, odgrywa wybór instalowanych pakietów. Możemy przyjąć zasadę, że im mniej programów, tym lepiej. Szczególną ostrożność powinniśmy zachować w przypadku wyboru demonów usług sieciowych – instalujmy tylko te, które znamy i jesteśmy pewni, że będziemy z nich korzystali. To właśnie usługi systemowe są największą zmorą każdego administratora i największą potencjalną furtką dla włamywaczy.

Wyłączyć, co się da

Jeśli nie chcemy korzystać z jakiegoś demona, to pracując na koncie administratora, możemy go wyłączyć na stałe za pomocą programu setup. Następnie wybieramy menu system services i usuwamy zaznaczenie obok pozycji odpowiadających zbędnym usługom. Odwrotnie postępujemy w celu ich aktywacji. Możemy także ręcznie zatrzymać bądź uruchomić wybrany serwer. W tym celu przechodzimy do katalogu /etc/rc.d/init.d/, gdzie znajdują się skrypty startowe poszczególnych usług. Wydając polecenie

./nazwa_usługi start

(lub stop czy

restart

), możemy odpowiednio uruchomić, zatrzymać bądź przeładować (czyli zatrzymać i uruchomić) dany serwer.

Więcej:bezcatnews