Bezpieczeństwo w Windows Server 2008

Windows Server 2008 na dobre zagościł już w firmach. Nie ma jednak mowy o tym, żeby w krótkim czasie wyparł swojego poprzednika - system Windows Server 2003. Ale też trudno było się tego spodziewać - zwłaszcza że na rynku pojawił się stosunkowo niedawno (pod koniec lutego 2008 r.). W styczniu br. znowu zrobiło się o Windows Server 2008 trochę głośniej, a to za sprawą udostępnienia, trochę w cieniu Windows 7, wersji R2 (na razie beta) tego systemu. Postaramy się przybliżyć najciekawsze elementy, które Windows 2008 (i R2) wprowadził w sferze bezpieczeństwa.

Decyzja o przejściu na nową platformę nie jest łatwa. Wiele organizacji wykorzystuje aplikacje, które nie są jeszcze kompatybilne z nowym systemem. Tak naprawdę dopiero na przełomie 2008 i 2009 roku zaczęliśmy dostrzegać wysyp wersji wszelkiego rodzaju poważnych aplikacji, w pełni przygotowanych pod W2K8. Niemniej jednak proces się rozpoczął i jeszcze zapewne potrwa co najmniej kilkanaście miesięcy, choć jest to bardzo optymistyczne założenie. Wciąż spotykamy serwery z wiekowym już przecież Windows 2000 Server. Niektórzy informatycy twierdzą, że nie ma pośpiechu - łatki do 2000 przestaną wychodzić dopiero w połowie 2010 r., a skoro coś działa, to lepiej nie ruszać.

Pójdźmy jednak z duchem czasu i spróbujmy spojrzeć na Windows 2008, również w wersji R2, z punktu widzenia bezpieczeństwa. O Windows 2000 wspomniano nie bez powodu. Jednym z jego sztandarowych haseł był wysoki poziom bezpieczeństwa. Życie pokazało jednak, że aż tak bezpiecznie nie było.

Tuż przed udostępnieniem W2K8 na rynek amerykański serwis internetowy CDW, handlujący rozwiązaniami IT, przeprowadził ankietę wśród decydentów w 800 firmach. 49% z nich powiedziało, że podstawową korzyścią przejścia na ten system będzie podwyższenie poziomu bezpieczeństwa. Obawy przed migracją na W2K8 wynikają również z doświadczeń z niezbyt dopracowanym konsumenckim systemem operacyjnym Windows Vista, wprowadzonym do sprzedaży rok wcześniej.

Czy na pewno lepszy?

Bezpieczeństwo w Windows Server 2008
Z punktu widzenia specjalisty ds. bezpieczeństwa IT jedną z większych wad systemów operacyjnych o zamkniętym kodzie jest fakt, że jedynie ich producent jest w stanie wprowadzać poprawki. Z drugiej jednak strony, skoro tylko producent ma dostęp do kodu źródłowego, to szansa na odkrycie błędów i związanych z nimi luk jest znacznie mniejsza, niż w przypadku systemów o kodzie otwartym.

Staraliśmy się znaleźć jakiś miarodajny wyznacznik poziomu bezpieczeństwa porównujący Windows 2003 i 2008, a przynajmniej dbałości o jakość jego kodu. Po części z jakością może być związana liczba podatności odkrytych w tych systemach w ciągu pierwszych kilku miesięcy po swoich premierach. W2K3 wprowadzono w kwietniu 2003 r., a W2K8 w lutym 2008 r. Jak wynika z tabel na str. 56, pochodzących z serwisu Secunia.com, w systemie W2K3 do końca 2003 r. odnotowano 15 podatności; w W2K8 do końca 2008 roku - 25.

Zmiany, zmiany, zmiany

Niestety, ta najbardziej wyróżniająca się nowość w W2K8, czyli Hyper-V, nie dotyczy bezpieczeństwa. Nie brakuje jednak innych, niedostępnych wcześniej w systemach serwerowych Microsoftu elementów, które już bezpośrednio łączą się z bezpieczeństwem.

Pierwszą zmianę możemy dostrzec przeglądając materiały dotyczące przygotowania do instalacji systemu. Mowa tutaj o Server Core, funkcjonalności pozwalającej z góry określić rolę, którą nasz serwer będzie pełnił, np. kontroler domeny, serwer DHCP, serwer plików. Co za tym idzie wszelkie pozostałe, niepotrzebne do realizacji tej roli elementy nie są instalowane. Przypomina to trochę koncepcję skutecznie wykorzystywaną od długiego już czasu w systemach Linux, gdzie na etapie instalacji jesteśmy w stanie dość precyzyjnie określić, jakie moduły są nam potrzebne. Po instalacji Sever Core nie będziemy mieli żadnego GUI do zarządzania. Pozostanie tylko linia poleceń albo zarządzanie zdalne. Plusy takiego podejścia dla administratora bezpieczeństwa są jasne. Mniej komponentów, to mniejsza liczba potencjalnych luk, mniej procesów i aplikacji, które mogą zostać zaatakowane.

