Wirtualne sieci prywatne - ics.agh.edu.plradzisz/dydaktyka/2005_6/iosr/wyklad/w10/IOSR... ·...
-
Upload
truongphuc -
Category
Documents
-
view
221 -
download
0
Transcript of Wirtualne sieci prywatne - ics.agh.edu.plradzisz/dydaktyka/2005_6/iosr/wyklad/w10/IOSR... ·...
© S. Zieliński, KI AGH, 2004 www.cs.agh.edu.pl
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
© S. Zieliński, KI AGH, 2004 www.cs.agh.edu.pl
Wirtualne sieci prywatne (VPN) 2
Wprowadzenie
• 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
• 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
CO
Branch
Branch
Telecommuters
© S. Zieliński, KI AGH, 2004 www.cs.agh.edu.pl
Wirtualne sieci prywatne (VPN) 3
Bezpieczeństwo
© S. Zieliński, KI AGH, 2004 www.cs.agh.edu.pl
Wirtualne sieci prywatne (VPN) 4
Rodzaje ataków
przerwanie komunikacji Cel:
• zablokowanie dostępu do systemu
© S. Zieliński, KI AGH, 2004 www.cs.agh.edu.pl
Wirtualne sieci prywatne (VPN) 5
Rodzaje ataków
przechwycenieCele:
• dane osobowe,
• dane medyczne,
• dane finansowe
© S. Zieliński, KI AGH, 2004 www.cs.agh.edu.pl
Wirtualne sieci prywatne (VPN) 6
Rodzaje ataków
modyfikacja wiadomości Cele:
• podmiana programu,pliku z danymi, ...
© S. Zieliński, KI AGH, 2004 www.cs.agh.edu.pl
Wirtualne sieci prywatne (VPN) 7
Rodzaje ataków
fabrykacja wiadomości
Cele:
• np. wydanie fałszywego polecenia przelewu
© S. Zieliński, KI AGH, 2004 www.cs.agh.edu.pl
Wirtualne sieci prywatne (VPN) 8
Klasyfikacja ataków
przerwanie modyfikacja fabrykacja
aktywne
przechwycenie
pasywne
Ataki
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
© S. Zieliński, KI AGH, 2004 www.cs.agh.edu.pl
Wirtualne sieci prywatne (VPN) 9
Klasyfikacja ataków
przerwanie modyfikacja fabrykacja
aktywne
przechwycenie
pasywne
Ataki
ATAKI PASYWNE
• uzyskanie treści przesyłanej informacji• analiza ruchu w sieci - obserwacja natury komunikacji
© S. Zieliński, KI AGH, 2004 www.cs.agh.edu.pl
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
© S. Zieliński, KI AGH, 2004 www.cs.agh.edu.pl
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ć.
© S. Zieliński, KI AGH, 2004 www.cs.agh.edu.pl
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”.
© S. Zieliński, KI AGH, 2004 www.cs.agh.edu.pl
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).
© S. Zieliński, KI AGH, 2004 www.cs.agh.edu.pl
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ą.
© S. Zieliński, KI AGH, 2004 www.cs.agh.edu.pl
Wirtualne sieci prywatne (VPN) 15
Technologie VPN
© S. Zieliński, KI AGH, 2004 www.cs.agh.edu.pl
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.
© S. Zieliński, KI AGH, 2004 www.cs.agh.edu.pl
Wirtualne sieci prywatne (VPN) 17
Wprowadzenie
• Podstawowe mechanizmy, wykorzystywane do konstrukcji wirtualnychsieci 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.
© S. Zieliński, KI AGH, 2004 www.cs.agh.edu.pl
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 VPNwykorzystują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 (?)
© S. Zieliński, KI AGH, 2004 www.cs.agh.edu.pl
Wirtualne sieci prywatne (VPN) 19
Wirtualna sieć prywatna
• tunel: wirtualne połączenie punkt-punktsłużące do przenoszenia danych jednego protokołu wewnątrz PDU innego protokołu
• klucze szyfrowania/deszyfrowaniasą utajnione (prywatne)
deszyfrowanieszyfrowanie
klucz klucz
dane dane
© S. Zieliński, KI AGH, 2004 www.cs.agh.edu.pl
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
© S. Zieliński, KI AGH, 2004 www.cs.agh.edu.pl
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?
• 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ć
deszyfrowanieszyfrowanie
klucz klucz
© S. Zieliński, KI AGH, 2004 www.cs.agh.edu.pl
Wirtualne sieci prywatne (VPN) 22
• nakłucia tekstu,• atrament sympatyczny,• zaznaczanie znaków,
Tradycyjne metody kodowania
„Szatan z siódmej klasy”:• [...] PILNUJCIE DOMU [...]
Kodak Photo CD:• 2048x3072 punktów• 24-bitowe określenie koloru• zmiana najmłodszego bitu niezauważalna
• można w ten sposób ukryćdo 6MB informacji „w zdjęciu”
Zalety i wady:(+) tę metodę można wykorzystaćdo ukrycia faktu istnienia komunikacji(-) raz odkryty schemat jest bezużyteczny
© S. Zieliński, KI AGH, 2004 www.cs.agh.edu.pl
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!
© S. Zieliński, KI AGH, 2004 www.cs.agh.edu.pl
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
© S. Zieliński, KI AGH, 2004 www.cs.agh.edu.pl
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
deszyfrowanieszyfrowanie
kluczA
klucz A’
© S. Zieliński, KI AGH, 2004 www.cs.agh.edu.pl
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)
deszyfrowanieszyfrowanie
kluczA
klucz A’
© S. Zieliński, KI AGH, 2004 www.cs.agh.edu.pl
Wirtualne sieci prywatne (VPN) 27
Co nam daje szyfrowanie...
• 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 kluczprywatny odpowiadający danemu kluczowi publicznemu, to wiemy, kto nadał dane
symetryczne
asymetryczne
poufność
autentykacja źródła
spójność danych
© S. Zieliński, KI AGH, 2004 www.cs.agh.edu.pl
Wirtualne sieci prywatne (VPN) 28
Co nam daje szyfrowanie...
• 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.
symetryczne
asymetryczne
poufność
autentykacja źródła
spójność danych
© S. Zieliński, KI AGH, 2004 www.cs.agh.edu.pl
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 danycho zmiennej długości oraz (tajnego) klucza
przelać 100 zł na konto XX
klucz: alamakota
przelać 100 zł na konto XXMD5: 0x207f44516adf77127fff10235c0082
klucz: alamakota
1. ponowne obliczenie sumy kontrolnej2. sprawdzenie zgodności z przesłaną wartością
Długość kluczy i danych wyjściowych:MD5: 128 bitów, SHA-1: 160 bitów
© S. Zieliński, KI AGH, 2004 www.cs.agh.edu.pl
Wirtualne sieci prywatne (VPN) 30
Ile czasu zajmie złamanie?
Rozmiar klucza
32 bity
56 bitów (DES)
128 bitów
26 znaków (permutacja)
Ilość kluczy
232 = 4,3*109
256 = 7,2*1016
2128 = 3,4*1038
26!= 4,03*1026
1 klucz/us
231 us =35,8 min
1142 lata
5,4*1024 lat
6,4*1012 lat
1 mln kluczy/us
2,15 us
10,01 godz.
5,4*1018 lat
6,4*106 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
© S. Zieliński, KI AGH, 2004 www.cs.agh.edu.pl
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 oprogramowaniaaby 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... ☺
© S. Zieliński, KI AGH, 2004 www.cs.agh.edu.pl
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.
© S. Zieliński, KI AGH, 2004 www.cs.agh.edu.pl
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.
© S. Zieliński, KI AGH, 2004 www.cs.agh.edu.pl
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.
© S. Zieliński, KI AGH, 2004 www.cs.agh.edu.pl
Wirtualne sieci prywatne (VPN) 35
Technologie wspomagające tworzenie VPN
warstwa 7: SSH, S/MIME
warstwa 4: SSLwarstwa 3: IPSec
szyfrowanie transmisji na warstwie 2
© S. Zieliński, KI AGH, 2004 www.cs.agh.edu.pl
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
© S. Zieliński, KI AGH, 2004 www.cs.agh.edu.pl
Wirtualne sieci prywatne (VPN) 37
Technologie wspomagające tworzenie VPN
• 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)
warstwa 4: SSL
© S. Zieliński, KI AGH, 2004 www.cs.agh.edu.pl
Wirtualne sieci prywatne (VPN) 38
Technologie wspomagające tworzenie VPN
• 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
warstwa 4: SSL
© S. Zieliński, KI AGH, 2004 www.cs.agh.edu.pl
Wirtualne sieci prywatne (VPN) 39
Technologie wspomagające tworzenie VPN
• 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
warstwa 4: SSL
© S. Zieliński, KI AGH, 2004 www.cs.agh.edu.pl
Wirtualne sieci prywatne (VPN) 40
Technologie wspomagające tworzenie VPN
• 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
warstwa 4: SSL
© S. Zieliński, KI AGH, 2004 www.cs.agh.edu.pl
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
© S. Zieliński, KI AGH, 2004 www.cs.agh.edu.pl
Wirtualne sieci prywatne (VPN) 42
Technologie wspomagające tworzenie VPN
L2TP L2FPPTP
• 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
© S. Zieliński, KI AGH, 2004 www.cs.agh.edu.pl
Wirtualne sieci prywatne (VPN) 43
Technologie wspomagające tworzenie VPN
L2TP L2FPPTP
• 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
© S. Zieliński, KI AGH, 2004 www.cs.agh.edu.pl
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 tunelwykorzystujący publiczną sieć WAN
© S. Zieliński, KI AGH, 2004 www.cs.agh.edu.pl
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...
© S. Zieliński, KI AGH, 2004 www.cs.agh.edu.pl
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:
– 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
takwyłącznie IP?
wyłącznie unicast?
tak IPSec
nie nie
tunel L2TP lub GREw połączeniu z IPSec lub inną technologią
© S. Zieliński, KI AGH, 2004 www.cs.agh.edu.pl
Wirtualne sieci prywatne (VPN) 47
IP Security Architecture (IPSec)
© S. Zieliński, KI AGH, 2004 www.cs.agh.edu.pl
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 IPSec
zaszyfr.dane
użytkow-nika
nagłówek IP
dane użytkow-
nika
nagłówek IP
dane użytkow-
nika
© S. Zieliński, KI AGH, 2004 www.cs.agh.edu.pl
Wirtualne sieci prywatne (VPN) 49
tunnel mode
transport mode
Jak działa IPSec?
Tryby pracy IPSec:• 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
© S. Zieliński, KI AGH, 2004 www.cs.agh.edu.pl
Wirtualne sieci prywatne (VPN) 50
Authentication Header
• Authentication Header (AH) jest protokołem wchodzącymw 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)
© S. Zieliński, KI AGH, 2004 www.cs.agh.edu.pl
Wirtualne sieci prywatne (VPN) 51
Algorytm tworzenia AH
Nagłówek IP Dane Tajny klucz
obliczenie sumy
kontrolnej (np. MD5)
Nagłówek IP DaneAH
© S. Zieliński, KI AGH, 2004 www.cs.agh.edu.pl
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)
• W trybie tunnel jest dodawany tuż za nowym nagłówkiem IP
oryginalny*nagłówek IP
nagłówek AH
dane warstw wyższych
nagłówek AH
dane warstw wyższychnowy
nagłówek IPoryginalnynagłówek IP
© S. Zieliński, KI AGH, 2004 www.cs.agh.edu.pl
Wirtualne sieci prywatne (VPN) 53
Encapsulating Security Payload
• Encapsulating Security Payload (ESP) jest protokołemwchodzą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)
© S. Zieliński, KI AGH, 2004 www.cs.agh.edu.pl
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ł. IPnagł. AH
nagł. ESP
daneogon ESP
autent. ESP
szyfrowane (ESP)
autentykowane (ESP)
autentykowane (AH)
© S. Zieliński, KI AGH, 2004 www.cs.agh.edu.pl
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
nowynagł. IP
nagł. AH
nagł. ESP
daneogon ESP
autent. ESP
szyfrowane (ESP)
autentykowane (ESP)
autentykowane (AH)
nagł. IP
Ciekawa właściwość: w obydwu łączonych oddziałach firmy może działać adresacja prywatna bez translacji adresów!
© S. Zieliński, KI AGH, 2004 www.cs.agh.edu.pl
Wirtualne sieci prywatne (VPN) 56
Tryby pracy VPN - podsumowanie
oczekiwania sposoby realizacji
autentykacja źródła AH, tryb transportowy
szyfrowanie danych ESP, tryb transportowy
zabezpieczenie przed analizą ruchu
ESP, tryb tunelowy
stosowanie adresówprywatnych bez NAT
AH, tryb tunelowy
© S. Zieliński, KI AGH, 2004 www.cs.agh.edu.pl
Wirtualne sieci prywatne (VPN) 57
Zagadka z morałem
• w poniższej sieci zastosowano AH w trybie transportowym
– dlaczego nie działa?
Odpowiedź: wartość sumy kontrolnej AH została wyliczonaza pomocą adresu źródłowego przed translacją i docelowegopo translacji, a następnie pakiet został zmodyfikowany...a zatem naruszona została jego integralność!
192.168.1.1/24 192.168.16.1/24
NAT NAT
sieć publiczna
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).
© S. Zieliński, KI AGH, 2004 www.cs.agh.edu.pl
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 symetrycznegoró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 ...
© S. Zieliński, KI AGH, 2004 www.cs.agh.edu.pl
Wirtualne sieci prywatne (VPN) 59
Internet Key Exchange (IKE)
jeden ze sposobów: Algorytm Diffiego – Hellmana (RFC 2631)
1. Stacje losują duże liczby: X i X’
2. Wysyłają do siebie liczby Y=(gX mod p) i Y’=(gX’ mod p)
• g i p to ustalone parametry algorytmu, g jest dużą liczbą pierwszą
3. Obliczają klucz szyfrowania Y’X mod p = K = YX’ mod p
Pytanie: skąd wiemy, że pod drugi koniec łącza nikt się nie podszywa?
Odpowiedź: może nas o tym zapewnić podpis elektroniczny.
ABniezabezpieczone łącze
X,g,p X’,g,p
gX mod p gX’ mod p
K = (gX’ mod p)X mod p K = (gX mod p)X’ mod p
© S. Zieliński, KI AGH, 2004 www.cs.agh.edu.pl
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
baza SA:A � B: ESP/DES/SHA-1klucze: K1,K2, ...ważność: 3600 s
B � A: ...
A B
baza SA:A � B: ESP/DES/SHA-1klucze: K1,K2, ...ważność: 3600 s
B � A: ...
© S. Zieliński, KI AGH, 2004 www.cs.agh.edu.pl
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ć ESPz 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
© S. Zieliński, KI AGH, 2004 www.cs.agh.edu.pl
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 (!) �����
© S. Zieliński, KI AGH, 2004 www.cs.agh.edu.pl
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.
1
2
3
4
5
IKE SADB
IPSec SADB
IKE SADB
IPSec SADB
A BR1 R2
© S. Zieliński, KI AGH, 2004 www.cs.agh.edu.pl
Wirtualne sieci prywatne (VPN) 64
Współpraca IPSec ���� ISAKMP
szyfrować?
czy posiadamIPSec SA?
tak
nie
czy posiadamIKE SA?
nie
wykorzystać CA?
tak
pobierz klucz publiczny CA oraz własny certyfikat X.509
negocjuj ISAKMP SA
negocjuj IPSec SA
szyfruj pakiet
transmituj pakietnie
tak
tak
nie
access-list ...
crypto ipsectransform-setcrypto map name
crypto isakmp policycrypto isakmp identitycrypto key generatecrypto key public-chain
crypto ca identitycrypto ca authenticatecrypto ca enrollcrypto ca crl request
© S. Zieliński, KI AGH, 2004 www.cs.agh.edu.pl
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 symetryczneDiffiego-Hellmana, wymiana kluczy sesji ISAKMPMD5, SHA bezpieczne sumy kontrolneRSA szyfrowanie asymetryczne, podpisy
© S. Zieliński, KI AGH, 2004 www.cs.agh.edu.pl
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
© S. Zieliński, KI AGH, 2004 www.cs.agh.edu.pl
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
© S. Zieliński, KI AGH, 2004 www.cs.agh.edu.pl
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
© S. Zieliński, KI AGH, 2004 www.cs.agh.edu.pl
Wirtualne sieci prywatne (VPN) 69
Etap 1: wartości domyślne
© S. Zieliński, KI AGH, 2004 www.cs.agh.edu.pl
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
© S. Zieliński, KI AGH, 2004 www.cs.agh.edu.pl
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
© S. Zieliński, KI AGH, 2004 www.cs.agh.edu.pl
Wirtualne sieci prywatne (VPN) 72
Etap 2: przykład wybranej strategii
� dlaczego ta strategia nie jest realizowalna?
© S. Zieliński, KI AGH, 2004 www.cs.agh.edu.pl
Wirtualne sieci prywatne (VPN) 73
Czy już działa?
Etap 3: testowanie konfiguracji
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)
– działanie sieci (wybrane aplikacje).
show running-config
show crypto isakmp policy
show crypto map
show access-lists
© S. Zieliński, KI AGH, 2004 www.cs.agh.edu.pl
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
© S. Zieliński, KI AGH, 2004 www.cs.agh.edu.pl
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
© S. Zieliński, KI AGH, 2004 www.cs.agh.edu.pl
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
© S. Zieliński, KI AGH, 2004 www.cs.agh.edu.pl
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>
© S. Zieliński, KI AGH, 2004 www.cs.agh.edu.pl
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>
{ipsec-isakmp|ipsec-manual}
(config-crypto-map)# match address <nr_ACL>
(config-crypto-map)# set peer <adres_IP>
(config-crypto-map)# set transform-set <nazwa>
(config-crypto-map)# set security-association lifetime <sek>
(config-if)# crypto map <nazwa>
© S. Zieliński, KI AGH, 2004 www.cs.agh.edu.pl
Wirtualne sieci prywatne (VPN) 79
Polecenia IOS - testowanie
show crypto ipsec transform-setshow crypto isakmp sashow crypto ipsec sa
show crypto mapclear crypto sadebug crypto {ipsec|isakmp}
© S. Zieliński, KI AGH, 2004 www.cs.agh.edu.pl
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