Wiadomości

Bezpieczny Linux - jak utwardzić system

29 marca 2011 08:38,
Patryk Królikowski

Pojawienie się nowego serwera w infrastrukturze rodzi potrzebę zapewnienia mu odpowiedniego poziomu bezpieczeństwa. Jednym ze stosowanych rozwiązań jest "wpięcie" go w siatkę zewnętrznych mechanizmów ochronnych. Często jednak zapomina się o sprawach najprostszych, takich jak utwardzenie (hardening) systemu operacyjnego. Dzięki takiej operacji nie tylko zwiększymy poziom bezpieczeństwa serwera, lecz także podniesiemy jego wydajność.

Omówimy tu najważniejsze punkty procesu hardeningu, pozostawiając czytelnikowi ich dokładne zgłębienie. Z braku miejsca pominiemy także kwestię utwardzania poszczególnych aplikacji. Ponieważ każda seria Linuksa ma odrębne właściwości, postanowiliśmy przykłady podawać dla jednej z nich - ulubionego przez autora CentOS-a.

Na początek

Proces utwardzania można rozpocząć już podczas instalacji systemu operacyjnego, a nawet chwilę wcześniej. Dzieje się to na etapie alokacji zasobów. Dobrą praktyką jest uruchamianie tylko jednej ważnej usługi (np. serwera baz danych) na danej instalacji systemu - niezależnie od tego, czy jest to maszyna fizyczna, czy platforma wirtualna. Chodzi o uniknięcie sytuacji, gdy awaria jednego serwera powoduje paraliż wielu systemów. Warto też pamiętać o ochronie fizycznej samej maszyny (np. autoryzacji dostępu do serwerowni, możliwości otwierania szaf serwerowych itp.). Bezpieczeństwo fizyczne centrum przetwarzania danych to jednak osobny temat.

Jeszcze przed instalacją systemu możemy zabezpieczyć dostęp do parametrów konfiguracyjnych BIOS hasłem, a po jej zakończeniu wyłączyć możliwość uruchamiania systemu z nośników zewnętrznych. Jeżeli kontrola dostępu fizycznego jest na odpowiednio wysokim poziomie, będzie to trudne do przełamania zabezpieczenia.

W trakcie instalacji systemu operacyjnego przechodzimy przez kilka etapów, które mogą stanowić kolejne kroki utwardzania. Jednym z pierwszych jest podział na partycje. Oprócz wymaganej partycji "/" (root) zaleca się utworzenie osobnych partycji przynajmniej dla:

  • katalogu tymczasowego (/tmp),
  • katalogu tymczasowego (/tmp),
  • katalogów profili użytkowników (/home),
  • partycji rozruchowej (/boot),
  • katalogu tzw. danych zmiennych (/var) - tutaj umieszczane są np. dane audytowe, wszelkiego rodzaju logi, bazy danych, kolejki pocztowe,
  • katalogu programów i kodu źródłowego (/usr),


a jeżeli planujemy instalację oprogramowania niestandardowego - przyda się partycja /opt.
Czasami trudno jest z góry przewidzieć wielkość i liczbę wszystkich partycji, dlatego warto skorzystać z mechanizmu LVM (Logical Volume Manager), który zapewnia elastyczność w alokacji miejsca przeznaczonego na każdą z nich. Atrybuty samych partycji zostaną omówione dalej.

