Bezpieczeństwo systemów komputerowych - laboratorium 3:Umacnianie ochrony systemu opearacyjnego serwerowych środowisk MS Windows

From Studia Informatyczne

Umacnianie ochrony systemu operacyjnego MS Windows


Spis treści

Wprowadzenie

Systemy operacyjne w rodziny Microsoft Windows należą niewątpliwie do liderów popularności na rynku systemów operacyjnych. W większości zastosować domowych popularne Windowsy sprawdzają się bardzo dobrze, co owocuje dużym przywiązaniem użytkowników do tych produktów. Istnieją zastosowania w których systemy te słabo bądź w ogóle nie sprawdzają się jednakże z powodu wygody użytkowania i przystępnego środowiska graficznego są liderem na rynku systemów biurkowych. Systemy MS Windows posiadają wbudowane mechanizmy podwyższające bezpieczeństwo i znajomość tych podstawowych rozwiązań powinna być znana każdemu użytkownikowi tych systemów. W niniejszym opracowaniu zostaną przedstawione różne aspekty odnośnie podnoszenia poziomu bezpieczeństwa pracy w systemach MS Windows XP. Rozwiązania prezentowane należą do grupy zabiegów określanych mianem utwardzania systemu(ang. system hardening) i mają na celu podnieść poziom bezpieczeństwa oferowanego przez system. Posługując się określeniem system Windows autor ma na myśli system Microsoft Windows XP Professional z dodatkiem SP2.

Konta użytkowników

Pierwszą czynnością podczas pracy z systemem Windows XP jest zalogowanie się do systemu. W większości przypadków konto na które następuje logowanie jest chronione hasłem użytkownika. Możliwe jest również automatyczne logowanie na konto danego użytkownika bez podawania hasła. Jednak taka konfiguracja jest niezalecana. System Windows posiada rozbudowane możliwości konfiguracji różnych aspektów odnośnie kont użytkowników i procedury logowania. Opcje konfiguracyjne zlokalizowane są w oknie Ustawienia zabezpieczeń lokalnych i podgrupach Zasady konta i Zasady haseł. Poniżej zaprezentowano zrzut ekranowy prezentujący okno ustawień zabezpieczeń lokalnych:


Grafika:1_windows_hardening.png


Zadania:

  1. Zweryfikuj trudność złamania haseł w systemie za pomocą wybranego narzędzia typu reactive password checking(np. LC4)
  2. Włącz opcję hasło ma spełniać wymagania co do złożoności i ustaw następujące parametry:
    1. maksymalny wiek hasła: 42 dni
    2. minimalna długość hasła: 8 znaków
    3. minimalny okres ważności hasła: 2 dni
    4. 24 ostatnie hasła pamiętane w historii
    5. wyłączone odwracalne szyfrowanie haseł
  3. Ustaw następujące parametry blokady konta:
    1. próg blokady: 4 próby
    2. czas trwania blokady: 30 minut
    3. zerowanie licznika prób: po 30 minutach
  4. Wyłącz przechowywanie skrótów kryptograficznych haseł w postaci LMhash:
    1. Znajdź odpowiednią opcję(Zasady zabezpieczeń lokalnych, grupa Opcje zabezpieczeń, atrybut: „Zabezpieczenia sieci: nie przechowuj wartości hash programu LAN Manager).
    2. Sprawdź ponownie programem LC4 czy skróty Lmhash są dostępne


Inspekcja zdarzeń logowania

Inspekcję(ang. Logging) zdarzeń logowania można włączyć poprzez Ustawienia zabezpieczeń lokalnych. Inspekcja ta jest jednym z elementów Zasad lokalnych. Zarejestrowane zdarzenia można przeglądać przy pomocy programu Podgląd zdarzeń w pozycji System.

Zadania:

  • Włącz i przetestuj inspekcję zdarzeń logowania zakończonych sukcesami i niepowodzeniem.

Dezaktywacja kont

Wszelkie konta (w tym szczególnie konta zakładane domyślnie przez system lub aplikacje) poza rzeczywiście niezbędnymi powinny być zablokowane (lub usunięte). Poniżej zaprezentowano okno konsoli zarządzania komputerem z uaktywnionym podglądem właściwości dla użytkownika „Gość":

