Zawartość rozdziału:
Pierwszym krokiem - o ile nie będziemy korzystać podczas instalacji systemu z sieci komputerowej - jest fizyczne odłączenie hosta od sieci.
Zapobiegnie to włamaniom, które mogą mieć miejsce zaraz po zakończeniu instalacji, gdy system nie jest jeszcze zabezpieczony, a usługi sieciowe (zwłaszcza RPC) są udostępnione całemu światu.
Jeżeli system instalujemy na platformie SPARC, należy włączyć korzystanie z hasła w otoczeniu OpenBoot PROM:
ok setenv security-mode commandlub
ok setenv security-mode full
a następnie ustawić hasło poleceniem:
ok setenv security-password <password to set> security-password =
Powyższe ustawienie zapobiegnie przypadkowemu bądź umyślnemu zatrzymaniu pracy serwera za pomocą kombinacji klawiszy STOP-A lub próbom uruchomienia systemu z płyty CD. Zamiast opcji "command" w poleceniu "security-mode" można zastosować "full", lecz w tym przypadku nie będzie możliwy restart systemu bez podania hasła. Opcja "command" spowoduje wymuszanie podawania hasła przy każdorazowej próbie uruchomienia systemu z dodatkowymi opcjami, przy czym normalny restart nie wymaga podawania hasła.
Optymalnie bezpiecznie - z oryginalnego nośnika CD. W celu rozpoczęcia instalacji w OpenBoot PROM wydajemy polecenie:
ok boot cdrom - installNależy upewnić się również, że opcja auto-boot jest ustawiona następująco:
ok setenv auto-boot? true
W przypadku platformy INTEL należy skorzystać z dołączonej dyskietki Configuration Assistant.
Jeżeli decydujemy się na instalację systemu z użyciem sieci komputerowej, należy pamiętać, że gdy połączenie z install-serwerem nie jest fizycznie odseparowane od sieci publicznej to od momentu rozpoczęcia instalacji serwer jest narażony na ataki z sieci (patrz: punkt 2.1).
Bezapelacyjnie instalacja typu initial. W przeciwieństwie do instalacji typu upgrade uniemożliwi ona pozostawienie "tylnych drzwi" z poprzedniej wersji systemu.
Ze względów bezpieczeństwa zalecamy utworzenie co najmniej następujące partycje:
| / | (pliki konfiguracyjne, punkty montowania itp.) |
| /var | (dzienniki zdarzeń, poczta elektroniczna, etc.) |
| /usr | (oprogramowanie systemowe) |
| /export/home | (katalogi domowe użytkowników) |
| /usr/local lub /opt | (oprogramowanie dodatkowe) |
| swap | (pamięć wirtualna) |
Partycja / powinna zawierać tylko pliki konfiguracyjne serwera oraz katalog domowy administratora. Ze względu na fakt, że przepełnienie tej partycji jest krytyczne dla całego systemu, prawa zapisu do niej powinien posiadać wyłącznie użytkownik root. W praktyce jej wielkość rzędu 150 MB jest w zupełności wystarczająca.
/usr, /usr/local (lub /opt) - partycje te powinny być przeznaczone do instalacji oprogramowania. Zaleca się, aby partycja /usr była - po zakończeniu instalacji - montowana w trybie read-only. Dzięki temu można utrudnić modyfikację oryginalnego oprogramowania przez potencjalnych intruzów. Partycja /usr/local (lub /opt) ma służyć głównie instalacji dodatkowego oprogramowania, jak np. GNUgzip, GNUmake, Perl itp. Ponieważ w praktyce zawartość takich partycji może być często zmieniana, utworzenie jej jako osobnej do /usr niesie ze sobą wiele korzyści.
Partycja /var służy głównie do zapisu dzienników zdarzeń, poczty elektronicznej itp. Przeważnie jest to partycja o stosunkowo dużej wielkości - głównie ze względu na logi. Jeżeli jednak logi będą wysyłane na inny serwer, a system nie będzie używany jako serwer poczty elektronicznej czy grup newsowych - nie ma wówczas potrzeby na poświęcanie dużej ilości miejsca na powyższą partycję.
Z kolei konta użytkowników są umieszczane na partycji /export/home, którą (np. gdy używany będzie system NIS+) można eksportować poprzez NFS. Niestety, używanie NFS nie bez echa może odbić się na ogólnym bezpieczeństwie systemu.
Ostatnia partycja - swap - będzie wykorzystywana w systemie jako pamięć wirtualna oraz szybka partycja /tmp. Jej wielkość proponuje się przeważnie jako 2-krotność posiadanej pamięci RAM. Ze swojej strony zalecamy jednak uwzględnienie wymagań oprogramowania, które ma być zainstalowane na serwerze, a ściślej mówiąc - jego "pamięciożerności". W przypadku dużych aplikacji może okazać się konieczne przeznaczenie większej ilości miejsca na tą partycję.
Dodatkowo, zalecamy również stworzenie osobnych partycji dla każdej z "większych usług" (serwer WWW, serwer anonimowego ftp, itp.) osobnej partycji, której wielkość należy dostosować do konkretnych potrzeb. Ze względów wydajnościowych zalecamy również włączenie loggingu, który może znacznie przyspieszyć operacje dyskowe.
Przede wszystkim należy instalować tylko te pakiety, które są niezbędne do pracy serwera. Im większa ilość oprogramowania zainstalowanego na serwerze (zwłaszcza typu SUID czy SGID), tym większe prawdopodobieństwo przejęcia praw administratora przez intruza.
Z punktu widzenia bezpieczeństwa, optymalną instalacją jest to instalacja typu "CORE", choć i ten rodzaj instalacji zawiera dużo zbędnych pakietów, które należy usunąć po zakończeniu instalacji.
Ze swojej strony zalecamy instalację typu "CORE" (gdy środowisko graficzne jest zbędne) lub "END USER" (w przypadku gdy chcemy korzystać z systemu X-Windows), a następnie dodanie wszystkich niezbędnych pakietów. O ile system musi być wyposażony w OpenWindows lub CDE, dużo wygodniej jest wybrać te pakiety przy użyciu opcji "Customize" w trakcie instalacji, niż później, ręcznie przy użyciu komendy pkgadd. To samo dotyczy podręczników systemowych (pakiety SUNWdoc (Documentation Tools) oraz SUNWman (On-Line Manual Pages)).
Następujące pakiety również powinny być zainstalowane (pomimo, że nie znajdują się nawet w wersji "CORE") :
SUNWfns Federated Naming System [oraz z grupy: System and network administration] SUNWadmc System Administration Core Libraries SUNWadmfw System & Network Administration Framework
SUNWfns jest wymagany przez program snoop, natomiast SUNWadmc oraz SUNWadmfw są niezbędne do popranwego działania polecenia showrev.
Dodatkowo, aby móc kompilować programy należy doinstalować następujące pakiety:
[grupa: Programming tools and libraries] SUNWbtool CCS tools bundled with SunOS SUNWlibm Sun WorkShop Bundled libm SUNWlibms Sun WorkShop Bundled shared libm SUNWsprot Solaris Bundled tools SUNWtoo Programming Tools SUNWlibC Sun Workshop Compilers Bundled libC SUNWlibCf SunSoft WorkShop Bundled libC (cfront version) SUNWhea SunOS Header Files SUNWarc Archive Libraries
Pełna lista pakietów wraz z krótkim opisem (w przypadku platformy INTEL) znajduje się w dokumencie SUN Solaris 7 (INTEL platform) packages list.
Bezapelacyjnie jego długość powinna wynosić co najmniej 8 znaków, przy czym zalecane jest używanie w nim oprócz liter i cyfr - znaków specjalnych. Hasło roota powinno być zupełnie przypadkowe i nie przypominać żadnego sensownego słowa. Należy również pamiętać o jego zmianie, przynajmniej raz na 2 miesiące.
UWAGA!
Do czasu zmiany katalogu domowego konta root zalecamy logowanie się tylko w trybie tekstowym. Logowanie z użyciem CDE powoduje duże "zaśmiecanie" katalogu domowego superużytkownika, którym - w tym momencie instalacji - jest katalog główny. Zmiana katalogu domowego na inny nie wpływa na bezpieczeństwo systemu, jednakże pozwala utrzymać porządek w katalogu głównym oraz ułatwia korzystanie z narzędzi badających integralność systemu plików.
Jedną z najważniejszych czynności, jakie powinno się wykonać po pierwszym starcie systemu jest przejrzenie logów programu instalacyjnego, które zostały umieszczone w pliku:
/var/sadm/system/logs/install_log
Zawiera on cenne informacje o przebiegu instalacji. Jeżeli znajdują się w nim komunikaty o błędach - należy je właściwie przeanalizować. W najgorszym przypadku instalację należy powtórzyć (oczywiście najpierw należy dowiedzieć się, co spowodowało błędy i jak ich uniknąć).