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.