Grafika:2_windows_hardening.png


Zadania:

  • Zidentyfikuj i wyłącz nieużywane konta.

Konta użytkowników uprzywilejowanych

Konta użytkowników uprzywilejowanych należy szczególnie starannie chronić przed wykorzystaniem przez osoby nieuprawnione. W pewnym stopniu można utrudnić nielegalne wykorzystanie konta Administratora (włamanie) poprzez zmianę standardowej nazwy tego konta, często oczekiwanej przez intruzów. Jednak wszelkie konta w systemie posiadają oprócz nazw także identyfikatory numeryczne, które nie ulegają zmianie nawet po ewentualnej zmianie nazwy konta (zaawansowane metody ataku korzystają z takich identyfikatorów). Poniżej zaprezentowano zrzut ekranowy pokazując w jaki sposób można zmienić nazwę użytkownika uprzywilejowanego:


Grafika:3_windows_hardening.png


Zadania:

  • Zmień nazwę konta Administratora. Zweryfikuj zdalnie (np. za pomocą narzędzia wininfo) dostępne informacje o kontach w swoim systemie.

System plików

System plików NTFS umożliwia związanie z każdym zasobem plikowym (w tym: katalogiem) list kontroli dostępu ACL (Access Control List). Dostęp do prostych ustawień ACL pliku (katalogu) jest możliwy z poziomu np. Eksploratora Windows w opcji Właściwości (menu Plik lub kontekstowe). Poniżej zaprezentowano okno właściwości dla wybranego pliku:


Grafika:4_windows_hardening.png


Rozszerzone listy ACL są dostępne po wyborze uprawnień zaawansowanych:


Grafika:5_windows_hardening.png


Zadania:

  • Zaloguj się na konto administratora (Szef).
  • Utwórz w katalogu Moje dokumenty plik test.txt. Dla tego pliku wykonaj następujące operacje:
  1. korzystając z prostych ACL nadaj uprawnienia do odczytu dla użytkownika Sherlock Holmes
  2. sprawdź rozszerzone ACL dla tego użytkownika
  3. sprawdź jakie czynne uprawnienia posiada ten użytkownik
  • Następnie dla pliku Test.txt:
  1. sprawdź jakie czynne uprawnienia posiada użytkownik James Bond
  2. korzystając z prostych ACL odbierz uprawnienia do zapisu użytkownikowi James Bond
  3. sprawdź rozszerzone ACL dla tego użytkownika
  4. sprawdź jakie czynne uprawnienia posiada ten użytkownik


Szyfrowanie danych

System plików NTFS umożliwia również ochronę kryptograficzną zasobów plikowych, metodą szyfrowania symetrycznego (algorytmem DESX). Poniżej zaprezentowano zrzut ekranowy z oknem właściwości dotyczących szyfrowania:


Grafika:6_windows_hardening.png


Użyty do szyfrowania klucz właściciela pliku przechowywany jest w certyfikacie użytkownika. Razem z nim system operacyjny utrzymuje też klucz uniwersalny usługi systemowej Data Recovery Agent. Klucze te są widoczne w aplikacji Microsoft Management Console (program mmc). Poniżej zaprezentowano okno konsoli zarządzania certyfikatami:


Grafika:7_windows_hardening.png


Po uruchomieniu konsoli należy z menu Plik wybrać opcję Dodaj/Usuń przystawkę (np. klawiszem ^M), a następnie dodać przystawkę Certyfikaty – bieżący użytkownik:


Grafika:8_windows_hardening.png


Zadania:

  • Utwórz plik tekstowy tajne.txt o dowolnej treści. Wyświetl jego zawartość w Eksploratorze oraz w konsoli tekstowej (np. poleceniem type).
  • Następnie zaszyfruj ten plik i spróbuj ponownie wyświetlić jego zawartość.
  • Wyświetl informacje o zaszyfrowanym pliku poleceniem efsinfo.
  • Odszukaj certyfikat EFS klucza szyfrowania.
  • Zaloguj się jako inny użytkownik i spróbuj wyświetlić zawartość tego pliku.

