Rozdział 25
Przewodnik po zaawansowanych
technikach zabezpieczania systemu
Poniższe rozważania przeznaczone są przede wszystkim dla
zaawansowanych administratorów.
W pierwszej części poznajemy podstawowe koncepcje związane
z bezpieczeństwem systemów komputerowych. Omówimy także
standardy bezpieczeństwa narzucone przez rząd Stanów
Zjednoczonych, metody ich pomiaru oraz poziom bezpieczeństwa
gwarantowany przez Windows NT (mierzony według tych
kryteriów).
Kolejne części rozdziału zawierają analizę składowych Windows
NT , które mają kluczowe znaczenie dla bezpieczeństwa.
Nie wszystkie przedstawione rozwiązania mogą być zastosowane
w każdym środowisku. Mimo to warto zrozumieć ich logikę i wpływ
na pracę systemu, gdyż wiedza ta może być pomocna w kontekście
bezpieczeństwa konkretnych rozwiązań sieciowych.
Przed przystąpieniem do analizy praktycznych rozwiązań
bezpieczeństwa, spróbujemy odpowiedzieć na kilka ważnych pytań:
Na czym polega bezpieczeństwo systemów
komputerowych?
Najogólniejszą definicję bezpieczeństwa można by sformułować
jako zdolność zapobiegania niepożądanemu lub niezamierzonemu
dostępowi do jakiejkolwiek części systemu komputerowego. Mamy
tutaj na myśli sprzęt, oprogramowanie, serwery, stacje robocze,
okablowanie i urządzenia sieciowe oraz oczywiście sieciowy system
operacyjny z programami użytkowymi i - co najważniejsze - dane
gromadzone przez użytkowników. T ak szeroko zakreślony zakres
problematyki nie jest możliwy do omówienia w jednym rozdziale.
Dlatego skupimy się na metodach pracy z
Windows NT ,
972
Rozdział 25
umożliwiających wykorzystanie jego wszystkich możliwości do
zabezpieczenia przed wizytą intruzów.
Przed czym należy się zabezpieczyć
Jak może niektórzy z nas pamiętają pierwotne zabezpieczenia
komputerów sprowadzały się do ochrony najbardziej wartościowych
zasobów - cykli pracy procesora. Kiedy ludzie komunikowali się
z dużą maszyną za pośrednictwem kart perforowanych lub
milczących terminali, cykl procesora - pojedynczy atom mocy
komputerowej - był bardzo pożądany. Stawał się on także obiektem
zainteresowania hakerów, usiłujących zawłaszczyć jego pracą na
własny użytek. Operatorom komputerów przypisano nowe
obowiązki, związane z zabezpieczeniem systemów: dbałość, aby
każdy cykl pracy był zliczony i zestawiony - pod względem
zgodności z przeznaczeniem. Dziś jednakże na liście niepokojów
administratora wyższe miejsce zajmują inne zagrożenia. Ponieważ
komputery wielu osób charakteryzują się mocą obliczeniową
wczorajszych stacji mainframes, wykradanie czasu pracy procesora
innych maszyn przestało być największym utrapieniem.
Uwaga: Decyzję o wprowadzeniu w naszej książce terminu „haker”
dla określenia osoby, próbującej włamać się nielegalnie do
systemu komputerowego lub w inny sposób skompromitować jego
ochronę, motywowaliśmy jego powszechną akceptacją w języku
prawnym (nie tylko w w USA).
Gdy zaczęły się pojawiać pierwsze sieci (przeważnie łączące
uniwersytety, ośrodki badawcze i wojskowe), stały się one nowym
celem komputerowych piratów. Były oryginalnym i potencjalnie
bardziej interesującym obiektem ataku. Ponieważ ustanawianie
wielodostępnych systemów, bazujących na relacjach wzajemnego
zaufania zaczęło się szeroko rozpowszechniać (np. system plików
rhosts w środowisku UNIX ), hakerzy rozpoczęli próby włamywania
się do układu - nie w celu zdobycia danych w konkretnym
środowisku, lecz raczej aby uzyskać dostęp do komputera, któremu
powierzono składowanie i udostępnianie usług.
Do czasu rozprzestrzenienia się komputerów osobistych, telefon
był narzędziem komunikacji między dwoma stronami.
Przewodnik po zaawansowanych technikach
973
zabezpieczania systemu
W określonym czasie można było kontaktować się tylko z jedną
osobą. Sieci komputerowe zmieniły wszystko. Niebezpieczeństwo
wynika nie tylko z możliwości dostępu do naszych informacji przez
osobę z końca świata, lecz także z faktu, iż może to nastąpić
w dowolnej chwili..
Bezpieczeństwo systemów komputerowych
a Windows NT
T rudno prowadzić rozważania o Windows NT z pominięciem
kwestii bezpieczeństwa. Narzędzia ochrony zostały zintegrowane
z jądrem systemu, stanowiąc filar strategii marketingowej
produktów linii NT .
Publikacje poświęcone bezpieczeństwu komputerów i sieci pełne są
użytecznych, także w środowisku NT , rozwiązań. Wciąż jednak
odczuwamy brak specyficznych informacji skierowanych
bezpośrednio do użytkowników tego systemu. Mimo podobieństw
między architekturą Windows NT i różnymi odmianami UNIX-a,
zawiłości ochrony komputerów są ściśle powiązane z wymaganiami
systemu operacyjnego (takimi jak m.in. sposób definiowania
użytkowników, metody składowania ich baz danych, zasad dostępu
do plików, charakteru przywilejów różnych procesów).
Uwaga: Osobom zainteresowanym tematem bezpieczeństwa
komputerów polecamy naukę za pośrednictwem NCSA (the
National Computer Security Assotiation). Informacje można
znaleźć pod adresem
http://www.ncsa.com.
Zabezpieczenie przez zaciemnienie
T en sposób ochrony jest dostatecznie ważny, by poświęcić mu
osobny fragment rozważań. Stanowi proste ale skuteczne narzędzie
polityki ochronnej.
Ochrona poprzez zaciemnienie, w najprostszej postaci, polega na
utrzymywaniu w sekrecie licznych faktów i rozwiązań, przyjętych
dla utrzymania właściwego poziomu bezpieczeństwa systemu.
Niestety, nie chroni ona skutecznie komputerów.
974
Rozdział 25
U podstaw polityki ochronnej wielu administratorów leży
przekonanie, że jak długo użytkownicy nie będą znali właściwych
dokumentacji i instrukcji, tak długo nie będą umieli dokonać
czynności zabronionych.
Znane są liczne przykłady organizacji, korzystających
z wykonanych własnymi siłami systemów księgowych -
z zastosowaniem komercyjnych systemów zarządzania bazami
danych i ze zwykłymi plikami tekstowymi do kontroli praw
dostępu. Problem polega na braku jakichkolwiek zabezpieczeń
przed zmianą ich zawartości. Zbiory te ukryte są w dosłownie
setkach innych plików w wielu katalogach, co rzekomo zmniejsza
prawdopodobieństwo ich wykrycia.
T o jest właśnie dobry przykład ochrony przez zaciemnienie. Jeśli
ktoś niepowołany zechce uzyskać kontrolę nad systemem
księgowym, to po prostu zmodyfikuje treść pliku z prawami
dostępu. Podniesienie takiego zastrzeżenia spotyka się
z odpowiedzią: „Dobrze, ale nikt tego dotąd nie zrobił i komu by się
chciało szukać?” W ten sposób dotykamy ogólnego problemu
bezpieczeństwa. Poprawne funkcjonowanie systemu przez długi
okres a także jego złożoność nie mogą gwarantować, że nie stanie
się on obiektem skutecznego ataku hakerów.
Inny rodzaj taktyki przez zaciemnienie polega na przekonaniu
niektórych twórców oprogramowania, że ukrywanie kodu
źródłowego ich produktów uniemożliwi analizę i
wykrycie
ewentualnych luk. T ymczasem liczne błędy wykrywane są zupełnie
przypadkowo. Odradzamy też szyfrowania domowymi metodami.
Amatorskie algorytmy szyfrowania rzadko są skuteczne. Nie ma
nic gorszego od fałszywego przekonania o
rzekomym
bezpieczeństwie informacji.
W przypadku UNIX-a większość kodu źródłowego jest jawna
i każdy kto chce, a
ma odpowiednie przygotowanie, może
przeanalizować jego poziom bezpieczeństwa. Z drugiej strony, kod
źródłowy Windows NT nie jest opublikowany. Dla wielu ludzi jest
to sygnał, że bezpieczeństwo systemu nie jest tak wysokie, jak
twierdzą jego autorzy. Microsoft zaimplementował w Windows NT
dużą liczbę efektywnych algorytmów kodujących, między innymi
DES (Data Encryption Standard) oraz metodę kodowania
z użyciem kodu publicznego (autorstwa Rivesta, Shamira
Przewodnik po zaawansowanych technikach
975
zabezpieczania systemu
i Adlman’a - RSA). DES to standard uznany przez National
Institute of Standards and T echnology (NIST ). RSA z kolei - jest
najczęściej na świecie używaną metodą szyfrowania przy pomocy
klucza publicznego. T ym niemniej, choć sam algorytm jest znany
ze skuteczności, to nie ma gwarancji, że jego konkretna
implementacja ściśle odpowiadać będzie rygorom teorii.
Uwaga: Wielu ludzi z penością nie podziela opinii, że udostępnienie
kodów źródłowych do publicznego obiegu podnosi bezpieczeństwo
systemu. Jest to prawda jedynie wtedy, gdy zabezpieczenia układu
oparte są bardziej na odporności jego architektury, niż na technice
zaciemniania. Na przykład: jeżeli system wymaga hasła dla
uaktywnienia jakiejś funkcji, wtedy - analizując kod źródłowy -
można uzyskać informacje, które mogą ułatwić zadanie hakerom.
Ten sposób jest jedynie pseudozabezpieczeniem. W
dobrze
skonstruowanym systemie, analiza kodu źródłowego nie odsłania
żadnych informacji, które mogą być użyte przeciwko niemu. Zatem,
przynajmniej w teorii, kod można udostępnić zainteresowanym, by
mogli przekonać się osobiście, że jest bezpieczny i godny zaufania.
Równie ważne jest przekonanie użytkowników, że program nie
zawiera żadnych ukrytych drzwi i nieoczekiwanych narzędzi, które
mogą zostać wykorzystane przez autora programu lub osobę
z kręgu wtajemniczonych.
Z tego powodu procedura weryfikacji zgodności z normą C2 jest
ważnym testem wiarygodności Windows NT .
Standard szyfrowania danych (DES), pierwotnie rozwijany przez
IBM, uzyskał jako pierwszy aprobatę rządu USA (w 1977 r.). Do
jego najważniejszych cech zaliczyć możemy: klucz o stałej długości
56 bitów, stosowanie metody prywatnego klucza oraz symetryczny
algorytm dekodowania. Klucz o stałej długości 56 bitów wyklucza
wzmocnienie algorytmu przez jego (klucza) wydłużenie.
W ostatniej dekadzie DSE przeszedł olbrzymią liczbę sprawdzianów
pod okiem kryptologów z
całego świata. Wykorzystanie
prywatnego klucza z symetryczną procedurą deszyfracji oznacza, że
musi on być przekazany z „ręki do ręki”, że do odkodowania
zastosowanie ma ten sam klucz co przy szyfrowaniu, i wreszcie - że
osoba mogąca zaszyfrować informację, może ją również odczytać.
976
Rozdział 25
RSA (Rivest, Shamir, Adleman), stworzona w 1977r, posługuje się
kluczem publicznym o zmiennej długości i asymetrycznym algoryt-
mem. Jest używany zarówno do szyfrowania, jak i legalizacji.
Asymetria oznacza, że do kodowania stosowany jest inny klucz, niż
do odszyfrowania danych. W systemach kodowania, opartych na
kluczach publicznych, klucz niezbędny do szyfrowania danych
może znać każdy. Przy jego pomocy nie da się odkodować
zaszyfrowanej informacji. Potrzebny jest do tego drugi, prywatny
klucz. Pozwala to wielu osobom przesyłać utajnione informacje,
które może odkodować wyłącznie zaufana osoba (posiadająca taki
prywatny klucz).
Oba systemy są komplementarne i trudno powiedzieć, który jest
lepszy. W pewnych sytuacjach pewniejszy jest algorytm DES.
Z
kolei RSA jest bardziej funkcjonalny, umożliwia cyfrową
identyfikację nadawców oraz dokonywanie bezpiecznych transakcji
z wykorzystaniem publicznych kanałów transmisji.
Nie ma nic bardziej błędnego, niż przekonanie administratora, że
swoją wiedzą przerasta on innych użytkowników. Zdarzają się
osoby zarządzające systemem, którym wydaje się, że - poprzez
dodanie symbolu „$” na końcu nazwy - zasoby współdzielone
uczynili „niewidocznymi” (i nie można ich zobaczyć przy użyciu
przeglądarek sieciowych). T akie działanie oparte jest na wierze, że
ponieważ nikt nie zna właściwych nazw i nie może ich zobaczyć
przy użyciu przeglądarki, ustanawianie odpowiedniego poziomu
uprawnień dostępu jest zbędne. Jest to kolejny przykład
zabezpieczenia (nieskutecznego) przez zaciemnienie.
Opisane wyżej działania administratora wytłumaczyć można jego
lenistwem i
brakiem zrozumienia skutków swojego działania.
Innym, poważnym błędem było tutaj pominięcie systemowych
narzędzi ochrony dostępu do współdzielonych zasobów.
Administrator ukrył je, ponieważ tak było prościej. Na tym również
polega ochrona przez zaciemnienie (której oczywiście nie
polecamy).
Strategia ochrony i metody jej realizacji
Kluczem do dzisiejszego rynku jest informacja. Elektroniczne
metody składowania danych przy pomocy komputerów
Przewodnik po zaawansowanych technikach
977
zabezpieczania systemu
zdominowały inne metody archiwizacji. T rudno zaprzeczyć, że
kontrola informacji daje organizacji przewagę w powszechnym
dążeniu do komercyjnego sukcesu. Mając na uwadze ten utylitarny
punkt widzenia, możemy podjąć próbę zaprojektowania
i
zaprezentowania skutecznej strategii ochrony systemów
komputerowych.
Wielu administratorów musi znaleźć swoją miejsce między dwiema
skrajnymi postawami. Mamy tutaj na myśli założenie, że
sformalizowany system zabezpieczeń nie jest konieczny. Wynika
ono zazwyczaj z doświadczeń w małych przedsiębiorstwach, nie
podłączonych do Internetu lub z przekonania, że zaostrzona
polityka ochrony utrudnia pracę użytkowników.
Łatwo domyślić się, kto reprezentuje biegunowo przeciwne
koncepcje - administratorzy cierpiący na chorobę bezpieczeństwa,
próbujący zachować absolutną kontrolę nad całą strukturą sieci.
W większości instytucji optymalna polityka ochrony danych leży
gdzieś pomiędzy tymi skrajnościami. Oczywiście, istnieją pewne
instytucje (banki, przedsiębiorstwa ubezpieczeniowe, zakłady
medyczne itd.), w których poufność danych jest bardzo ważna.
W żadnej organizacji nie należy zupełnie zaniedbywać działań,
podnoszących bezpieczeństwo danych. Żadna sieć nie jest na tyle
mała lub na tyle nieważna, by rezygnować z
tworzenia
i dokumentowania strategii ochrony.
Projektowanie strategii ochrony i zasad jej dokumentowania
W czasie projektowania procedur ochronnych należy uwzględnić
wszystkie elementy uzupełniające i współpracujące z systemem (w
szczególności sprzęt, biura i ich wyposażenie, okablowanie sieciowe,
systemy operacyjne), zarówno na serwerze jak i na stacjach
roboczych oraz programy wykorzystywane przez użytkowników.
T rzeba mieć na uwadze wszystkie działania, mające związek z pracą
systemu - takie jak zastosowane środki ostrożności na wypadek
awarii sprzętu, zasady obsługiwania taśm z kopiami zapasowymi itp.
Nie należy zapominać o użytkownikach, administratorach oraz
personelu pomocniczym (np. konserwatorach i
pracownikach
utrzymujących porządek).
978
Rozdział 25
Odpowiedzialność za bezpieczeństwo
Skuteczne administrowanie siecią w
przedsiębiorstwie wymaga
niewątpliwie zrozumienia i wsparcia jego kierownictwa. Zarząd
organizacji musi współpracować z
administratorem w
procesie
projektowania systemu ochrony. Jego wkład i
wsparcie są
warunkiem powodzenia pracy. Kiedy administrator jest członkiem
najwyższego kierownictwa przedsiębiorstwa, jego praca jest
łatwiejsza.
W wielu instytucjach bardzo dobrze zaprojektowany plan ochrony
systemu jest ignorowany przez wszystkich, gdyż nie ma wsparcia
kierownictwa. Jeszcze gorzej jest, gdy członkowie zarządu
„podkopują” własny system, tworząc wyjątki dla siebie.
Przyjęte reguły bezpieczeństwa powinny obowiązywać wszystkich,
bez względu na stanowisko.
Zaprojektowany plan zabezpieczenia systemu musi być wdrożony.
Jak każdy plan, może on zająć miejsce na półce - między
dokumentami, których nikt nie czyta. Polityka ochrony wymaga
nieustannej pielęgnacji. W regularnych odstępach czasu należy
przypominać
użytkownikom o
przyjętych zasadach.
Systematycznie trzeba też diagnozować poziom bezpieczeństwa
systemu, a razie potrzeby - modyfikować plan zabezpieczenia.
Nadzór systemu ochrony
W żargonie administratorów powyższy termin oznacza procedurę
weryfikacji wszystkich elementów komputera lub sieci, prowadzoną
celem upewnienia się, że funkcje odpowiedzialne za bezpieczeństwo
działają prawidłowo.
Dodatkowo, Windows NT może zapisywać w
protokołach
kontrolnych informacje o
wszystkich działaniach w
sieci (na
przykład o rejestracji w systemie i zakończeniu sesji, o udzieleniu
dostępu do określonych zasobów i osobach, które go żądały,
a
nawet o
uruchomieniu kolejki drukowania). T akie działania
określamy mianem monitoringu.
Rutynowa, systematyczna kontrola całej sieci stanowi gwarancję, że
nawet przypadkowe luki w systemie bezpieczeństwa nie pozostaną
Przewodnik po zaawansowanych technikach
979
zabezpieczania systemu
otwarte i
nie zauważone. W
dokumencie określającym plan
ochrony należy wypunktować wszystkie elementy, które powinny
być kontrolowane oraz przewidywaną częstotliwość nadzoru.
Częścią planu powinien być grafik nadzoru, który musi określać
odpowiedzi na następujące pytania: do jakiej konstrukcji praw
dostępu będzie się zmierzać, jak będzie zaprojektowana ochrona
poszczególnych folderów, jakie uprawnienia będą posiadać
poszczególni użytkownicy itd. Włączenie systemu i pozostawienie
go samemu sobie byłoby zbyt proste. Brak nieustannej opieki jest
najprostszą metodą, prowadzącą system do nieszczęścia.
W organizacjach, dla których poufność danych jest istotna,
strategia ochrony, w tym monitoringu, musi być sformalizowana
i bezkompromisowo przestrzegana. Czasami wydziela się osobne
stanowisko do prowadzenia nadzoru. Zajmująca je osoba korzysta -
przy weryfikacji integralności danych systemowych - z protokołów
kontrolnych Windows NT . W instytucjach finansowych i innych
organizacjach, wewnętrzni kontrolerzy są specjalnie szkoleni
w nauce czytania protokołów kontrolnych, pod kątem identyfikacji
potencjalnych problemów.
Funkcje administratora i kontrolera może pełnić ta sama osoba,
jednak z reguły są one (funkcje) rozdzielane.
Z rozdzieleniem funkcji administracyjnych i
diagnostycznych
mamy do czynienia wtedy, gdy system nadzoru określony jest przez
prawo lub politykę korporacji. Dobrym przykładem są tu instytucje
finansowe. Wiele takich organizacji przywiązuje dużą wagę do
śledzenia integralności informacji. Narzędzia diagnostyczno-
kontrolne Windows NT pozwalają stwierdzić naruszenie danych lub
protokołów kontrolnych.
Niektóre instytucje mogą nie mieć „pełnego zaufania” do
administratora, szczególnie w
dziedzinach ściśle związanych
z poufnością. Np. instytucje rządowe mogą zatrudniać
kontraktowego administratora bez prawa wglądu do danych
składowanych na serwerach. W
takich przypadkach pracę
administratora kontroluje specjalny rządowy nadzorca (audytor).
Należy zwrócić uwagę na bardzo ważną cechę Windows NT . Jeśli
administrator nie posiada carte-blanche na dostęp do całego
980
Rozdział 25
systemu, można ograniczyć jego aktywność do ściśle
wyznaczonych zadań.
Normy ochrony systemów komputerowych
Wymieniając cechy pozytywnie wyróżniające Windows NT ,
wymienia się często te elementy, dzięki którym spełnia on
wytyczne bezpieczeństwa normy C2. T ak jak w przypadku innych
regulacji federalnych zasad bezpieczeństwa trudno jest
wytłumaczyć, o co w nich naprawdę chodzi.
Narodowy Ośrodek Bezpieczeństwa Komputerowego - NCSC
(National Computer Security Center) - opublikował dwa rozstrzyga-
jące dokumenty o bezpieczeństwie systemów komputerowych.
Słowa „rozstrzygający” nie jest równoznaczne z „kompletnym,
spójnym lub ścisłym”. Oznacza ono raczej arbitralne stanowisko
Departamentu Obrony rządu USA odnośnie kwalifikowania
systemów komputerowych do pracy w środowiskach wymagających
różnej klasy poufności. Jest oczywiste, że wytyczne te muszą być
przestrzegane przez agencje rządowe (nie żąda się stosowania norm
w sektorze prywatnym, z wyjątkiem instytucji pragnących
współpracować z rządem).
Kryteria diagnozy bezpieczeństwa systemów komputerowych -
TCSEC (Trusted Computer System Evaluation Criteria)
Departamentu Obrony USA, zwane też „pomarańczową książką”,
zawierają listę wymagań, związanych z
bezpieczeństwem
w
systemach automatycznego przetwarzania danych ADP
(Automatic Data Processing). Drugi tom, zwany „czerwoną
książką”, zawiera interpretację, rozszerzającą kryteria oceny
ochrony systemów na sieci komputerowe. Obie książki dostarczają
użytkownikom metod pomiarowych, pozwalających określić
poziom ochrony ich systemów komputerowych.
T rzeba uznać, że książki te są bardzo ważne dla zrozumienia
kryteriów oceny konkretnych poziomów ochrony. Osoby
zainteresowane mogą je znaleźć w Internecie. Są dostępne zarówno
na swerwerzh FT P, Gopher jak i WWW.
Kryteria oceny T CSEC podzielone zostały tutaj na cztery
podstawowe działy, oznaczone literami A, B, C i D. Porządek
Przewodnik po zaawansowanych technikach
981
zabezpieczania systemu
alfabetyczny wyznacza stopień ochrony - od najwyższego do
najniższego. Kryteria wyższego poziomu zawierają standardy
niższego, dodając nowe wymagania, podnoszące poziom
bezpieczeństwa. W tabeli 25.1 przedstawiliśmy poszczególne działy.
Tabela 25.1. Kryteria oceny TCSEC według działów.
Dzia
ł
Nazwa
Streszczenie
D
zabezpieczenie
minimalne (Minimal
Protection)
Zarezerwowane dla systemów,
które nie spełniają norm
określonych w wyższych klasach.
C1
Zabezpieczenie
precyzyjne
(Discretionary
Protection)
Żąda się kontroli zabezpieczeń
przed przypadkową utratą danych
na poziomie użytkownika. Poziom
zabezpieczenia oczekiwany przy
współpracy w środowisku nie
zawierającym poufnych danych.
C2
Zabezpieczenie
z kontrolą dostępu
(Controlled Access
Protection)
Działania użytkowników są
zliczane. System śledzi wszystkie
procesy i zapisuje informacje
o transakcjach między
użytkownikami. Zabezpiecza
obiekty przed ponownym użyciem.
Musi zapewniać skuteczne
monitorowanie systemu ochrony.
Użytkownikom udziela się
zróżnicowanych uprawnień do ich
danych.
B1
Zabezpieczenie
z ochroną
kwalifikowaną (Labeled
Security Protection)
Żąda się prowadzenia nie
sformalizowanej polityki ochrony.
Wszystkie dane muszą być
kwalifikowane ze względu na
poufność. System musi
gwarantować zachowanie oznaczeń
poufności w czasie transferu
danych. Użytkownicy nie mogą
zmieniać obowiązujących oznaczeń
982
Rozdział 25
Dzia
ł
Nazwa
Streszczenie
poufności.
B2
Zabezpieczenie
strukturalne (Structured
Protection)
Żąda się strukturalnej,
sformalizowanej polityki ochrony.
Wysokie wymagania dla metod
weryfikacji użytkowników mają
zapewnić bezpieczeństwo
i autentyczność informacji.
B3
Ochrona przez podział
(Security Domains)
Skala systemu powinna być jak
najmniejsza. Powinien on oddzielać
dane, które nie są właściwie
kodowane. T akie dane poddawane
są szczegółowej kontroli i testom.
Dodatkowe urządzenia powinny
sygnalizować administratorom
o zdarzeniach - działaniach
z niewłaściwymi kodami
ochronnymi. System musi być
odporny na manipulacje
i penetracje.
A1
Legalizowany projekt
(Verified Design)
Funkcjonalnie równoważny
poziomowi B3. Różnica polega na
rygorystycznych
i sformalizowanych testach, które
musi przejść system.
Dział D: Zabezpieczenie minimalne
Dział D, zwany zabezpieczeniem minimalnym, zarezerwowany jest
dla systemów podlegających diagnozowaniu, ale nie spełniających
wymagań wyższych działów. Ostatnio żaden system nie jest
kwalifikowany na poziomie D, gdyż cena diagnozy czyni taką
legalizację nieopłacalną.
Przewodnik po zaawansowanych technikach
983
zabezpieczania systemu
Dział C: Zabezpieczenie precyzyjne
System zakwalifikowany do tego działu powinien zapewniać
precyzyjną kontrolę informacji, ewidencjonowanych
z wykorzystaniem możliwości systemu nadzoru. Norma została
w późniejszym okresie podzielona na dwie klasy - C1 i C2,
oznaczające odpowiednio niższy i wyższy poziom bezpieczeństwa.
Klasa C1, oznaczająca precyzyjny poziom bezpieczeństwa, wymaga
pewnych form kontroli zabezpieczającej prywatne informacje
przed dostępem innych użytkowników. System, należący do tej
klasy, powinien identyfikować użytkownika za pomocą
unikatowego identyfikatora i weryfikować - przez kontrolę hasła -
jego tożsamość. Naturalnie system musi zabezpieczać dane
o identyfikatorach i hasłach przed niepowołanym dostępem. Dane
identyfikacyjne powinny być używane do kontroli zarówno przy
odczycie, jak i
przy zapisie poufnych informacji. Ponadto
przynależność do klasy C1 oznacza, że weryfikacja użytkowników
zabezpieczona jest przed wpływami zewnętrznymi i - tym samym -
nie można uruchomić żadnego programu z
pominięciem
mechanizmów ochronnych.
Klasa C2, nazywana zabezpieczeniem z kontrolą dostępu, zawiera
wszystkie wymogi klasy C1. Dodatkowo żąda się, aby mechanizmy
kontrolne umożliwiały nadawanie i ograniczanie praw dostępu do
plików na zasadzie „użytkownik-użytkownikowi”. Oznacza to, że
uprawnienia do obiektów w danym momencie niedostępnych dla
użytkownika, mogą mu być nadane jedynie przez użytkownika
uprawnionego. Kolejnym wyróżnikiem klasy C2 jest
uniemożliwienie świadomego oraz przypadkowego odzyskania
skasowanych, zbytecznych danych. Systemy tej klasy dopuszczają
dostęp do danych wspólnych dla członków grup roboczych
i rejestrację z wyróżnionych stacji. System musi być zdolny do
identyfikacji i zapisywania danych kontrolnych, umożliwiających
identyfikację użytkownika podejmującego jakiekolwiek działanie.
Dział B: Zabezpieczenie z kontrolą upoważnień
Aby spełnić wymogi poziomów C i D wystarczały mechanizmy,
ograniczające dostęp użytkownika do danych oraz monitoring
zdarzeń, mających wpływ na bezpieczeństwo systemu. Począwszy
984
Rozdział 25
od poziomu B uznaje się za niezbędne oznaczanie poufnych danych
i wprowadzenie
zabezpieczeń, które uniemożliwiają ich
przekazywanie (celowe lub przypadkowe) osobom nie posiadającym
odpowiedniego poziomu uprawnień. System narzuca kontrolę
dostępności do obiektów pod względem posiadania przez
użytkownika odpowiednich pełnomocnictw. Jest to mechanizm
odmienny niż na poziomach C, w których użytkownicy mogli
dowolnie przekazywać sobie prawa dostępu do swoich zbiorów.
W szczególności klasa B1 żąda takiej implementacji oznaczania
danych, która umożliwia udostępnianie i pozbawianie prawa dostępu
do zbiorów z dokładnością do pojedynczego użytkownika. Ponadto
w czasie przenoszenia lub kopiowania danych musi być zachowana
ich integralność, wraz z etykietami o prawach dostępu. Żąda się
również, aby system oznaczał nagłówek i stopkę dowolnych
wydruków oraz wszelkich „odczytywalnych” danych,
wyprowadzanych z systemu, etykietą, umożliwiającą identyfikację
użytkownika. Dodatkowo normy ściśle precyzują żądania od
systemu, związane ze zdolnością do kontroli identyfikacji i nadzoru
dostępności do danych, na wielu sformalizowanych poziomach
ochrony.
Klasa B2 jest istotnie zaostrzoną wersją B1, w której wymaga się
kontroli wszystkich aspektów ochrony środowiska systemu.
Ochrona uprawnień musi być zorganizowana na drodze strukturalnej
i podlega znacznie bardziej skrupulatnej analizie oraz kontroli, niż
na niższych poziomach. Jak już mówiono, w tej klasie żąda się
mechanizmów kontroli dostępu do poufnych danych z dokładnością
do pojedynczej osoby. Ponadto uprawnienia do zmian
pełnomocnictw w zakresie dostępu do obiektów są zastrzeżone dla
autoryzowanych użytkowników. W żaden sposób nie mogą być
odzyskane raz skasowane informacje (ani celowo, ani
przypadkowo). Wszystkie zasoby systemu automatycznego
przetwarzania danych muszą być zdolne do przyjęcia oznaczeń
poufności, będących podstawą ograniczeń dostępu, opartych na
metodzie nadawania upoważnień. Ponadto integralność informacji
o pełnomocnictwach do danych musi być zachowana, nawet przy
przenoszeniu obiektów za pośrednictwem wewnętrznych
i zewnętrznych urządzeń wejścia-wyjścia. Początek i koniec każdej
„odczytywalnej” formy danych wyjściowych musi być oznaczony
właściwą etykietą poufności. System ochrony musi interaktywnie
Przewodnik po zaawansowanych technikach
985
zabezpieczania systemu
powiadamiać użytkownika o
wszystkich zmianach w
statusie
bezpieczeństwa w
czasie trwania sesji. Jak na poprzednich
poziomach, żąda się bezpieczeństwa przechowywania baz danych,
zawierających uprawnienia użytkowników oraz hasła umożliwiające
potwierdzenie identyfikacji. Nowym wymaganiem jest żądanie
zagwarantowania pełnego bezpieczeństwa w
czasie rejestracji
i
potwierdzania identyfikacji - bez względu na drogę, jaką
przechodzą niezbędne do tego informacje. Podobnie jak na innych
poziomach wymaga się szerokich możliwości nadzoru systemu.
Ponadto jego architektura musi gwarantować, że chronione
środowisko jest wyodrębnione, wolne od wpływów zewnętrznych
i manipulacji. Zarówno sprzęt jak i oprogramowanie, wspierane
stosowanymi systematycznie mechanizmami działania, muszą
zapewniać, że w chronionej domenie nie zostanie dokonany żaden
wyłom.
Uwaga: Najważniejsza różnica między klasami B1 i B2 wynika
z żądania, aby procedury rejestracji w systemie były specjalnie
chronione. System klasy B2 musi gwarantować,
że
oprogramowanie oraz sprzęt uniemożliwiają ujawnienie hasła
użytkownika oraz ochraniać źródło żądające rejestracji. Na
przykład: w systemie klasy B2 nie można zarejestrować się za
pośrednictwem komputera PC i domowego modemu, gdyż ta
droga nie gwarantuje bezpieczeństwa źródła, ani ochrony
procedury rejestracyjnej.
Można żądać jeszcze więcej. Systemy spełniające wymogi klasy B3
muszą spełniać wymóg, aby wszystkie elementy pośredniczące
w dostępie do zastrzeżonych obiektów były w pełni odporne na
manipulacje i dostatecznie małe, by można je było analizować
i testować. Mechanizm ochrony jest skonstruowany tak, aby
odrzucać wszystkie kody, nie spełniające wymogów strategii
ochrony. Ważnym założeniem przy konstruowaniu i implementacji
systemu jest ograniczanie jego złożoności. Całe środowisko
nadzoruje administrator odpowiedzialny za ochronę, wyposażony
w narzędzia monitoringu, rozbudowane o
sygnalizację zdarzeń,
mających wpływ na bezpieczeństwo systemu i
możliwość
odtwarzania przebiegu działań. System jest bardzo odporny na
penetrację.
986
Rozdział 25
Dział A: Ochrona weryfikacji
T en dział zawiera jedynie klasę A1: legalizowany projekt. System
stosujący się do tej normy musi przejść rygorystyczną, formalną
weryfikację - gwarantującą, że spełnia wszystkie funkcje dokładnie
tak, jak je zaprojektowano. Aby pomyślnie przejść weryfikację
tego poziomu, musi on być szczególnie dokładnie zaprojektowany
i posiadać obszerną dokumentację. Funkcjonalnie klasa A1 jest
równoważna klasie B3, różnica polega jedynie na drobiazgowej
procedurze sprawdzającej.
Windows NT a ochrona na poziomie normy C2
Wciąż często padają pytania, co oznacza fakt uzyskania przez
Windows NT certyfikatu klasy C2 i dlaczego C2, a nie wyższy
poziom ochrony. Otóż dla większości zastosowań C2 jest
najbardziej realistycznym poziomem ochrony, przynajmniej
w odniesieniu do normy NCSC.
Microsoft od początku projektował Windows NT tak, aby spełniał
wszystkie kryteria poziomu C2, opisane w
pomarańczowej
i czerwonej
książce (zawierającej interpretację książki
pomarańczowej dla systemów sieciowych) oraz niebieskiej książce -
z interpretacją książki pomarańczowej dla innych podsystemów.
Starania o certyfikat NCSC rozpoczęły się w 1992 r.
W czerwcu 1995 r. Microsoft doniósł, że systemy NT Server i NT
Workstation 3,5, wraz z
oprogramowaniem narzędziowym,
przeszły testy i zostały wpisane na oficjalną listę systemów
operacyjnych klasy C2, publikowaną przez Narodową Agencję
Bezpieczeństwa. Windows NT przeszedł ocenę według standardów
zdefiniowanych w czerwonej i niebieskiej książce.
Oznacza to, że system operacyjny Windows NT , w swej najbardziej
„okrojonej” formie, posiada certyfikat bezpieczeństwa poziomu
C2. Systemy sieciowe i pozostałe elementy systemu operacyjnego
nie przeszły jeszcze pełnej weryfikacji (do wiosny 97). Aktualnie,
aby instalacja NT była uznana za zgodną z normą C2, nie może być
podłączona do jakiejkolwiek sieci.
Przewodnik po zaawansowanych technikach
987
zabezpieczania systemu
Uwaga: Jak już mówiliśmy wcześniej, certyfikat ochrony systemu na
poziomie C2 nie jest bardzo istotny dla większości użytkowników.
Ma realne znaczenie dla agencji rządowych, które muszą nabywać
systemy spełniające odpowiednie normy bezpieczeństwa.
We wszystkich rozdziałach książki analizowane są specyficzne
cechy systemu, które mają duże znaczenie dla jego bezpieczeństwa.
W tej części zaczniemy od przeglądu podstawowych narzędzi
Windows NT , które służą do tworzenia i zarządzania systemem
ochrony.
Standardy C2 a Windows NT
Jak już mówiliśmy, Windows NT jest systemem, który pomyślnie
przeszedł procedurę certyfikacji normy C2, w oparciu o standardy
pomarańczowej książki (Orange Book) NCSC. Przejrzyjmy jeszcze
raz kluczowe kryteria systemu tej klasy:
!
Kontrola precyzyjna: System operacyjny musi umożliwiać
właścicielowi udzielanie lub ograniczanie dostępu do swojego
obiektu (najczęściej pliku, zadania drukarki lub procesu).
Windows NT pozwala - poprzez zastosowanie list kontroli
dostępu - nadzorować dostęp do obiektów z dokładnością do
pojedynczego użytkownika.
!
Ponowne wykorzystanie obiektu: Zbędne lub usunięte
obiekty nie mogą być dostępne ani poprzez działanie celowe, ani
przypadkowe. Ponieważ przydział dowolnego obiektu musi się
dokonać za pośrednictwem kontrolera ochrony upoważnień -
SRM (Security Reference Monitor) - system gwarantuje, że
żadnemu procesowi nie zostaną udostępnione zbędne mu obiekty
(np. pliki usunięte w systemie NT FS nie mogą być odtworzone).
Co więcej - jeśli procesowi zostanie przydzielona pamięć, to
w czasie inicjalizacji tej przestrzeni NT usuwa wszelkie dane,
pozostałe po poprzednich procesach.
!
Identyfikacja i
weryfikacja tożsamości użytkownika:
Przed rozpoczęciem pracy w systemie każdy użytkownik musi
zostać rozpoznany za pomocą unikatowego identyfikatora
i hasła. Na podstawie tych danych system nadaje odpowiednie
uprawnienia. Jeśli dane identyfikacyjne są poprawne,
988
Rozdział 25
użytkownikowi zostaje przyznany klucz, dzięki któremu
korzysta on z posiadanych uprawnień w ciągu całej sesji, a jego
działania mogą być śledzone przez system.
!
Nadzór: Integralną częścią Windows NT jest system nadzoru,
umożliwiający śledzenie wszystkich zdarzeń, mogących mieć
wpływ na bezpieczeństwo oraz rozpoznawanie użytkowników,
których działanie było źródłem problemu. Zdolność systemu do
takiej kontroli to jeden z podstawowych wymogów normy C2.
Dodatkowo: dostęp do informacji zapisanych przez system
nadzoru jest ograniczony, możliwy jedynie dla posiadających
odpowiednie uprawnienia administratorów.
!
Zabezpieczenie: Windows NT zabezpiecza procesy przed
dostępem przez inne programy - do przyznanej im 32 bitowej
przestrzeni pamięciowej. Nie istnieje możliwość czytania lub
zapisu przez program w obszarze pamięci wydzielonym dla
innego procesu. Jądro systemu działa w chronionej, 32 bitowej
przestrzeni pamięci operacyjnej. Procesy komunikują się
z jądrem i innymi procesami za pośrednictwem bezpiecznie
zaprojektowanego systemu przenoszenia komunikatów, który
jest odpowiedzialny za wszelkie zmiany przydziału pamięci lub
przekazywanie danych między procesami. Ponadto, ponieważ
Windows NT kontroluje wszelki dostęp za pośrednictwem
sprzętu, żaden proces nie może obejść systemu ochrony
i uzyskać bezpośredniego dostępu do pamięci operacyjnej lub
twardego dysku.
Uwarunkowania fizyczne
Ochrona systemu od strony programowej zajmuje w naszych
rozważaniach najwięcej miejsca. Niemniej jednak - ze względu na
wagę problemu - dyskusję rozpoczniemy od omówienia aspektów
bezpieczeństwa, związanych ze sprzętem i
zabezpieczeniami
fizycznymi. Należy pamiętać, że nawet najlepsze oprogramowanie,
chroniące przed niepowołanym dostępem, nie spełni swojej roli,
gdy fizyczny dostęp do serwera nie będzie ograniczony.
Przewodnik po zaawansowanych technikach
989
zabezpieczania systemu
Serwer
Jeśli serwer służy do przechowywania danych, które nie są poufne
lub nie mają dużej wartości rynkowej, to poświęcanie uwagi na
fizyczną ochronę wydaje się zbędne.
Nawet jeśli dane nie są zbyt cenne dla kogokolwiek, warto
ograniczyć możliwość włamania się do biura, gdyż komputer
posiada określoną wartość finansową. Jeżeli firma jest
ubezpieczona, to zazwyczaj polisa nie uwzględnia zwrotu kosztów
pracy, włożonej w konfigurację serwera.
Reguła numer 1: Umieścić serwer w zamykanym pomieszczeniu.
Nie ustawiać go w pokoju, w którym może przebywać wiele osób.
W ten sposób usuniemy zagrożenia związane z uszkodzeniem kabli
i połączeń, zanieczyszczeniem maszyny itp. Ponadto ograniczenie
dostępu do komputera likwiduje zagrożenia związane z nieodpo-
wiedzialnym wykorzystaniem napędów dysków elastycznych lub
wyłącznika sieciowego. Większość współczesnych komputerów
umożliwia wyłączenie, na poziomie CMOS-u, możliwości
załadowania systemu z dysku elastycznego i zabezpieczenie BIOS-u
hasłem. Poprawia to w istotny sposób stopień ochrony systemu.
Możliwość nieuprawnionego wykorzystania napędu dyskietek jest
bardzo niebezpieczna. Uruchamiając system z dyskietki, można
bowiem, przy użyciu narzędzi niskiego poziomu, odczytać dane
bezpośrednio z dysków. Windows NT nie posiada zabezpieczeń
przed takim działaniem Jeszcze groźniejsza (i łatwiejsza) będzie
reinstalacja Windows NT ze zmianą uprawnień i ustawień ochrony.
Przy zakupie komputera uwagę naszą zwraca zazwyczaj szybkość
procesora i pojemność pamięci, rzadziej natomiast - narzędzia
mechanicznej ochrony. Dobrze jest kupować sprzęt wykonany
z trwałych materiałów, ograniczających możliwość manipulacji.
W szczególności chodzi nam tutaj o zamykaną osłonę przycisków
zasilania i klawisza „reset”. Łatwe otwarcie skrzynki to prosta
droga do penetracji systemu.
Wybierając pomieszczenie (zamknięte) dla naszego serwera,
powinniśmy zwrócić uwagę na podłogę i strop. Miejscem wielu
urządzeń i instalacji są kanały pod podłogą (często niczym nie
zabezpieczone). Wystarczy wyjąć jedną płytkę i przeczołgać się do
990
Rozdział 25
drugiego pomieszczenia bez potrzeby forsowania zamka. Również
stropy mogą być łatwą drogą pokonywania zabezpieczeń.
Rozpatrzmy przykład firmy, która - ze względów bezpieczeństwa -
umieściła serwer za podwójnymi, zamykanymi drzwiami (pierwsze,
to zewnętrzne wejście do biura, drugie - wewnętrzne, do
pomieszczenia z
komputerem). T ymczasem pokój ten miał
wspólną, lekką ścianę z męską łazienką. Budynek otwierano o 6.00,
ale przed 7.00 mało kto w nim przebywał. Zdeterminowany
włamywacz, bez przeszkód (i nie zauważony), mógł wejść do
sutereny i sforsować ścianę. Że wygląda to na scenariusz do
kiepskiego filmu? Być może, ale wszystko zależy od wartości
chronionych danych. W
wielu przypadkach w
grę wchodzą
informacje, których strata może kosztować bardzo dużo pieniędzy.
Ograniczenie możliwości inicjacji systemu
Kolejna reguła bezpieczeństwa nakazuje, aby - na poziomie BIOS-u
- uniemożliwić ładowanie systemu z dyskietki. Nie chodzi wyłącznie
o
zabezpieczenie przed uruchomieniem komputera z
innym
systemem operacyjnym (co umożliwia obejście zabezpieczeń
systemu NT ). Niemniej ważnym powodem jest zapewnienie
możliwości automatycznego lub zdalnego załadowania systemu
w razie awarii, nawet jeśli przez zapomnienie ktoś zostawi
dyskietkę w napędzie.
Uwaga: Konfiguracja systemu w sposób uniemożliwiający inicjację
systemu operacyjnego z dyskietki podnosi poziom bezpieczeństwa.
Jeśli komputer umożliwia taką opcję i posiada zabezpieczenie
BIOS-u hasłem, możemy znacznie utrudnić zadanie potencjalnym
intruzom.
Dodatkową korzyścią, wynikającą z blokady ładowania systemu
z dyskietki, jest zabezpieczenie przed infekcją wirusem sektora
startowego dysku twardego. Dopóki NT działa, ten typ wirusa jest
dla niego nieszkodliwy.
Powinniśmy mieć pewność, że na serwerze NT nie można
uruchomić żadnego innego systemu operacyjnego, w szczególności
DOS-u. Niektórzy zalecają ustawić zerowy (tj. równy 0 sekund) czas
Przewodnik po zaawansowanych technikach
991
zabezpieczania systemu
oczekiwania na wybór systemu. Zabezpiecza to przed możliwością
modyfikacji zbiorów boot.ini, ntldr lub ntdetect.com,
co grozi zaburzeniem pracy systemu. Jeśli ponadto na dysku istnieje
partycja FAT , uruchomienie DOS-u umożliwia dostęp do danych na
tej partycji. Jeśli czas oczekiwania na wybór systemu operacyjnego
zostanie ustawiony na 0 sekund, powinniśmy utworzyć
odpowiednią, zwiększającą odporność na błędy dyskietkę startową,
która pozwoli nam skorzystać z
różnorodnych narzędzi
diagnostycznych.
Uwaga: Gdy zmuszeni będziemy posłużyć się dyskietką startową,
powinniśmy najpierw przywrócić w BIOS-ie możliwość inicjacji
systemu z dyskietki.
Sieć
Osoba, podejmująca decyzję o połączeniu komputerów w sieć, musi
rozstrzygnąć problem poufnych informacji. W
większości
konfiguracji Ethernet-owych cała sieć stanowi jeden segment.
T akie środowisko jest wrażliwe, gdyż każdy użytkownik może
podsłuchiwać i monitorować ruch w sieci. Pół biedy, jeśli wszyscy
użytkownicy mają prawo dostępu do poufnych danych (nie jest to
jednak sytuacja typowa). Dodatkowym niebezpieczeństwem jest
łatwość zestawienia nielegalnego podłączenia. Rozwiązanie
problemu może polegać na strukturyzacji sieci - tj. poprzez podział
wynikający z potrzeb ochrony. Inne rozwiązanie polegać może na
wykorzystaniu hubów przełączających. Cena tych urządzeń jest
wysoka, ale w wielu przypadkach ich zastosowanie - w odniesieniu
do systemów opartych na na routerach - jest bardziej korzystne.
Wynika to z faktu, że poufne informacje nie będą wysyłane
wszędzie, a
huby przełączające dostarczają każdemu punktowi
węzłowemu dedykowany tor łączności, co poprawia wydajność sieci.
992
Rozdział 25
Uwaga: Wiele małych i średniej wielkości sieci Ethernet- owych
składa się z jednego segmentu. Oznacza to, że ruch między dwoma
urządzeniami może być monitorowany z każdego punktu sieci. Na
przykład: jeżeli sieć spina dwa piętra budynku, ale składa się tylko
z
jednego segmentu, komunikacja między komputerem na
pierwszym piętrze, a serwerem znajdującym się w sąsiednim pokoju,
może być obserwowana przez ludzi pracujących na drugim piętrze.
Ponieważ cała szerokość pasma sieci jest wspólna, ten rodzaj jej
topologii jest także podatny na problemy związane z przeciążeniem
dużym ruchem.
Zapotrzebowanie na lepsze rozwiązania sieciowe doprowadziło do
dwóch różnych metod podziału sieci na segmenty, które skutkują
redukcją urządzeń współużytkujących poszczególne części sieci. Te
rozwiązania opierają się na zastosowaniu
mostów(bridges)/routerów lub kocentratorów (hubów)
przełączających. Prawidłowo skonfigurowane, wpływają one na
poprawę bezpieczeństwa, gdyż chronią dialog między klientem
a serwerem z pierwszego piętra, „przenosząc go” ponad głowami
klientów z drugiego piętra.
Aby zabezpieczyć się przed nielegalnymi podłączeniami,
powinniśmy rozważyć zastosowanie kabli światłowodowych. Można
zatrudnić agentów, którzy będą zarządzać siecią, a w razie
przerwania okablowania - natychmiast prowadzić dochodzenie.
Jeśli sieć obsługuje serwery z poufnymi danymi, a okablowanie
przechodzi przez obszar, który nie jest chroniony, należy
przewidzieć kodowanie danych opuszczających bezpieczną strefę
i
ich powtórne rozszyfrowywanie przez odbiorcę. Jest to
szczególnie ważne, gdy połączeń dokonujemy za pośrednictwem
Internetu. Jeżeli system jest podłączony do sieci rozległej, to nigdy
nie będziemy wiedzieć, kto zażąda dostępu do przechowywanych
informacji. Gwarancję ochrony mogą nam zapewnić jedynie
systemy szyfrowania danych.
Podłączenie sieci do Internetu naraża ją na realne
niebezpieczeństwa - w związku z możliwością jej penetracji przez
intruzów.
Przewodnik po zaawansowanych technikach
993
zabezpieczania systemu
Konta użytkowników
Spełnienie norm ochrony klasy C2 (jedno z głównych założeń
projektowych Windows NT ) wymaga przede wszystkim kontroli
tożsamości użytkownika. Analiza rozwiązań, mających związek
z ochroną, musi wiec obejmować podstawowe narzędzie
identyfikacji, jakim jest właśnie konto użytkownika.
Wszystkie obiekty mają swojego właściciela. Jak już wcześniej
mówiliśmy, obiektem jest prawie każdy element przestrzeni
organizowanej przez Windows NT . Zapowiadane narzędzia
następnej generacji Windows NT zawierają implementacje
z systemem plików na bazie struktury obiektowej.
Liczni administratorzy wahają się, czy tworzyć kilka kont dla
jednego użytkownika. Czasami nawet zakładają jedno konto dla
kilku różnych osób. Prowadzi to do nierozstrzygalnych problemów.
W razie usunięcia danych, nie można ustalić osoby odpowiedzialnej.
Jeśli ponadto zachodzi konieczność zmiany hasła, administrator
musi pamiętać o
poinformowaniu o
tym fakcie wszystkich
współwłaścicieli konta.
Należy unikać skrajności. Każdy użytkownik powinien mieć co
najmniej jedno konto. Niektórzy, zależnie od potrzeb, mogą mieć
ich więcej. Windows NT umożliwia tworzenie dowolnej liczby kont
i nie należy o tym zapominać. Jeśli np. ktoś wykorzystuje system
do różnych zadań, dobrze jest stworzyć mu kilka kont
o uprawnieniach właściwych dla każdej z funkcji.
T worzenie różnych kont, z uprawnieniami wyłącznie do zadań
określonego rodzaju, ma sporo zalet. W
szczególności sam
administrator powinien unikać, kiedy to możliwe, korzystania
z wszystkich uprawnień w codziennych zajęciach (by np. nie usunąć
pomyłkowo niewłaściwego katalogu). Dlatego warto rozważyć
jeszcze inne rozwiązanie - tj. wykorzystanie do administrowania
NT Workstation. Ponieważ NT umożliwia działanie użytkowników
w różnych kontekstach uprawnień, można zarejestrować się na
stacji roboczej jako zwykły użytkownik, ale podłączać się do
serwera - aby wykonać działania administracyjne - jako użytkownik
uprzywilejowany.
994
Rozdział 25
Administratorowi nie zaszkodzi również praca w roli „zwykłego”
użytkownika sieci. T aka perspektywa pozwala innymi oczami
popatrzeć na ludzi niezadowolonych z tych czy innych ograniczeń.
Liczni administratorzy nie uświadamiają sobie barier normalnych
kont użytkowych. Dla wielu klientów pracujących na systemach
Windows 3.x, Windows 95 czy Macintosh nie są one widoczne, ale
użytkownik NT Workstation może je odczuć wyraźnie. Liczne
elementy systemu nie są dostępne przy domyślnych ustawieniach
uprawnień. Dobrze jest, jeśli administrator odczuje osobiście, jakie
warunki pracy stwarza swoim klientom.
Konta użytkowników dla usług systemowych
Konta użytkownika nie służą wyłącznie osobom pracującym w sieci.
Wszystkie procesy w Windows NT uruchamiają się w kontekście
uprawnień użytkownika. Wiele spośród nich jest domyślnie
ustawionych do pracy z uprawnieniami dziedziczonymi z wbudowa-
nego w NT konta
SYSTEM
. Może to być źródłem problemów dla
ochrony i dlatego powinniśmy rozważyć możliwość stworzenia
specjalnych kont dla niektórych programów usługowych systemu,
wyposażając je wyłącznie w uprawnienia niezbędne do prawidłowego
działania.
Uwaga: Jeśli zadecydujemy, że serwisy systemowe będą korzystały
z konta
SYSTEM
, musimy zadawać sobie sprawę z zagrożeń, jakie
z wyborem tym się wiążą.
Przykład: Terminarz systemowy (Scheduler) korzysta domyślnie
z konta
SYSTEM
i
- zakładamy tutaj - będzie używany do
automatycznego archiwizowania systemu lokalnego.
Makrodefinicja uruchamiająca tworzenie kopii zapasowej nazywać
się będzie:
c:\users\backup\backfull.bat
. Zawiera
zaledwie jedną linię kodu, która wywołuje program
NTBACKUP
wraz
z odpowiednimi przełącznikami.
Chociaż jak dotąd nie widać niebezpieczeństwa, dwa problemy są
groźne.
Przewodnik po zaawansowanych technikach
995
zabezpieczania systemu
Pierwszy: Jeśli prawa dostępu do makrodefinicji nie są ustawione
prawidłowo, to ktoś może dopisać do niej polecenie „net user
administrator pokonany”, lub podobne. Ta prosta przeróbka
spowoduje zmianę hasła administratora na „pokonany”. Ponieważ
skrypt jest uruchamiany z konta
SYSTEM
, które ma możliwość
przenoszenia uprawnień, problem będzie poważny (oczywiście
jedynie wtedy, gdy makrodefinicja nie będzie właściwie
zabezpieczona).
Drugi: Jeśli ntbackup wywołany zostanie inaczej, niż przez podanie
pełnej nazwy:
c:\winnt\system32\ntbackup.exe
/przełączniki -
np. przez:
ntbackup /przełączniki,
to może się zdarzyć, że ktoś
napisze program, a nawet makrodefinicję o nazwie
NTBACKUP
i umieści ją gdzieś na ścieżce przeglądanej przez system. Ten
nieznany program zostanie uruchomiony zamiast archiwizera, ze
wszystkimi uprawnieniami konta
SYSTEM
. Aby tego uniknąć
powinniśmy oczywiście zapisywać nazwy programów z
pełną
ścieżką dostępu oraz prawidłowo definiować ścieżki systemowe.
Oczywiście, najskuteczniejsza profilaktyka polega tutaj na
uruchamianiu wszelkich usług systemowych z
wykorzystaniem
właściwego (do rozwiązania zadania) poziomu uprawnień.
Właściwa strategia ochrony uwzględnia systematyczny nadzór
wszystkich aktywnych i nieaktywnych kont. Kontrola powinna
obejmować analizę zasadności ich istnienia oraz poziomu
uprawnień, które są im przypisane. Choć wymaga to ciężkiej pracy,
takich przeglądów nie należy lekceważyć. Wielu operatorów nie
mogło się nadziwić liczbie użytkowników, należących do grup
z uprawnieniami administracyjnymi.
Zmiana nazwy a konto administratora
Szczególna uwaga należy się kontom administratora i gościa. Nie
jest łatwo powiedzieć na czym polega ich specyfika. Ważne jest
byśmy rozumieli ich rolę, poddając analizie ich optymalne
wykorzystanie. Osoby znające środowisko UNIX-a znajdą wiele
podobieństw między kontem administratora w NT a kontem root
i będą go stosować z należytą ostrożnością (w systemie NetWare
996
Rozdział 25
Novell-a analogiczną rolę pełni konto Supervisor). Obok wielu
podobieństw są jednak i różnice.
Konto administratora jest pierwszym kontem użytkownika,
tworzonym w
procesie instalacji Windows NT . Daje ono
właścicielowi najwyższą władzę w
systemie. Zgodnie z
nazwą
udostępnia narzędzia do zarządzania (między innymi): kontami
użytkowników, dyskami, drukarkami oraz polityką ochrony
systemu. Użytkownik NT może wykonywać swoje zadania
korzystając z nadanych uprawnień, konto administratora pozwala
stosować wszystkie prawa. Ponadto w przeciwieństwie do innych
kont, którym mogą być odebrane wszystkie uprawnienia, konto
administratora nie może być pozbawione żadnego elementu,
dającego właścicielowi władzę w
systemie. Intencją takiego
rozwiązania jest zabezpieczenie przed blokadą systemu poprzez
odebranie wszystkim użytkownikom przywilejów
administracyjnych.
Ponieważ konto administratora związane jest z
tak dużymi
uprawnieniami, które na dodatek nie mogą być ograniczone, staje
się ono łakomym celem dla osób usiłujących włamać się do systemu.
Konto administratora nie może być usunięte, wyłączone, ale na
szczęście można mu zmienić nazwę. Nawet, jeżeli system jest
skonfigurowany w
sposób powodujący zamknięcie konta
użytkownika po określonej liczbie prób niewłaściwej rejestracji,
zabezpieczenie to nie dotyczy konta administratora, którego - ze
względu na znaczenie - nigdy nie można zablokować.
Wskazówka: Powinniśmy zmienić nazwę konta administratora,
stosując je wyłącznie w
sytuacjach krytycznych (takich jak
zablokowanie wszystkich innych kont z
uprawnieniami do
zarządzania systemem lub zapomnienie właściwych haseł).
Wszystkie zadania związane z administracją można wykonywać
dzięki wyposażeniu we właściwe uprawnienia członków
odpowiednich grup.
Zmiana nazwy konta nie ogranicza możliwości jego wykorzystania.
Powinniśmy przy tym usunąć wszelkie komentarze informujące
o roli tego konta. Dzięki wbudowanej w NT bibliotece API nie jest
trudno napisać program, który usiłuje zarejestrować się na koncie
Przewodnik po zaawansowanych technikach
997
zabezpieczania systemu
administratora, zmieniając ciągle hasło według wbudowanego
algorytmu. W przeciwieństwie do innych kont wielokrotne próby
błędnej rejestracji nie powodują jego zablokowania.
Konto administratora stanowi zawsze element grupy lokalnych
administratorów. Ponieważ nie można ograniczyć przywilejów
użytkownika konta, należy mieć pewność, że jest właściwie
zabezpieczone.
Powinniśmy maksymalnie ograniczać eksploatację konta
administratora - aby niczym nie zwracać na nie uwagi. Najlepszą
metodą jest stworzenie uprzywilejowanych kont dla każdej
specjalnej funkcji administratora. T rzeba skorzystać
z wbudowanych w system grup użytkowników poprzez nadawanie
właściwym osobom odpowiedniego poziomu dostępu.
Kluczową rolę odgrywa tutaj systematyczna kontrola - dająca
pewność, że nikt nie zmienił hasła lub w inny sposób nie zdołał
przełamać zabezpieczeń.
Jak już mówiliśmy, nie można spowodować blokady (zamknięcia)
konta administratora w wyniku wielokrotnych, błędnych prób
rejestracji w
systemie. T ymczasem, jeśli w
Menedżerze
użytkowników dla domeny (User Manager for Domain) otworzymy
odpowiednie okno (rysunek 25.1) zobaczymy pole wyboru,
sugerujące jednak możliwość zablokowania tego konta. Łatwo się
przekonać, że jest to niemożliwe. Wystarczy kilka prób
zarejestrowania się jako administrator z podaniem niewłaściwego
hasła. W dzienniku ochrony znajdziemy potwierdzenie, iż konto
administratora nie może być wyłączone.
998
Rozdział 25
Uwaga: Trudno jest wytłumaczyć taką reakcję systemu. Można
jedynie przypuszczać (jeśli nie jest to typowa „wpadka”), iż
pozostawienie opcji wyłączania konta daje administratorowi
dodatkowe, oprócz systemu nadzoru, narzędzie kontroli włamań do
serwera.
Wyłączyć konto gościa (Guest Account)
Konto gościa, tworzone w procesie instalacji Windows NT , jest
również wbudowane w system. Nie może być usunięte, ale można
zmienić mu nazwę. W ustawieniu standardowym jest nieaktywne.
W NT 3.51 konto gościa jest nieaktywne na kontrolerach domeny,
natomiast czynne - na serwerach typu member i stacjach roboczych
NT .
W ujęciu historycznym konto gościa pochodzi z systemów, które
zezwalały na dostęp jednorazowy lub okazjonalny. Pełni ono ważną
rolę. Kiedy ktoś próbuje zarejestrować się w systemie NT za
pośrednictwem sieci, musi się przedstawić. Jeśli podane informacje
rejestracyjne nie odpowiadają żadnemu istniejącemu kontu, a konto
gościa jest aktywne, wtedy użytkownik rejestrowany jest na koncie
gościa. Aby umożliwić funkcjonowanie systemu w taki sposób,
należy pozostawić puste hasło konta. Jeśli użytkownicy będą
korzystać z zasobów serwera jedynie za pośrednictwem sieci, może
Rys. 25.1. Pole
wyboru ( Account
Locked Out),
sugerujące
możliwość
wyboru opcji
blokowania konta
administratora
po kilku
nieudanych
próbach
rejestracji,
wprowadza
w błąd.
Przewodnik po zaawansowanych technikach
999
zabezpieczania systemu
zachodzić potrzeba unieważnienia prawa rejestracji konta na
stacjach lokalnych (Log On Locally).
Uwaga: Jeśli w systemie funkcjonują Usługi dla komputerów
Macintosh, klienci na tych stacjach nie mogą korzystać z serwera za
pośrednictwem konta gościa. Aby umożliwić im dostęp na takich
prawach, należy udostępnić specjalne, wewnętrzne konto
Anonymous User (użytkownik anonimowy). Temat ten omówiony
został szczegółowo w rozdziale 10.
Z punktu widzenia ochrony, w większości systemów otwartych
konto gościa powinno być wyłączone całkowicie. T worzenie kont
w Windows NT jest tak proste, iż możliwości udostępniane kontem
gościa mogą być bez problemu zastąpione przez inne konta,
oczywiście z zachowaniem reguł ochrony.
Ostrzeżenie: Jeśli konto gościa jest aktywne, wtedy każdy może
zarejestrować się na serwerze za pośrednictwem sieci, przeglądać
bazy danych systemowych i uruchomić program diagnostyczny
W INMSD
.
EXE
(Microsoft Diagnostics). W ten sposób można zdobyć
sporo informacji, które mogą być wykorzystane przeciwko
systemowi. Sprawę tę powinni wziąć sobie do serca przede
wszystkim administratorzy systemów podłączonych do Internetu.
W Windows NT Advanced Server 3.1 konto gościa było elementem
globalnej grupy Domain Users (użytkowników domeny), która
z kolei była podzbiorem grupy Users (użytkownicy). Rodziło to
problemy dla ochrony, gdyż wszystkie zasoby dostępne
wymienionym grupom, dostępne były również dla gości. Domyślnie
konto gościa było wyłączone, ale administrator, który postanowił
je uaktywnić, stwarzał poważne niebezpieczeństwo dla systemu
(czego czasami nawet nie był świadomy).
Aby złagodzić problem, Microsoft wprowadził (począwszy od
Windows NT Server 3.5) pewne zmiany. Stworzono nową grupę
globalną, Domain Guests (goście domeny), której elementem jest
konto gościa. Jednocześnie usunięto je (to konto) z grupy Domain
Users, a więc również z grupy Users.
1000
Rozdział 25
Wskazówka: Chcąc zapewnić kontu gościa takią samą
funkcjonalność jak w
systemie Advanced Server 3.1, należy
podporządkować Domain Guests grupie lokalnej Users.
Implementacja profili upoważnień użytkownika
Profile umożliwiają administratorowi dostosowanie pewnych
aspektów działania komputera do indywidualnych wymagań
użytkownika, pracującego w systemie NT lub Windows 95. Są one
instalowane w momencie rejestracji w systemie, oferując jednakowy
interfejs dla wszystkich stacji roboczych domeny. Możemy
wykorzystać to narzędzie do ograniczenia dostępu użytkowników
do linii komend oraz zabezpieczenia przed zmianami grupy
programów. W
sieci utworzonej ze stacji roboczych NT
Workstation i Windows 95, można rozważyć zaimplementowanie
profili obowiązkowych (mandatory profiles). T emat ten omówiony
został w rozdziale 16.
Prawa użytkownika
Przed wprowadzaniem zmian w uprawnieniach użytkownika należy
uświadomić sobie nie tylko ich konsekwencje dla ochrony, ale
również skutki, jakie będą miały dla reszty systemu. Dla większości
systemów NT Server, funkcjonujących jako kontrolery domeny,
domyślne prawa użytkownika odpowiadają założeniom ochrony.
Ponieważ domyślne prawa użytkownika są różne dla kontrolerów
domeny i serwerów typu member, powinniśmy rozważyć dwie
zmiany na każdym serwerze NT , nie będącym kontrolerem
domeny:
Prawo
Zmiana
Rejestracja lokalna
(Log on Locally)
Usunąć grupy: Wszyscy i Gość
(Everyone and Guest)
Zamykanie systemu
(Shut down the System)
Usunąć grupy Wszyscy i Użytkownicy
(Everyone and Users)
Pamiętajmy, że ustawianie ochrony na serwerze NT , który nie jest
kontrolerem domeny, jest identyczne jak na NT Workstation.
Przewodnik po zaawansowanych technikach
1001
zabezpieczania systemu
W
obu przypadkach systemy umożliwiają (jako ustawienie
domyślne) zarejestrowanie się i pracę na konsoli. W szczególności,
po zalogowaniu się, użytkownicy mogą restartować i zamykać
system. Nie jest to zazwyczaj problemem na stacji roboczej, ale
odłączenie serwera może spowodować poważne perturbacje.
Jak ważna jest analiza wszelkich zmian, dowodzi następujący
przykład. Duży, wieloprocesorowy komputer DEC Alpha,
działający pod kontrolą systemu NT Server, umiejscowiony był
w bardzo ruchliwym miejscu. W maszynie składowano liczne,
niezwykle ważne bazy danych. Administrator miał duże
doświadczenie w pracy z NT Advanced Server 3.1, gdzie wszystkie
serwery były kontrolerami domen. Po rozbudowaniu systemu do
wersji 3,5, zdecydował się skonfigurować komputer jako serwer
typu member, nie zawracając sobie głowy analizą różnic między
systemami. Wskutek nieznajomości konsekwencji popełnił dwa
poważne błędy. Po pierwsze: pozostawił aktywne konto gościa,
które (w przeciwieństwie do poprzedniej wersji) w nowym systemie
instalowało się domyślnie. Po drugie: pozostawił prawo do
rejestracji lokalnej, które w NT 3,5, skonfigurowanym jako serwer
typu member, domyślnie przysługuje grupom Wszyscy (Eveyone)
i Gość (Guest).
W ten sposób zupełnie bezbronna sieć pracowała ponad miesiąc.
Każdy mógł zarejestrować się na serwerze na koncie gościa,
dowolnym koncie domeny lub domeny upoważnionej dysponując
niemal dowolnym dostępem do serwera. Ponieważ komputer pełnił
wyłącznie funkcje serwera SQL, administrator nie martwił się
ustanowieniem właściwych uprawnień do plików na poziomie
NT FS. W ten sposób każdy, kto miał fizyczny dostęp do maszyny,
mógł robić na niej prawie wszystko.
Prawo omijania kontroli uprawnień do katalogów nadrzędnych
(BTC - Bypass Traverse Checking )
T ytułowe prawo przyznane jest domyślnie wszystkim
użytkownikom NT (rysunek 25.2). Wyjaśnimy tutaj istotę
i przeznaczenie tego przywileju.
1002
Rozdział 25
Omawiane uprawnienie oznacza dokładnie tyle, że przy próbie
dostępu do pliku, system sprawdza wyłącznie listę praw dostępu do
zbioru - ACL (Access Control List), pomijając kontrolę uprawnień
do wszystkich katalogów nadrzędnych. Definicja wydaje się
banalnie oczywista, ale wszystkie konsekwencje zastosowania
muszą być dla administratora całkowicie zrozumiałe.
Pozostawienie uprawnień BT C nieostrożnym użytkownikom może
powodować komplikacje dla systemu ochrony. Aby zilustrować
problem, rozważmy przykład obrazujący różnice (istotne dla
bezpieczeństwa danych) między kopiowaniem a przenoszeniem
plików.
Ostrzeżenie: Należy pamiętać, że przy przenoszeniu plików
przenoszone są również uprawnienia dostępu, natomiast przy
kopiowaniu - prawa są dziedziczone z katalogu nadrzędnego.
Więcej informacji na temat różnic między kopiowaniem
a przenoszeniem zbiorów, mających w szczególności wpływ na
bezpieczeństwo systemu plików, znajdziemy w rozdziale 6.
Przeanalizujmy następujący scenariusz:
1. Przy pomocy NT Explorer tworzone są dwa foldery:
E:\TEST1
i E:\TEST2 (zakładamy, że E:\ jest
wolumenem w systemie NT FS).
2. Grupie
Ev eryone
(Wszyscy)
nadane są uprawnienia pełnej
kontroli (Full Control) do folderu E:\TEST1. System
otrzymał polecenie przekazania uprawnień na wszystkie
podkatalogi. (rysunek 25.3).
Rys. 25.2. Prawo
omijania kontroli
uprawnień do
katalogów
nadrzędnych
( Bypass Traverse
Checking ) jest
domyślnie
przyznane
wszystkim
użytkownikom
W indows NT.
Przewodnik po zaawansowanych technikach
1003
zabezpieczania systemu
3. Grupie
Ev eryone
(Wszyscy
)
nadane są uprawnienia
Add
(dodawania) do folderu E:\TEST2. (por. Rysunek 25.4).
4. Przy użyciu notatnika utworzony został plik tekstowy (treść nie
jest istotna). Nadano mu nazwę E:\TEST1\MYFILE.TXT.
5. Korzystając z NT Explorer sprawdzono uprawnienia do nowo
utworzonego pliku. Powinna pojawić się informacja, że grupa
Wszyscy (
Ev eryone
) ma uprawnienia do pełnej kontroli (
Full
Rys. 25.3.
Nadanie grupie
Everyone
uprawnienia
pełnej kontroli
( Full Control) do
folderu
E:\TEST1
.
Rys. 25.4.
Nadanie grupie
Everyone
uprawnienia
dodawania ( Add)
do folderu
E:\TEST2
.
1004
Rozdział 25
Control
) zbioru. Nie powinny wystąpić żadne inne uprawnienia
dostępu - ACE (Acces Control Entries).
6. Plik został przeniesiony - w programie NT Explorer - do
katalogu E:\TEST2.
7. Dwukrotne kliknięcie nazwy zbioru E:\TEST2 spowoduje błąd,
gdyż dostęp do katalogu jest zabroniony (acces denided).
8. Ponownie należy otworzyć notatnik i
wczytać plik
E:\TEST2\MYFILE.TXT
, wpisując jego pełną nazwę
w okienku edycyjnym opcji
Open
(nie można skorzystać
z przeglądarki). Po zaakceptowaniu wyboru plik będzie mógł być
poddany edycji.
9. Można powtórzyć kroki od 4 do 8, zastępując przenoszenie
kopiowaniem. Próba edycji pliku nie powiedzie się, gdyż
ograniczenia dostępu do zbioru zostaną odziedziczone z katalogu
nadrzędnego E:\TEST2.
Jeżeli wyłączymy prawo omijania kontroli uprawnień do katalogów
nadrzędnych - BTC (Bypass Traverse Checking) i powtórzymy
ćwiczenie - okaże się,
że otwarcie zbioru
E:\TEST2\MYFILE.TXT
jest niemożliwe, bez względu na to,
czy plik został skopiowany, czy przeniesiony. W tym przypadku
Windows NT sprawdza nie tylko prawa dostępu do zbioru, ale
również do jego katalogów nadrzędnych. Wystarczy, że do jednego
z nich nie będzie prawa dostępu, a zbiór będzie nieosiągalny.
Aby jeszcze lepiej zrozumieć działanie uprawnienia, przyjmijmy
założenie,
że istnieje plik
E:\USER\ADMINISTRATION\JGARMS
\WORK\FAXES\THISFAX.DOC
. Jego lista ACL przyznaje
prawo pełnej kontroli (Full Control) grupie Wszyscy (Everyone).
Jeśli użytkownik posiada prawo omijania kontroli dostępu do
katalogów nadrzędnych (a
należy pamiętać,
że wszyscy
użytkownicy otrzymują je domyślnie w procesie instalacji), to
może on czytać, zmieniać, a nawet usunąć plik, niezależnie od tego
czy posiada jakiekolwiek uprawnienia do katalogów nadrzędnych.
Z drugiej strony, jeżeli użytkownik pozbawiony jest uprawnienia
BT C, to brak upoważnień do jakiegokolwiek katalogu, będącego
fragmentem ścieżki dostępu do pliku, uniemożliwi mu dostęp do
zbioru, nawet jeśli ma do niego prawo pełnej kontroli (Full Acces).
Przewodnik po zaawansowanych technikach
1005
zabezpieczania systemu
Możliwość modyfikacji uprawnienia BT C została wprowadzona
w Windows NT - celem zapewnienia pełnej kompatybilności
z systemem operacyjnym POSIX. Dla użytkowników lub systemów,
wymagających zgodności z systemem POSIX, należy wyłączyć
prawo omijania kontroli uprawnień do katalogów nadrzędnych.
W
tym przypadku należy liczyć się z
wadliwym działaniem
niektórych programów, spowodowanym brakiem uprawnień do
jakiegoś fragmentu ścieżki dostępu do katalogu, niezbędnego dla
pracy narzędzia.
Ostrzeżenie: Należy pamiętać, że Windows NT, wiele jego
komponentów, jak również liczne aplikacje oczekują, że prawo
omijania kontroli dostępu do katalogów nadrzędnych przysługuje
wszystkim użytkownikom. Wyłączenie tego prawa z pominięciem
analizy - do jakich plików muszą mieć dostęp programy działające
w systemie, może być powodem poważnych problemów.
Grupy koniec
Konto użytkownika jest najniższym poziomem identyfikacji
w Windows NT . Każde działanie może być ściśle związane
z inicjującą je osobą. Administrowanie systemem poprzez
nadawanie uprawnień pojedynczym osobom może jednak
pochłaniać zbyt wiele czasu, zwłaszcza w sieciach o dużej liczbie
użytkowników.
Grupy to rodzaj narzędzia ułatwiającego zarządzanie serwerem
i pozwalającego nadawać prawa i
przywileje całym zbiorom
użytkowników o wspólnych wymaganiach. Rozważmy przykład
klientów, pragnących uzyskać dostęp do danej drukarki.
Odpowiednio stworzoną grupę można wyposażyć w niezbędne
uprawnienia do korzystania z urządzenia, a każdego użytkownika,
który chce używać drukarki, można uczynić członkiem tej grupy.
Pomijając wygodę takiego rozwiązania, zwróćmy uwagę na korzyści
związane z
podniesieniem bezpieczeństwa. Zarządzając
uprawnieniami poprzez wykorzystywanie przynależności do
odpowiednich grup, można bardzo łatwo kontrolować dostępność
poszczególnych zasobów. Łatwo jest także sprawdzać prawidłowość
ustalonych uprawnień.
1006
Rozdział 25
W poprzednim przykładzie rozważaliśmy uprawnienia do ustalonej
drukarki. Przyjmijmy tutaj, że chce z
niej korzystać 40
użytkowników. Aby zweryfikować ich uprawnienia, trzeba przejrzeć
40 uprawnień dostępu (ACE). Zarządzając siecią poprzez
przydzielanie dostępu do odpowiednio stworzonych grup, wystarczy
jedynie sprawdzić uprawnienia dostępu określonej grupy oraz listę
jej członków. T aki sposób administrowania serwerem podnosi
ochronę układu, czyniąc go bardziej odpornym na ewentualne błędy,
związane z nadawaniem uprawnień.
Wskazówka: Nawet, jeśli nadanie uprawnień konkretnej osobie
wydaje się prostsze, to w dłuższej perspektywie administrowanie
poprzez tworzenie grup i nadawanie im właściwych przywilejów,
daje więcej korzyści.
Zarządzanie predefiniowanymi grupami użytkowników
Administrator, dla własnego bezpieczeństwa, powinien być pewien,
że właściwie rozumie prawa i
ograniczenia wynikające
z przynależności do grup. W procesie instalacji Windows NT -
zależnie od roli, jaką system odgrywa w domenie - tworzone są
domyślne grupy użytkowników. Wiele osób sądzi, że rodzaj
predefiniowanych grup zależy od tego, czy mają do czynienia
z systemem NT Server, czy NT Workstation. Jest to tylko część
prawdy. W istocie rzeczy NT Workstation ma tworzone domyślnie
zawsze te same grupy. Natomiast predefiniowane grupy w NT
Server zależą od roli, jaką system pełni w domenie. Jeśli jest
skonfigurowany jako kontroler domeny (DC),, nie będzie posiadał
własnej, lokalnej bazy użytkowników, lecz będzie ją dziedziczył
z głównego kontrolera domeny (PDC). Wiele osób nie rozumie, że
NT Server skonfigurowany jako serwer typu member (member
server), w przeciwieństwie do kontrolera domeny, posiada inne (niż
reszta domeny) predefiniowane grupy i prawa użytkowników. Jest
to poważny problem. Serwer typu member ma takie same domyślne
konta użytkowników i
grupy, jak NT Workstation.
W szczególności pozwala korzystać z konta gościa, jak również
z prawa do lokalnej rejestracji przez użytkowników domeny.
Przewodnik po zaawansowanych technikach
1007
zabezpieczania systemu
Warto rozważyć następującą konfigurację. Windows NT
zainstalowany jest jako autonomiczny serwer z przeznaczeniem na
serwer SQL. Pracuje on na komputerze DEC Alpha. Jeśli nie
weźmiemy pod uwagę, że lokalna baza ochrony wygląda identycznie
jak na NT Workstation (ponieważ NT jest serwerem typu member,
a nie kontrolerem domeny), nie znajdziemy uzasadnienia dla
pewnych zmian. W istocie, każdy może zarejestrować się z konsoli,
korzystając z konta gościa. Poziom grożących niebezpieczeństw
jest wysoki. Ze względu na to, że komputer DEC Alpha jest
systemem RISC, partycja startowa musi być sformatowana
w systemie FAT , co dodatkowo czyni układ bardzo wrażliwym.
Intruz może np. usunąć niezbędne pliki i unieruchomić system.
Pamiętajmy, że Windows NT Server, który nie jest skonfigurowany
jako kontroler domeny, wymaga specjalnych działań zabezpieczają-
cych, analogicznych jak NT Workstation. (Więcej informacji
o grupach predefiniowanych znajdziemy w rozdziale 15).
Stosowanie haseł - optymalizacja zasad
Znaczenie hasła jest ogromne. Jeśli ujawnione zostanie hasło,
ujawnione zostanie również wszystko, do czego uprawnia dane
konto. Ponadto, hasło zdobyte przez osobę spoza organizacji
(niezależnie od zasobów, do których uprawnia) może być
pierwszym krokiem ułatwiającym dalszą penetrację. Najłatwiej
włamać się do systemu, działając od wewnątrz. T eraz wiemy,
dlaczego najlepsza strategia ochrony polega na udzielaniu
minimalnych, niezbędnych uprawnień.
Ponieważ wiele sieci korzysta ze współdzielonych kanałów
łączności, zdobycie hasła przesyłanego otwartym tekstem nie jest
trudne. Jeśli ktoś łączy się np. ze swoją maszyną za pośrednictwem
serwera FT P lub telnetu, wtedy (niezależnie od faktu, czy korzysta
z sieci wewnętrznej, czy Internetu) wiele osób ma możliwość
podglądnięcia hasła. Nierzadko, mimo że nie jest to zalecane, to
samo hasło służy do wielu rzeczy. Wówczas jego ujawnienie daje
dostęp do wszystkich zasobów użytkownika.
Windows NT pozwala nam - poprzez Menedżera użytkownika
(User Manager) - zdefiniować strategię stosowania haseł i kont
użytkownika. Zmiany dokonane w konfiguracji kont są globalne
1008
Rozdział 25
i oddziałują na wszystkich, korzystających z danego komputera lub
domeny. Z drugiej strony nie mają one wpływu na konfigurację
kont na maszynach lokalnych, nie będących kontrolerami domeny.
Pamiętajmy, iż serwery typu member i stacje robocze mają
wbudowane własne konta lokalnych użytkowników.
Unikajmy haseł przesyłanych otwartym tekstem
Ważne jest pełne zrozumienie przez wszystkich użytkowników
konsekwencji przesyłania hasła otwartym tekstem. NT nie
przechowuje haseł w jawnej postaci i żaden system rejestracji
w systemie nie przesyła hasła w
tej formie. T ym niemniej
powinniśmy tutaj zwrócić uwagę na kilka istotnych spraw.
Uwaga: Stwierdzenie, że NT nie przechowuje haseł w jawnej postaci
jest równoznaczne nie tylko z szyfrowaniem haseł, lecz również
brakiem możliwości ich odkodowania. Rozwiązanie polega na
używaniu do szyfrowania haseł algorytmu mieszającego. Jeśli
zachodzi potrzeba kontroli, wówczas wprowadzane przez
użytkownika hasło jest kodowane przy użyciu tego samego
algorytmu i wynik jest porównywany z wartością w bazie danych.
Jeśli wielkości są zgodne, hasło zostaje uznane za prawidłowe.
Należy się powstrzymywać od wprowadzania hasła do
makrodefinicji, skrótów lub do ikon Menedżera programów. Jego
właściwości skrótów i ikon są bowiem łatwo dostępne w Windows
3.x i Windows 95, jak również za pośrednictwem rejestrów
Windows NT . Hasła, umieszczonego w takich miejscach, nie
możemy uważać za ukryte.
Istnieją programy nie będące elementami Windows NT , które
uruchomione w systemie wpływają na bazę danych ochrony kont
użytkowników. Jeśli połączenia za pośrednictwem tych usług są
akceptowane, Windows NT nie może zapobiec przesyłaniu siecią
haseł nie zaszyfrowanych. Jednym z przykładów jest implementacja
POP (Post Office Protocol).. Na zapytanie o komentarz - RCF
(Request for Comment) 1225, który określa wyszukiwanie
skrzynek pocztowych dla klientów POP, przesyłają oni hasło
siecią, otwartym tekstem. Na przykład serwer poczty POP,
utworzony przez Europejskie Akademickie Centrum MS Windows
Przewodnik po zaawansowanych technikach
1009
zabezpieczania systemu
NT - EMWAC (European Microsoft Windows NT Academic
Center) korzysta z bazy kont użytkowników NT i akceptuje jawny
przekaz haseł klientów, chcących uzyskać połączenie dla
odczytania poczty. Nie jest to błąd NT . Nie jest to nawet błąd
serwerów POP. Wina leży w definicji protokołu. Nowa wersja
protokołu - APOP (Authenticated Post Office Protocol) rozwiązuje
problem. Wymaga ona aktualizacji zarówno stacji klientów, jak
i serwerów.
Stosowanie haseł z wykorzystaniem M enedżera domeny
Strategia związana z
posługiwaniem się hasłami przez
użytkowników może być tworzona przy użyciu Menedżera
użytkowników. Program pozwala na ustawienie minimalnego
i maksymalnego czasu posługiwania się hasłem, jego najmniejszej
długości, zasady kontroli niepowtarzalności hasła, blokowania
konta oraz ograniczanie możliwości rejestracji w systemie do
określonych godzin. Na rysunku 25.5 widzimy okno dialogowe do
kontroli zasad wykorzystania kont w domenie.
Uwaga: Przy rozdzielczości ekranu 640
×
480 najniższa część okna
nie jest widoczna.
Rys. 25.5. Zasady
stosowania haseł
dla kont
kontrolowane są
przez Menedżera
użytkowników.
1010
Rozdział 25
M aksymalny czas stosowania hasła
Domyślne ustawienia Windows NT nie zakładają wygasania
ważności haseł. T ym niemniej, nawet w środowiskach o małym
stopniu zagrożenia, powinny one być regularnie zmieniane.
Prawdopodobieństwo pokonania bariery ochronnej systemu
zwiększa się w miarę przedłużania ważności tych samych haseł.
Wybierając opcję ograniczenia maksymalnego czasu stosowania
hasła, możemy go określić w przedziale od 1 do 999 dni. Musi on
być dłuższy od minimalnego czasu jego wykorzystywania.
Rozsądnym ustawieniem wydaje się być 45 dni. Administratorzy nie
powinni się jednak godzić na używanie tego samego hasła w czasie
dłuższym niż 180 dni.
Hasło można zabezpieczyć przed wygaśnięciem, ustawiając dla
danego użytkownika opcję
Passw ord Nev er Expires
(hasło nigdy
nie wygasa). Rysunek 25.6 przedstawia, w oknie Menedżera
użytkowników dla domeny, odpowiednie ustawienia dla
użytkownika.
Zasady stosowania haseł stanowią serce systemu ochrony. Wiele
osób zapisuje swoje hasła na klawiaturze, zwiększając
prawdopodobieństwo ich ujawnienia. Jeżeli jednak użytkownik (w
szczególności szef) nie chce pamiętać o konieczności zmiany hasła,
powyższa opcja powinna być rozważana.
Innym zastosowaniem
Passw ord Nev er Expires
jest zapobieganie
wygaśnięciu ważności hasła dla kont tworzonych dla specjalnych
usług (np. konto terminarza).
Przewodnik po zaawansowanych technikach
1011
zabezpieczania systemu
M inimalny czas stosowania hasła
Ustawienie minimalnego czasu posługiwania się hasłem zalecamy
z kilku powodów. Po pierwsze - aby uniknąć zbyt częstej zmiany
hasła, co zwiększa prawdopodobieństwo jego zapomnienia. Po
drugie - aby zmniejszyć liczbę używanych kombinacji, gdyż hasła
nie mogą się powtarzać. Minimalny czas stosowania hasła można
ustawić w przedziale od 1 do 999 dni (powinien on być krótszy od
maksymalnego).
M inimalna długość hasła
Im krótsze hasło, tym łatwiej je złamać. NT nie wyznacza
domyślnie minimalnej długości zapisu hasła. Zalecamy jednak hasła
co najmniej sześcio-znakowe. Dobre hasło składa się z kombinacji
małych i wielkich liter oraz znaków specjalnych. Minimalną
długość hasła można ustawić liczbą od 1 do 14. NT nie pozwala
używać haseł dłuższych niż czternastoznakowe.
Niepowtarzalność hasła
Funkcja ta zabezpiecza przed wielokrotnym powtarzaniem przez
użytkownika tej samej kombinacji znaków, co niweluje rezultaty
wymuszenia zmiany hasła. Opcja jest efektywna, jeśli stosuje się ją
wspólnie z ustawieniem minimalnego czasu użytkowania hasła. Bez
tego może się zdarzyć, że osoba często zmieniająca hasło, szybko
wyczerpie swoją pomysłowość. Wprowadzenie minimalnego czasu
Rys. 25.6. Hasło
zabezpieczone
przed
wygaśnięciem dla
danego
użytkownika,
niezależnie od
ogólnej strategii
ochrony.
1012
Rozdział 25
użytkowania hasła (np. przez jeden dzień) zabezpiecza przed tym
problemem. NT może pamiętać od jednego do dwudziestu czterech
haseł użytkownika. Nawet gdy w bazie danych zarejestrowanych
jest kilka tysięcy użytkowników, ustawienie dużej liczby nie
powinno powodować problemów. Z
reguły optymalną liczbą
pamiętanych haseł będzie siedem lub osiem.
Blokada konta
Ustawienie tej opcji należy do zasad dobrej strategii ochrony.
Zabezpiecza przed hakerami, stosującymi programy do cyklicznych
prób rejestracji w systemie ze zmieniającymi się hasłami. Nie
należy zbytnio przesadzać w ograniczaniu błędnych prób rejestracji.
Choć wielu administratorów stosuje zasadę „do trzech razy sztuka”,
rozwiązanie wygodniejsze dopuszcza około siedmiu nieudanych
prób.
Załóżmy, iż użytkownik chce zarejestrować się na serwerze ze stacji
roboczej. System próbuje zidentyfikować użytkownika na podstawie
aktualnego identyfikatora i hasła. Jeśli identyfikator na obu
maszynach jest taki sam, a hasło inne, pojawi się pierwszy błąd. Gdy
hasło zostanie wprowadzone niedokładnie, można zrezygnować
z następnego podejścia. Kolejna próba rejestracji w systemie znowu
zacznie się od identyfikacji na podstawie aktualnego hasła. Jeśli
blokada konta następuje po trzech nieudanych próbach rejestracji,
wówczas jeden błąd uniemożliwia pracę w systemie. Podobnych
przykładów można oczywiście wymyślić więcej.
Wskazówka: Chcąc zapewnić wysoką ochronę przy minimum
konfliktów, możemy rozważyć ustawienie blokady po siedmiu
nieudanych rejestracjach w ciągu 30 minut oraz czas blokady na
jedną godzinę. Dłuższe blokowanie konta nieuchronnie wywoła
wściekłość
użytkowników, obciążając dodatkową pracą
administratora.
NT umożliwia ustawienie liczby dopuszczalnych błędów w rejestracji
- w zakresie od 1 do 999. Można również wyznaczyć przedział
czasu, w jakim określona liczba błędów powoduje blokadę konta.
Wartość tę można ustawić między 1 a 99 999 minut (prawie 70
Przewodnik po zaawansowanych technikach
1013
zabezpieczania systemu
dni). Przedział ten nie może być krótszy od czasu resetowania
systemu.
Sugerujemy ustawienie blokady konta po pięciu wadliwych
rejestracjach w przedziale jednej godziny oraz czas blokady na pięć
minut. T aka konfiguracja zniechęca hakerów do prób odgadnięcia
hasła, a jednocześnie - w razie pomyłki - umożliwia kontynuowanie
pracy bez angażowania administratora.
Wymuszenie rozłączenia odległych użytkowników serwera po
upływie czasu przeznaczonego na pracę w systemie
Kiedy zbliża się koniec czasu, w którym użytkownik może
pracować na serwerze, system automatycznie wysyła komunikat do
odpowiedniego stanowiska. Jeśli opcja jest aktywna, NT może
wysłać kilka informacji przed definitywnym odłączeniem
użytkownika. Nawet w środowiskach, w których nie ma potrzeby
ograniczania czasu pracy użytkowników, administrator musi mieć
możliwość wymuszenia odłączenia sieci od systemu (na przykład
w celu archiwizacji serwera). Jeżeli opcja nie jest włączona, to
z chwilą zakończenia czasu dostępności serwera, użytkownik może
kontynuować rozpoczętą wcześniej pracę, nie może natomiast
tworzyć nowych połączeń.
Użytkownicy muszą się rejestrować ważnym hasłem
Zazwyczaj, kiedy czas korzystania z hasła zbliża się do końca, to
każdorazowo przy próbie rejestracji użytkownik otrzymuje
komunikat, że czas ważności hasła upływa za x dni i jest pytany,
czy chce zmienić hasło?
Jeśli opcja nie jest wybrana, to po upływie czasu ważności hasła
użytkownik przy próbie rejestracji jest o tym powiadamiany i musi
natychmiast zmienić hasło.
Jeśli jest ona włączona, wówczas - po upływie terminu stosowania
hasła - użytkownik nie może go zmienić bez interwencji
administratora.
1014
Rozdział 25
Strategia korzystania z haseł - przegląd
Dobrze określone zasady korzystania z haseł stanowią bardzo
istotny element strategii ochrony.
Powinniśmy poddać analizie metody wykorzystania
i przechowywania haseł, zarówno na serwerze jak i
w
sieci.
Wcześniej opisaliśmy konsekwencje umieszczania haseł
w makrodefinicjach i ikonach Menedżera programów. T rzeba
również zwrócić uwagę programy pracujące, które również
wymagające hasła. Wiele osób stosuje to samo hasło na wszelkie
okoliczności. Ma to dobre i złe strony. Dobra - z uwagi na komfort
pracy; zła natomiast - wynika z niebezpieczeństwa działania
niektórych programów, uruchamianych hasłem przesyłanym
otwartym tekstem.
Innym przykładem niebezpieczeństwa ujawnienia hasła jest
rejestracja metodą standardową ze stacji Macintosh. Znowu hasło
przesyłane jest przez sieć jawnym tekstem. Również wiele
programów obsługi baz danych i aplikacji typu klient-server stosuje
procedury kontroli i identyfikacji, w czasie których identyfikatory
i hasła krążą w sieci w jawnej postaci.
Od myślenia o bezpieczeństwie sieci można się nabawić manii
prześladowczej. W wielu miejscach (także w Internecie) możemy
się zaopatrzyć w
wydajne narzędzia do analizy sieci (np.
współpracujący z
NT Network Monitoring T ool). W
rękach
hakerów programy te mogą pełnić rolę koni trojańskich.
A narzędzia są coraz doskonalsze. Standardowa stacja robocza jest
również coraz wydajniejsza i może podołać nawet bardzo złożonym
zadaniom. Wiele lokalnych sieci to jedynie fragmenty większych
całości, z którymi połączone są systemem mostów. Oznacza to, że
każda końcówka ethernetowa może być wykorzystana do ingerencji
w naszym systemie.
Ostatnia wskazówka dotyczy aplikacji chronionych hasłami, które
- mimo tego - wcale nie są bezpieczniejsze. W trochę innym
kontekście problemowi temu poświęciliśmy już trochę miejsca.
Wszystko co ma podlegać ochronie w
sieci, powinno być
zabezpieczane systemem haseł Windows NT . Ważną rolą
administratora jest uświadomienie wszystkim użytkownikom
znaczenia haseł i konieczności ich ochrony. Programy użytkowe
Przewodnik po zaawansowanych technikach
1015
zabezpieczania systemu
przechowują zwykle hasła w plikach, a jeśli nawet stosują systemy
szyfrowania, to używają prostych algorytmów mieszających. Wiele
osób z łamania takich szyfrów uczyniło swoje hobby, rozsyłając
rezultaty swoich działań za pomocą Internetu.
Powyższe rozważania należy podsumować stwierdzeniem, że lepiej
zawierzyć wysokiej jakości ochronie systemowej Windows NT , niż
wątpliwym zabezpieczeniom oferowanym przez aplikacje.
Rejestracja w systemie
Rejestracja w
systemie ma największe znaczenie dla jego
bezpieczeństwa. W czasie rejestracji użytkownik poddawany jest
kontroli - poprzez porównanie jego danych z danymi w bazie
systemu ochrony. Z końcem procesu otrzymuje on „bilet”,
otwierający drogę do wszystkich zasobów, z których wolno mu
korzystać.
Klawisze Ctrl+Alt+Del
Kiedy Windows NT 3.1 ukazał się na półkach sklepowych, wiele
osób nie mogło się nadziwić, dlaczego proces rejestracji inicjowany
jest kombinacją klawiszy CT RL+ALT +DEL. Sporo dyskusji
poświęcono pytaniu, dlaczego skrótowi, używanemu powszechnie
na stacjach DOS-u do restartowania systemu, wyznaczono inne
zadanie?
Otóż potrzebna była kombinacja nie wykorzystywana przez żadne
inne programy. Poza tym jest ona kontrolowana przez Windows
NT na bardzo niskim poziomie, niedostępnym dla aplikacji. Daje to
gwarancję, że pojawiający się po wciśnięciu trzech klawiszy ekran,
jest rzeczywiście początkiem procedury rejestracji a nie koniem
trojańskim.
Można usłyszeć liczne opinie o innych przyczynach wyboru skrótu
klawiszowego, między innymi posądzające Microsoft o
chęć
utrudnienia życia użytkownikom stacji dosowych. Jest to mało
prawdopodobne - choćby z
tego powodu, iż zablokowanie
możliwości resetowania DOS-u kombinacją CT RL+ALT +DEL jest
proste.
1016
Rozdział 25
Powinno się przy okazji ostrzec przed możliwością napisania
programu działającego pod kontrolą systemu DOS, który imituje
proces rejestracji w
Windows NT . Użytkownik otrzymuje
komunikat o błędnej rejestracji, a jego identyfikator i hasło wędrują
do bazy danych hakera. Niektóre z takich programów próbują
zacierać ślady swojego działania. Brzmi to nieprawdopodobnie,
a jednak miało miejsce (jak twierdzi autor). Wszystko należy
przewidzieć. Sieć może być bezpieczna jedynie w takim stopniu,
w jakim gwarantuje to jej fizyczna konstrukcja.
Ukrywanie identyfikatora poprzedniego użytkownika
Wiele osób słusznie uważa za absurdalny pomysł wyświetlania
w czasie rejestracji identyfikatora poprzedniego użytkownika. Na
szczęście w NT łatwo jest wyłączyć tę trudną do wytłumaczenia
usługę. Powinniśmy to zrobić z co najmniej dwóch powodów:
Pierwszy nie jest związany z ochroną, lecz z wygodą. Niektórzy
użytkownicy, pracujący stale na tej samej stacji roboczej, nie
pamiętają swego identyfikatora, lecz jedynie hasło. Jeśli z ich stacji
zarejestruje się inny użytkownik, a opcja blokady konta jest
aktywna, nie obędzie się bez interwencji administratora.
Wyłączenie opcji wymusza pamiętanie zarówno hasła jak
i identyfikatora.
Drugi powód ma już związek z
ochroną systemu. Osoba
podchodząca do serwera nie powinna mieć możliwości uzyskania
żadnych informacji z pominięciem procedury identyfikacyjnej.
Wiadomość o identyfikatorze administratora jest cenną informacją
dla intruza. Argument, że administrator powinien mieć łatwą
kontrolę osób rejestrujących się na serwerze jest trywialny, gdyż
potrzebne informacje może uzyskać przeglądając protokoły, co
zresztą należy do jego podstawowych obowiązków.
Aby zabezpieczyć Windows NT przed wyświetlaniem
identyfikatora ostatniego użytkownika, należy (korzystając
z edytora rejestrów) wprowadzić następujący rekord:
Hive:
HKEY_LOCAL_MACHINE
Key:
SOFTWARE\Microsoft\WindowsNT\
CurrentVersion\Winlogon
Przewodnik po zaawansowanych technikach
1017
zabezpieczania systemu
Value Name:
DontDisplayLastUserName
Value T ype
REG_SZ
Value:
1
Ostrzeżenie przed nielegalną rejestracją
Narzędzie to jest godne polecenia, ponieważ zniechęca intruzów
przed próbami nielegalnej rejestracji. Wielu hakerów uważa się za
usprawiedliwionych, gdyż próbując włamać się do systemu,
napotyka uprzejme zaproszenie do korzystania z serwera.
Godnym polecenia jest uwaga typu: „Nielegalny dostęp do
komputera jest zabroniony.” Na serwerach, przechowujących
wyjątkowo poufne informacje, przed zredagowaniem komunikatu
można poradzić się prawnika. Uwaga wyświetlana jest w oknie
zatytułowanym „ostrzeżenie”, z
chwilą wciśnięcia klawiszy
CT RL+ALT +DEL. Kontynuacja rejestracji wymaga wciśnięcia
OK
,
sygnalizującego akceptację ostrzeżenia. Przykład komunikatu
przedstawia rysunek 25.7
Aby zaimplementować wyświetlanie ostrzeżenia, trzeba
zmodyfikować zawartość dwóch rejestrów. Pierwszy dotyczy
nagłówka, a drugi - tekstu ostrzeżenia. Oba rejestry istnieją, ale
Rys. 25.7. Można
spowodować
wyświetlanie
odpowiedniego
ostrzeżenia przy
każdej próbie
rejestracji
w systemie.
1018
Rozdział 25
domyślnie zawierają puste łańcuchy. Jeśli odpowiednich rekordów
nie ma lub zostały przypadkowo usunięte, to należy je utworzyć
przy użyciu definicji rejestru:
Hive:
HKEY_LOCAL_MACHINE
Key:
SOFTWARE\Microsoft\Windows NT\
CurrentVersion\Winlogon
Value Name:
LegalNoticeCaption
Value T ype
REG_SZ
Value:
Wartością tego pola powinien być
pożądany tekst nagłówka
Hive:
HKEY_LOCAL_MACHINE
Key:
SOFTWARE\Microsoft\Windows NT\
CurrentVersion\Winlogon
Value Name:
LegalNoticeCaption
Value T ype
REG_SZ
Value:
Wartością tego pola powinien być
pożądany tekst ostrzeżenia
.
Na przykład - aby uzyskać ostrzeżenie identyczne
z przedstawionym na rysunku 25.7., należy wykonać następujące
czynności:
1. Otworzyć edytor rejestrów.
2. Przejść przez HKEY_LOCAL_MACHINE - celem znalezienia
SOFTWARE\Microsoft\WindowsNT\CurrentVersio
n\ Winlogon
3. Dwukrotnie kliknąć pole
LegalNoticeCaption
i
wprowadzić
napis „Warning!” w oknie dialogowym, tak jak przedstawiono
na rysunku 25.8.
Rys. 25.8.
Zastosowanie
edytora rejestrów
do modyfikacji
rekordu rejestru
LegalNoticeCapti
on.
Przewodnik po zaawansowanych technikach
1019
zabezpieczania systemu
Należy dwukrotnie kliknąć pole
LegalNoticeCaption
i wprowadzić
w oknie dialogowym napis „Nielegalny dostęp do komputera jest
zabroniony”.
Przerwa po wprowadzeniu błędnego hasła
Kiedy użytkownik, rejestrując się lokalnie w
Windows NT ,
pięciokrotnie z rzędu popełni błąd, to podobnie jak w wielu
systemach UNIX-owych, NT zablokuje proces rejestracji na 30
sekund. Intencją takiego rozwiązania jest utrudnienie prób
odgadywania hasła przy konsoli.
Przerwa ma oczywiście miejsce przy interaktywnych próbach
rejestracji.
Do zarządzania systemem należy korzystać ze stacji NT
Jak już mówiliśmy wcześniej, zagadnienia ochrony stanowią
kluczowy element Windows NT . Windows 3.x oraz Windows 95
nie zawierają żadnych elementów, dających nam możliwość
porównania ich poziomu zabezpieczeń z NT . Niezależnie od faktu,
iż Microsoft udostępnia narzędzia do zarządzania siecią z poziomu
stacji Windows 3.1 i NT Workstation, chcąc w pełni bezpiecznie
administrować systemem, należy związane z
tym czynności
wykonywać na maszynie NT .
Jeśli serwer umieściliśmy (zgodnie z
naszymi sugestiami)
w zamkniętym pomieszczeniu, w
codziennej pracy możemy
wykorzystywać NT Workstation.
Uwaga: Można wymienić trzy ważne powody, dla których funkcje
administracyjne powinny być wykonywane na stacjach NT
Workstation lub innych komputerach NT:
1. Microsoft nie zapewnia nam wszystkich narzędzi
administracyjnych dla Windows 3.x i Windows 95, zatem - aby
z nich korzystać - wymagany jest Windows NT.
1020
Rozdział 25
2. Windows 3.x i Windows 95 stosują kodowaną zamianę hasła
(MS CHAP) w procesie rejestracji do systemu NT, co wprawdzie
zabezpiecza hasło w drodze przez sieć, ale żaden z tych systemów
nie gwarantuje jakiegokolwiek zabezpieczenia przed
programami śledzącymi.
3. Wygoda, z jaką wiąże się praca w NT.
Niezależnie od standardowych (omówionych już) narzędzi ochrony,
podstawowa korzyść, wynikająca ze stosowania w administrowaniu
Windows NT , polega na czymś innym. NT jest często
klasyfikowany jako system wielodostępny. Liczni tradycjonaliści
nie zgadzają się z takim stwierdzeniem. T ym niemniej system ten
może być rzeczywiście uznany za wielodostępny. Zależy to od
rodzaju przyjętej definicji. Często rozumie się wielodostępność jako
zdolność do jednoczesnej pracy w
systemie kilku osób,
zarejestrowanych za pośrednictwem terminali i
wykonujących
w
tym samym czasie indywidualne zadania. Windows NT
rzeczywiście nie mieści się ściśle w takiej definicji.
W innym znaczeniu system wielodostępny rozumiemy jako zdolny
do równoczesnego uruchamiania wielu procesów (wraz z ich
własnym otoczeniem), w sposób zapewniający ochronę każdego
procesu przed oddziaływaniem innych. T ak określone wymagania
NT spełnia celująco.
Na czym polega różnica? Oczywiście, pierwsza definicja tworzona
jest z punktu widzenia użytkownika, druga natomiast bierze za
podstawę procesy i systemy. Architektura Windows NT umożliwia
instalowanie odpowiedniego oprogramowania, dzięki któremu
spełnia on pierwszą definicję równie dobrze jak drugą. Jeśli wraz
z Windows NT zainstalujemy serwer T elnet, nikt nie będzie mógł
zarzucić, że NT nie jest systemem wielodostępnym.
Jednym z najważniejszych powodów, dla których zaleca się
wykorzystanie NT jako głównej stacji roboczej administratora, jest
umożliwienie rejestracji do różnych sieci z
różnymi
identyfikatorami. Co to oznacza? T yle, że administrator może
zarejestrować się na stacji lokalnej jako uprzywilejowany
użytkownik i połączyć się oraz zarządzać innym systemem,
używając uprzywilejowanego konta. Eliminuje to potrzebę
wielokrotnej rejestracji i zamykania sesji systemu.
Przewodnik po zaawansowanych technikach
1021
zabezpieczania systemu
Administrowanie ze stacji roboczych Windows 3.x
i Windows 95
Zarządzanie systemem ze stacji Windows 3.x i Windows 95 rodzi
wiele problemów. Oba systemy operacyjne nie posiadają
mechanizmów zabezpieczających procesy przed programami typu
„koń trojański” - do przechwytywania hasła przy jego
wprowadzaniu. Aby nie ryzykować kłopotów, możemy unikać
rejestracji z uprzywilejowanymi uprawnieniami (jeśli nie pracujemy
na stacji NT ). Gdy nie ma innej możliwości, musimy być pewni, że
przedsięwzięto wszystkie środki ostrożności.
Wskazówka: Celem dodatkowego zabezpieczenia, administrator
powinien wyłączyć funkcję buforowania hasła na wszystkich
stacjach roboczych Windows 3.x i Windows 95, na których się
zarejestrował.
Na stacjach roboczych M acintosh należy używać modułu
identyfikacji użytkowników M icrosoftu
Istnieje kilka ważnych - z punktu widzenia ochrony - powodów
uzasadniających korzystanie z modułu identyfikacji Microsoft-u -
MS UAM (Microsoft’s User Authentification Module) na stacjach
roboczych Macintosh-a. Przyczyny te są na tyle istotne, że
ewentualne zastrzeżenia użytkowników powinniśmy zignorować.
Chociaż klienci Macintosh AppleShare korzystają przy
połączeniach z serwerem AppleShare z kodowanego hasła, Windows
NT nie potrafi współpracować z przyjętym tam algorytmem
szyfrowania. Bez modułu MS UAM użytkownicy systemów
Macintosh zmuszeni są do przesyłania hasła otwartym tekstem.
Problemy, jakie mogą z tego wyniknąć, zostały już wielokrotnie
opisane w tej książce.
Microsoft oferuje UAM, który może być zainstalowany na
komputerach Macintosh i zapewniać bezpieczny transport haseł
między serwerem a użytkownikiem, żądającym uruchomienia usługi
dla swojej stacji. NT , w ustawieniu standardowym, przesyła hasła ze
stacji Macintosh otwartym tekstem. Administrator powinien
1022
Rozdział 25
jednak wymóc stosowanie UAM. W tym celu możemy skorzystać
z programu MacFile, z grupy Control Panel (rysunek 25.9).
Jeśli wybierzemy opcję
Require Microsoft
Authentication
,
użytkownicy Macintoshy - do połączenia się z serwerem NT - będą
musieli zainstalować i używać MS UAM.
Postępowanie według powyższych wskazówek może wyprowadzić
z równowagi wielu użytkowników komputerów Macintosh.
Dlaczego?
W systemie operacyjnym MacOS v.7 (nazywanym System 7)
Apple wprowadził aliasy do plików. Są one podobne do skrótów
znanych z
Windows 95, ale pozwalają lepiej kontrolować
reprezentowane obiekty. Jeśli użytkownik Maca zarejestrowany jest
na serwerze, to może utworzyć alias do wybranego pliku i umieścić
jego ikonę na swoim pulpicie, podobnie jak to się robi w Windows
95. Podjęcie próby skorzystania z aliasu uruchamia całą procedurę
rejestracyjną. Problem polega na tym, że do identyfikacji wybrany
zostanie domyślnie moduł Apple UAM, zamiast MS UAM.
Przyczyna leży w
MacOS (podobne kłopoty będą mieli
użytkownicy Maców, chcący się zarejestrować na serwerach Novell
NetWare).
Istnieją dwa rozwiązania. Można poprosić użytkowników
Macintoshy, aby nie stosowali aliasów do łączenia się z serwerem
NT , albo żeby przed ich wykorzystaniem „ręcznie” zarejestrowali
się w NT .
Rys. 25.9. Możemy
wymusić, aby przy
pomocy UAM
użytkownicy stacji
Macintosh
przesyłali
zakodowane
hasło.
Przewodnik po zaawansowanych technikach
1023
zabezpieczania systemu
Stosujmy, chroniony hasłem, 32 bitowy wygaszacz ekranu
Windows NT - w razie przerwy w pracy, trwającej dłużej od
zadanego okresu - umożliwia automatyczną ochronę serwera i stacji
roboczej. Polega ona na wykorzystaniu opcji wygaszania ekranu.
Oto kilka uwag:
Konsola może zostać zamknięta po określonym (liczbą minut)
braku aktywności myszy i klawiatury.
Jeśli wybrana zostanie opcja ochrony hasłem i
ustawiony
odpowiedni przedział czasu, podniesie się poziom ochrony konsoli.
Przerwa może być określona całkowitą liczbą minut z przedziału od
1 do 99 (aktualnie istnieje możliwość ustawienia przedziału
z dokładnością do sekund, za pośrednictwem edytora rejestrów.
Wymaga to zmiany ustawień
ScreenSav eTimeOut
w rekordzie
Control
Panel/Desktop
. Sekundowa dokładność w tym przypadku
nie jest jednak konieczna). Zalecana długość przerwy zależy od
środowiska (w przypadku serwera wynosi ona 1).
Uwaga: Przed uruchomieniem chronionego hasłem wygaszacza
ekranu trzeba go najpierw wybrać oraz ustawić opcję ochrony
hasłem.
Rys. 25.10.
W ygaszacz
ekranu z hasłem
może zostać
wykorzystany,
w razie
konieczności
chwilowego
odejścia od
konsoli, do
ochrony danych
przed
niepowołanym
dostępem.
1024
Rozdział 25
Po wyborze wygaszacza ekranu powinniśmy zwrócić uwagę na kilka
elementów. Po pierwsze - należy zaznaczyć program 32 bitowy.
W razie wyboru wygaszacza 16 bitowego opcja ochrony hasłem nie
będzie dostępna, gdyż aplikacje 16 bitowe nie używają WIN32 API,
niezbędnego do współpracy z systemem ochrony. Poza tym
programy 16 bitowe korzystają ze wspólnego obszaru pamięci,
który nie jest chroniony od wpływów innych procesów.
Należy unikać wygaszaczy nie należących do systemu,
przynajmniej do czasu upewnienia się o ich wysokiej jakości (kody
odpowiednich programów Microsoftu przeszły odpowiednie
badania).
Warto również zwrócić uwagę, iż działanie bardziej
skomplikowanych wygaszaczy, na przykład korzystających
z OpenGL, może mieć wpływ na wydajność systemu.
Zezwolenie na zamknięcie systemu tylko zalogowanym
użytkownikom
Domyślne ustawienia Windows NT Serwer powodują, że od
użytkownika próbującego zrestartować lub wyłączyć system
oczekuje się odpowiednich uprawnień.
T ymczasem domyślne ustawienia NT Workstation pozwalają
wyłączyć lub zrestartować system zanim ktokolwiek się zaloguje.
Powinno się zablokować tę możliwość we wszystkich środowiskach.
T rudno jest powiedzieć, skąd wziął się dziwny pomysł umieszczenia
opcji wyłączenia systemu na ekranie inicjującym rejestrację. Można
jedynie przypuszczać, że dla wygody. Ostatecznie, jeśli ktoś zbliży
się do komputera i chce koniecznie go wyłączyć, to wyłącznik
sieciowy jest na wierzchu.
Aby pozwolić na wyłączanie systemu jedynie zarejestrowanym
w nim użytkownikom, należy w
następujący sposób zmienić
odpowiedni rekord rejestru:
Hive:
HKEY_LOCAL_MACHINE
Key:
SOFTWARE\Microsoft\WindowsNT\
Current Version\Winlogon
Value Name:
ShutdownWithoutLogon
Value T ype
REG_SZ
Przewodnik po zaawansowanych technikach
1025
zabezpieczania systemu
Value:
0
Zmieniając wartość na 1 można z powrotem przywrócić domyślne
ustawienie.
Buforowanie kont w systemach Windows NT
Windows NT przechowuje w
buforze pamięci informacje
o dziesięciu ostatnich użytkownikach. Intencją takiego rozwiązania
jest umożliwienie pracy w sytuacji, gdy nawet wszystkie kontrolery
domeny nie są aktywne. Na ogół buforowanie nie stanowi
problemu, gdyż informacje składowane są w chronionej bazie
danych i nie mogą być ujawnione równie łatwo, jak dane
buforowane w Windows 3.x czy Windows 95. T ym niemniej
istnieje pewna możliwość nadużyć.
Rozważmy przykład. Administrator sieci Windows NT
Workstation, podłączonych do NT Serwer, chce pozbawić pewnego
użytkownika możliwości rejestracji na jakiejkolwiek stacji roboczej.
Problem polega na tym, że mimo pozbawienia go wszelkich
uprawnień, może on dalej korzystać ze swojej stacji roboczej -
dzięki buforowaniu kont. Wystarczy, by w tym celu odłączył stację
roboczą od sieci. Komputer zgłosi, co prawda, że nie może znaleźć
kontrolera domeny, ale praca na nim będzie możliwa.
Można zawsze sprawdzić, których użytkowników profile
przechowywane są w
buforze. Wystarczy kliknąć prawym
klawiszem myszy ikonę
My Computer
w programie NT Explorer
i wybrać opcję
Properties
. Następnie należy wybrać etykietę
User
Profiles
. Okno, które ukaże się na ekranie, będzie zawierać
odpowiednie informacje i umożliwi usunięcie profili z bufora.
Pliki, katalogi i zasoby współdzielone
W tej części rozdziału omówimy implementację narzędzi, służących
ochronie plików w NT Server. Nie będzie to szczegółowy wykład na
temat elementów NT FS ani zasad nadawania uprawnień (takie
informacje zawiera bowiem rozdział 6). Przedmiotem aktualnych
rozważań jest problem, jak uczynić system maksymalnie
bezpiecznym.
1026
Rozdział 25
System plików NTFS i uprawnienia na poziomie katalogów
NT FS jest jedynym systemem plików, zapewniającym kontrolę
uprawnień na poziomie plików i katalogów. Już ten fakt czyni go
bardziej bezpiecznym - zarówno od FAT , jak i HPFS. Możliwość
ustawiania uprawnień, odporność na błędy oraz czas dostępu
przekonują wystarczająco, by używać NT FS na wszystkich
partycjach.
NT FS nie zapewnia środków kodowania. Jeśli dysk z partycją NT FS
wyjmiemy z jednej maszyny i zainstalujemy na innej, odczytanie
danych z
dysku będzie w
pełni możliwe. Chociaż domyślne
ustawienia NT nie pozwalają na czytanie dysków NT FS, zapisanych
przez inny system, zawsze możemy skorzystać z innych narzędzi
do odtworzenia danych. Fakt, że inne systemy nie mogą łatwo
odczytać informacji, jest zaledwie utrudnieniem dla włamywaczy,
ale nie zabezpieczeniem.
Odmiennie niż w innych systemach operacyjnych, wspierających
koncepcję praw własności do obiektów, Windows NT nie pozwala
na ich przekazanie, a jedynie przejęcie. Oznacza to, że każdy plik
i kartoteka na wolumenie NT FS ma właściciela. Domyślnym
właścicielem obiektu jest jego założyciel. Nawet administrator nie
może przekazać praw własności innemu użytkownikowi. Można co
najwyżej udzielić praw pełnej kontroli (Full Controll) plików innej
osobie, która następnie może dobrowolnie przejąć ich prawa
własności.
Rozważmy przykład - niech użytkownik będzie zalogowany
w systemie na koncie o nazwie jgarms, które nie posiada
uprawnień administratora i niech utworzy on plik Mytext.txt.
Oczywiście, plik jest własnością konta jgarms. Można się o tym
łatwo przekonać - klikając prawym klawiszem myszy nazwę pliku
w programie Explorer, wybierając etykietę
Security
i wciskając
klawisz
Ow nership
(Stosunki własności). Możemy też przekazać
prawo własności do pliku użytkownikowi, korzystającemu z konta
jsmith
. NT nie zawiera żadnego mechanizmu, który taki zabieg
umożliwia, nawet jeśli użytkownik zarejestruje się w
systemie
z uprawnieniami administratora. Jedyne co można zrobić, to
pozwolić użytkownikowi jsmith na przejęcie praw własności
Przewodnik po zaawansowanych technikach
1027
zabezpieczania systemu
pliku. Można udzielić mu praw pełnej kontroli, a on (jeśli zechce)
może przejąć zbiór Mytext.txt.
Powinniśmy pamiętać, że jeśli utworzy się obiekt, to jest się jego
właścicielem. Jeśli zostanie utworzona kopia zbioru, to jest ona
własnością osoby kopię tę tworzącej. Prawo własności nie jest
dziedziczone z katalogu źródłowego. Zbiór będzie dziedziczył prawa
dostępu, ale właścicielem jest użytkownik sporządzający kopię.
Stosując NT FS można, będąc właścicielem obiektu, odebrać innym
użytkownikom, (nawet administratorowi) wszelkie do niego prawa.
Mimo braku praw do pliku administrator może przejąć jego prawo
własności, przejmując zarazem odpowiednie uprawnienia - takie są
jego prawa. Prawo własności nie może już wrócić do pierwotnego
posiadacza. T ak skonstruowany system tworzy historię zmian
uprawnień.
Osoby znające UNIX brak możliwości przekazywania praw
własności mogą traktować jako istotny mankament. W tamtym
systemie wystarczy wydać polecenie chown i właścicielem obiektu,
wraz z odpowiednimi uprawnieniami, zostaje wskazana osoba.
W NT jest to niemożliwe.
Co prawda komenda chown jest dostępna w NT - nie działa jednak
tak, jak w UNIX-ie. Program chown.exe należy do pakietu
Windows NT Resource Kit i uruchamia podsystem POSIX.
Omawiana komenda może być wykorzystana do przejęcia praw
własności do pliku (o ile ma się właściwe uprawnienia). Próba
uczynienia właścicielem zbioru innego użytkownika skończy się
jednak niepowodzeniem.
Ostrzeżenie: Od podanej wyżej zasady jest wyjątek. W normalnym
Windows NT wszystko przebiega zgodnie z planem, ale jeżeli
zainstalowane jest oprogramowanie wspierające Macintosha, to
przy użyciu dostępnych tam narzędzi można przekazać prawo
własności do pliku, który znajduje się na wolumenie dostępnym dla
użytkowników Maców. Na szczęście fakt przekazania własności
odnotowywany jest w protokole ochrony - można to stwierdzić
posługując się Przeglądarką zdarzeń.
1028
Rozdział 25
Ochrona %SystemRoot%
Wśród plików i katalogów wymagających zabezpieczenia są między
innymi elementy systemu operacyjnego i
oprogramowania.
W
wersji NT 4 Microsoft dokonał zmian w
domyślnych
ustawieniach uprawnień, zapewniając możliwość stopniowania
zabezpieczeń plików - niezależnie od ich roli w
systemie.
Administrator, dla własnego bezpieczeństwa, powinien natychmiast
po instalacji dokonać następujących zmian w uprawnieniach do
plików i katalogów:
%SystemRoot%
Administrators:
Full Control
(All)
Creator Owner: Full Control (All)
Everyone:
Add and Read (RWX) (RX)
System:
Full Control (All)
Server Operators:
Change (RWXD)
%SystemRoot%\Fonts
Administrators:
Full Control
(All)
Creator Owner: Full Control (All)
Everyone:
Add and Read (RWX) (RX)
System:
Full Control (All)
Server Operators:
Change (RWXD)
%SystemRoot%\Help
Administrators:
Full Control
(All)
Creator Owner: Full Control (All)
Everyone:
Add and Read (RWX) (RX)
System:
Full Control (All)
Server Operators:
Change (RWXD)
%SystemRoot%\INF
Administrators:
Full Control
(All)
Creator Owner: Full Control (All)
Everyone:
Add and Read (RWX) (RX)
System:
Full Control (All)
Server Operators:
Change (RWXD)
Przewodnik po zaawansowanych technikach
1029
zabezpieczania systemu
%SystemRoot%\Profiles
Administrators:
Full Control
(All)
Creator Owner: Full Control (All)
Everyone:
Add and Read (RWX) (RX)
System:
Full Control (All)
Server Operators:
Change (RWXD)
%SystemRoot%\Repair
Administrators:
Full Control
(All)
System:
Full Control (All)
Server Operators:
Change (RWXD)
%SystemRoot%\SYSTEM
Administrators:
Full Control
(All)
Creator Owner: Full Control (All)
Everyone:
Add and Read (RWX) (RX)
System:
Full Control (All)
Server Operators:
Change (RWXD)
%SystemRoot%\SYSTEM32
Administrators:
Full Control
(All)
Creator Owner: Full Control (All)
Everyone:
Add and Read (RWX) (RX)
System:
Full Control (All)
Server Operators:
Change (RWXD)
%SystemRoot%\SYSTEM32\DHCP
Jeśli nie jest używany serwer DHCP, katalog ten powinniśmy
usunąć
%SystemRoot%\SYSTEM32\LOGFILES
Administrators:
Full Control
(All)
Creator Owner: Full Control (All)
Everyone:
Add and Read (RWX) (RX)
System:
Full Control (All)
Server Operators:
Change (RWXD)
%SystemRoot%\SYSTEM32\OS2
Jeśli nie używa się programów OS/2, katalog ten należy usunąć
1030
Rozdział 25
%SystemRoot%\SYSTEM32\RAS
Jeśli serwer RAS nie jest wykorzystywany, należy usunąć ten
katalog. W przeciwnym razie udostępnić go możemy wyłącznie
użytkownikom RAS.
%SystemRoot%\SYSTEM32\VIEWERS
Administrators:
Full Control
(All)
Creator Owner: Full Control (All)
Everyone:
Add and Read (RWX) (RX)
System:
Full Control (All)
Server Operators:
Change (RWXD)
%SystemRoot%\SYSTEM32\WINS
Jeśli serwer WINS nie jest używany, katalog ten należy usunąć.
Dodatkowo, w systemach bazujących na architekturze Intela trzeba
zmodyfikować uprawnienia do poniższych plików:
\Boot.ini
Administrators:
Full Control
(All)
System:
Full Control (All)
\NTDETECT.COM
Administrators:
Full Control
(All)
System:
Full Control (All)
\NTLDR
Administrators:
Full Control
(All)
System:
Full Control (All)
\AUTOEXEC.BAT
Administrators:
Full Control
(All)
Everyone: Read
(RX)
System:
Full Control (All)
\CONFIG.SYS
Administrators:
Full Control
(All)
Everyone: Read
(RX)
System:
Full Control (All)
Przewodnik po zaawansowanych technikach
1031
zabezpieczania systemu
Pliki \BOOT.INI oraz \NTDETECT.COM mają atrybut „ukryty”
(hidden). Do zmiany uprawnień tych zbiorów wystarczy otworzyć
okno NT Explorer i - w menu
Options
- wybrać opcję
View
.
W dalszym etapie - wcisnąć
Show all files
(pokaż wszystkie pliki).
Po wykonaniu powyższych czynności zbiory pojawią się na ekranie
i będziemy mogli przystąpić do ustawiania właściwych uprawnień.
Przenoszenie a kopiowanie
Należy zachować ostrożność określając uprawnienia do plików,
które są przenoszone. Pamiętajmy, iż pliki przenoszone są razem
z ich listą uprawnień, natomiast pliki kopiowane dziedziczą
uprawnienia z katalogu docelowego.
Po przeniesieniu lub skopiowaniu plików szczególnie poufnych,
należy zawsze sprawdzić listę kontroli dostępu kopiowanego zbioru
(ACL).
Scopy
Pakiet narzędzi NT Resource Kit zawiera funkcję SCOPY,
umożliwiającą kopiowanie plików z
zachowaniem uprawnień.
Funkcja działa jedynie przy kopiowaniu plików pomiędzy
wolumenami NT FS. Aby z niej korzystać trzeba mieć uprawnienia
użytkownika Backup and Restore - zarówno do komputera
źródłowego, jak i docelowego.
Komenda scopy jest dobrym przykładem, jak wykorzystując
uprawnienia użytkownika, można „oszukiwać” system ochrony.
Administrator musi uważać, aby prawa Bacup and Restore
przyznane były jedynie tym użytkownikom, którzy powinni je
posiadać. Ponadto - z uwagi na fakt, iż NT , skonfigurowany
z zastosowaniem ustawień domyślnych, nie monitoruje pracy
z Bacup and Restore, kontrolowanie wykorzystania funkcji scopy
jest trudne (problem ten omówimy szerzej w dalszej części tego
rozdziału).
Jedyna metoda monitorowania wykorzystania scopy polega na
kontrolowaniu dostępu do ważnych dla nas plików. Jeśli np.
przedmiotem szczególnej ochrony powinien być katalog
E:\CLASSIFIED
, powinniśmy śledzić każdą próbę czytania
katalogu przez użytkowników z przywilejami administratorów. Jeśli
1032
Rozdział 25
któryś z nich - do kopiowania zbiorów z katalogu - posłuży się
funkcją scopy, w protokole zdarzeń ochrony powinien pojawić się
zapis podobny do przedstawionego na rysunku 25.11.
Składnia komendy scopy jest następująca:
scopy source [/o] [/a] [/s]
/o
powoduje kopiowanie informacji o właścicielu,
/a
służy do kopiowania informacji o nadzorze, ale wymaga
uprawnień Manage Auditing - do zbiorów źródłowych
i docelowych,
/s
wskazuje,
że kopiowane będą wszystkie pliki i podkatalogi.
Pamiętajmy o
tym, by parametry wprowadzane były
w wymienionej kolejności.
Uwaga:
scopy
ma trudności z kopiowaniem list kontroli dostępu
(ACL) z dużą liczbą pozycji kontroli dostępu (ACE). Tym samym
zyskujemy jeszcze jeden powód, aby do zarządzania uprawnieniami
używać grup.
Uprawnienie do kasowania plików potomnych
Aby zapewnić pełną zgodność z systemem POSIX, Windows NT
został wyposażony w ukryte uprawnienie, zwane File Delete Child -
FDC (uprawnienie kasowania plików potomnych), dostępne na
Rys. 25.11. Zapis
w protokole
ochrony,
wywołany
dostępem do pliku
z wykorzystaniem
uprawnień
Backup.
Przewodnik po zaawansowanych technikach
1033
zabezpieczania systemu
wolumenach NT FS (użytkownicy z upoważnieniem pełnej kontroli
również nim dysponują).
Użytkownicy, mający prawo kasowania zbiorów potomnych, mogą
usuwać wszystkie pliki znajdujące się bezpośrednio w kartotece, do
której mają uprawnienia pełnej kontroli - nawet jeśli nie mają
uprawnień do kasowania tych zbiorów. Upoważnienie FDC nie
pozwala usuwać podkatalogów oraz plików zagnieżdżonych
w podkatalogach.
Użyteczność prawa FDC wynika z koncepcji, że właściciel katalogu
powinien mieć możliwość usuwania plików, które się w
nim
znajdują, nawet jeśli do niego nie należą.
Dla większości osób uprawnienie FDC nie jest niczym
nadzwyczajnym. Ma znaczenie przede wszystkim jako
równoważnik prawa write w
systemie POSIX. W
UNIX-ie
natomiast - jeśli użytkownik ma dla danego katalogu prawo write -
może usuwać z niego pliki, niezależnie od praw własności oraz
posiadanych uprawnień.
Jeśli chcemy pozbawić użytkownika tego uprawnienia, powinniśmy
odebrać mu prawo pełnej kontroli. Korzystając z opcji uprawnienia
Special
, można nadać mu wszystkie przywileje, z wyjątkiem pełnej
kontroli.
Załóżmy, iż większość plików w kartotece C:\WINNT (lub
w jakimkolwiek, zawierającym %systemroot%, katalogu)
wyposażonych jest w następującą listę uprawnień:
Administrators:
Full Control
(All)
Everyone: Read
(RX)
Server Operators:
Change (RWXD)
System:
Full Control (All)
T ymczasem lista uprawnień do katalogu C:\WINNT zawiera pozycję:
Everyone: Full
Control
(All)
Oznacza to, że każdy może usunąć wszystkie pliki, znajdujące się
bezpośrednio w
analizowanej kartotece. Jako przykład może
posłużyć
C:\WINNT\ WINHLP32.EXE
, wyposażony
w domyślną listę praw dostępu:
Administrators:
Full Control
(All)
1034
Rozdział 25
Everyone: Read
(RX)
Server Operators:
Change (RWXD)
SYST EM:
Full Control (All)
Przykład ten obrazuje, jak ważna jest świadomość konsekwencji
wynikających z uprawnień FDC. Nawet użytkownicy konta gościa
mogą, przy domyślnych ustawieniach systemu, kasować pliki, do
których prawo powinni mieć wyłącznie administratorzy lub
operatorzy systemu.
Ochrona na poziomie zasobów współdzielonych (shares)
Kiedy tworzone są zasoby współdzielone, Windows NT nadaje
grupie
Ev eryone
uprawnienia pełnej kontroli do wszystkich plików
i katalogów tej rodziny. Należy pamiętać, że jeśli korzystamy
z
systemu NT FS, to uprawnienia na poziomie zasobów
współdzielonych weryfikowane są na zasadzie mechanizmu
filtrującego, który redukuje przywileje posiadane przez
użytkownika na poziomie plików i katalogów, natomiast nie może
ich rozszerzyć. T a prosta zasada pozwala administratorowi
skutecznie wzmacniać ochronę systemu.
Oto kilka uwag:
!
Jeśli użytkownik połączy się siecią z zasobem współdzielonym,
do którego ma uprawnienia read-only, to nie będzie mógł
dokonać żadnych zmian wewnątrz niego, nawet gdy będzie
zarejestrowany jako członek grupy administratorów. Jeśli np.
utworzony zostanie zasób współdzielony o nazwie MEMO
i
grupa Everyone otrzyma prawa dostępu read-only, to
korzystając z sieci nie będzie w stanie usunąć ani zmienić
żadnego pliku, nawet jeśli posiada odpowiednie uprawnienia na
poziomie NT FS.
!
Nie wolno ograniczać się wyłącznie do zabezpieczeń
ustawionych na poziomie zasobów współdzielonych, bowiem
wobec użytkownika zarejestrowanego lokalnie restrykcje
dotyczące tak określonych uprawnień nie mają zastosowania.
!
Dostęp do ukrytych, administracyjnych zasobów
współdzielonych, tworzonych automatycznie przez Windows
Przewodnik po zaawansowanych technikach
1035
zabezpieczania systemu
NT , mają wyłącznie członkowie grupy administratorów. Nie
można zmienić praw dostępu do tych zbiorów.
Ukrycie zasobów współdzielonych nie stanowi ich
zabezpieczenia
Gdy przeglądamy sieć Microsoftu, nie widać zasobów
współdzielonych, których nazwa zakończona jest symbolem $.
T akie rozwiązanie jest użyteczne,
ponieważ pozwala
administratorowi zabezpieczyć niektóre zasoby przed
wyświetlaniem ich na wszystkich listach przeglądarek. Są jednak
narzędzia (np. używany zwykle Net Watch), które pozwalają
zobaczyć ukryte zasoby na większości maszyn NT . Poza tym, jeśli
użytkownik wie o istnieniu zasobu współdzielonego, może się z nim
po prostu połączyć.
Uwaga: Podkreślamy tutaj fakt, iż ukrycie zasobów nie jest ich
automatycznym zabezpieczeniem. Pewność ochrony dają dopiero
odpowiednio zaimplementowane uprawnienia na poziomie
zasobów współdzielonych, plików i folderów.
Zasoby współdzielone skryptów logowania
Windows NT Server tworzy automatycznie na kontrolerach
domeny administracyjne zasoby o
nazwie NET LOGON,
wykorzystywane do przechowywania skryptów loogowania
użytkowników. Grupie Everyone przyznane jest domyślnie
uprawnienie read-only. Aby podnieść poziom ochrony,
powinniśmy:
1. Odebrać grupie Everyone prawa dostępu do NET LOGON,
a w zamian udostępnić zasób grupie
Domain Users
(Użytkownicy domeny) z uprawnieniami read-only. T ylko
członkowie domeny powinni mieć dostęp do tego zasobu.
2. Na poziomie plików zaimplementować indywidualne
uprawnienia do skryptów - tak, aby każdy użytkownik mógł
widzieć wyłącznie swój własny skrypt. Nie ma powodu, by
ktokolwiek oglądał cudze zbiory.
1036
Rozdział 25
Więcej informacji o konfigurowaniu usług rejestracyjnych oraz
o tworzeniu skryptów znajdziemy w rozdziale 9.
Usługi
Przeglądając zabezpieczenia Windows NT , nie można pominąć,
realizowanych w
systemie programów usługowych. Cechą
wyróżniającą NT na tle Windows 3.x i Windows 95, jest możliwość
równoczesnego uruchamiania różnych procesów w
kontekście
różnych użytkowników (wcześniej omawialiśmy aspekt
wielozadaniowości w Windows NT ).
Z uwagi na fakt, iż procesy są zwykle uruchamiane z konta
użytkownika - innego niż to, na którym rejestruje się osoba
inicjująca proces - istotne jest zrozumienie, jakie programy
usługowe są uruchamiane przez system, z
jakich kont
użytkowników korzystają i jakie interakcje zachodzą między nimi
a resztą systemu.
Uwaga: Stwierdzenie, że proces używa zwykłego konta użytkownika,
jest równoważne określeniu: proces działa w kontekście zwykłego
użytkownika.
Programy usługowe Win32
Większość programów usługowych Windows NT uruchamiana jest
domyślnie w kontekście lokalnego konta
SYSTEM
(rysunek 25.12).
Przewodnik po zaawansowanych technikach
1037
zabezpieczania systemu
Zapewnia to programom usługowym specjalne uprawnienia do
różnych części systemu. Niektóre z nich, takie jak Alerter
(program wysyłający alerty administracyjne), Computer Browser
(przeglądarka komputerów podłączonych do sieci) oraz Event Log
(protokół zdarzeń), nie mogą być uruchomione w kontekście
jakiegokolwiek innego konta. Próba ich konfiguracji za pomocą
opcji
Serv ices
grupy
Control Panel
wykaże, że opcja
umożliwiająca zmianę konta -
Log On As
-
nie jest aktywna. Inne
usługi, takie jak ClipBook Server (program obsługujący
komunikację między schowkami sieciowymi), Directory Replicator
(powielanie katalogów) czy Scheduler (terminarz), mogą być
skonfigurowane do korzystania z ustalonych kont. Dla większości
środowisk domyślne ustawienia Windows NT konfigurują właściwie
prawie wszystkie programy usługowe. T ym niemniej kilka procesów
nie powinno być uruchamianych w kontekście konta
SYSTEM
, gdyż
umożliwia to „uprowadzenie” procesu i
jego wykorzystanie
w trudnym do przewidzenia celu.
Do konfiguracji kont, z których powinny korzystać programy
usługowe, możemy posłużyć się dwiema metodami. Pierwsza polega
na utworzeniu jednego, nie uprzywilejowanego konta użytkownika,
z którego będą korzystać wszystkie usługi. Druga - wymaga
utworzenia odrębnego konta dla każdego programu. Jak już
wcześniej zauważyliśmy, NT umożliwia tworzenie praktycznie
dowolnej liczny kont. Pozwala to na uruchamianie każdej usługi
Rys. 25.12.
W iększość
programów
usługowych
W indows NT
korzysta
z lokalnego konta
SYSTEM
.
1038
Rozdział 25
z konta posiadającego dokładnie takie uprawnienia, jakie są jej
niezbędne do pracy.
Należy rozważyć uruchamianie następujących programów z kont
o ograniczonych uprawnieniach:
!
Replicator Service (Powielanie katalogów)
!
Scheduler Service (T erminarz )
!
prawie wszystkie programy innych producentów, które dodane
do systemu uruchamiane są w
charakterze programów
usługowych NT .
Uwaga: Jeśli konfiguracja ochrony obejmuje blokowanie konta
w razie określonej liczby nieudanych rejestracji w systemie, istnieje
możliwość, że złośliwy haker zablokuje konto użytkownika, z którego
korzysta usługa, próbując się na nim wielokrotnie zalogować.
Skutkuje to brakiem możliwości korzystania przez użytkowników
z programów usługowych. Np. Microsoft Internet Information
Server (IIS), który jest elementem NT Serwer 4, tworzy konto
umożliwiające dostęp do stron Web. Domyślna nazwa konta to:
IUSR_nazwa_komputera
. Jeśli konto jest zablokowane, nikt
nie może uzyskać dostępu do IIS.
Jest to jeden z przykładów, w których ochrona systemu kłóci się
z możliwością potencjalnego unieruchomienia programu
usługowego.
Powielanie katalogów
Oprócz względów związanych z ochroną istnieje jeszcze jeden
powód, aby ten program korzystał z
konta użytkownika.
W ustawieniu standardowym konto
SYSTEM
zabezpieczone jest
przed dostępem za pośrednictwem sieci. Użycie specjalnego konta
użytkownika umożliwia zdalne korzystanie z usługi.
Terminarz
Prace dla terminarza powinni zlecać wyłącznie członkowie grupy
administratorów. Dlatego dla tej usługi należy utworzyć specjalne
Przewodnik po zaawansowanych technikach
1039
zabezpieczania systemu
konto o ograniczonych uprawnieniach. Ponieważ specyficznym
zadaniem programu jest uruchamianie innych procesów, musimy
mieć pewność, iż jest on zabezpieczony przed niepowołanym
wykorzystaniem.
Możemy przyjąć, że terminarz stosowany jest do uruchamiania
codziennej archiwizacji za pomocą makrodefinicji, wywołującej
program NT Backup. Jeśli ktoś zastąpi makrodefinicję czymś
innym, na przykład programem typu „koń trojański” - będzie on
uruchomiony z uprzywilejowanego konta. Nie możemy takiego
niebezpieczeństwa lekceważyć.
Aby ograniczyć ryzyko, należy uruchamiać terminarz w kontekście
innego konta niż
SYSTEM
. Uprawnienia przyznane kontu powinny
być jak najmniejsze. Oczywiście, dokładny zakres uprawnień
zależny jest od określonego środowiska sieciowego.
Chcąc uruchamiać program przy użyciu terminarza, należy być
pewnym, że jest on odpowiednio zabezpieczony przed ingerencjami
w jego wnętrze lub próbami podmiany. Ponadto w makrodefinicjach
wywoływanych usługą należy stosować wyłącznie pełne ścieżki
dostępu.
Programy zewnętrzne, wykorzystywane w charakterze aplikacji
usługowych NT
Musimy zawsze zachowywać ostrożność przy instalowaniu
programów, mających pełnić rolę usług systemowych. T worząc
konto użytkownika do kontroli programu usługowego, powinniśmy
uwzględniać niebezpieczeństwo, wynikające z zastosowania progra-
mów typu „koń trojański”. Innym zagrożeniem są awarie,
spowodowane błędami w programowaniu. Konsekwencje użycia
takich programów mogą być nieobliczalne. Ograniczenia
systemowe mogą takie ryzyko zredukować.
Świetnym przykładem dla naszych rozważań jest historia związana
z oprogramowaniem firmy Novell. Niedawno odkryto w doskonale
sprzedającym się programie archiwizującym bardzo poważny błąd.
Program instalował się w
systemie NT jako usługa i
tworzył
uprzywilejowane konto, z którego się uruchamiał. Błąd polegał na
tym, że hasło dla konta było stałe i niezwykle łatwe do złamania.
1040
Rozdział 25
Oznacza to, że każdy mógł mieć uprzywilejowany dostęp do
systemu. T ym razem sprawa skończyła się szczęśliwie. Szybko
napisano program naprawczy i rozesłano użytkownikom. Nikt nie
poniósł szkody, niemniej dowodzi to wyraźnie, iż administrator
winien mieć rozeznanie, jakie programy usługowe działają
w systemie oraz jakie są uprawnienia kont, z których korzystają.
Uwaga: Dobrym rozwiązaniem dla programów, które wymagają
tworzenia konta użytkownika, jest losowe generowanie hasła,
z którego korzystają. Zapobiega to możliwości złamania hasła. Z tej
metody korzysta na przykład, przy tworzeniu swojego konta
internetowego, Internet Information Server (IIS)
Internet Information Server
Jednym z ważniejszych, nowych narzędzi Windows NT Server 4
jest Internet Information Server w
wersji 2.0. Umożliwia on
publikowanie różnych treści w
Internecie lub Intranecie, za
pośrednictwem serwisów FT P, Gopher i WWW (HT T P).
Chociaż jest elementem znacznie podnoszącym funkcjonalność
systemu, może być również źródłem różnorodnych zagrożeń dla
jego ochrony.
Konto IUSR_nazwa_komputera
Podczas instalowania IIS, tworzone jest konto o
nazwie
IISR_nazwa_komputera
, gdzie nazwa_komputera
oznacza oczywiście komputer, na którym instalowany jest
program. Dostępne jest ono przez gości komunikujących się
z systemem - za pośrednictwem serwerów IIS FT P, Gopher
i WWW. Hasło konta generowane jest losowo.
Powinniśmy wiedzieć, jakie uprawnienia są domyślnie przypisywane
kontu oraz jakie to rodzi konsekwencje dla ochrony systemu (jego
równowagi). Otóż konto IUSR_nazwa_komputera należy do
grupy użytkowników domeny oraz lokalnej grupy gości. Posiada
uprawnienia do lokalnej rejestracji w
systemie. Oznacza to
w szczególności, że jeśli IIS jest zainstalowany na kontrolerze
domeny, to z opisywanego konta można się zarejestrować na
Przewodnik po zaawansowanych technikach
1041
zabezpieczania systemu
dowolnym, innym kontrolerze domeny. Ponieważ hasło
generowane jest losowo w czasie instalacji, prawdopodobnie nie
będzie interesować administratora. T ym niemniej, jeśli dla własnego
komfortu chce je znać, a nawet zmienić, to może to uczynić
w Menedżerze użytkowników (User Menager). W
ostatnim
przypadku nie wolno nam zapomnieć o odnotowaniu zmiany
w konfiguracji programu IIS za pośrednictwem Internet Services
Manager (Administratora programów usługowych dla Internetu).
Uwaga: Rozważania na temat konsekwencji zastosowania prawa
lokalnej rejestracji (Log On Localy) kontynuowane są w części
zatytułowanej „Usługa WWW.”
Usługa FTP
T eraz przejdziemy do rozważań związanych z
ochroną,
w odniesieniu do protokołu transferu plików (FT P). Wersja
dostarczana wraz z Windows NT 3.5x była trudna do poprawnego
skonfigurowania, stąd próby właściwego ustawienia bezpiecznej
pracy protokołu, kończyły się dla często niepowodzeniem. Nowa
wersja FT P, zawarta w NT 4 - jako część serwera informacyjnego
Internetu (IIS), została poprawiona. Można ją uczynić bardzo
bezpieczną w relatywnie prosty sposób.
Uwaga: Jeśli nie znajdujemy uzasadnienia dla pracy z FTP w wersji
3.3x, protokół ten powinniśmy natychmiast zamienić na nowy.
Domyślne ustawienia instalacyjne IIS FT P umożliwiają jedynie
anonimowe połączenia. Jeśli nawet niektóre osoby uznają to za
niebezpieczne dla systemu, w
rzeczywistości jest odwrotnie.
Ponieważ program współpracuje z bazą danych użytkowników NT ,
możemy łatwo umożliwić użytkownikom rejestrowanie się z ich
standardowym identyfikatorem oraz nazwą. T ymczasem
mechanizm przesyłania tych danych nie jest chroniony, ponieważ
są one transmitowane otwartym tekstem (o niebezpieczeństwach,
jakie mogą z tego wyniknąć, mówiliśmy już wielokrotnie).
Jedyna metoda korzystania z usług FT P, bez naruszenia zasad
ochrony, polega na traktowaniu go jako anonimowej składnicy
1042
Rozdział 25
plików. Użytkownicy, chcący z niej w taki sposób skorzystać,
używają identyfikatora anonymous i wprowadzają dowolne hasło -
system natomiast umożliwia dostęp. W rzeczywistości klienci IIS
FT P, którzy rejestrują się poprzez identyfikator anonymous, są
identyfikowani przez system na koncie określonym w konfiguracji
FT P, za pośrednictwem Menedżera usług internetowych (Internet
Service Manager), co pokazuje rysunek 25.13.
Uwaga: W rzeczywistości nie istnieje użytkownik o
nazwie
anonymous.
W przypadku rezygnacji z
obu opcji
Allow Anonymous
Connection
(zezwolenie na połączenie anonimowe) i
Allow only
anonymous
Connection
(zezwolenie wyłącznie na połączenie
anonimowe), NT wyświetli ostrzeżenie, że system ochrony jest
zagrożony (rysunek 25.14).
Rys. 25.13.
„Anonimowi”
użytkownicy FTP
są
w rzeczywistości
identyfikowani
w kontekście
konta i hasła
wprowadzonego
w Menedżerze
usług
internetowych.
Przewodnik po zaawansowanych technikach
1043
zabezpieczania systemu
Usługa WWW
Uruchamiając w systemie serwer IIS WWW, musimy być świadomi
pewnych zagrożeń. Pierwsze - to dopuszczenie do przesyłania nie
zakodowanych haseł. Drugie - przekazanie przez IIS serwerowi
WWW precyzyjnej kontroli dokumentów na poziomie
użytkownika.
Standardowo skonfigurowany IIS, do przetwarzania zadań WWW
stosuje konto IUSR_nzwa_komputera. Program usługowy
WWW jest ograniczony w dostępie do plików. Może zazwyczaj
korzystać z, tworzonego w
trakcie instalacji IIS, katalogu
WWWROOT
i jego podkatalogów. Jeżeli powyższa struktura znajduje
się na partycji NT FS, kontu IUSR_nazwa_komputera można
odmówić praw dostępu do dowolnego pliku. Użytkownicy,
próbujący uzyskać dostęp do takich plików za pomocą przeglądarki
WWW, poddani będą identyfikacji poprzez identyfikator i hasło.
Problem polega na tym, że (z wyjątkiem Secure Sockets Layer -
SSL) przeglądarki WWW przesyłają hasło siecią otwartym tekstem.
Standardowa konfiguracja IIS nie akceptuje jednak systemów
potwierdzania tożsamości, zaimplementowanych w przeglądarkach
WWW. Do identyfikacji klientów wykorzystywany jest system
Windows NT Challenge/Response (wezwanie/odpowiedź), który
koduje hasło przed przekazem siecią.
Uwaga: W czasie pisania książki jedyną przeglądarką WWW,
zgodnie współpracującą z NT Challenge/Response był MS Internet
Explorer.
Oznacza to, że decydując się stosować identyfikację klientów
WWW, bez korzystania z SSL, należy zastosować system NT
Challenge/Response.
Jeżeli w Menedżerze programów usługowych Internetu (Internet
Service Manager) wybrano opcję
Basic
(podstawowy), pozwalającą
na korzystanie z
wbudowanego w
przeglądarkę systemu
identyfikacji użytkowników, NT wygeneruje ostrzeżenie
o zagrożeniu dla ochrony (rysunek 25.15).
Rys. 25.14. Serwer
programu
usługowego FTP
ostrzega, że przy
wybranej
konfiguracji
hasła
użytkowników
będą przesyłane
przez sieć
otwartym tekstem,
co umożliwia ich
przechwycenie
poprzez Packet
analyzer
( Analizator
pakietów).
1044
Rozdział 25
Drugi problem, związany z serwerem IIS WWW, odnosi się do
metody posługiwania się identyfikacją na poziomie użytkownika.
Jak już wspominaliśmy przy okazji konta
IUSR_nazwa_komputera
, IIS wymaga od użytkowników,
mających dostęp do stron WWW, uprawnienia Log On Localy
(lokalnej rejestracji w systemie). W czasie instalacji IIS konto
IUSR_nazwa_komputera
otrzymuje takie uprawnienie, co nie
stanowi problemu, gdyż hasło jest nieznane. T ymczasem, jeżeli
trzeba - przy użyciu IIS - ograniczyć dostęp do stron WWW dla
różnych użytkowników, należy wyposażyć ich wszystkich
w uprawnienie Log On Locally do serwera NT . Stanowi to poważny
problem, gdyż - jak już wcześniej mówiliśmy - nikt nie powinien
mieć możliwości rejestrowania się na konsolach serwerów NT .
Jedyną sugestią, którą możnaby podzielić się w tym miejscu, byłaby
wskazówka - by przed nadaniem uprawnień lokalnej rejestracji,
fizycznie zabezpieczyć serwery przed niepowołanym dostępem.
Na szczęście Microsoft zmieni metodę identyfikacji użytkowników
w kolejnej wersji systemu, ponieważ dotychczasowa jest wynikiem
zwyczajnego błędu, powstałego już na etapie koncepcji.
Domena
Struktura domenowa, stosowana przez Windows NT , wprowadza
znacząco więcej, niż prosta metoda lokalnego grupowania zasobów
(jak to jest w
grupie roboczej). Stanowi silny fundament
bezpiecznego środowiska sieciowego. Zawiera w szczególności bazę
danych kont użytkowników, która jest dostępna dla wszystkich
zasobów domeny. Ponadto implementuje bezpieczne relacje
upoważnienia - nie tylko między innymi domenami, lecz również
wśród systemów NT , będących elementami domeny. Dzięki tym
Rys. 25.15. Jeśli
wybrano
podstawową
metodę
identyfikacji
użytkowników,
hasło będzie
mogło być
przesyłane siecią
otwartym tekstem.
Przewodnik po zaawansowanych technikach
1045
zabezpieczania systemu
relacjom, jedna maszyna w
systemie NT może potwierdzać
identyfikację innego komputera, co jest istotnie różne od prostej
możliwości potwierdzania tożsamości użytkownika pojedynczej
maszyny, dostępnej na stacjach roboczych Windows 3.x i Windows
95.
Przyłączenie domeny
W przeciwieństwie do komputerów z Windows 3.x, Windows 95
i komputerów Macintosh, maszyny z Windows NT Workstation
i Windows NT Server, skonfigurowanym jako serwer typu member,
dysponują możliwością udziału w strukturze ochrony domeny NT ,
której są elementami. Odpowiedniego ustawienia dokonujemy
w momencie przyłączenia stacji do domeny. Zanim jednak to
nastąpi, w domenie musi być utworzone odpowiednie konto
zaufania stacji roboczej (workstation trust account). Może tego
dokonać wyłącznie członek grupy administratorów. Konto będzie
używane do potwierdzania za pomocą hasła tożsamości tych
użytkowników, którzy będą się rejestrować w systemie.
Konto dla maszyny tworzymy w programie Server Manager,
jednocześnie podejmując decyzję, czy system będzie stacją
roboczą/serwerem, czy zapasowym kontrolerem domeny. Po
utworzeniu konta nie wyznacza się żadnego hasła. Po pierwszym
uruchomieniu nowego systemu NT i nadaniu mu nazwy, zgodnej
z nazwą wcześniej utworzonego konta, stacja przystąpi do
negocjowania „hasła” z kontrolerem domeny. Będzie ono służyło
do stworzenia chronionego kanału łączności między NT
a
kontrolerem domeny, który odpowiada w
szczególności za
identyfikację maszyny i
uniemożliwia innym urządzeniom
„strojenie się w cudze piórka”. Hasło jest regularnie negocjowane
z kontrolerem, unieniemożliwiając tym samym podłączenie do
domeny innego komputera pod cudzą nazwą.
Uwaga: Dzięki relacjom zaufania między stacjami roboczymi,
komputery NT, skonfigurowane w domenę, są rzeczywiście odporne
na atak wykorzystujący podmianę adresu IP. Dotyczy to jednak
wyłącznie usług NT: plikowych, drukowania i
administracji,
w przeciwieństwie do programów usługowych standardu TCP/IP -
takich jak FTP czy HTTP.
1046
Rozdział 25
Z punktu widzenia bezpieczeństwa należy zwrócić uwagę na
utworzone konta komputerów (które nie są natychmiast
wykorzystywane). Niewykorzystane konto może posłużyć do
podłączenia się do domeny. Co więcej - jeśli zapomnimy
o utworzonym koncie kontrolera domeny, intruz będzie mógł
uaktywnić serwer NT i podłączyć go w charakterze zapasowego
kontrolera domeny, a w konsekwencji np. - skopiować bazy danych
o użytkownikach.
Są zatem wystarczające powody, aby nigdy nie tworzyć na zapas
kont komputerowych. Należy ponadto systematycznie przeglądać
(w Menedżerze serwerów) wszystkie konta komputerowe i usuwać
te, które nie są już potrzebne.
Relacje upoważnienia w domenie
Jedno z największych nieporozumień na temat relacji upoważnienia
w domenie wynika z przekonania, że ich ustanowienie ogranicza
uprawnienia administratora. Nie ma to nic wspólnego
z rzeczywistością. T worząc relacje między domenami, budujemy po
prostu bezpieczną ścieżkę od głównego kontrolera każdej domeny,
dzięki której w jednej chronionej domenie można sprawdzić
uprawnienia użytkownika innej.
Utworzenie relacji upoważnienia między dwiema domenami nie
powoduje żadnych bezpośrednich zmian w przywilejach administra-
tora. Wszystkie działania wymagające takich uprawnień przeprowa-
dzać mogą wyłącznie administratorzy odpowiednich domen.
Filtrowanie za pośrednictwem protokołów TCP/IP
Nowością w NT 4 jest możliwość wykorzystania T CP/IP do
ustawiania ochrony poprzez filtrację na poziomie protokołu.
Pozwala ona przyznać lub odmówić usługi połączenia, opartego
o jeden z numerów portów T CP lub UDP. Umożliwia więc
efektywne filtrowanie pakietów, tworząc pewnego rodzaju system
ochrony (firewall system).
Rozwiązanie to jest szczególnie pożyteczne, gdy chcemy, by serwer
był dostępny w Internecie z ustalonymi ograniczeniami. Gdy np.
system ma być podłączony fizycznie do Internetu, ale wymagane
Przewodnik po zaawansowanych technikach
1047
zabezpieczania systemu
jest, aby pełnił tam wyłącznie rolę serwera Web, możemy wtedy
udostępnić odpowiedni adres portu. Podobnie można ograniczyć
wykorzystanie systemu - do pracy z serwerem SQL, udostępniając
jedynie adres portu do bazy danych.
Uwaga: Omawiane rozwiązanie jest podobne do narzędzia TCP
Wrapper, stosowanego w systemie UNIX.
Odpowiednie ustawienia można wykonać dla każdego interfejsu
z osobna, przy pomocy narzędzi grupy
Netw ork Control Panel
. Po
otwarciu okna grupy wybieramy etykietę
Protocols
, a następnie
ikonę
TCP/IP Protocol
. Po wyświetleniu strony
Microsoft TCP/IP
Protocol
Properties
klikamy
Adv anced
, zaznaczając następnie
pole wyboru
Enable Security
. Na koniec wystarczy kliknąć
Configure
i już możemy przystąpić do ustawienia portu, który ma
być poddany filtracji (rysunek 25.16).
Aby zmiany konfiguracji były skuteczne, należy zrestartować
system.
Popularne porty
T abela 25.2 zawiera listę najbardziej znanych adresów portów
w środowisku NT . Ponieważ system filtrowania Windows NT
pozwala na dołączanie portów na zasadzie „jeden po drugim” -
zamiast wyłączać je w taki sam sposób, przed uruchomieniem
filtracji powinniśmy poznać najpopularniejsze porty.
Rys. 25.16.
Możemy wybrać,
które adresy
portów TCP, UDP
lub protokoły IP
mają być
udostępnione
systemowi do
nasłuchu.
1048
Rozdział 25
Tabela 25.2. Adresy portów Windows NT.
Adres
portu
TCP/UDP
Słowo
kluczowe
O pis
7
echo
Echo
9
discard
Discard; alias=sink null
13
daytime
Daytime
17
qotd
Quote of the Day; alias=quote
19
chargen
Character Generator; alias=ttytst
source
20
ftp-data
File T ransfer [Default Data]
21
ftp
File T ransfer [Control]
23
telnet
T elnet
Adres
portu
TCP/UDP
Słowo
kluczowe
O pis
25
smtp
Simple Mail T ransfer; alias=mail
42
namesserver Host Name Server;
alias=nameserver
53
domain
Domain Name Server;
alias=nameserver dns
66
sql*net
Oracle SQL*NET
67
bootpc
DHCP/BOOT P Protocol Server
68
bootpc
DHCP/BOOT P Protocol Server
69
tftp
T rivial File Server
70
gopher
Gopher
79
finger
Finger
80
www
World Wide Web HT T P
Default WINS name server
destination port
Przewodnik po zaawansowanych technikach
1049
zabezpieczania systemu
107
rtelnet
Remote T elnet Service
108
snagas
SNA Gateway Access Server
109
pop2
Post Office Protocol Version 2;
alias=postoffice
110
pop3
Post Office Protocol Version 3;
alias=postoffice
118
sqlserv
SQL Servieces
119
nntp
Network News T ransfer Protocol;
alias=usenet
123
ntp
Network T ime Protocol;
alias=ntpd ntp
137
netbios-ns
NetBIOS Name Service
138
netbios-dgm NetBIOS Datagram Service
161
snmp
SNMP; alias=snmp
162
snmtrap
SNMT RAP
Adres
portu
TCP/UDP
Słowo
kluczowe
O pis
177
xdmcp
X Display Manager Control
Protocol
178
nextstep
NextStep Window server
194
irc
Internet Relay Chat Protocol
Usługa zdalnego dostępu
Usługa zdalnego dostępu - RAS (Remote Access Service) - jest
potężnym narzędziem do tworzenia wielu protokołów, połączeń
telefonicznych i
wirtualnych kontaktów w
sieciach rozległych
(WAN). Niestety, użyteczność programu ma swoją cenę -
potencjalnie poważne zagrożenie ochrony. Zanim podejmiemy
decyzję o
zaimplementowaniu w
swojej sieci serwera RAS,
powinniśmy uświadomić sobie implikacje dla ochrony systemu oraz
przemyśleć zabezpieczenia przed grożącymi z zewnątrz atakami.
1050
Rozdział 25
Poniżej przedstawiliśmy uwagi na temat pewnych ustawień serwera,
poprawiających ochronę sieci.
W trakcie instalacji systemu RAS program upomni się
o
skonfigurowanie kluczowych opcji, mających wpływ na
bezpieczeństwo pracy z serwerem. Rysunek 25.17 przedstawia
okno, umożliwiające ustawienie właściwych parametrów.
Kodowanie hasła
Serwer zdalnego dostępu Windows NT udostępnia trzy metody
identyfikacji użytkowników, którzy korzystają z
połączeń
telefonicznych. Pierwsza (najmniej bezpieczna) polega na
przesyłaniu hasła otwartym tekstem. Miała ona na celu umożliwić
łączność klientom spoza środowiska NT , posługującym się
protokołem
PAP (Password Authentication Protocol).
Wielokrotnie wspominaliśmy, iż takie potwierdzanie tożsamości
ułatwia przechwycenie hasła.
Niezależnie od ustawień serwera RAS, klienci Microsoftu mogą
zawsze negocjować najbardziej bezpieczną metodę identyfikacji,
dostępną zarówno dla serwera, jak i dla klienta.
Rys. 25.17.
W czasie
instalacji serwera
programu
usługowego
zdalnego dostępu
należy ustawić
parametry,
mające wpływ na
ochronę systemu.
Przewodnik po zaawansowanych technikach
1051
zabezpieczania systemu
Druga opcja, polegająca na żądaniu kodowanej identyfikacji,
umożliwia bezpieczniejszą kontrolę tożsamości przy użyciu jednej
z metod: SPAP, DES, CHAP lub MS-CHAP.
Protokół SPAP (Shiva Password Authentication Protocol) używa
dwustronnego kodowania, zabezpieczającego hasło podczas
połączeń z klientami sieci Shiva LAN Rover.
System kodowania DES zaimplementowany został w serwerze dla
zapewnienia kompatybilności sieci opartych o stare rozwiązania
Microsoftu - takie jak Windows for Workgroups RAS.
Protokół CHAP (Challenge-handshake Authentication Protocol)
stosuje do zabezpieczenia identyfikację wezwania z jednostronnym
kodowaniem odpowiedzi. Właściwością CHAP, podnoszącą poziom
ochrony, jest możliwość systematycznej kontroli tożsamości
klienta poprzez każdorazowo zmieniane wezwania. Przy błędnej
odpowiedzi połączenie z serwerem zostaje przerwane. Dodatkową
cechą protokołu jest zdolność do korzystania z
różnych
algorytmów kodowania. Microsoft opracował wariant protokołu
o nazwie MS-CHAP. Implementuje on standard kodowania MD4
RSA Data Security Incorporated, który stanowi najwyższy poziom
ochrony identyfikacji na serwerze RAS Windows NT . Aktualnie tą
metodą potwierdzania tożsamości mogą się posługiwać jedynie
klienci Windows NT i Windows NT RAS. Oni też, kontaktując się
między sobą, wynegocjują zawsze metodę identyfikacji, stosującą
protokół MS-CHAP.
Najczęściej wykorzystywaną (przez systemy inne niż NT ) metodę
kodowania stanowi protokół RSA MD5-CHAP. Mogą z niego
korzystać klienci pracujący w Windows NT RAS, natomiast nie jest
on używany przez serwery NT RAS. Chociaż MD5 jest uważana za
bardzo silną metodę kodowania, wymaga ona, aby podczas
składowania na serwerze hasła nie były zaszyfrowane - co jest
z kolei niedopuszczalne na serwerach NT .
Dzięki opcji
Require Microsoft encryption
klienci mogą się
połączyć z serwerem jedynie po identyfikacji metodą MS-CHAP.
1052
Rozdział 25
Kodowanie danych
Aby lepiej zabezpieczyć informacje w
transmisji łączami
publicznymi (takimi jak standardowe linie telefoniczne lub sieci
oparte na protokole X.25), Microsoft umożliwił kodowanie
strumieni danych. Jeśli wykorzystywany jest MS-CHAP, możemy
również wybrać opcję powodującą kodowanie danych. Jest ona
dostępna jedynie po wyborze metody identyfikacji Microsoftu.
Do szyfrowania wszystkich danych, przesyłanych linią RAS,
stosowany jest algorytm RSA RC4, korzystający z 40- bitowego
klucza, ustalanego w momencie nawiązywania połączenia.
Uprawnienia do połączenia telefonicznego z serwerem zdalnego
dostępu (RAS Dialin)
Po zainstalowaniu serwera RAS w Windows NT musimy każdemu
użytkownikowi z
osobna przyznać uprawnienia do zdalnego
łączenia się z systemem. Można to zrobić z wykorzystaniem
Menedżera użytkowników (User Manager) lub programu
administracyjnego zdalnego dostępu (Remote Access Admin).
Pierwsza metoda może być zastosowana tylko w Windows NT 4,
we wcześniejszych wersjach trzeba używać programu
administracyjnego.
W oknie Menedżera użytkowników wybieramy na karcie
Properties
(własności)
Dialin
(połączenie telefoniczne). Pojawi się
teraz okno dialogowe, w którym możemy danemu użytkownikowi
przyznać prawo zdalnego łączenia się i potwierdzania tożsamości
w
domenie. Dodatkowo system oferuje nam tutaj opcję,
umożliwiającą połączenie dopiero po oddzwonieniu przez system
(rysunek 25.18).
Przewodnik po zaawansowanych technikach
1053
zabezpieczania systemu
Administrator może - przy pomocy programu narzędziowego
Rasusers z
NT Resource Kit - sporządzać listę wszystkich
użytkowników, mających uprawnienia do zdalnego łączenia się
z serwerem RAS. Listę tę powinniśmy regularnie weryfikować.
Połączenie po oddzwonieniu przez system
Aby zwiększyć ochronę systemu, należy rozważyć możliwość
nawiązywania połączenia dopiero po oddzwonieniu przez serwer.
Dla większości użytkowników, którzy łączą się z systemem z domu,
wskazanie numeru, pod który ma oddzwaniać serwer, nie będzie
problemem. W ten sposób minimalizuje się niebezpieczeństwo
anonimowego nawiązania komunikacji z
systemem. Jeśli do
bezpiecznej identyfikacji użytkowników przywiązujemy dużą wagę,
powinniśmy bezwzględnie metodę tę zaimplementować.
Ograniczenia dostępu do sieci
Jeśli podjęliśmy decyzję o przyznaniu użytkownikom prawa dostępu
do systemu za pośrednictwem łącz telefonicznych, program
usługowy RAS zezwoli na ograniczanie zasięgu tego uprawnienia.
Można w szczególności umożliwić użytkownikom dostęp do całej
sieci lub - dla zwiększenia ochrony - wyłącznie do serwera RAS.
Narzędziem do konfiguracji programu RAS jest Network Control
Panel (Sieciowy panel kontrolny). Poziom ograniczeń możemy
tutaj ustawić, wybierając odpowiednie opcje w
oknie
przedstawionym na rysunku 25.19.
Rys. 25.18.
Menedżer
użytkowników
może służyć
nadawaniu
uprawnień do
zdalnego łączenia
się użytkowników
przy pomocy
serwera RAS.
1054
Rozdział 25
Jeżeli użytkownicy nie mają specyficznych potrzeb zdalnego
dostępu do zasobów sieci, to celem zredukowania konsekwencji
ewentualnego wyłomu w systemie ochrony, należy ograniczyć
możliwość łączenia się telefonicznego - wyłącznie do stacji
lokalnej.
Pozasystemowe zabezpieczenia sprzętowe (Security Hosts)
Microsoft zaprojektował i umieścił w programie usługowym RAS
otwarty interfejs, który umożliwia integrację z systemem NT
zewnętrznych systemów zabezpieczeń. Zdolność do
bezproblemowego dołączenia zabezpieczenia sprzętowego
umożliwia zwiększenie ochrony połączeń telefonicznych.
Zabezpieczenia sprzętowe umożliwiają dodatkowy poziom
sprawdzania tożsamości przed zezwoleniem użytkownikom na
dostęp do serwera RAS. Dodatkowa identyfikacja dokonywana jest
poprzez indywidualny klucz sprzętowy, będący w
posiadaniu
użytkownika. Bez odpowiedniego kodu generowanego przez ten
klucz urządzenie nie dopuści do połączenia z serwerem. W chwili
obecnej Windows NT współpracuje z licznymi, zewnętrznymi
zabezpieczeniami sprzętowymi.
Ponieważ omawiane rozwiązania są stosunkowo drogie, należy
przypuszczać, że - poza szczególnie chronionymi systemami - nie
znajdą zastosowania. Omawiany wcześniej system łączności,
polegający na oddzwanianiu przez serwer (celem nawiązania
połączenia) zabezpiecza sieć przed większością intruzów. Przewagą
Rys. 25.19.
Konfigurując
serwer RAS
można ograniczyć
zdalny dostęp
wyłącznie do
niego, zamiast do
całej sieci.
Przewodnik po zaawansowanych technikach
1055
zabezpieczania systemu
zabezpieczenia sprzętowego jest umożliwienie zdalnego połączenia,
bez konieczności przebywania w
zapowiedzianym wcześniej
miejscu.
Protokół PPTP a zwiększenie ochrony
Windows NT 4 wprowadził nowe rozwiązanie o nazwie PPTP
(Point to Point Tunneling Protocol). Stanowi ono rozszerzenie
RAS, umożliwiające tworzenie wirtualnej sieci prywatnej - VPN
(Virtual Private Networks). Poniżej przedstawiliśmy dwa przykłady,
kiedy PPT P wydatnie poprawia ochronę.
Jeśli musimy się skontaktować się z drugą osobą za pośrednictwem
Internetu, możemy użyć PPT P - do utworzenia „kodowanego
tunelu” w sieci, gwarantującego tajemnicę rozmowy.
Gdy trzeba nawiązać połączenie z
siecią przedsiębiorstwa za
pośrednictwem niezależnego dostarczyciela usług internetowych,
można użyć PPT P, który zagwarantuje ochronę danych,
przesyłanych przez modem między komputerem a siecią NT .
Bezpieczeństwo pracy z PPT P wynika z zastosowania, wbudowanej
w RAS, metody kodowania, opartej o algorytm RC4 RSA Data
Security Inc, z czterdziestobitowym kluczem. Klucz ten ustalany
jest podczas nawiązywania łączności VPN.
PPT S umożliwia bezpieczną komunikację za pośrednictwem
Internetu.
Rejestry
Ponieważ rejestry zawierają parametry kontrolne całego systemu
Windows NT , ważnym krokiem do jego zabezpieczenia jest
zapewnienie im odpowiedniej ochrony. Zdobycie przez hakera
kontroli nad rejestrami pozwala mu w
zasadzie swobodnie
zaatakować system.
1056
Rozdział 25
Uwaga: Microsoft umieścił w Windows NT dwa narzędzia do edycji
rejestrów:
REGEDT
32.
EXE
i
REGEDIT
.
EXE
. Pierwszy z programów
jest tym samym, który dostępny był w poprzednich wersjach
systemu. Drugi natomiast - jest nową wersją, przeniesioną
z Windows 95. Jak już mówiliśmy - chociaż
REGEDIT
.
EXE
posiada
bardziej przyjazny interfejs użytkownika, nie zawiera jednak
ważnych i niezbędnych elementów do konfiguracji zabezpieczeń
rekordów rejestrów. Z tego powodu do edycji list kontroli dostępu
(ACL) oraz do umożliwienia nadzoru zapisów w rejestrach, trzeba
korzystać z programu
REGEDT
32.
EXE
.
Ochrona rejestrów
Podobnie jak wszystkie elementy Windows NT , rejestry to zbiór
plików o hierarchicznej strukturze. Składowane są one w głównym
katalogu systemowym. Aby móc konfigurować uprawnienia lub
nadzorować pojedyncze rekordy rejestrów, nie trzeba ich instalować
na partycji NT FS. T ym niemniej, jeśli zasadniczy rdzeń systemu
nie będzie umieszczony na wolumenie NT FS, wszyscy będą mogli
bezpośrednio czytać i
modyfikować zasoby katalogu
C:\WINNT\SYSTEM32\ CONFIG
. Z
tego właśnie powodu
powinniśmy składować główne zbiory systemowe na partycji NT FS.
Informacje zawarte w rejestrach, które należy chronić przed
niepowołanym dostępem
Aby określić potrzeby związane z ochroną rejestrów, należy przede
wszystkim przeanalizować poziom niebezpieczeństwa, wynikający
z ujawnienia przechowywanych tam danych. T rzeba pamiętać, że
domyślne ustawienia Windows NT pozwalają czytać większą część
rejestrów każdemu użytkownikowi, dysponującemu lokalnym lub
zdalnym dostępem do systemu. Nieszczęśliwie ochrona
systemowych baz danych jest bardziej dziedziną sztuki aniżeli nauki.
Zmieniając cokolwiek w rejestrach musimy zachować niezwykłą
ostrożność, gdyż poprawna praca licznych programów wiąże się
z odczytem różnych rekordów baz danych. Nieprzemyślane
modyfikacje uprawnień mogą spowodować trudne do przewidzenia
problemy z systemem.
Przewodnik po zaawansowanych technikach
1057
zabezpieczania systemu
Z drugiej strony systemowe bazy danych zawierają cenne
informacje, które nie powinny być dostępne dla większości
użytkowników. Domyślne ustawienia praw dostępu do zasobów
rejestrów zabezpieczają je przed modyfikacją przez użytkowników,
nie posiadających odpowiednich uprawnień. Brak tutaj jednak
skutecznych środków, pozwalających zapobiec czytaniu zbiorów
przez osoby nie powołane.
Na przykład grupa Everyone (Wszyscy) ma uprawnienia read do
całej zawartości katalogu HKEY_LOKAL_MACHINE\HARDWARE.
Umożliwia to zdobycie dostępu do kompletnej informacji
o konfiguracji sprzętowej serwera NT . Można się w szczególności
dowiedzieć o rodzaju i liczbie procesorów, zasobach pamięci RAM,
typie kart sieciowych i kontrolerów dysków, marce i modelu
archiwizerów oraz o rodzaju karty graficznej. Ponadto na podobny
brak ochrony przed czytaniem cierpią zasoby kartotek SOFTWARE
i SYSTEM. Można więc bez problemu zdobyć wiele informacji
o
konfiguracji sieci, używanych protokołach, powiązaniach
poszczególnych elementów, programach usługowych i
ich
ustawieniach itp. Posiadanie tego rodzaju danych może być
pomocne przy wyszukiwaniu słabych punktów ochrony systemu.
Nie ma niestety prostej metody ochrony rejestrów. Można
próbować ostrożnie usuwać prawo dostępu Everyone/read do
niektórych zbiorów, ale nie wolno zapominać, że liczne programy
korzystają z systemowych baz danych. Zmiany w prawach dostępu
do zbiorów mogą więc powodować nieprzewidywalne rezultaty. Jak
dotąd Microsoft udostępnił niezwykle mało informacji na temat
skutecznej ochrony rejestrów.
Możemy się posłużyć (dla próby) następującą metodą. Otóż
w
edytorze rejestrów powinniśmy umożliwić pełny nadzór
wybranych zasobów - na przykład
HKEY_LOCAL_
MACHINE\HARDWARE
(por. rysunek 25.20).
Aby nadzór przyniósł efekt, trzeba - w programie Audit Policy
(Strategia nadzoru) - włączyć opcję kontroli zdarzeń, związanych
z plikami i obiektami.
Przy pomocy Przeglądarki zdarzeń (Event viewer) należy
sprawdzać, którzy użytkownicy i jakie systemy żądają dostępu do
1058
Rozdział 25
rejestrów. Pozwoli to nam określić właściwy poziom ochrony dla
każdego zbioru.
Decydując się na takie postępowanie trzeba zapewnić odpowiedni
rozmiar protokołu ochrony (Security Log) oraz wyłączyć opcję
CrashOnAuditFail
(Wyłączanie systemu, gdy protokół jest
zapełniony).
T rochę bardziej ryzykowne (ale za to gruntowne) podejście do
problemu polega na ograniczeniu dostępu Everyone/read do
zasobów wymagających ochrony, a następnie śledzenie wywołanych
tym zdarzeń. Większa skuteczność okupiona jest blokowaniem
licznych procesów - ze względu na brak możliwości współpracy
z bazami systemowymi. Obierając metodę radykalną, musimy się
liczyć z widokiem wielu zamkniętych kłódek w protokole ochrony.
Zabezpieczanie rejestrów
Aby podnieść ogólny poziom ochrony rejestrów, należy ograniczyć
uprawnienia dostępu grupy Everyone do następujących zbiorów:
HKEY_LOCAL_MACHINE\Software\Microsoft\RPC
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows
NT\CurrentVersion
HKEY_LOCAL_MACHINE\Software\Windows 3.1 Migration
Status
Rys. 25.20. System
monitoringu
W indows NT
umożliwia
określenie
użytkowników
i programów,
żądających
dostępu do
wybranych
zapisów
w rejestrach.
Przewodnik po zaawansowanych technikach
1059
zabezpieczania systemu
HKEY_CLASSES_ROOT
Lista kontroli dostępu powinna zawierać uprawnienia Query Value,
Read Control, Enumerate Subkeys i Notify. Zwracajmy uwagę, aby
nie zmienić praw dostępu dla podzbiorów opisanych rejestrów.
Odnosi się to zwłaszcza do uprawnień do zapisów w rejestrach,
znajdujących się poniżej:
HKEY_LOCAL_MACHINE\Software\ Microsoft\
Windows NT\CurrentVersion.
Drukarki
Wspólne drukarki są w Windows NT domyślnie udostępnione
wszystkim użytkownikom sieci. Możliwość drukowania nie stwarza
zazwyczaj wielkich problemów związanych z
ochroną, ale
nieuprawnione drukowanie blokuje dostęp do kolejki właściwym
użytkownikom oraz zwiększa koszty eksploatacji systemu. Dobrze
jest zatem zweryfikować domyślną konfigurację uprawnień do
drukowania.
Uprawnienia do drukowania
Podłączając lub modyfikując ustawienia drukarek, musimy
zarejestrować się w
systemie jako członek lokalnej grupy
administratorów, operatorów serwera (Server Operators) lub
operatorów drukarek (Print Operators). Do weryfikacji uprawnień
dla każdej drukarki z osobna posłuży nam Menedżer drukarek
(Printer Manager). Domyślne ustawienia uprawnień przedstawia
rysunek 25.21.
1060
Rozdział 25
Należy usunąć z listy całą grupę Everyone i zastąpić ją jakąkolwiek
właściwą grupą użytkowników, której członkowie muszą korzystać
z urządzenia. Więcej informacji o
konfiguracji uprawnień do
drukowania zawiera rozdział 8.
Drukarki a protokoły TCP/IP
Jeśli serwer jest połączony z
dużą siecią, w
szczególności
z Internetem, trzeba z uwagą przeanalizować protokoły używane
przez drukarki. Gdy są one podłączone bezpośrednio do sieci i mają
służyć bardziej do jej obsługi, aniżeli operatorom serwera, to należy
raczej zrezygnować - do ich obsługi - z protokołu T CP/IP.
Powszechną metodą drukowania za pośrednictwem sieci z użyciem
T CP/IP są protokoły wydruku typu Berkeley: LPR i
LPD.
Protokoły te nie przewidują identyfikacji na poziomie użytkownika
i dlatego umożliwiają drukowanie każdemu, kto podłączy się do sieci
i
zna adres IP drukarki. Oczywiście, można zawsze
zaimplementować mechanizmy filtrujące na poziomie routera,
wykorzystując dodatkowo odpowiednie oprogramowanie drukarek.
Łatwiejsze rozwiązanie (od skomplikowanych zabiegów,
niezbędnych do ustawienia mechanizmów filtrujących) wiąże się
z rezygnacją z narzędzi T CP/IP do obsługi drukarek sieciowych i ich
zastąpieniem protokołami niestandardowymi. Również inne
powody skłaniają do korzystania z protokołów typu DLC lub Apple
T alk (teamtowi temu poświęciliśmy więcej miejsca w rozdziałach 8
i 13).
Rys. 25.21.
Konfiguracja
domyślna
przewiduje prawo
drukowania na
wspólnej
drukarce w grupie
Everyone.
Przewodnik po zaawansowanych technikach
1061
zabezpieczania systemu
Nadzorowanie drukarek
Decydując się na nadzorowanie pracy z drukarkami, musimy
odpowiednio skonfigurować system w Menedżerze wydruku (Print
Manager). Wcześniej jednak będziemy musieli ustawić -
w Menedżerze użytkowników domeny (User Manager for Domain)
- funkcje śledzenia pracy drukarek.
Klienci stacji roboczych M acintosh-a
Użytkownicy komputerów Macintosh mogą domyślnie drukować
na dowolnych drukarkach, niezależnie od ustawień dotyczących
uprawnień do pojedynczych urządzeń. Dzieje się tak z powodu
braku możliwości identyfikacji (w tym przypadku) użytkowników
drukarek na poziomie klienta. Program usługowy, umożliwiający
stacjom Macintosh drukowanie w Windows NT , korzysta z konta
SYSTEM
i dlatego każdy posiada dostęp do wszystkich drukarek
lokalnych. Nie ma możliwości skonfigurowania uprawnień do
drukowania na poziomie użytkownika.
Możemy natomiast ograniczyć przywileje wszystkim
użytkownikom Maców. W tym celu należy:
1. Korzystając z Menedżera użytkowników domeny utworzyć
konto użytkowników drukarek. Konto powinno mieć założone
hasło oraz zablokowane możliwości zmiany i
wygasania
ważności hasła (opcje
User cannot change passw ord
oraz
Passw ord nev er expiries
).
2. W programie Services grupy Control Panel ustawić opcję
Serv ices
dla programów usługowych Macintosha - aby
umożliwić im rejestrację w systemie przy użyciu utworzonego
konta. Windows NT , w razie korzystania przez użytkowników
z przyznanego przywileju, będzie generował ostrzeżenie.
3. Wyposażyć konto w odpowiednie uprawnienia za pomocą
Menedżera drukarek (Printer Manager).
Archiwizacja
Pora wrócić do fundamentalnego pytania o wartość informacji
składowanych na serwerze. Chociaż konieczność tworzenia kopii
1062
Rozdział 25
zapasowych nie jest nigdzie kwestionowana, jedynie nieliczne
organizacje przywiązują należytą uwagę do ochrony swoich taśm
archiwalnych.. Niezależnie od zaimplementowanego poziomu
ochrony plików i katalogów, taśmy zapasowe tworzone są na
różnych systemach i
odtwarzane bez jakiejkolwiek kontroli.
Dlatego należy podkreślić, że ostrożność przy tworzeniu kopii
zapasowych oraz przechowywanie taśm pod kluczem należą do
fundamentalnych zasad bezpieczeństwa.
Taśmy archiwalne nie są kodowane
NT Backup nie koduje informacji podczas zapisu na taśmę. Jak
dotąd nie ma oprogramowania współpracującego z
NT ,
umożliwiającego szyfrowanie kopii zapasowych. Oznacza to, że
niezależnie od stopnia poufności danych, każdy kto posiada dostęp
do taśm archiwalnych i systemu NT , może swobodnie odczytać ich
zawartość. Sporo osób uważa, że kodowanie taśm zapasowych
byłoby pożyteczne. Wydaje się jednak, że takie rozwiązanie
miałoby więcej wad niż zalet. Podstawowym problemem byłoby
posługiwanie się kluczem, służącym do deszyfracji danych. Na
pewno nie mógłby być on używany na poziomie systemu. W razie
całkowitej awarii odtworzenie danych byłoby niemożliwe. Z kolei
zabezpieczenie klucza hasłem z
określonym wymogiem
wprowadzania go przez użytkownika rodzi niebezpieczeństwo jego
zagubienia.
Ochrona taśm archiwalnych
Za najlepszą ochronę archiwów należy przyjąć przechowywanie
taśm pod kluczem. Wiąże się to ponadto z odpowiednim grafikiem
rotacji oraz właściwym inwentaryzowaniem taśm archiwalnych.
T aśmy nie mogą być przechowywane w sąsiedztwie komputerów.
W razie kradzieży, pożaru lub innej klęski, mogłyby również
ucierpieć. Istnieją organizacje, świadczące usługi przechowywania
danych (w USA). Zazwyczaj w nominalnej opłacie mieści się
przyjeżdżanie w zaplanowanych terminach i regularne odbieranie
taśm archiwalnych. Przy wyborze firmy usługowej nie powinniśmy
kierować się wyłącznie ceną, zwłaszcza gdy przechowujemy dane
poufne. Przed wykupieniem abonamentu należy sprawdzić warunki,
Przewodnik po zaawansowanych technikach
1063
zabezpieczania systemu
w jakich będą przechowywane archiwa oraz środki stosowane do
fizycznego zabezpieczenia taśm. Ważna jest również szybkość
dostarczenia kopii zapasowych w razie konieczności odtworzenia
systemu.
Operator archiwizacji
Uprawnienia do archiwizacji i odtwarzania danych (Backup &
Restores), nadane grupie operatorów archiwizacji (Backup
Operators), należą do najpotężniejszych w Windows NT . Przy ich
pomocy możemy pominąć brak uprawnień administracyjnych na
poziomie NT FS. Właściciel uprawnień Backup & Restores może
bowiem zarchiwizować system i
odtworzyć go na innym
komputerze NT , na którym posiada prawa administratora.
Dodatkowym problemem jest brak możliwości pełnego nadzoru
korzystania z tego przywileju. Rozumiejąc wszystkie konsekwencje
dla ochrony, trzeba uznać, że osoby mogące archiwizować system,
mają pełną możliwość wglądu do zawartości taśm z kopiami
zapasowymi. W
przeciwnym razie należy oddzielić fizycznie
operatorów archiwizacji od urządzeń taśmowych. W ten sposób
delikatną stroną zabezpieczenia staje się dostęp do taśm.
Przykładem ilustrującym ten punkt jest przedsiębiorstwo (znane
autorowi), w którym wszyscy użytkownicy systemu, niezależnie od
pełnionych funkcji, poddani byli surowym regułom.
W szczególności administrator miał zakaz dostępu do jakichkolwiek
danych użytkowników. Jedynym realnym skutkiem takich
obostrzeń była jego frustracja. Aby uzyskać dostęp do dowolnych
zbiorów, wystarczyło bowiem wykonać ich archiwizację, a później
je odtworzyć. Lepiej jest zaufać swojemu administratorowi
i umożliwić mu wykonywanie obowiązków. W
środowisku
wymagającym absolutnej poufności niezbędne jest zamknięcie
serwera i urządzeń archiwizujących. Dostęp do maszyny przez
administratora wymaga wtedy towarzystwa osoby przeszkolonej
w dziedzinie ochrony systemu. Wspominamy o tym, aby podkreślić
zasadność strategii ochrony. Nie wolno stawać w pół drogi. W razie
stwierdzenia luk powinniśmy powtórnie przeanalizować
konfigurację. Nie wolno nam bowiem zakładać, że użytkownicy nie
zauważą błędów.
1064
Rozdział 25
Pamiętajmy też, aby uprawnienie do archiwizowania i odtwarzania
danych powierzać wyłącznie osobom zaufanym.
M iejsce zainstalowania urządzeń taśmowych
Każdy użytkownik Windows NT może korzystać z urządzenia
archiwizującego. Z tego powodu nie wolno zostawiać w napędzie
taśm z potencjalnie poufnymi danymi. Jeśli wkładamy taśmę przed
rutynową archiwizacją, to wcześniej należy ją wykasować. Podobnie
taśmę należy usunąć z maszyny możliwie szybko, po skończeniu
archiwizacji. Nie ma sposobu ograniczenia dostępu do archiwizerów
w sposób analogiczny do napędów dysków elastycznych czy CD-
ROMów.
Nadzór
Fundamentalnym elementem ochrony Windows NT jest system
nadzoru. Umożliwia on administratorowi śledzenie działalności
użytkowników. Prawidłowo stosowany pozwala identyfikować
zagrożenia dla bezpieczeństwa i próby niepowołanego dostępu.
Przedstawimy teraz kilka podstawowych wskazówek na temat
wykorzystania możliwości nadzoru, jako narzędzi podnoszących
stopień ochrony.
Nadzór zorientowany na ochronę
W standardowym ustawieniu Windows NT , zdarzenia związane
z ochroną nie są śledzone. Wytłumaczyć to można oszczędnością
czasu procesora i przestrzeni dyskowej. Konfigurację systemu
nadzoru umożliwiają narzędzia zawarte w odpowiednim programie
Menedżera użytkowników domeny (rysunek 25.22).
Przewodnik po zaawansowanych technikach
1065
zabezpieczania systemu
Powinniśmy śledzić przynajmniej błędne próby logowania - by
ewentualnie wykryć usiłowania włamania się do systemu. Poza tym
należy rozważyć zapisywanie zdarzeń związanych z pomyślnymi
rejestracjami, by odnotować
użytkowników pracujących
w niestandardowym czasie. Możemy np. stwierdzić w ten sposób, że
ktoś z nocnego personelu przedsiębiorstwa próbuje zarejestrować się
w systemie, starając się (nawet jeśli robi to legalnie) zdobyć
niedozwolone informacje.
T rzeba również rozważyć kontrolę korzystania z
uprawnień
użytkowników oraz zdarzeń związanych z zarządzaniem grupami
i użytkownikami, a także wszelkich zmian w systemie ochrony
i nadzoru. Wybierając zapisywanie zdarzeń z tej grupy, które
skończyły się niepomyślnie, będzie wiadomo, co ludzie próbują
robić w systemie. Skłonność do zabawy i ciekawość są naturalne i co
jakiś czas ktoś spróbuje zrobić rzeczy, których robić nie powinien.
Innym razem, ktoś wykona czynność, nie znając jej konsekwencji.
Kontrola nieudanych prób pozwala zidentyfikować osoby
wymagające obserwacji lub pomocy administratora.
Nadzorowanie zdarzeń pomyślnych pozwala zapisywać informacje,
które mogą przydać się w
przyszłości. Pomaga również
zidentyfikować problemy i wyjaśnić, co naprawdę zdarzyło się
w systemie. Wyobraźmy sobie następującą sytuację: ktoś utworzył
plik w jednej kartotece, a następnie przeniósł go do innej,
chronionej (znacznie skuteczniej) prawami dostępu. Ponieważ plik
odziedziczył maskę uprawnień z pierwszego katalogu, użytkownik
Rys. 25.22.
Śledzenie
zdarzeń,
mających wpływ
na
bezpieczeństwo,
konfigurujemy
w Menedżerze
użytkowników
( User Manager).
1066
Rozdział 25
posądził administratora o manipulowanie prawami dostępu do jego
pliku. T ylko zapisy w protokole ochrony mogą zabezpieczyć
administratora przed podobnymi sytuacjami.
Pomijając specyficzne potrzeby lub potrzeby środowisk
wymagających skrajnych zabezpieczeń, śledzenie procesów
(Process Tracking) nie jest konieczne. W obciążonych systemach
opcja ta pochłania znaczne zasoby. Ponadto zapisy niepomyślnych
zdarzeń, generowanych przez oprogramowanie, zajmują miejsce
w protokołach, które może być potrzebne do odnotowania
rzeczywiście istotnych zjawisk. Krytyczne zapisy usuwane są
z protokołów wcześniej, niż byśmy tego chcieli.
Kontrola dostępu do plików
Wiedza o osobach, próbujących zdobyć dostęp do różnych plików
i katalogów, jest - z punktu widzenia ochrony - bardzo pożyteczna.
Windows NT umożliwia śledzenie dostępu do każdego pliku i każdej
kartoteki z osobna. Aby to było możliwe, należy skonfigurować
system, wybierając opcję dostępu do plików i obiektów -
File and
Obj ect Access
-
w programie konfiguracyjnym nadzoru z grupy
Menedżera użytkowników domeny (User Manager for Domains).
Bez wstępnej konfiguracji, próby ustawienia nadzorowania dostępu
do plików i katalogów za pośrednictwem NT Explorera lub
Menedżera plików będą bezskuteczne.
Załóżmy, że istnieje potrzeba ograniczenia dostępu do kartoteki
E:\CLASSIFIED
(gdy np. prawo dostępu do zbiorów ma bardzo
ograniczona liczba osób). Oczywiście, przede wszystkim należy
zastosować odpowiednie narzędzia NT FS do zabezpieczenia zbiorów
na poziomie plików i katalogów. Nadzór dostępu do katalogu
dostarcza natomiast informacji, co użytkownicy robią z plikami
katalogu. Z drugiej strony, dzięki informacjom zapisywanym
w protokole, administrator może być spokojny, że dostęp do
poufnych informacji posiadają jedynie osoby uprawnione.
Jeśli system skonfigurowany został w
sposób umożliwiający
śledzenie dostępu do plików i
katalogów, to aby ustawić
nadzorowanie konkretnych zbiorów, należy zaznaczyć je
w Menedżerze plików (lub w NT Explorer), a następnie ustalić,
jakie działania konkretnych użytkowników mają być śledzone. Na
Przewodnik po zaawansowanych technikach
1067
zabezpieczania systemu
przykład: dla omawianego wyżej katalogu można ustawić kontrolę
nieudanego dostępu dla wszystkich użytkowników, natomiast
z działań zakończonych sukcesem mogą być interesujące pomyślne
próby zmiany uprawnień do zbiorów lub przejęcie ich własności
(prawa: Change Permissions i Take Ownership) przez członków
grupy administratorów (rysunki 25.23 i 25.24).
Rys. 25.23.
Ustawienie
nadzoru
wszystkich
nieudanych
zdarzeń
związanych
z dostępem do
zbiorów katalogu
E:\CLASSIFIED
.
Rys. 25.24.
Zmiany
uprawnień
i przejęcie
własności
zbiorów katalogu
E:\CLASSIFIED
przez członków
grupy
administrator
odnotowywane
będą w protokole
ochrony.
1068
Rozdział 25
Protokół ochrony
Zdarzenia śledzone dzięki odpowiednio zaimplementowanej
konfiguracji systemu nadzoru zapisywane będą w
protokole
ochrony. Dostęp do protokołu umożliwia Przeglądarka zdarzeń
(rysunek 25.25).
W domyślnym ustawieniu wgląd do protokołów zdarzeń mają
jedynie członkowie grupy lokalnych administratorów. Można
umożliwić przegląd i usuwanie protokołów innym użytkownikom,
nadając im - w Menedżerze użytkowników domeny - uprawnienia
zarządzania nadzorem i protokołem ochrony (Manage Auditing
and Security Log).
Możliwość przeglądania i kasowania protokołu ochrony przez
lokalnych administratorów należy do własności systemu.
W rzeczywistości nie można go ograniczyć nawet poprzez
odebranie tej grupie odpowiednich uprawnień.
Należy przewidzieć odpowiedni czas na zrozumienie struktury
i wyglądu protokołów. Administrator musi szybko i
dobrze
interpretować zapisy oraz rozpoznawać zagrożenia. Protokoły
należy przeglądać regularnie, przynajmniej raz na tydzień.
Najlepiej jest, jeśli protokoły są przeglądane i kasowane przed
całkowitym ich zapełnieniem. Czas zapisywania zbiorów, właściwa
częstotliwość archiwizacji i kasowania, zależą od ilości i rodzaju
śledzonych zdarzeń oraz liczby użytkowników korzystających
z systemu.
Rys. 25.25.
Dostęp do
protokołu
ochrony
umożliwia
Przeglądarka
zdarzeń.
Przewodnik po zaawansowanych technikach
1069
zabezpieczania systemu
Odpowiednie parametry protokołów ustawiane są przy pomocy
Przeglądarki zdarzeń (rysunek 25.26).
Ustawienia domyślne pozwalają zapisać w protokole 512 KB
informacji, co zazwyczaj jest wielkością niewystarczającą.
Określenie rozmiaru zbioru na 4 096 KB jest rozwiązaniem
typowym i możliwym do zaakceptowania dla większości środowisk
sieciowych. Lepiej jest częściej przeglądać i archiwizować zapisy
w protokołach, niż nadmiernie zwiększać ich rozmiary. Przestrzeń
niezbędna do zapisu zdarzeń mających wpływ na ochronę, zależy od
ich charakteru. Oznacza to konieczność obserwacji dziennika oraz
analizy czasu, w jakim się wypełniają (np. informacje o 250
nieudanych rejestracjach w systemie zajmują około 64 KB).
Aby odczytać aktualny rozmiar protokołu ochrony - chcąc na
przykład sprawdzić, czy rozmiar protokołu zbliża się do ustalonej
granicy, wystarczy zerknąć na właściwy plik, to jest:
C:\WINNT\SYSTEM32\CONFIG\SECEVT.EVT
. Nie można
go co prawda otworzyć, ale można skontrolować jego wielkość
(zawsze wielokrotność liczby 64 KB).
Protokół ochrony ustawiony jest domyślnie na nadpisywanie
zdarzeń, które zostały nagrane wcześniej niż przed siedmioma
dniami. W większości sieci należy rozważyć zmianę opcji na
Do Not
Ov erw rite Ev ents
(nie nadpisywać zdarzeń), a poprzez właściwe
ustawienie maksymalnego rozmiaru zapewnić sobie, że nie zapełni
się zbyt wcześnie. T akie ustawienie pozwala łatwo ustalić
najważniejsze działania hakerów, próbujących włamać się do
systemu. Możliwość nadpisywania zdarzeń pozwala zastosować
strategię, polegającą na powtarzaniu działań, mających na celu
wypełnianie protokołu - do czasu zatarcia wszelkich śladów
rzeczywistej działalności hakera.
Rys. 25.26. System
umożliwia
określenie
maksymalnej
wielkości
protokołu
ochrony oraz
czasu, po jakim
stare zapisy będą
zamieniane
nowymi.
1070
Rozdział 25
Wymuszenie zamknięcia systemu w razie zapełnienia dziennika
ochrony
Zaznaczając jedną z opcji:
Ov erw rite Ew ents Older then x Days
(Nadpisywać zdarzenia starsze niż x dni) lub
Do not Ov erw rite
Ev ents
(Nie nadpisywać zdarzeń), powinniśmy rozważyć
wymuszenie zamknięcia systemu w
przypadku zapełnienia
dziennika. T aka konfiguracja rekomendowana jest jedynie
w instytucjach, w których większą wagę przywiązuje się do ochrony
systemu, niż do jego dostępności. Daje jednak pewność, że żadne
istotne dla ochrony zdarzenie nie uniknie zapisania w protokołach.
Wybierając takie ustawienie, należy oczywiście odpowiednio
ustawić rozmiar protokołu. Przydaje się ono szczególnie wtedy, gdy
ktoś próbuje zatrzeć ślady po swej działalności, generując serię
zdarzeń, wymagających odnotowania w protokole.
Niektórzy zastanawiają się, dlaczego tak ważny środek ochrony
możliwy jest do ustawienia w utrudniony sposób. Programiści
Microsoftu uznali prawdopodobnie, że będzie stosowany jedynie
w instytucjach, dla których (na przykład banki) zapisy protokołów
są żywotnie istotnym dokumentem.
Aby ustawić system do automatycznego wyłączenia po zapełnieniu
protokołu, należy - w Edytorze rejestru - wprowadzić następujące
zapisy do odpowiedniego rekordu:
Hive:
HKEY_LOCAL_MACHINE
Key:
SYSTEM\CurrentControlSet\Control\LSA
Value Name:
CraschOnAuditFail
Value T ype
REG_DWORD
Value:
1
Przy takiej konfiguracji, po zapełnieniu protokołu ochrony, system
automatycznie się wyłączy. Protokoły aplikacji i systemowy nie
mają wpływu na wyłączenie systemu.
System traktuje wyłączenie tak, jak każde inne. Dlatego używając
opisanego sposobu zabezpieczenia protokołów, należy rozważyć
wyłączenie opcji automatycznego restartowania systemu po awarii.
W przeciwnym bowiem razie system natychmiast wznowi pracę,
a nadzór ochrony będzie wyłączony do czasu odpowiednich
modyfikacji. Po przymusowym zamknięciu zmieniona zostaje
Przewodnik po zaawansowanych technikach
1071
zabezpieczania systemu
odpowiednia zawartość rekordu CraschOnAuditFail na
REG_NONE
, co umożliwia zrestartowanie systemu bez groźby
ponownego wyłączenia.
Aby odtworzyć konfigurację systemu po wyłączeniu
spowodowanym przepełnieniem protokołu ochrony, należy:
1. Zrestartować komputer.
2. Zarejestrować się w systemie jako administrator.
3. Zarchiwizować zdarzenia, zapisane w protokole ochrony.
4. Usunąć zapisy protokołu.
5.
Skasować zapisy rekordu rejestrów w
HKEY_LOCAL_MACHINE\
SYSTEM\CurrentControlSet\Control\Lsa.
6. Odtworzyć zawartość rekordu CrashOnAuditFail w sposób
opisany wcześniej.
7. Ponownie przeładować komputer.
Strategia usuwania zapisów protokole ochrony
Niezależnie od ustalonego rozmiaru protokołu oraz częstotliwości
kasowania zapisów, musimy opracować strategię ich archiwizacji.
Posiadanie zarchiwizowanych protokołów jest pożyteczne dla
administratora, gdyż często pewne zdarzenia, których dzisiaj nie
łączy się z żadnym problemem, jutro mogą wiele wyjaśnić.
W tych instytucjach, które priorytetowo traktują bezpieczeństwo,
należy wdrożyć sformalizowaną strategię postępowania przy
usuwaniu protokołów ochrony. Musimy pamiętać, że dzienniki
zawierają również informacje o
działaniu administratorów,
skierowanym przeciwko ochronie systemu. Przyjęta strategia
powinna określać zasady dokumentowania czasu archiwizacji
protokołów, osób, które je przeglądają, terminów, w jakich były
czytane oraz okresu ich archiwizacji. Ważne jest określenie, jakie
działania (jeśli zajdzie potrzeba) będą podejmowane w przypadku
niewłaściwego usuwania zapisów protokołu ochrony. Protokoły
dokumentują bowiem, czy użytkownicy korzystają z
systemu
zgodnie z przyjętymi zasadami ochrony.
1072
Rozdział 25
Archiwizacja protokołów ochrony
Protokół zawiera poufne informacje, do których nie powinny mieć
dostępu osoby postronne. Należy mieć pewność, że są
archiwizowane w katalogach zabezpieczonych przed niepowołanym
dostępem. Można np. założyć odpowiednią kartotekę poniżej
%SYSTEM_ROOT%
i nadać do niej uprawnienia dostępu jedynie
administratorowi. Nie można oczywiście zapomnieć o konieczności
nadzoru dostępu do katalogu.
Używając do archiwizacji protokołu Przeglądarki zdarzeń, musimy
się upewnić, że zbiory są zapisywane w odpowiednim katalogu.
T worzenie kopii zapasowych tą metodą powoduje dziedziczenie
uprawnień do archiwum na poziomie plików NT FS.
Jeśli protokół zostanie zachowany w innym katalogu - na przykład
C:\USERS\DEFAULT -
wtedy plik odziedziczy prawa dostępu
do tego katalogu. Po przeniesieniu zbiorów we właściwe miejsce
uprawnienia te zostaną zachowane. Jeśli prawo omijania kontroli
uprawnień do katalogów nadrzędnych - BTC (Bypass Traverse
Checking) jest przyznane grupie Everyone (ustawienie domyślne!),
to każdy, kto będzie miał dostęp do zasobów współdzielonych,
zawierających katalogi archiwalne, będzie miał również dostęp do
tych zbiorów. (Problem ten omawialiśmy już we wcześniejszej
części rozdziału).
Nadzór zdarzeń związanych z archiwizacją i odtwarzaniem
zbiorów
Chociaż program archiwizujący Windows NT Backup pozostawia
w protokołach zapisy o
swojej działalności, to nie można
nadzorować stosowania uprawnień Backup and Restore. Z punktu
widzenia ochrony systemu stanowi to potencjalny problem, gdyż
możliwe jest utworzenie programu archiwizującego, którego
działanie nie będzie odnotowywane w protokołach. Bez możliwości
nadzorowania omawianych uprawnień, nie ma mowy o prawdziwej
ochronie systemu.
Problem polega na kontroli przez system uprawnień Backup and
Restore - oddzielnie dla każdego archiwizowanego lub odtwarzanego
pliku. T worząc kopie zapasowe lub odtwarzając zbiory z archiwum
Przewodnik po zaawansowanych technikach
1073
zabezpieczania systemu
przy włączonym nadzorze uprawnień Backup and
Restore,
protokoły zostaną przepełnione odpowiednimi zapisami. Aby tego
uniknąć, przy domyślnych ustawieniach systemu, NT maskuje
zdarzenia związane z archiwizacją i zapobiega zapisywaniu ich do
protokołów. Oznacza to, że nadzór uprawnień do archiwizacji
i odtwarzania jest jedynie utrudniony, ale nie niemożliwy.
Decydując się na śledzenie uprawnień Backup and Restore, należy -
w
Edytorze rejestrów - wprowadzić następujące wartości
odpowiednich pól:
Hive:
HKEY_LOCAL_MACHINE
Key:
SYSTEM\CurrentControlSet\Control\LSA
Value Name:
FullPrivilegeAuditing
Value T ype
REG_BINARY
Value:
1
Uprawnienia użytkowników, których nie można nadzorować
Modyfikując rejestry w
sposób opisany w
poprzedniej części
rozdziału, można by przypuszczać, że zapewnia to możliwość
śledzenia zdarzeń, związanych ze wszystkimi uprawnieniami
użytkownika. Nie jest to jednak prawdą. Poniższa lista zawiera spis
uprawnień, których nie można nadzorować, niezależnie od ustawień
Windows NT :
!
Bypass traverse checking (prawo omijania kontroli uprawnień do
katalogów nadrzędnych)
!
Create a token object (tworzenie obiektów symbolicznych)
!
Create a new security contex for a new logon (T worzenie
nowego kontekstu ochrony dla nowych rejestracji)
!
Debug programs (programy uruchomieniowe)
!
Generate security audits (tworzenie nadzoru ochrony)
Zabezpieczenie przed administratorami działającymi
w złej intencji
W wielu instytucjach sama sugestia, aby administrator wywiązał się
z obowiązku analizy szkód spowodowanych przez złych
1074
Rozdział 25
administratorów, pachnie przewrotem. T ym niemniej (zwłaszcza
w organizacjach rządowych lub w
bankowości) wymagane są
procedury umożliwiające analizę, czy również pod tym względem
wszystko przebiega prawidłowo.
Zanim podejmiemy decyzję, czy przedsiębiorstwo wymaga
zabezpieczeń przed atakami z wewnątrz, powinniśmy odpowiedzieć
na następujące pytania:
!
Czy istnieją zalecenia rządowe lub inne wytyczne, wymuszające
analizy w tej dziedzinie?
!
Czy w sieci przechowywane są poufne informacje, mające
znaczenie dla konkurencyjności przedsiębiorstwa?
!
Czy sieć jest obsługiwana przez wielu administratorów, którzy
mają dostęp do poufnych informacji?
Chociaż zabezpieczenie sieci, umożliwiające pełną ochronę przed
działaniami administratorów o złych intencjach jest niezwykle
trudne, to zarządzając systemem zawierającym poufne dane, należy
przynajmniej wdrożyć procedurę regularnego nadzorowania
korzystania z uprawnień administracyjnych. Można ją wprowadzić
przy pomocy narzędzi nadzoru (omówionych w rozdziale 24).