Często już na etapie instalowania można przypisać hasło menedżerowi rozruchowemu GRUB (GRand Unified Bootloader), co poza hasłem w BIOS-ie utrudni zmianę parametrów rozruchowych systemu, a także wejście w tryb Single User. Dla przypomnienia, "runlevel 1" lub tryb Single User dają dostęp z uprawnieniami użytkownika root do zasobów komputera bez konieczności podawania hasła. Aby wykorzystać jego możliwości, konieczny jest dostęp konsolowy do systemu, np. poprzez port SERIAL, interfejs DRAC/iLO. Jeśli jednak celem jest destabilizacja systemu, to wywołanie go z poziomu CLI może spowodować odłączenie serwera od sieci. Tryb Single User może zostać wywołany albo podczas restartu systemu i edycję parametrów rozruchowych z poziomu menedżera rozruchowego (np. w GRUB - dodanie wartości "1" na końcu linii "kernel"), albo poprzez użytkownika posiadającego odpowiednie uprawnienia poleceniem /sbin/init 1. O ile z pierwszym przypadkiem można sobie poradzić, ustawiając hasło w menedżerze rozruchowym (por. ramka), o tyle drugi jest trochę bardziej uciążliwy. Teoretycznie normalny użytkownik nie powinien móc go wywołać. Problem w tym, że np. błędna konfiguracja SUDO lub przypisanie zbyt wielu praw w inny sposób może spowodować, że użytkownikowi się to uda. Aby ochronić się przed wejściem w Single User z poziomu powłoki systemu, można posłużyć się małym fortelem. W pliku odpowiadającym za inicjalizację systemu (wywoływanym zaraz po załadowaniu jądra) - /etc/inittab należy dodać linię:
su:S:wait:/sbin/sulogin bezpośrednio nad wpisem
id:[numer poziomu - z reguły 3 lub 5]:initdefault
To spowoduje, że wywołanie init 1 co prawda się powiedzie, ale użytkownik przed skorzystaniem z jego zalet będzie musiał dodatkowo podać hasło roota.


Ocena:
Twoja ocena:

Komentarze (9)

~NEtBit

29-03-2011 18:58

podałeś złą ścieżkę... oto poprawna: /etc/ssh/sshd_config

~Zeke

29-03-2011 15:39

@tad "Czyli jeżeli mam linuksa to jestem bezpieczny ale muszę zrobić wiele aby to bylo prawdziwą prawdą." Czyli jeżeli masz windowsa to nie jesteś bezpieczny, i nie musisz robić niewiele, żeby to było zakłamanym kłamstwem.

Gosć

29-03-2011 13:37

To juz lepiej pozostać przy serwerach i stacjach MS Windows, tylko przejść na współczesne wersje.

~redakcja Networld

29-03-2011 11:55

@ccc: Autor artykułu został podany. Zgłaszając tak poważne zarzuty wypada podać źródło. @phi zgodnie z informacją po tekstem to nie jest pełna wersja artykułu. Zapraszamy do lektury pełnej wersji.

peiner

29-03-2011 11:27

selinux nie jest dostępny we wszystkich dystrybucjach, dlatego pewnie napisali ogólnikowo..

~ccc

29-03-2011 11:19

Heh, nieskładne tłumaczenie zlepka kilku poradników sprzed 10 lat - odkąd to Computer World publikuje materiały jako "swoje", bez wskazania ich źródła, hę?

~phi

29-03-2011 10:33

A gdzie nosuid/noexec na partycjach? Gdzie strojenie SELinux/Apparmor? Gdzie kontrola spójności (tripwire)? Gdzie narzędzia audytowe? To dopiero początek.

~AdamK

29-03-2011 10:15

Kto to pisał/tłumaczył? Informacje z poprzedniej epoki.

Gosć

29-03-2011 10:15

Czyli jeżeli mam linuksa to jestem bezpieczny ale muszę zrobić wiele aby to bylo prawdziwą prawdą.

Reklama

Huawei celuje w rynek biznesowy

Huawei nieustannie rozwija się jako dostawca infrastruktury dla branży telekomunikacyjnej. W tym roku chiński koncern zamierza umocnić swoją pozycję również na rynku rozwiązań Enterprise.


Polecane

Koniec Windows XP początkiem problemów?

Microsoft oficjalnie potwierdził, że za dwa lata definitywnie zakończy się era Windows XP - systemu operacyjnego,...


Spokój i luz administratora

Wymagania wobec pracowników działów IT rosną proporcjonalnie do stopnia rozwoju teleinformatyki. Oczekuje się, że...


04-204 Warszawa ul. Jordanowska 12
tel.: (+48 22) 321 78 00 fax: (+48 22) 321 78 88
© copyright 2011 IDG Poland SA