Archiwa z ochroną kryptograficzną

Wiele programów kompresujących i archiwizujących posiada możliwość zabezpieczania spakowanych danych hasłem dostępu. Wśród takich produktów wyróżnia się BCarchive (firmy Jetico) oferujący profesjonalną ochronę kryptograficzną z wykorzystaniem szyfrowania asymetrycznego i certyfikatami kluczy publicznych. Umożliwia to bezpieczny dostęp do zawartości archiwum np. odbiorcy pocztowemu bez potrzeby uprzedniego ustalania hasła lub klucza. Poniżej zaprezentowano okno programu BCarchive:


Grafika:9_windows_hardening.png

Poczta elektroniczna

Niektóre programy klientów posiadają możliwość wykorzystania mechanizmów kryptograficznych: szyfrowania i / lub podpisywania korespondencji pocztowej. Taką możliwość posiadają np. popularne produkty z rodziny Mozilla (Mozilla Mail lub Thunderbird) z rozszerzeniem Enigmail (na platformę Windows to rozszerzenie trzeba zainstalować oddzielnie). Enigmail integruje klienta pocztowego z popularnym i powszechnie stosowanym w Internecie systemem PGP (np. pakiet OpenPGP lub GnuPG, niezależnie instalowane w systemie). System PGP umożliwia m.in. certyfikację kluczy pocztowych metodą wzajemnego zaufania (Web of Trust). Poniżej zaprezentowano okno klienta poczty Mozilla Mail zintegrowanego z dodatkiem Enigmail:

Grafika:10_windows_hardening.png


Zadania:

  • Zainstaluj system GnuPG oraz rozszerzenie Enigmail klienta pocztowego Mozilla Thunderbird.
  • Korzystając w programie Thunderbird z funkcji OpenPGP Key Management wygeneruj swoją parę kluczy kryptograficznych.
  • Wyślij podpisany list do siebie samego. Sprawdź reakcję systemu.
  • Wyślij podpisany list do innego użytkownika ze swojej grupy i odbierz jego list.
  • Zweryfikuj poprawność podpisu otrzymanego listu.
  • Zrealizuj komunikację z szyfrowaniem całej przesyłki pocztowej.



Certyfikaty adresów pocztowych

Jednym z bardziej popularnych ośrodków certyfikacji w Internecie jest firma Thawte. Wiele przeglądarek WWW i aplikacji pocztowych zawiera certyfikat głównego urzędu certyfikacji tej firmy, co pozwala ufać podpisom tego urzędu. Poniżej zaprezentowano certyfikat firmy Thawte:


Grafika:11_windows_hardening.png


Korzystając ze strony http://www.thawte.com można pozyskać darmowy certyfikat poświadczający własny adres pocztowy:


Grafika:12_windows_hardening.png

Środowisko sieciowe

Rdzennymi w środowisku MS Windows protokołami sieciowymi obsługującymi zasoby udostępniane w otoczeniu sieciowym są NetBIOS i SMB (Server Message Block). Nie są to, niestety, wyrafinowane protokoły, szczególnie pod względem bezpieczeństwa.


Otoczenie sieciowe i udziały sieciowe

Udziałami nazywa się w protokole SMB udostępnione poprzez sieć zasoby systemu operacyjnego. Polecenie net z argumentem share pozwala wyświetlić listę udziałów bieżącego systemu:


Grafika:13_windows_hardening.png


Systemy MS Windows bezpośrednio po instalacji tworzą pewne udziały domyślne (dla Windows XP są to np. C$ oraz ADMIN$), które, jakkolwiek na ogół nie stanowią istotnej luki bezpieczeństwa, często nie są potrzebne i powinny być wyłączone. W tym celu niezbędna jest modyfikacja rejestru systemowego. Dla systemu Windows XP w gałęzi HLM\SYSTEM\CurrentControlSet\Services\LanManServer w kluczu parameters należy dodać wartość AutoShareWks typu DWORD równą 0:


Grafika:14_windows_hardening.png