Jedną z największych zmian jest wprowadzenie do Windows 2008 technologii NAP (Network Access Protection), czyli NAC w wydaniu Microsoftu. Forrester w swoim ostatnim raporcie dotyczącym NAC (Q3 2008) stawia rozwiązanie Microsoftu w zasadzie na równi z gigantami tego segmentu, czyli Juniperem i Cisco. Niewątpliwą zaletą NAP jest fakt, że mając serwer W2K8, otrzymujemy tę technologię w cenie. Żeby NAP mógł zadziałać, potrzebujemy kilku komponentów:

1. SHA (System Health Agent) - na stacji roboczej, który będzie monitorował stan poszczególnych komponentów systemu (w tej chwili wspierane są XP SP3 i Vista).

2. SHV (System Health Validator) - po stronie serwera, który będzie przetwarzał informacje przekazywane ze stacji.

3. NPS (Network Policy Server) - odpowiednika dotychczasowej usługi IAS (czyli serwera Radius), przechowującego zasady polityki dostępowej.

Na początku funkcjonowania tego rozwiązania krytykowano NAP za to, że nadaje się tylko dla systemów Windows. Okazało się jednak, że istnieją komponenty firm trzecich, które pozwalają zintegrować NAP z systemami Linux (np. Avenda) i Mac (np. Unet). Niektórzy administratorzy narzekają również, że konfiguracja NAP nie należy do łatwych.

Skoro W2K8 pochodzi z tej samej serii co Vista, to nie mogłoby się obyć bez mechanizmu potrafiącego szyfrować dyski, a nie tylko pliki (EFS - Encrypted File System) - jak to miało miejsce w poprzednich wersjach systemów z Redmond. Stąd obecność technologii Bit Locker także w wersji serwerowej.

Ma ona zarówno zalety, jak i wady. Bit Locker częściowo spełnia założenia oprogramowania typu FDE (Full Disk Encryption). Niestety, tylko częściowo. Nie ma bowiem możliwości zaszyfrowania partycji systemowej. Dostrzeżono ten problem w wersji R2, o czym dalej. Bit Locker potrafi skorzystać z modułu TPM (Trusted Platform Module). Jednak i takie, jak by się mogło zdawać solidne zabezpieczenie nie daje gwarancji bezpieczeństwa. Tezę tę udowodnili niemalże dokładnie rok temu naukowcy z Princeton, kiedy zaprezentowano wyniki badań nad możliwością przełamania zabezpieczeń rozwiązań do szyfrowania dysków. Atak nazwany Cold Boot ma na celu wyłuskanie z pamięci RAM klucza pozwalającego na deszyfrację dysku. Jedną z ofiar tego ataku padł również Bit Locker, dzieląc los popularnego True Crypta. Stworzone zostało nawet specjalne narzędzie o wdzięcznej nazwie "Bit UnLocker", które potrafi po pierwsze, wyszukać odpowiednie klucze w pamięci, a po drugie, zamontować odszyfrowany dysk w Linuksie. Podczas testów posłużono się komputerem wyposażonym w 2 GB pamięci RAM. Wydobycie kluczy trwało ok. 25 min.

Bezpieczeństwo w Windows Server 2008

Tabele podatności

W opracowaniu możemy przeczytać, że korzystanie z TPM w Bit Lockerze w tzw. trybie podstawowym konfiguracji paradoksalnie ułatwia wyprowadzenie klucza - jest on bowiem wgrywany do pamięci RAM jeszcze przed startem systemu. Żeby utrudnić, choć niestety nie uniemożliwić wyciągnięcie klucza, można skorzystać z zaawansowanego trybu konfiguracji Bit Lockera i albo dodatkowo zabezpieczyć klucze przechowywane w TPM hasłem, albo innym kluczem umieszczonym na pendrivie. Aby zmniejszyć ryzyko powodzenia ataku, należy zrezygnować z blokowania ekranu czy usypiania komputera - na rzecz hibernacji lub całkowitego wyłączania maszyny. Można również wyłączyć (i zabezpieczyć hasłem) możliwość uruchamiania komputera z pamięci USB. Istnieje jeszcze wiele innych sposobów na utrudnienie życia atakującemu.

Polecamy odwiedzenie bloga MSDN (blogs.msdn.com) i przeczytanie artykułu "Protecting Bit Locker from Cold Attacks (and other threats)". Nie trzeba jednak stosować ataku Cold Boot, żeby wydobyć klucze. Jeżeli komputer znajduje się w domenie, istnieje możliwość przechowywania kluczy w Active Directory. To ułatwienie jest równocześnie zagrożeniem. Gdy sprawca dostanie się do kontrolera domeny, wszystkie komputery zaszyfrowane Bit Lockerem stają się zagrożone.

Z Visty pochodzi również mechanizm UAC (User Access Control), starający się realizować postulat "separation of duties". Zbliżona koncepcja jest znana i stosowana od dawna w systemach Linux. Dzięki UAC i AAM (Admin Approval Mode) możemy pracować w systemie, będąc zalogowani jako użytkownik bez praw administratora. Jeżeli będziemy próbowali wykonać operację wymagającą takich uprawnień, wówczas zostaniemy poproszeni o podanie odpowiedniego hasła.

W celu komercyjnej reprodukcji treści Computerworld należy zakupić licencję. Skontaktuj się z naszym partnerem, YGS Group, pod adresem [email protected]

TOP 200