Wykład 4 135
Uwierzytelnianie jako element procesu projektowania bezpieczeństwa Microsoft w Windows 2003 Server położył szczególny nacisk na bezpieczeństwo, które w najnowszej wersji Windows było najważniejszym celem, jaki przyświecał projektantom i programistom tego systemu; Wysoki stopień bezpieczeństwa został osiągnięty na wiele sposobów. Oprócz zmian w samej konstrukcji systemu (przebudowanych zostało wiele składników w Windows), zmieniono np: domyślny poziom bezpieczeństwa, ustawiany w momencie instalowania systemu operacyjnego. 136
Uwierzytelnianie jako element procesu projektowania bezpieczeństwa Autoryzacja jest procesem weryfikacji obiektu czy rzeczywiście jest tym, za kogo się podaje. Najpowszechniejszym przykładem autoryzacji jest logowanie się użytkownika do systemu. W najprostszym przypadku podaje swój identyfikator oraz hasło. Windows 2003/2008/8 Server obsługują mechanizmy smart card oraz inne mechanizmy przekazywania informacji do autoryzacji. 137
Uwierzytelnianie jako element procesu projektowania bezpieczeństwa W Windows 2000+ dostępnych jest wiele różnych protokołów uwierzytelniających; Niektóre z nich przeznaczone są np. tylko dla aplikacji WWW i służą np. ochronie poufności informacji umieszczanych na stronach interlub intranetowych; Istnieją równie takie służą do logowania się do Windows 2003 Server i np. pozwalają przeglądać zasoby sieciowe Active Directory. 138
Uwierzytelnianie jednokierunkowe 139 Praca dyplomowa pt: Centralne systemy zarządzania zasobami i uwierzytelniania, Przemysław Jagieła, 2010
Uwierzytelnianie dwukierunkowe 140 Praca dyplomowa pt: Centralne systemy zarządzania zasobami i uwierzytelniania, Przemysław Jagieła, 2010
Uwierzytelnianie z pośrednikiem 141 Praca dyplomowa pt: Centralne systemy zarządzania zasobami i uwierzytelniania, Przemysław Jagieła, 2010
Typy uwierzytelniania w OS MS Typ uwierzytelniania Anonimowe Lokalne logowanie Kerberos LM, NTLM, NTLMv2 Przeznaczenie Lokalne i w domenie Lokalne W domenie, interaktywne, w sieci W domenie, interaktywne, w sieci (starsze wersje klientów) Podstawowe, zintegrowane Windows, szyfrowane, usługi Passport.NET Uwierzytelnianie na serwerze WWW 142
Typy uwierzytelniania Typ uwierzytelniania SST/TLS PAP, CHAP, MS-CHAP i MS- CHAPv2 802.1x, PEAP, WPA Certyfikaty Karty inteligentne Przeznaczenie Uwierzytelnianie na serwerze WWW Zdalny dostęp, VPN Sieci bezprzewodowe oraz tradycyjne IPSec, uwierzytelnianie klientów i komputerów, SSL/TLS i karty inteligentne W domenie przy protokole Kerberos i certyfikatach 143
Kiedy stosowany jest dany protokół? Windows 2000+ w domenie Kerberos Windows 2000+ poza domeną NTLM Windows 9x w domenie LM Windows NT 4.0 w domenie NTLM przy dostępie do zasobu gdy adres serwera jest podany jako nr IP NTLM przy dostępie do zasobu gdy adres serwera jest podany za pomocą nazwy - Kerberos 144
Typy logowania do sieci Interaktywne Sieciowe Anonimowe Inne typy np. zdalne, wsadowe 145
Logowanie interaktywne Zainicjowanie logowania np. Ctrl-Alt-Del. Usługa Winlogon wywołuje bibliotekę DLL GINA (Graphical Identyfication and Authentication) lub inną w zależności od sposobu uwierzytelniania. Użytkownik wprowadza dane uwierzytelniające. Centrum (Urząd) Zabezpieczeń Lokalnych LSA (Local Security Auhtority) przetwarza dane uwierzytelniające. Sprawdzane są ograniczenia zdefiniowane dla konta. Sprawdzane są prawa logowania. Weryfikowane są dane uwierzytelniające. 146
Protokoły LM, NTLM, NTLMv2 LM został stworzony do obsługi w systemach MS-DOS, Windows 3.1, Windows 9x, Windows ME. NTLM zastosowano w Windows NT, wyeliminował słabe punkty LM. NTLMv2 dołączono do SP3 dla Windows NT 4.0, wyeliminował słabe punkty NTLM i zwiększył poziom ochrony przesyłanych danych. 147
Uwierzytelnianie z LM, NTLM i NTLMv2 148 Praca dyplomowa pt: Centralne systemy zarządzania zasobami i uwierzytelniania, Przemysław Jagieła, 2010
Protokół Kerberos Otwarty standard organizacji IETF Opisany w RFC 1510 (1980r, MIT) Funkcje zabezpieczeń: Bezpieczna transmisja szyfrowane komunikaty. Wzajemne uwierzytelnianie klient - serwer, i serwer - klient. Ochrona przed atakiem ponawianym identyfikator uwierzytelniania, którym jest zaszyfrowany znacznik czasu. 149
Protokół Kerberos W systemie Kerberos używa się jednego komputera wyposażonego w niezwykle sprawne zabezpieczenia, który może być umieszczony w pokoju chronionym przez 24 godziny na dobę; Na komputerze tym znajdują się informacje o hasłach i prawach dostępu każdego użytkownika w systemie (w MIT komputer ten nosi nazwę kerberos.mit.edu). Wszystkie komputery i użytkownicy sieci działają na podstawie danych dostarczanych przez ten serwer; 150
Protokół Kerberos W systemie Kerberos ten zabezpieczony serwer, zwany bezpiecznym serwerem, jest jedynym serwerem w sieci, który może dostarczać programom sieciowym informacje związane z dostępem; Dla serwerów działających w systemie Kerberos oraz pracujących w nim użytkowników wszystkie pozostałe elementy sieci są niepewne. Innymi słowy, system Kerberos działa na podstawie zasady upraszczania łatwo jest w niej utrzymać jeden całkowicie bezpieczny serwer, co jest sytuacją odwrotną do zabezpieczania wszystkich serwerów w sieci; 151
Elementy protokołu Kerberos Centrum dystrybucji kluczy KDC (ang. Key Distribution Center) znajduje się na każdym kontrolerze domeny zarządza kluczami udostępnionymi klientom i serwerów wydaje TGT (ang. Ticket GranTing Service) -> bilety 152
Elementy protokołu Kerberos Bilety: Bilet przyznający przekazywany uwierzytelnionemu użytkownikowi przy pierwszym logowaniu. Służy do uzyskania następnego biletu dla usługi. Bilet usługi wymagany jest rzy dostępie do usługi lub zasobu. Bilet odwołania -> jeśli usługa znajduje się w domenie w której użytkownik się nie logował KDC wygeneruje ten bilet i przekaże do innej domeny. Identyfikator uwierzytelniania znacznik czasu -> bezpieczeństwo systemu Kereberos 153
Kerberos ogólne funkcjonowanie Jeśli użytkownik sieci obsługiwanej przez system Kerberos chce uzyskać dostęp do pliku lub innego serwera sieciowego udostępniającego zasoby, to musi najpierw uzyskać pozwolenie od bezpiecznego serwera. Przykład Użytkownik (komputer-klient) chce uzyskać dostęp do pliku faktury_2011 na serwerze plików (serwerze niepewnym). Zakładając, że użytkownik już się zalogował w sieci, oprogramowanie sieciowe wykona kolejno kilka operacji. 154
Kerberos - funkcjonowanie 1. Użytkownik żąda dostępu do pliku faktury_2011 za pośrednictwem wiadomości z podpisem cyfrowym, utworzonej za pomocą swojego klucza prywatnego, i szyfruje ją za pomocą klucza publicznego serwera. 155
Kerberos - funkcjonowanie Są dwa powody, dla których żądanie dostępu jest realizowane za pomocą zaszyfrowanej wiadomości opatrzonej podpisem cyfrowym: 1. szyfrowanie z użyciem klucza sesji gwarantuje (w większym stopniu), że tylko bezpieczny serwer będzie mógł odczytać żądanie; 2. bezpieczny serwer za pomocą podpisu cyfrowego określa, czy wiadomość została wysłana przez uprawnionego użytkownika (a nie hakera ). 156
Kerberos - funkcjonowanie Oprogramowanie sieciowe wysyła zaszyfrowaną wiadomość do bezpiecznego serwera: Klucz prywatny klienta Klucz publiczny serwera Żądanie z podpisem uwiarygodniającym klient Serwer uwiarygadniający Kerberos 157
Kerberos - funkcjonowanie Bezpieczny serwer z kolei analizuje wiadomość z żądaniem komputera-klienta. Serwer używa podpisu cyfrowego użytkownika do zweryfikowania jego tożsamości oraz sprawdzenia, czy użytkownik znajduje się na liście użytkowników uprawnionych do uzyskania dostępu do pliku faktury_2011.
Kerberos - funkcjonowanie Jeśli użytkownik ma prawa dostępu do pliku faktury_2011 na serwerze plików, to bezpieczny serwer Kerberos połączy użytkownika z serwerem plików i wyśle do tego serwera wiadomość, że użytkownik ma prawo dostępu do pliku.
Kerberos - komunikacja Aby rozpocząć komunikowanie się użytkownika i serwera plików serwer Kerberos wykonuje kilka operacji: Serwer Kerberos wysyła do użytkownika unikatowy klucz zwany biletem (TGT). Aby zagwarantować bezpieczeństwo, kopia tego biletu jest szyfrowana przez bezpieczny serwer za pomocą klucza publicznego użytkownika. Bilet zawiera informacje o dostępie oraz klucz sesji. Klucz sesji jest to nieskomplikowany klucz do szyfrowania służący do połączenia się z serwerem plików. 160
Kerberos - komunikacja Klucz publiczny klienta Bilet klient Klucz sesji Serwer uwiarygadniający Kerberos Serwer szyfruje, a następnie wysyła bilet do komputera-klienta 161 161
Kerberos - komunikacja Bezpieczny serwer wysyła także kopię biletu komputera-klienta do serwera plików. Aby zagwarantować bezpieczeństwo, druga kopia biletu jest szyfrowana przez bezpieczny serwer za pomocą publicznego klucza serwera plików (druga kopia biletu zawiera te same informacje, co kopia pierwsza, czyli informacje o bilecie oraz klucz sesji). Bilet Klucz publiczny serwera plików Serwer uwiarygadniający Kerberos Klucz sesji Serwer plików 162 162
Kerberos ścieżka zaufania Komputer użytkownika i serwer zawierający plik faktury_2011 łączą się i porównują kopie biletów, aby potwierdzić swoją tożsamość: Oprogramowanie sieciowe na komputerze klienta szyfruje kopię swojego biletu za pomocą publicznego klucza serwera plików, po czym wysyła go do serwera plików; Serwer plików odszyfrowuje bilet za pomocą prywatnego klucza. Jeśli przesłana przez klienta kopia klucza sesji jest taka sama, jak kopia wysłana przez serwer, to serwer plików uwiarygodnia bilet. W przeciwnym wypadku serwer plików nie połączy się z użytkownikiem. 163
Kerberos delegacja Jeśli bilety są jednakowe, to bezpieczny serwer kończy działanie, a użytkownik komunikuje się odtąd z serwerem plików za pośrednictwem bezpiecznego kanału i uzyskuje dostęp do pliku faktury_2011. Serwer plików, w zależności od swoich ustawień, wyśle ten plik zaszyfrowany: 1. za pomocą klucza publicznego użytkownika (przechowywanego na bezpiecznym serwerze) (SFTP); 2. klucza sesji (SFTP); 3. w postaci zwykłego pliku tekstowego (FTP). 164
Kerberos zakończenie Po zakończeniu przesyłania pliku do użytkownika serwer plików wysyła do serwera Kerberos wiadomość z informacją o zakończeniu połączenia będącą dla bezpiecznego serwera sygnałem, aby zlikwidować bilet dostępu. Jeśli komputer-klient spróbuje użyć tego samego biletu dostępu, aby znowu uzyskać dostęp do tego pliku, to bezpieczny serwer uniemożliwi komputerowi-klientowi uzyskanie ponownego nieautoryzowanego dostępu. 165
Kerberos słabe punkty Uwiarygodnienie na podstawie identyfikatora logowania użytkownika i wspólnego klucza tajnego. Z takim rozwiązaniem wiąże się niebezpieczeństwo oszukania serwera przez hakera -> włamywacz może sprawić, że bezpieczny serwer będzie go traktował jak uprawnionego użytkownika 166
Kerberos słabe punkty Na przykład: Można wysłać do bezpiecznego serwera wiadomość z prośbą o przyznanie prawa dostępu do serwera plików. Haker może przechwycić taką wiadomość i przesłać ją następnie do bezpiecznego serwera, który uzna, że to uprawniony użytkownik zażądał uwiarygodnienia. 167
Kerberos słabe punkty 1 Aby wyeliminować taką możliwość, programiści projektu Athena wprowadzili do niego mechanizm znaczników czasu; Mechanizm ten gwarantuje, że wszystkie wiadomości otrzymywane przez bezpieczny serwer zawierają datę i bezpieczny serwer odrzuca wszystkie te wiadomości, które są przestarzałe o co najmniej 5 minut; Mechanizm znaczników czasu pomaga zapobiec działaniom osób nieuprawnionych. 168
Kerberos słabe punkty 2 System Kerberos nie oferuje możliwości obrony przed atakami ze strony usług. W systemie tym włamywacz może z łatwością uniemożliwić aplikacji wzięcie udziału we właściwym przeprowadzeniu operacji uwiarygodniania. Wykrywanie ataków tego typu (z których kilka może się wydawać normalnymi sytuacjami awaryjnymi w systemie) i zapobieganie im należy do obowiązków administratorów i użytkowników. 169
Kerberos słabe punkty 3 Ponieważ serwer Kerberos zakłada, że wspólny klucz tajny jest rzeczywiście tajny, użytkownicy w tym systemie muszą bezwzględnie chronić ten klucz; W wypadku kradzieży klucza użytkownika może on posłużyć do podszycia się pod użytkownika lub dowolny serwer; 170
Kerberos słabe punkty 4 System Kerberos nie chroni przed atakami polegającymi na odgadywaniu hasła; Jeśli użytkownik wybierze sobie łatwe hasło, to haker może z łatwością zastosować metodę poza sieciowego ataku przy użyciu słownika i wypróbowywać kolejne zawarte w nim słowa; W tej metodzie skopiowane przez hakera wiadomości są poddawane kolejnym próbom odszyfrowania; 171
Protokoły uwierzytelniające zdalny dostęp PAP (Password Authentication Protocol) Przesyłane jest niezaszyfrowane hasło. SPAP (Shiva Password Authentication Protocol) Korzysta z niestandardowego algorytmu szyfrowania odwrotnego, obsługiwane przez serwery zdalnego dostępu firmy Shiva. Nie można zastosować MPPE (Microsoft Point-to-Point Encryption). 172
Protokoły uwierzytelniające zdalny dostęp CHAP (Challenge Handshake Authentication Protocol) Szyfruje sekwencję wezwania używając funkcji MD5. Serwer musi przechowywać hasło w postaci niezaszyfrowanej. 173
Protokoły uwierzytelniające zdalny dostęp MS-CHAP Szyfruje sekwencję wezwania używając funkcji MD4. Serwer może przechowywać hash hasła. Obsługuje bardziej zaawansowane komunikaty o błędach. MS-CHAPv2 Występuje wzajemne uwierzytelnianie. Zawiera dodatkowe ulepszenia względem MS-CHAP. 174
Protokoły uwierzytelniające zdalny dostęp EAP (Extensible Auhtentication Protocol) Jest rozszerzeniem protokołu PPP i posiada budowę modularną. Obecnie dostępne w systemach Windows: EAP-TLS Wykorzystuje wzajemne uwierzytelnianie i certyfikaty (certyfikat klienta jest opcjonalny). Może być stosowany z PPTP i L2TP/IPSec EAP-MD5 Mniej bezpieczny od EAP-TLS. Używa MD5 oraz szyfrowania odwracalnego przy przechowywaniu hasła w bazie. Nie obsługuje bezprzewodowych połączeń VPN oraz protokołu PPTP. 175
RADIUS Remote Authentication Dial In User Service; Protokół zapewniający uwierzytelnianie, autoryzację oraz monitorowanie (AAA); Pracuje w architekturze klient-serwer; RADIUS Server NAS/RAS (Network/Remote Access Server); Serwer może działać jako PROXY; Przy przesyłaniu hasła wykorzystuje algorytm MD5; Opisany w RFC 2865 i RFC 2866; 176
RADIUS Authorization & Authentication 177
RADIUS - Accounting 178
Uwierzytelniane z użyciem certyfikatów 179 Praca dyplomowa pt: Centralne systemy zarządzania zasobami i uwierzytelniania, Przemysław Jagieła, 2010
Koniec Wykładu 4 180