Po załadowaniu tak zmodyfikowanego rejestru (po restarcie) udziały domyślne nie są widoczne:


Grafika:15_windows_hardening.png


Zadania:

  • Usuń udziały domyślne swojego stanowiska komputerowego. Zweryfikuj rezultat.

Ukrycie komputera w otoczeniu sieciowym

W systemie Windows XP istnieje możliwość ukrycia nazwy bieżącego komputera w otoczeniu sieciowym, z zachowaniem jednocześnie możliwości udostępniania zasobów. Ukrycie takie w czasie bieżącej sesji umożliwia polecenia net z argumentem config server:


C:\> net config server /hidden:yes


/hidden – opcja ukrycia nazwy w otoczeniu sieciowym, możliwe wartości yes oraz no Aby trwale uczynić nazwę bieżącego komputera niewidoczną w otoczeniu sieciowym należy zmodyfikować wpis w rejestrze systemowym w gałęzi HLM\SYSTEM\CurrentControlSet\Services\LanManServer w kluczu parameters należy dodać wartość Hidden typu DWORD równą 1.


Zadania:

  • Sprawdź widoczność swojego stanowiska w otoczeniu sieciowym. Przetestuj ukrywanie jego nazwy. Czy cały czas możliwe jest korzystanie z udostępnianych zasobów?

Połączenia sieciowe

Szczegółowe informacje o stanie komunikacji sieciowej (np. informacje o aktywnych bieżąco usługach, nawiązanych połączeniach, statystyki dotyczące ruchu sieciowego) można uzyskać za pomocą polecenia netstat:


Grafika:16_windows_hardening.png

Zapory sieciowe

W systemie Windows XP SP 2 dostępne jest Centrum zabezpieczeń zawierające m.in. zaporę sieciową:


Grafika:17_windows_hardening.png


Zapora wbudowana w system Windows jest bardzo prymitywna i nie daje użytkownikowi wielu możliwości:


Grafika:18_windows_hardening.png


Zadania:

  • Zablokuj całkowicie komunikację z wykorzystaniem protokołu ICMP. Przetestuj konfigurację za pomocą polecenia ping.


Niestety, ta prosta zapora nie umożliwia precyzyjnej kontroli ruchu sieciowego. Z tego powodu nieodzowne stają się oddzielne produkty typu Personal Firewall. Dobrym przykładem może być Kerio Personal Firewall (firmy Kerio), który pozwala na wielopoziomowe filtrowanie ruchu sieciowego:


Grafika:19_windows_hardening.png

Podsumowanie

Systemy z rodziny MS Windows są bardzo popularne. Nie wszystkie elementy systemu stoją na tak wysokim poziomie jak graficzny interfejs użytkownika. W Internecie można znaleźć wiele przykładów na to iż systemy te są podatne na wiele groźnych ataków dzięki którym użytkownicy mogą być narażeni na utratę dany, szantaże i straty materialne spowodowane kradzieżą numerów kont, haseł itp. Firma Microsoft dokłada starań aby jej produkty były coraz mniej podatne na różnego typu ataki jednak nie zwalnia to użytkowników od interesowania się bezpieczeństwem systemu operacyjnego którego używają na co dzień. Dlatego też podstawowa wiedza z dziedziny szeroko rozumianego bezpieczeństwa systemów komputerowych i informacji jest konieczna do przyswojenia jeśli użytkownicy nie chcą być biernymi obserwatorami nadużyć komputerowych popełnianych na ich systemach operacyjnych.

Problemy do dyskusji

  • Jakie znasz ataki na które podatne są systemy z rodziny MS Windows?
  • Czy wiesz jak się bronić przed najczęstszymi atakami takim jak wirusy, robaki internetowe, programy szpiegujące i spam?
  • Czy znasz i używasz popularne zamienniki programów stosowanych na platformie MS Windows które są często powodem problemów z bezpieczeństwem? Czy potrafisz wymienić takie programy?

Bibliografia

Poniżej zostały wymienione popularne serwisy internetowe w których czytelnik znajdzie dużo informacji na temat bezpieczeństwa systemów komputerowych.