Linux twardy jak skała

Linux twardy jak skała
Na etapie instalacji postarajmy się również ograniczyć instalowane usługi. Jeżeli np. instalujemy system Centos 5.x, wybierzmy jako rolę “Server" (bez GUI), a następnie odznaczmy niepotrzebne aplikacje czy moduły serwerowe (np. FTP Server, Network Servers czy Server Configuration Tools). Upewnijmy się także, że nie instalujemy systemu X-Windows. Jeżeli tak się stanie, po instalacji systemu zawsze można naprawić ten błąd, wykonując polecenie yum groupremove "X Window System".

Niepotrzebne usługi systemowe

Na początek dobrze jest też przyjąć zasadę, że wszystkie połączenia do i z serwera powinny być szyfrowane. Należy więc wyeliminować usługi, które z racji swojej konstrukcji przesyłają dane otwartym tekstem, np. FTP, rsh, telnet.

Jeżeli sami instalowaliśmy system, to mamy pełnię kontroli nad instalowanymi aplikacjami. Zdarza się jednak, że serwer przygotowuje Helpdesk, instalując go z jakiegoś szablonu. W takim przypadku musimy sami zadbać o wyeliminowanie niepotrzebnych usług.

Zakładając, że nie mamy X-ów, będziemy korzystali z runlevel 3. Trzeba więc sprawdzić, jakie usługi działają na tym poziomie. Najprościej zrobić to z wykorzystaniem narzędzia chkconfig:

# chkconfig -list | grep 3:on

Poziomy (runlevels) w Linuksie

0 - system zatrzymany1 - tryb single user (oznaczany często symbolem "S")

2 - tryb single user (z obsługą sieci)

3 - tryb wielu użytkowników (tryb CLI - brak środowiska graficznego - najczęściej wykorzystywany dla serwerów)

4 - tryb specjalny (niewykorzystywany)

5 - tryb wielu użytkowników (z obsługą środowiska graficznego - typowo stosowany w stacjach roboczych)

6 - ponowne uruchomienie systemuWywołanie określonego trybu: # init [numer poziomu]

Zwykle znajdziemy tam wiele usług, z których część nie będzie potrzebna, co jednak zależy od przeznaczenia serwera. Możemy więc spokojnie wyłączyć m.in. wsparcie dla drukarek (cups), zmodyfikowaną wersję cron-a (anacron), firewalla dla IPv6 (ip6tables) czy obsługę HAL (haldaemon).

Tutaj znowu wykorzystujemy polecenie chkconfig:

# chkconfig [nazwa usługi] off

Można też od razu pozbyć się usługi raz na zawsze - wówczas "off" zastępujemy "del".

Możemy również ułatwić sobie życie i zamiast kolejno wyłączać/usuwać każdą kolejną usługę - wykorzystać prostą pętlę for. Wystarczy wcześniej przygotować plik tekstowy z usługami, których nie chcemy (np. lista_uslug.txt):

# for usluga in (<’lista_uslug.txt’); do chkconfig usluga off; done

Oprócz chkconfig jest też prościutkie i bardziej okienkowe narzędzie ntsysv.

Linux twardy jak skała
Na wszelki wypadek warto też w analogiczny sposób sprawdzić runlevel 5.

A skoro mowa o usługach. Trudno wyobrazić sobie skuteczne zarządzanie Linuksem bez dostępu zdalnego przez SSH. Dlatego na jedną rzecz w konfiguracji tej usługi warto zwrócić uwagę. Grzechem numer jeden (niestety często popełnianym) jest pozostawienie możliwości zalogowania się zdalnego od razu na konto roota. Aby sprawdzić/wyeliminować obecność tej luki, trzeba poszukać parametru PermitRootLogin w pliku /etc/ssh/sshd_config. Powinien mieć wartość "no".


TOP 200