Solaris Administrator's Security Guide

Zawartość rozdziału:

  1. Niezbędne narzędzia

1. Niezbędne narzędzia

Zanim rozpoczniemy instalację systemu, musimy zaopatrzyć się w dodatkowe oprogramowanie, które jest pomocne do zabezpieczenia serwera.

Tekst ten bazuje na narzędziach niekomercyjnych, w związku z tym wszystkie prezentowane tutaj narzędzia (lub ich wersje) są dostępne bezpłatnie w sieci Internet.

O ile jest to możliwe, należy ściągnąć poniższe programy w postaci kodu źródłowego. Nie dotyczy to oczywiście kompilatora i GNUgzip, aczkolwiek źródła ich ostatnich wersji również można ściągnąć w celu późniejszego przekompilowania. O ile system MUSI być wyposażony w kompilator. Należy również pamiętać o tym, aby starać się ściągać najnowsze stabilne wersje wymienionych narzędzi. Są one zwykle pozbawione błędów (czasami krytycznych dla systemu) z wersji poprzednich. Dobrą praktyką jest również wcześniejsza kompilacja i przetestowanie tych narzędzi na serwerze testowym.

Większość z poniższych programów nie są jedynymi w swoim rodzaju. Oczywiście, takich programów jest wiele. Te, znajdujące się na tej liście są jedynie zalecane m. in. przez CERT, SANS czy SecurityFocus. Dlatego właśnie nasz wybór padł na te, a nie na inne narzędzia. Nie mniej jednak wybór oprogramowania pozostawiamy Państwu.

Oprócz samych narzędzi zalecamy również ściągnięcie kluczy publicznych wszystkich twórców powyższego oprogramowania oraz sygnatur plików (oczywiście o ile takowe istnieją) i sprawdzenie ich za pomocą PGP (lub GnuPG). Nie należy tej czynności bagatelizować, gdyż jak do tej pory jest to jedyna metoda sprawdzenia oryginalności pochodzenia plików. W historii Internetu zdarzały się przypadki podmiany na serwerach ftp plików na ich odpowiedniki zawierające konie trojańskie. Podczas jednego z takich włamań został podmieniony m. in. program TCP wrapper, który - nim zostało to zauważone - został ściągnięty i prawdopodobnie zainstalowany przez kilkudziesięciu użytkowników.

A oto i lista potrzebnych narzędzi wraz z odnośnikami:


1. Poprawki (ang. patches)

Zalecamy pobranie poprawek (przynajmniej rekomendowanych) bezpośrednio ze strony SUN Microsystems. Podobnie jak każdy inny pakiet, poprawki mogą być sfałszowane, zawierać konie trojańskie itp. Pobranie ich bezpośrednio od producenta może ustrzec przed takimi niespodziankami.


2. GNU zip (gzip)

Binaria tego pakietu są niezbędne do rozpakowania większości narzędzi pobieranych z sieci Internet.


3. Kompilator

Ponieważ większość z opisywanych w niniejszym podręczniku narzędzi to programy napisane w języku C, to w celu ich instalacji wymagany jest kompilator tego języka.


4. Generator liczb losowych (/dev/urandom oraz /dev/random)

Generator liczb losowych wymagany przez OpenSSL.

Jeżeli dysponujemy SUN Easy Access Server wówczas należy zainstalować pakiet SUNWski, w przeciwnym przypadku można skorzystać z dość dobrego generatora autorstwa Andreasa Maiera:


5. OpenSSL

Biblioteka funkcji kryptograficznych i obsługi certyfikatów.
Wymagana przez OpenSSH, Stunnel i inne, bazujące na OpenSSL narzędzia kryptograficzne.


6. SSH (lub OpenSSH)

Zamiennik usług telnet oraz ftp. Szyfruje połączenia, posiada zaawansowane mechanizmy uwierzytelniania, tunelowania połączeń i wiele innych.

Podstawowe narzędzie do zdalnej pracy na serwerach.


7. Stunnel

Znakomity program polskiego autorstwa umożliwiający tunelowanie popularnych protokołów (http, imap, pop itp.) z wykorzystaniem protokołu SSL.


8. PGP (lub GnuPG)

Niezbędny do sprawdzania sygnatur plików. PGP oprócz sprawdzania, czy jakiś plik nie został podmieniony i zmodyfikowany jest bardzo dobrym narzędziem do szyfrowania bądź cyfrowego podpisywania korespondencji.


9. MD5

Używany do weryfikowania integralności plików.


10. AIDE (lub Tripwire)

