Wirtualne sieci prywatne (VPN) 1 Wirtualne sieci prywatne wprowadzenie, szyfrowanie symetryczne i asymetryczne, bezpieczne sumy kontrolne, typy VPN, IP Security Architecture (IPSec), Internet Key Exchange (IKE), etapy wdrażania VPN
Wirtualne sieci prywatne (VPN) 2 Wprowadzenie Branch CO Typowa sieć korporacyjna: centrum (central office, CO) + oddziały (branch office) Użytkownik zdalny jest to użytkownik nie pracujący w danej chwili w CO Branch Telecommuters VPN (wirtualna sieć prywatna) jest to sieć zrealizowana na infrastrukturze publicznie dostępnej, zapewniająca poziom bezpieczeństwa porównywalny z występującym w rzeczywistej prywatnej sieci
Wirtualne sieci prywatne (VPN) 3 Bezpieczeństwo
Wirtualne sieci prywatne (VPN) 4 Rodzaje ataków przerwanie komunikacji Cel: zablokowanie dostępu do systemu
Wirtualne sieci prywatne (VPN) 5 Rodzaje ataków przechwycenie Cele: dane osobowe, dane medyczne, dane finansowe
Wirtualne sieci prywatne (VPN) 6 Rodzaje ataków modyfikacja wiadomości Cele: podmiana programu, pliku z danymi,...
Wirtualne sieci prywatne (VPN) 7 Rodzaje ataków fabrykacja wiadomości Cele: np. wydanie fałszywego polecenia przelewu
Wirtualne sieci prywatne (VPN) 8 Klasyfikacja ataków Ataki aktywne przerwanie modyfikacja fabrykacja pasywne przechwycenie ATAKI AKTYWNE masquerade attack (podszycie się) - np. uzyskanie sekwencji identyfikacji w celu późniejszego odtworzenia replay attack (powtórzenie) - przechwycenie strumienia i odtworzenie modyfikacja strumienia, np. zamiana chmod u+x plik1 na chmod a+w plik2 denial of service
Wirtualne sieci prywatne (VPN) 9 Klasyfikacja ataków Ataki aktywne przerwanie modyfikacja fabrykacja pasywne przechwycenie ATAKI PASYWNE uzyskanie treści przesyłanej informacji analiza ruchu w sieci - obserwacja natury komunikacji
Wirtualne sieci prywatne (VPN) 10 Zabezpieczenia Cel: zapewnienie dostępu do systemu dla uprawnionych użytkowników Przykład: program wykrywający skanowanie portów Uwaga: sam fakt skanowania portów jeszcze nie jest włamaniem, choć nikt nie lubi, gdy się mu porty przegląda Analogia: oglądanie samochodów na parkingu
Wirtualne sieci prywatne (VPN) 11 Zabezpieczenia Cel: zapewnienie ochrony ważnych danych, np. przyszłych cen produktów,... Przykłady: firewall - blokada dostępu z określonych miejsc, transmisja szyfrowana Uwaga: czasami sam fakt istnienia jakiegoś obiektu jest informacją tajną Ataki na poufność zazwyczaj są atakami pasywnymi, w związku z czym trudno je wykryć - można im tylko (np. poprzez szyfrowanie) zapobiegać.
Wirtualne sieci prywatne (VPN) 12 Zabezpieczenia Cel: umożliwienie stwierdzenia źródła komunikatu Przykłady: zabezpieczenie hasłem, transmisja z szyfrowaniem asymetrycznym Podstawowym celem tych zabezpieczeń jest uniemożliwienie fabrykacji wiadomości, nieuprawnionemu włączaniu się osób trzecich.
Wirtualne sieci prywatne (VPN) 13 Zabezpieczenia Cel: zapobieganie modyfikacjom np. bazy danych Przykłady: sumy kontrolne, transmisja z szyfrowaniem ( przy okazji zapewniamy poufność), przykład praktyczny: SNMPv2 Ważnym aspektem zabezpieczeń integralności systemu (lub jego części) jest istnienie procedur odzyskiwania integralności (ang. recovery).
Wirtualne sieci prywatne (VPN) 14 Wartość informacji System jest bezwarunkowo bezpieczny, gdy niezależnie od nakładów (czasowych i finansowych) nie można złamać jego zabezpieczeń. System jest warunkowo bezpieczny, gdy do złamania jego zabezpieczeń potrzeba większych nakładów, niż wynoszą potencjalne korzyści związane z chronioną informacją.
Wirtualne sieci prywatne (VPN) 15 Technologie VPN
Wirtualne sieci prywatne (VPN) 16 Wprowadzenie Przy konstruowaniu wirtualnej sieci prywatnej ważne są trzy aspekty bezpieczeństwa: poufność, spójność danych, autentykacja źródła. Inne wymagania odnośnie bezpieczeństwa systemów sieciowych, np. zapewnienie niemożliwości odwołania transakcji też są ważne, ale nie są realizowane za pomocą VPN.
Wirtualne sieci prywatne (VPN) 17 Wprowadzenie Podstawowe mechanizmy, wykorzystywane do konstrukcji wirtualnych sieci prywatnych to: tunele (dedykowane połączenia pomiędzy urządzeniami końcowymi), silne szyfrowanie. Wirtualne sieci prywatne mogą być zrealizowane na (prawie) każdej warstwie modelu OSI! na pierwszej nie są wirtualne Na obecnym etapie połączenia przez VPN uzupełniają lub nawet zastępują linie dzierżawione bądź prywatne sieci Frame Relay lub ATM.
Wirtualne sieci prywatne (VPN) 18 Dlaczego stosuje się VPN? Bo jest taniej: łącza dzierżawione są najdroższym rozwiązaniem, zastąpienie łącza dzierżawionego przez połączenie VPN wykorzystujące publicznie dostępną infrastrukturę może obniżyć koszty utrzymania łącza nawet o 40% Bo VPN są bardziej elastyczne od tradycyjnych sieci WAN: można łatwo zmieniać końce połączenia (dziś pracuję w Gdańsku, a jutro w Wąchocku) łatwiej utrzymywać VPN, niż klasyczną sieć WAN (?)
Wirtualne sieci prywatne (VPN) 19 Wirtualna sieć prywatna tunel: wirtualne połączenie punkt-punkt służące do przenoszenia danych jednego protokołu wewnątrz PDU innego protokołu klucze szyfrowania/deszyfrowania są utajnione (prywatne) klucz klucz dane szyfrowanie deszyfrowanie dane
Wirtualne sieci prywatne (VPN) 20 Podstawowe pojęcia c.d. autentykacja: stwierdzenie, że użytkownik lub urządzenie jest tym, za kogo się podaje autoryzacja: proces przyznawania praw dostępu poszczególnym użytkownikom centrum autoryzacji (certificate of authority service, CA): instytucja lub usługa wspomagająca bezpieczną komunikację pomiędzy urządzeniami poprzez wystawianie certyfikatów oraz (czasami) generowanie kluczy szyfrowania
Wirtualne sieci prywatne (VPN) 21 Szyfrowanie symetryczne szyfrowanie i deszyfrowanie jest mniej złożone obliczeniowo w obydwu przekształceniach wykorzystywany jest ten sam klucz problem: jak dystrybuować kopie klucza szyfrowania? klucz klucz szyfrowanie deszyfrowanie przykłady szyfrów symetrycznych: historyczne: szyfr Cezara, szyfr Vigenere a, Playfair,... współczesne: DES, 3DES, AES,... szyfrowanie symetryczne jest stosowane do przesyłania dużych ilości danych w czasie transmisji klucze mogą się zmieniać
Wirtualne sieci prywatne (VPN) 22 Tradycyjne metody kodowania Szatan z siódmej klasy : [...] PILNUJCIE DOMU [...] nakłucia tekstu, atrament sympatyczny, zaznaczanie znaków, Kodak Photo CD: 2048x3072 punktów 24-bitowe określenie koloru zmiana najmłodszego bitu niezauważalna można w ten sposób ukryć Zalety i wady: (+) tę metodę można wykorzystać do ukrycia faktu istnienia komunikacji (-) raz odkryty schemat jest bezużyteczny do 6MB informacji w zdjęciu
Wirtualne sieci prywatne (VPN) 23 Szyfr Cezara A B C D E F G H I J K L M N O P... V W X Y Z Jeszcze wczoraj byłem zerem, dzisiaj jestem już hackerem! Mhvcfch zfcqudm ebohp chuhp, gclvldm mhvwhp mxc kdfnhuhp!
Wirtualne sieci prywatne (VPN) 24 Szyfrowanie symetryczne Data Encryption Standard (DES) wynaleziony w latach 70-tych ubiegłego stulecia oparty na tablicach permutacji, które służą do minimalizacji ilości przenoszonych informacji statystycznych długość klucza: 56 bitów nie jest już tak trudny do złamania, jak kiedyś, ale nadal dość często używany ten sam algorytm służy do szyfrowania i deszyfrowania informacji wariant 3DES potrójny DES ten sam algorytm jest stosowany trzykrotnie z tym samym bądź różnymi kluczami
Wirtualne sieci prywatne (VPN) 25 Szyfrowanie asymetryczne zwane jest także szyfrowaniem z kluczem publicznym jeden klucz (prywatny) zazwyczaj służy do szyfrowania, a drugi (publiczny) do deszyfrowania dla danego klucza prywatnego istnieje tylko jeden odpowiadający mu klucz publiczny (i odwrotnie) procedury szyfrowania i deszyfrowania są znacznie bardziej złożone obliczeniowo (nawet o kilka rzędów wielkości) są to algorytmy o złożoności wielomianowej, problem tkwi jednak w stopniu wielomianu klucz A klucz A szyfrowanie deszyfrowanie
Wirtualne sieci prywatne (VPN) 26 Szyfrowanie asymetryczne często bazuje na bardzo dużych liczbach pierwszych (lub przynajmniej względnie pierwszych) szyfry mają przez to mniej możliwych kluczy klucz musi być dłuższy operacje na bardzo dużych liczbach zajmują stosunkowo dużo czasu stosowane jest do przesyłania małych ilości danych (np. podpisy elektroniczne lub klucze szyfrowania symetrycznego) przykładem często stosowanego szyfru asymetrycznego jest RSA (Ron Rivest, Adi Shamir, Leonard Adleman) klucz A klucz A szyfrowanie deszyfrowanie
Wirtualne sieci prywatne (VPN) 27 Co nam daje szyfrowanie... symetryczne poufność autentykacja źródła asymetryczne spójność danych poufność: należy dobrać szyfr na tyle mocny, aby nakłady poniesione na jego złamanie były większe, niż wartość przesyłanych informacji (szyfr jest obliczeniowo (względnie) bezpieczny) autentykacja: jeśli możemy odczytać dane za pomocą czyjegoś klucza publicznego i mamy pewność, że istnieje tylko jeden klucz prywatny odpowiadający danemu kluczowi publicznemu, to wiemy, kto nadał dane
Wirtualne sieci prywatne (VPN) 28 Co nam daje szyfrowanie... symetryczne poufność autentykacja źródła asymetryczne spójność danych spójność danych: do sprawdzania, czy dane nie zostały zmodyfikowane stosuje się... sumy kontrolne przykłady algorytmów obliczających tzw. bezpieczne sumy kontrolne: MD5, SHA UWAGA! Algorytmy szyfrowania są zazwyczaj publicznie znane, nieznane są natomiast ich parametry, czyli klucze.
Wirtualne sieci prywatne (VPN) 29 Bezpieczne sumy kontrolne MD5, SHA-1 funkcje jednokierunkowe obliczające sumy kontrolne o stałej długości na podstawie porcji danych o zmiennej długości oraz (tajnego) klucza przelać 100 zł na konto XX klucz: alamakota przelać 100 zł na konto XX MD5: 0x207f44516adf77127fff10235c0082 1. ponowne obliczenie sumy kontrolnej 2. sprawdzenie zgodności z przesłaną wartością Długość kluczy i danych wyjściowych: MD5: 128 bitów, SHA-1: 160 bitów klucz: alamakota
Wirtualne sieci prywatne (VPN) 30 Ile czasu zajmie złamanie? Rozmiar klucza Ilość kluczy 1 klucz/us 1 mln kluczy/us 32 bity 2 32 = 4,3*10 9 2 31 us =35,8 min 2,15 us 56 bitów (DES) 2 56 = 7,2*10 16 1142 lata 10,01 godz. 128 bitów 2 128 = 3,4*10 38 5,4*10 24 lat 5,4*10 18 lat 26 znaków (permutacja) 26!= 4,03*10 26 6,4*10 12 lat 6,4*10 6 lat Wnioski: włamywacz stosujący wyłącznie metodę brute-force nie jest w stanie wyżyć ze swojego fachu, atak siłowy jest skuteczny niezmiernie rzadko, kryptoanalityk musi znaleźć elementy, które przetrwały proces kodowania
Wirtualne sieci prywatne (VPN) 31 Z powrotem do VPN Wirtualne sieci prywatne konstruowane są pomiędzy: urządzeniami sieciowymi należącymi do danego przedsiębiorstwa, stacjami roboczymi użytkowników zdalnych (np. klientów) a punktami dostępowymi sieci przedsiębiorstwa (połączenia B2B,B2C) Tworzenie wirtualnej sieci prywatnej może być zainicjowane przez: klienta: użytkownik zdalny używa odpowiedniego oprogramowania aby dostać się za pomocą sieci publicznej do sieci przedsiębiorstwa, serwer dostępowy: ruch generowany przez użytkownika pracującego w oddziale firmy jest szyfrowany przy wychodzeniu do sieci publicznej bez udziału samego użytkownika Za chwilę będzie jaśniej...
Wirtualne sieci prywatne (VPN) 32 VPN inicjowany przez klienta Dwa pojęcia: intranet: zabezpieczona sieć łącząca oddziały danego przedsiębiorstwa extranet: zabezpieczona sieć łącząca dane przedsiębiorstwo z partnerami Z technicznego punktu widzenia obydwa typy sieci realizowane są podobnie.
Wirtualne sieci prywatne (VPN) 33 VPN inicjowany przez klienta Dawniej zdalny dostęp do firmy oparty był na posiadaniu odpowiedniej liczby łączy telefonicznych. Użytkownik wdzwaniał się do sieci firmy. Zastosowanie VPN pozwala na tańsze rozwiązanie użytkownik wdzwania się do swojego ISP dalej transmisja (szyfrowana) przechodzi zabezpieczonym tunelem.
Wirtualne sieci prywatne (VPN) 34 VPN inicjowany przez serwer dostępowy Dawniej połączenie dwóch (lub więcej) oddziałów firmy wymagało posiadania łącza dzierżawionego albo przynajmniej kanału Frame Relay lub ATM. Połączenie z siecią publiczną realizowane było za pomocą osobnej infrastruktury. Zastosowanie VPN pozwala na wykorzystanie jednego łącza zarówno w charakterze wyjścia na świat, jak i końca tunelu.
Wirtualne sieci prywatne (VPN) 35 Technologie wspomagające tworzenie VPN warstwa 7: SSH, S/MIME warstwa 4: SSL warstwa 3: IPSec szyfrowanie transmisji na warstwie 2
Wirtualne sieci prywatne (VPN) 36 Technologie wspomagające tworzenie VPN warstwa 7: SSH, S/MIME Secure/Multipurpose Internet Mail Extensions (S/MIME) jest standardem IETF (RFC 2633) dla aplikacji VPN w zastosowaniach szerokiej skali stosowanie VPN na lub nad warstwą aplikacji jest kłopotliwe, gdyż każda nowa aplikacja wykorzystywana w ramach intra- lub extranetu musi być dostosowana do istniejących mechanizmów a co dopiero, gdy nadejdzie czas wymiany mechanizmów... SSH jest technologią bardzo często używaną, ale ograniczoną pod względem spektrum zastosowań tylko aplikacje interaktywne
Wirtualne sieci prywatne (VPN) 37 Technologie wspomagające tworzenie VPN warstwa 4: SSL Secure Sockets Layer jest ustandaryzowaną technologią pozwalającą na zapewnienie poufności, integralności danych oraz autentykację źródła... SSL zabezpiecza komunikację TCP wykorzystuje: bezpieczne sumy kontrolne (wykrywanie modyfikacji wiadomości), certyfikaty (autentykacja serwera i opcjonalnie klienta)
Wirtualne sieci prywatne (VPN) 38 Technologie wspomagające tworzenie VPN warstwa 4: SSL SSL składa się z trzech (pod)protokołów: Handshake Protocol (inicjalizacja sesji), Record Protocol (przesyłanie danych), Alert Protocol (zgłaszanie błędów) warning critical fatal zerwanie sesji
Wirtualne sieci prywatne (VPN) 39 Technologie wspomagające tworzenie VPN warstwa 4: SSL Problemy występujące w SSL: szyfrowanie kosztuje może wpływać na funkcjonalność serwisów uruchomionych na serwerze protokół zestawiania sesji też swoje dodaje
Wirtualne sieci prywatne (VPN) 40 Technologie wspomagające tworzenie VPN warstwa 4: SSL Stosuje się tzw. SSL accelerators, które obsługują SSL zamiast docelowych serwerów za akceleratorem content switch i serwery tzw. SSL proxy mode (transparent/nontransparent) polecany nontransparent klient i serwer nie znają adresów IP drugiej strony prywatność dla klienta elastyczność dla serwera
Wirtualne sieci prywatne (VPN) 41 Technologie wspomagające tworzenie VPN warstwa 3: IPSec, GRE IPSec (RFC 2401) jest zestawem mechanizmów tworzących połączenie punkt-punkt z wykorzystaniem (bezpołączeniowego) protokołu IP zapewnia poufność i sprawdzanie integralności danych oraz autentykację źródła wykorzystuje tzw. Internet Key Exchange (IKE) do negocjacji algorytmów kryptograficznych oraz ich parametrów (kluczy) GRE (Generic Routing Encapsulation, RFC 1701, 2784) pozwala na przenoszenie wielu protokołów, tworzy tunele (połączenia punkt-punkt), ale nie zapewnia mechanizmów szyfrowania
Wirtualne sieci prywatne (VPN) 42 Technologie wspomagające tworzenie VPN L2TP L2F PPTP L2TP (Layer 2 Tunnelling Protocol) jest wykorzystywany do tworzenia wdzwanianych wieloprotokołowych wirtualnych sieci prywatnych (VPDN) powstał w roku 1999 jako unifikacja L2F (Cisco) oraz PPTP (Microsoft) uwaga... nie definiuje mechanizmów szyfrowania (!) w celu zapewnienia wymaganych właściwości sieci musi być stosowany wraz z innymi technologiami
Wirtualne sieci prywatne (VPN) 43 Technologie wspomagające tworzenie VPN L2TP L2F PPTP wieloprotokołowość na czym to polega? 1. przychodzi pakiet do routera... 2.... zostaje opakowany w pakiet IP adresowany do drugiego końca... 3.... router na drugim końcu tunelu odpakowuje powłoczkę... 4.... i pakiet sam wędruje dalej nigdzie nie jest powiedziane, że musi to być pakiet IP! w szczególności może to być nawet ramka np. Frame Relay
Wirtualne sieci prywatne (VPN) 44 Technologie wspomagające tworzenie VPN szyfrowanie na warstwie 2: istnieją techniki szyfrowania na warstwie 2, ale ich użyteczność jest kontrowersyjna nawet adresy IP są szyfrowane (!), co spowalnia routing nie ma szans, aby skonstruować w ten sposób tunel wykorzystujący publiczną sieć WAN
Wirtualne sieci prywatne (VPN) 45 Technologie wspomagające tworzenie VPN szyfrowanie transmisji na warstwie 2 technologie warstwy 2 były dość często stosowane do zabezpieczania pojedynczych połączeń, ale: ciężko (drogo) stosować je na większą skalę, są wrażliwe na ataki typu man-in-the-middle, bo każde urządzenie warstwy 3 kończy tunel realizowany przy ich wykorzystaniu np. ISP może podsłuchiwać nasz ruch...
Wirtualne sieci prywatne (VPN) 46 Jak wybrać technologię realizacji VPN technologie warstw wyższych niż 3 mają dość dobrze zdefiniowany zakres zastosowań wybór technologii warstw 3 i 2 może przebegać według następującego (bardzo prostego) algorytmu: wyłącznie IP? tak wyłącznie unicast? tak IPSec nie nie tunel L2TP lub GRE w połączeniu z IPSec lub inną technologią unicastowe pakiety IP wystarczy opakować w nagłówek IPSec, multicast IP lub inne protokoły np. przed przesłaniem przez sieć IP (w postaci jawnej bądź szyfrowanej) muszą być opakowane np. przez L2TP lub GRE
Wirtualne sieci prywatne (VPN) 47 IP Security Architecture (IPSec)
Wirtualne sieci prywatne (VPN) 48 Jak działa IPSec? IPSec w zależności od trybu pracy może zachowywać oryginalny nagłówek IP lub też dodawać nowy, może również zapewniać autentykację (AH authentication header) oraz szyfrowanie przenoszonych danych (ESP encapsulating security payload) nagłówek IP nagłówek IP nagłówek IPSec zaszyfr. dane użytkownika dane użytkownika nagłówek IP dane użytkownika
Wirtualne sieci prywatne (VPN) 49 Jak działa IPSec? Tryby pracy IPSec: tunnel mode transport mode tunelowy: urządzenie końcowe tunelu dodaje nowy nagłówek IP (cały źródłowy pakiet IP zostaje umieszczony w polu danych) stosowany przez routery lub podobne urządzenia transportowy: urządzenie końcowe dokonuje modyfikacji źródłowego pakietu IP, ale zachowuje nagłówek stosowany przez hosty routery nie muszą obsługiwać IPSec mniejszy narzut związany z przetwarzaniem pakietów
Wirtualne sieci prywatne (VPN) 50 Authentication Header Authentication Header (AH) jest protokołem wchodzącym w skład IPSec, który pozwala na autentykację źródła danych, sprawdzenie integralności danych oraz (opcjonalnie) zabezpiecza przed atakami przez powtórzenie zabezpieczenie przed atakiem przez powtórzenie suma kontrolna, nazywana też ICV (Integrity Check Value)
Wirtualne sieci prywatne (VPN) 51 Algorytm tworzenia AH Nagłówek IP Dane Tajny klucz obliczenie sumy kontrolnej (np. MD5) Nagłówek IP AH Dane
Wirtualne sieci prywatne (VPN) 52 Gdzie umieszczany jest AH? W trybie transport jest dodawany tuż za nagłówkiem IP w polu protokół nagłówka IP umieszczana jest zarezerwowana dla AH liczba 51, zaś oryginalna wartość tego pola przenoszona jest do pola next header AH nie wszystkie pola nagłówka brane są pod uwagę przy obliczaniu sumy kontrolnej (np. TTL zmniejsza się na każdym routerze) oryginalny* nagłówek IP nagłówek AH dane warstw wyższych W trybie tunnel jest dodawany tuż za nowym nagłówkiem IP nowy nagłówek IP nagłówek AH oryginalny nagłówek IP dane warstw wyższych
Wirtualne sieci prywatne (VPN) 53 Encapsulating Security Payload Encapsulating Security Payload (ESP) jest protokołem wchodzącym w skład IPSec zapewniającym poufność oraz integralność danych; opcjonalnie także autentykację źródła oraz zabezpieczenie przed atakami przez powtórzenie ESP enkapsuluje zabezpieczane dane często stosuje się wyłącznie ESP (bez AH)
Wirtualne sieci prywatne (VPN) 54 Warianty stosowania AH i ESP AH i ESP mogą być stosowane niezależnie mogą nawet być stosowane jednocześnie a mimo to mieć różne końce działania mogą być (i czasami są) wykorzystywane kaskadowo... typowe warianty to: tryb transportowy pomiędzy dwoma hostami zarówno AH, jak i ESP pracują w tym trybie nagł. IP nagł. AH nagł. ESP dane ogon ESP autent. ESP szyfrowane (ESP) autentykowane (ESP) autentykowane (AH)
Wirtualne sieci prywatne (VPN) 55 Warianty stosowania AH i ESP typowe warianty to: tryb transportowy ESP pomiędzy dwoma hostami tryb tunelowy AH pomiędzy routerami nowy nagł. IP nagł. AH nagł. IP nagł. ESP dane ogon ESP autent. ESP szyfrowane (ESP) autentykowane (ESP) autentykowane (AH) Ciekawa właściwość: w obydwu łączonych oddziałach firmy może działać adresacja prywatna bez translacji adresów!
Wirtualne sieci prywatne (VPN) 56 Tryby pracy VPN - podsumowanie oczekiwania autentykacja źródła stosowanie adresów prywatnych bez NAT szyfrowanie danych zabezpieczenie przed analizą ruchu sposoby realizacji AH, tryb transportowy AH, tryb tunelowy ESP, tryb transportowy ESP, tryb tunelowy
Wirtualne sieci prywatne (VPN) 57 Zagadka z morałem w poniższej sieci zastosowano AH w trybie transportowym dlaczego nie działa? NAT NAT 192.168.1.1/24 sieć publiczna 192.168.16.1/24 Odpowiedź: wartość sumy kontrolnej AH została wyliczona za pomocą adresu źródłowego przed translacją i docelowego po translacji, a następnie pakiet został zmodyfikowany... a zatem naruszona została jego integralność! Morał: Aby można było stosować AH w trybie transportowym, trzeba upewnić się, że nie będzie miało miejsca żadne przekształcenie pakietu (poza dozwolonymi, np. TTL).
Wirtualne sieci prywatne (VPN) 58 Internet Key Exchange (IKE) transmisja w tunelu VPN przebiega dwutorowo: symetrycznie kodowanym kanałem przekazywane są dane użytkownika kodowanie asymetryczne wykorzystywane jest do wymiany kluczy kodowania symetrycznego również w czasie trwania połączenia Problem: jak przez niezabezpieczone łącze przekazać klucze kodowania? Rozwiązanie: po pierwsze należy przeformułować problem wystarczy informacja, na podstawie której urządzenie na drugim końcu tunelu obliczy klucz kodowania po drugie...
Wirtualne sieci prywatne (VPN) 59 Internet Key Exchange (IKE) jeden ze sposobów: Algorytm Diffiego Hellmana (RFC 2631) A X,g,p g X mod p niezabezpieczone łącze B X,g,p g X mod p K = (g X mod p) X mod p K = (g X mod p) X mod p 1. Stacje losują duże liczby: X i X 2. Wysyłają do siebie liczby Y=(g X mod p) i Y =(g X mod p) g i p to ustalone parametry algorytmu, g jest dużą liczbą pierwszą 3. Obliczają klucz szyfrowania Y X mod p = K = Y X mod p Pytanie: skąd wiemy, że pod drugi koniec łącza nikt się nie podszywa? Odpowiedź: może nas o tym zapewnić podpis elektroniczny.
Wirtualne sieci prywatne (VPN) 60 Internet Key Exchange (IKE) ISAKMP (Internet Security Association and Key Management Protocol) zestaw protokołów wykorzystywany przez IPSec, definiujący mechanizmy wymiany kluczy oraz negocjacji SA SA (Security Association) zestaw parametrów określających zabezpieczenia stosowane przez komunikujące się urządzenia zawiera m.in. zestaw szyfrów, klucze oraz czas ich ważności A baza SA: A B: ESP/DES/SHA-1 klucze: K1,K2,... ważność: 3600 s B A:... B baza SA: A B: ESP/DES/SHA-1 klucze: K1,K2,... ważność: 3600 s B A:...
Wirtualne sieci prywatne (VPN) 61 Security Association, czyli kontrakt SA są negocjowane przez końce tunelu i dotyczą: zestawu szyfrów używanych do zapewnienia poufności danych, algorytmów liczenia sum kontrolnych służących sprawdzaniu integralności, parametrów (kluczy) wraz z czasem ich ważności SA są jednokierunkowe i zależne od protokołu, tzn. dla każdego tunelu tworzone są przynajmniej dwa SA dla każdej enkapsulacji (AH,ESP) tworzony jest osobny SA Przykład SA: ruch pomiędzy routerami A i B ma wykorzystywać ESP z szyfrowaniem 3DES i kluczami K1,K2,K3 ważnymi przez 5 minut; suma kontrolna ma być liczona za pomocą SHA-1 z kluczem K4 ważnym przez 15 minut
Wirtualne sieci prywatne (VPN) 62 Security Association, czyli kontrakt SA zawierają jeszcze różne inne informacje, np. specyfikację ruchu, do którego ma być stosowany dany SA przykład: stosujemy AH+ESP do ruchu generowanego przez telnet, a do reszty tylko AH Zawierają też (to poniekąd oczywiste) tryb pracy danego protokołu (tunelowy lub transportowy) Istnieją dwie bazy SA (!)
Wirtualne sieci prywatne (VPN) 63 Etapy obsługi tunelu 1. Host A wysyła interesujący pakiet do hosta B. 2. Routery R1 i R2 negocjują fazę 1 IKE (tworzą bazy SA dla IKE). 3. Routery R1 i R2 negocjują fazę 2 IKE (tworzą bazy SA dla IPSec). 4. Dane przesyłane są zestawionym w ten sposób tunelem. 5. Tunel jest zamykany. A R1 R2 B 1 2 3 4 5 IKE SADB IPSec SADB IKE SADB IPSec SADB
Wirtualne sieci prywatne (VPN) 64 Współpraca IPSec ISAKMP access-list... szyfrować? nie transmituj pakiet crypto ipsec transform-set crypto map name crypto isakmp policy crypto isakmp identity crypto key generate crypto key public-chain crypto ca identity crypto ca authenticate crypto ca enroll crypto ca crl request tak czy posiadam IPSec SA? nie czy posiadam IKE SA? nie wykorzystać CA? tak szyfruj pakiet negocjuj IPSec SA negocjuj ISAKMP SA pobierz klucz publiczny CA oraz własny certyfikat X.509 tak tak nie
Wirtualne sieci prywatne (VPN) 65 ISAKMP ciekawsze cechy ułatwia konfigurację tunelu sporo ustawień jest negocjowanych pomiędzy końcami; mogą być to nawet adresy IP nie trzeba ręcznie wprowadzać wszystkich parametrów IPSec SA trzeba konfigurować parametry IKE SA, ale tych jest mniej pozwala na ustawienie czasu ważności IPSec SA oraz wymianę kluczy szyfrowania w trakcie sesji IP ma możliwość korzystania z centrum autentykacji (CA) zawiera algorytmy: DES, 3DES, CBC, szyfrowanie symetryczne Diffiego-Hellmana, wymiana kluczy sesji ISAKMP MD5, SHA bezpieczne sumy kontrolne RSA szyfrowanie asymetryczne, podpisy
Wirtualne sieci prywatne (VPN) 66 Etapy wdrażania VPN opartych na IPSec (0) przygotowanie, (1) określenie parametrów ISAKMP, (2) określenie parametrów IPSec, (3) testowanie IPSec
Wirtualne sieci prywatne (VPN) 67 Można tak... ustawiamy na sztywno parametry IKE w małych sieciach rozwiązanie nienajgorsze, słabo skaluje się ze wzrostem liczby klientów Etap 1: wybór mechanizmów IKE sposób dystrybucji kluczy, metoda autentykacji, adresy zdalnych urządzeń, wybór mechanizmów fazy 1 IKE: algorytm szyfrowania, algorytm obliczania sumy kontrolnej, czas ważności SA
Wirtualne sieci prywatne (VPN) 68 Etap 1: z czego wybieramy... algorytm szyfrowania: DES/3DES algorytm obliczania sumy kontrolnej: MD5/SHA-1 metoda autentykacji: prekonfigurowane klucze/rsa wymiana kluczy: Diffe-Hellman gr. I (768b)/gr. II (1024b) czas ważności SA: 86400 sekund/mniej UWAGA! Te parametry podlegają negocjacji z drugim końcem połączenia! możliwe, że urządzenia się nie dogadają nie zawsze wybrany będzie wariant najsilniejszy kryptograficznie
Wirtualne sieci prywatne (VPN) 69 Etap 1: wartości domyślne
Wirtualne sieci prywatne (VPN) 70 I dalej... Etap 2: wybór mechanizmów IPSec (fazy 2 IKE) należy brać pod uwagę narzuty obliczeniowe (!), określamy: zestaw przekształceń dokonywanych na pakietach, parametry drugiego końca połączenia: adres IP, nazwa użytkownika (lub hosta), jaki ruch urządzenie ma uważać za interesujący, w jaki sposób mają być ustalane SA: ręcznie, za pomocą IKE
Wirtualne sieci prywatne (VPN) 71 Etap 2: zakres możliwości Zestawy przekształceń dokonywanych na pakietach: (*) Uwaga na inne mechanizmy działające w sieci (NAT/PAT itp.) (*) Uwaga: przekształcenie esp-null nie szyfruje danych
Wirtualne sieci prywatne (VPN) 72 Etap 2: przykład wybranej strategii dlaczego ta strategia nie jest realizowalna?
Wirtualne sieci prywatne (VPN) 73 Etap 3: testowanie konfiguracji Czy już działa? Co trzeba sprawdzić: bieżącą konfigurację końcówek VPN (router, firewall, CVPN, host), konfigurację fazy 1 IKE, definicję interesującego ruchu, konfigurację NAT oraz firewalli protokoły ESP(50), AHP(51) port 500 UDP (ISAKMP) show running-config show crypto isakmp policy show crypto map show access-lists działanie sieci (wybrane aplikacje).
Wirtualne sieci prywatne (VPN) 74 Podstawowe polecenia IOS (ISAKMP) (config)# [no] crypto isakmp enable włącza/wyłącza ISAKMP domyślnie włączone aby zablokować ISAKMP na pojedynczym interfejsie, trzeba użyć ACL (config)# crypto isakmp policy <priorytet> (config-isakmp)# authentication {pre-share rsa-sig rsa-encr} (config-isakmp)# encryption {des} (config-isakmp)# group{1 2} (config-isakmp)# hash {sha md5} (config-isakmp)# lifetime {ile_sekund 86400} Priorytet określa kolejność dopasowywania zestawów parametrów
Wirtualne sieci prywatne (VPN) 75 Podstawowe polecenia IOS (ISAKMP) (config)# crypto isakmp identity {address hostname} domyślnie router przedstawia się za pomocą adresu IP interfejsu, na którym próbuje zestawić tunel parametr hostname zmienia identyfikator na pełną (wraz z domeną) nazwę routera kiedy używać: wtedy, gdy nie wiemy, przez który interfejs będziemy się komunikować (config)# crypto isakmp key <tekst> hostname <hostname> (config)# crypto isakmp key <tekst> address <IP> ta komenda konfiguruje współdzielone (pre-shared) hasła działa analogicznie, jak definiowanie haseł np. do PPP uwaga: działa tylko w połączeniu z authentication pre-share
Wirtualne sieci prywatne (VPN) 76 Podstawowe polecenia IOS (ISAKMP) # show crypto isakmp policy RouterA#show crypto isakmp policy Protection suite of priority 110 encryption algorithm: DES - Data Encryption Standard (56 bit keys). hash algorithm: Message Digest 5 authentication method: Pre-Shared Key Diffie-Hellman group: #1 (768 bit) lifetime: 86400 seconds, no volume limit Default protection suite encryption algorithm: DES - Data Encryption Standard (56 bit keys). hash algorithm: Secure Hash Standard authentication method: Rivest-Shamir-Adleman Signature Diffie-Hellman group: #1 (768 bit) lifetime: 86400 seconds, no volume limit
Wirtualne sieci prywatne (VPN) 77 Podstawowe polecenia IOS (IPSec) (config)# crypto ipsec transform-set <nazwa> <prz1> [<prz2> [...]] określa listę przekształceń IPSec, jakie będą dokonywane listy przekształceń są uzgadniane w fazie 2 IKE przykład: (config)# crypto ipsec transform-set AQQ esp-3des ah-sha-mac tunnel (config)# crypto ipsec security-association lifetime <ile_sekund>
Wirtualne sieci prywatne (VPN) 78 Zaawansowane polecenia IOS (IPSec) Można zdefiniować (za pomocą ACL) ruch, który będzie podlegał przekształceniom (config)# access-list <nr_acl>... (config)# crypto map <nazwa> <nr_sekw> (config-crypto-map)# match address <nr_acl> (config-crypto-map)# set peer <adres_ip> (config-crypto-map)# set transform-set <nazwa> {ipsec-isakmp ipsec-manual} (config-crypto-map)# set security-association lifetime <sek> (config-if)# crypto map <nazwa>
Wirtualne sieci prywatne (VPN) 79 Polecenia IOS - testowanie show crypto ipsec transform-set show crypto isakmp sa show crypto ipsec sa show crypto map clear crypto sa debug crypto {ipsec isakmp}
Wirtualne sieci prywatne (VPN) 80 Literatura: http://www.cisco.com http://cisco.netacad.net http://www.redbooks.ibm.com http://www.microsoft.com http://computer.howstuffworks.com http://www.watchguard.com D. Elizabeth, R. Denning, Kryptografia i ochrona danych M. Murhammer i in., A Comprehensive Guide to Virtual Private Networks, vol. I-III, www.redbooks.ibm.com