Technologie zapewniające bezpieczeństwo w systemach operacyjnych. |
Bezpieczeństwo lokalne polega na ochronie integralności systemu przed lokalnymi użytkownikami. W praktyce odbywa się to przez rozróżnianie użytkowników, nadawanie im praw, ograniczeniu dostępu do różnych zasobów.
Ochronie systemu plików służą czynności które może wykonać root:
O prawach dostępu do plików w Unixie decydują następujące atrybuty pliku:
Oprócz tego, istnieją narzędzia służące do wykrywania potencjalnych włamań do systemu. Programy takie jak Tripwire, Aide, czy Osiris tworzą bazę danych sum kontrolnych określonych plików binarnych i każdorazowo sprawdzają ich zgodność z sumami rzeczywistych plików istniejących w systemie.
Zabezpieczają one np. przed atakiem konia trojańskiego. Polega on na tym, że nowe oprogramowanie jest zakamuflowanym wirusem lub spełnia inną rolę niż się od niego spodziewamy. O szkodliwym skutku działania takiego software'u informują powyższe narzędzia, jednak, żeby takiego włamania uniknąć, należy zawczasu uważnie sprawdzać żródło instalowanego programu, weryfikować podpisy elektroniczne, certyfikaty itp. (o tym w części o bezpieczeństwie w sieci).
Do zapewnienia bezpieczeństwa systemu plików Solaris dostarcza narzędzie Automated Security Access Tool - ASET. Pozwala ono na całościową kontrolę nad ustawieniami w systemie, ustawienie poziomu jego bezpieczeństwa, informowanie o zagrożeniach. ASET uruchamia się okresowo i sprawdza m. in. następujące parametry w systemie:
ASET może być skonfigurowany by odpowiednie ostrzeżenia były wysyłame mailem do administratora.
W zależności od poziomu bezpieczeństwa na jaki jest skonfigurowany ASET, sprawdza on odpowiednie ustawienia i zezwala na większe lub mniejsze prawa dostępu do zasobów w systemie.
Ochrona plików w Solarisie może być regulowana sposobem "Unixowym", czyli poprzez ustawianie 10 bitów praw dostępu. Ta metoda ma taką wadę, że prawa mogą być ustawiane na poziomie grupy, a nie pojedynczego użytkownika. Dlatego też Solaris został zaopatrzony w tzw. Access Control Lists (ACL), które pozwalają na kontrolę praw na poziomie indywidualnego użytkownika i zasobu. Każdemu plikowi jest przypisana oddzielna lista praw dostępu dla użytkowników. Pozwala to na większą granulację praw, większe możliwości kontroli dostępu.
Ochrona zasobów w systemie Windows NT opiera się na dwóch funkcjach:
W NT istnieje podział na prawa i przywileje. Prawa są przypisane konkretnym obiektom i dotyczą użytkowników np. prawo do czytania z pliku A przez użytkownika X. Prawa do obiektu są umieszczone w ACL (lista praw dostępu) danego obiektu. Przywileje to predefiniowane prawa do operacji w systemie np. ładowanie sterowników czy debugowanie aplikacji. Przywileje są przypisane konkretnym użytkownikom - w strukturze danych identyfikującej danego użytkownika znajduje się tzw. access token określający przywileje danego użytkownika w systemie. Przywileje nadpisują zatem prawa do określonych obiektów w systemie.
Security Descriptor
Każdy obiekt - plik, łącze nazwane, obiekt użytkownika czy jądra - ma przypisany SD - security descriptor. Taki deskryptor określa:
Są dwa rodzaje ACL:
W DACL dla każdego użytkownika czy grupy istnieje ACE (access control entry). Jednostka taka składa się z informacji: rodzaj prawa (ACCESS_ALLOWED_ACE_TYPE/ACCESS_DENIED_ACE_TYPE), typ prawa (pisanie/czytanie/..), id grupy lub użytkownika, którego to prawo dotyczy. Jeżeli obiekt nie ma żadnych ACE w swoim DACL to znaczy, że żadne prawa nie zostały dla niego określone czyli faktycznie wszelkie prawa są do niego zabronione. Z drugiej strony, jeśli obiekt nie ma przypisanego DACL, to żadna ochrona nie jest mu przypisana, czyli faktycznie każdy ma do niego dostęp. Domyślnie nowoutworzony obiekt ma przypisaną pustą DACL.