Narzędzie to jest odpowiedzialne za wykonanie bazy danych skrótów programów i jej okresowe porównywanie z aktualnym stanem oprogramowania.

Dzięki temu programowi możemy stwierdzić, czy (i które) pliki w oprogramowaniu na dyskach serwera zostały zmienione przez ewentualnego intruza.

Jest to podstawowe narzędzie do sprawdzania integralności systemu plików.


11. TCP wrapper + rpcbind (lub xinetd)

Ponieważ Solaris standardowo nie ma możliwości selektywnego przyznawania dostępu do usług sieciowych dla konkretnych hostów czy sieci, TCP wrapper rozszerza możliwości demona inetd o te właśnie opcje. Analogicznie rpcbind wzbogaca możliwości klasycznego portmappera.

Xinetd jest alternatywą dla inetd i TCP wrappera. Posiada bogate opcje konfigurowania, kontrolowania dostępu i logowania zdarzeń dla usług udostępnianych przez inetd. Niestety, jego wadą jest brak obsługi usług RPC uruchamianych przez superdemon. Dlatego decydując się na instalacje xinetd musimy mieć pewność, że nie będziemy korzystać z usług RPC.


12. fix-modes

Umożliwia ustawienie bardziej restrykcyjnych praw dostępu do plików systemu operacyjnego.


13. noshell

Prosty skrypt, którego głównym zadaniem jest rejestracja prób użycia kont systemowych (np. sys, bin, adm, uucp).

W przypadku problemów z kompilacją zalecamy ściągnięcie skryptu z pakietu Titan (drugi odnośnik).


14. swatch (lub logcheck)

Programy służące do śledzenia zawartości logów i wysyłania komunikatów do administratora z informacją o "podejrzanych" sytuacjach.


15. lsof

Podobnie jak polecenie netstat, lsof umożliwia przeglądanie wszystkich otwartych portów. Ma jednak dużo większe możliwości, m. in. kojarzy otwarte porty z demonami, wyświetla listę otwartych plików itp.


16. top

Umożliwia monitorowanie stanu systemu, aktywności procesów, ilości wolnej pamięci itp.


17. COPS

Zbiór skryptów umożliwiających wynalezienie w systemie różnego rodzaju usterek.


18. npasswd

Umożliwia wybór "silnego" hasła przez użytkowników.


19. IDS

IDS (z ang. Intrusion Detection System) są narzędziami umożliwiającymi wykrywanie m. in. skanowań portów, prób uruchamiania exploitów itp. Ze swojej strony zalecamy użycie przynajmniej jednego z poniższych programów.

Snort - sieciowy system wykrywania włamań (NIDS). Potrafi rozpoznać różne rodzaje ataków i prób jak np.: próby przepełnień buforów, skanowania portów czy ataki na skrypty CGI.

Snort wymaga również zbioru reguł wykrywania, który należy pobrać ze witryny www.snort.org.

PortSentry - wykrywa skanowanie portów i podejmuje dodatkowe działania jak np. logowanie incydentu za pomocą demona syslogd, blokowanie źródłowego adresu IP hosta atakującego, odrzucanie połączenia itp. Jest to bardziej rozbudowana wersja programu klaxon, który sygnalizował nieautoryzowane próby połączeń do portów TCP.

IP Logger. Loguje cały ruch TCP/IP z i do serwera. Wykrywa skanowania portów typu SYN, FIN, Xmas, NULL itp.


20. IP Filter (opcjonalnie)

Bardzo dobry i w dodatku bezpłatny system Firewall.


21. postfix (opcjonalnie)

Znakomity zamiennik programu sendmail.


22. S/KEY (opcjonalnie)

Umożliwia używanie w systemie haseł jednorazowych.


23. syslog-ng (opcjonalnie)

Jeżeli będziemy odbierać logi z innych hostów, narzędzie to jest niezbędnym zastępnikiem oryginalnego demona syslogd. Umożliwia automatyczną segregację logów, filtrowanie i wiele innych.



Przed rozpoczęciem instalacji należy zapoznać się z wymaganiami powyższych programów. Być może okaże się niezbędne ściągnięcie dodatkowego oprogramowania, np. GNU make, perl, bison, etc. W chwili pisania tego podręcznika powyższe oprogramowanie wymagało również:



Jeżeli mamy taką możliwość, należy zapisać powyższe oprogramowanie oraz poprawki na płycie CD-R (CD-RW), taśmie lub wymiennym dysku twardym w celu późniejszego skopiowania na serwer.



Wstęp Spis treści Następny rozdział