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 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
© 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
przechwycenie Cele: • 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
Ataki aktywne przerwanie
modyfikacja
pasywne fabrykacja
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
© S. Zieliński, KI AGH, 2004
www.cs.agh.edu.pl
Wirtualne sieci prywatne (VPN)
9
Klasyfikacja ataków
Ataki aktywne przerwanie
modyfikacja
pasywne fabrykacja
przechwycenie
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 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. © 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 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 (?) © S. Zieliński, KI AGH, 2004
www.cs.agh.edu.pl
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)
dane
klucz
klucz
szyfrowanie
deszyfrowanie
© S. Zieliński, KI AGH, 2004
dane
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?
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ć
© S. Zieliński, KI AGH, 2004
www.cs.agh.edu.pl
Wirtualne sieci prywatne (VPN)
22
Tradycyjne metody kodowania
„Szatan z siódmej klasy”: • [...] PILNUJCIE DOMU [...] • nakłucia tekstu, • atrament sympatyczny, Kodak Photo CD: • zaznaczanie znaków, • 2048x3072 punktów • 24-bitowe określenie koloru • zmiana najmłodszego bitu Zalety i wady: niezauważalna możnawykorzystać w ten sposób ukryć (+) tę metodę •można 6MB informacji „w zdjęciu” do ukrycia faktu do 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 WX 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
klucz A
klucz A’
szyfrowanie
deszyfrowanie
© 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)
klucz A
klucz A’
szyfrowanie
deszyfrowanie
© S. Zieliński, KI AGH, 2004
www.cs.agh.edu.pl
Wirtualne sieci prywatne (VPN)
27
Co nam daje szyfrowanie... poufność symetryczne 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 © S. Zieliński, KI AGH, 2004
www.cs.agh.edu.pl
Wirtualne sieci prywatne (VPN)
28
Co nam daje szyfrowanie... poufność symetryczne 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. © 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 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. 2.
ponowne obliczenie sumy kontrolnej 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
klucz: alamakota
www.cs.agh.edu.pl
Wirtualne sieci prywatne (VPN)
30
Ile czasu zajmie złamanie? Rozmiar klucza Ilość kluczy
1 klucz/us
1 mln kluczy/us
32 bity
232 = 4,3*109
231 us =35,8 min
2,15 us
56 bitów (DES)
256 = 7,2*1016
1142 lata
10,01 godz.
128 bitów
2128 = 3,4*1038
5,4*1024 lat
5,4*1018 lat
26 znaków (permutacja)
26!= 4,03*1026
6,4*1012 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 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... ☺
© 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: SSL warstwa 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
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) © S. Zieliński, KI AGH, 2004
www.cs.agh.edu.pl
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
© S. Zieliński, KI AGH, 2004
www.cs.agh.edu.pl
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
© S. Zieliński, KI AGH, 2004
www.cs.agh.edu.pl
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
© 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
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 © S. Zieliński, KI AGH, 2004
www.cs.agh.edu.pl
Wirtualne sieci prywatne (VPN)
43
Technologie wspomagające tworzenie VPN
L2TP
•
wieloprotokołowość – na czym to polega? 1. 2. 3. 4.
•
L2F PPTP
przychodzi pakiet do routera ... ... zostaje opakowany w pakiet IP adresowany do drugiego końca ... ... router na drugim końcu tunelu odpakowuje powłoczkę ... ... 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 tunel wykorzystują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:
wyłącznie IP?
tak
wyłącznie unicast?
nie
tak
IPSec
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 © 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 IP nagłówek IPSec zaszyfr. dane użytkownika © S. Zieliński, KI AGH, 2004
dane użytkownika nagłówek IP dane użytkownika www.cs.agh.edu.pl
Wirtualne sieci prywatne (VPN)
49
Jak działa IPSec?
tunnel mode transport mode
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ą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)
© 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
© S. Zieliński, KI AGH, 2004
AH
Dane
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)
oryginalny* nagłówek nagłówek IP AH
dane warstw wyższych
• W trybie tunnel jest dodawany tuż za nowym nagłówkiem IP nowy nagłówek nagłówek IP AH
© S. Zieliński, KI AGH, 2004
oryginalny nagłówek IP
dane warstw wyższych
www.cs.agh.edu.pl
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) © 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ł. IP
nagł. AH
nagł. ESP
dane
ogon autent. ESP 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
nowy nagł. nagł. IP AH
nagł. IP
nagł. ESP
dane
ogon autent. ESP 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! © 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
stosowanie adresów prywatnych bez NAT
AH, tryb tunelowy
szyfrowanie danych
ESP, tryb transportowy
zabezpieczenie przed analizą ruchu
ESP, 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? NAT
192.168.1.1/24
NAT
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). © 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 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 ...
© 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) A
niezabezpieczone łącze
B
X,g,p gX mod p K = (gX’ mod p)X mod p
1. 2.
gX’ mod p K = (gX mod p)X’ mod p
Stacje losują duże liczby: X i X’ Wysyłają do siebie liczby Y=(gX mod p) i Y’=(gX’ mod p) •
3.
X’,g,p
g i p to ustalone parametry algorytmu, g jest dużą liczbą pierwszą
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. © 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
A
B
baza SA: A B: ESP/DES/SHA-1 klucze: K1,K2, ... ważność: 3600 s
baza SA: A B: ESP/DES/SHA-1 klucze: K1,K2, ... ważność: 3600 s
B A: ...
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ą: – – –
•
SA są jednokierunkowe i zależne od protokołu, tzn. – –
•
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
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
© 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. 2. 3. 4. 5.
Host A wysyła „interesujący” pakiet do hosta B. Routery R1 i R2 negocjują fazę 1 IKE (tworzą bazy SA dla IKE). Routery R1 i R2 negocjują fazę 2 IKE (tworzą bazy SA dla IPSec). Dane przesyłane są zestawionym w ten sposób tunelem. Tunel jest zamykany. A
R1
R2
B
1 2
IKE SADB
3
IPSec SADB
IKE SADB IPSec SADB
4 5 © S. Zieliński, KI AGH, 2004
www.cs.agh.edu.pl
Wirtualne sieci prywatne (VPN)
64
Współpraca IPSec ISAKMP
access-list ...
szyfrować?
nie
transmituj pakiet
tak
szyfruj pakiet
tak
negocjuj IPSec SA
nie
negocjuj ISAKMP SA
tak crypto ipsec transform-set crypto map name
czy posiadam IPSec SA? nie
crypto crypto crypto crypto
isakmp policy isakmp identity key generate key public-chain
czy posiadam IKE SA? nie
wykorzystać CA? crypto crypto crypto crypto
ca ca ca ca
identity authenticate enroll crl request
© S. Zieliński, KI AGH, 2004
tak
pobierz klucz publiczny CA oraz własny certyfikat X.509 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, Diffiego-Hellmana, MD5, SHA RSA
© S. Zieliński, KI AGH, 2004
szyfrowanie symetryczne wymiana kluczy sesji ISAKMP bezpieczne sumy kontrolne szyfrowanie asymetryczne, podpisy www.cs.agh.edu.pl
Wirtualne sieci prywatne (VPN)
66
Etapy wdrażania VPN opartych na IPSec (0) (1) (2) (3)
przygotowanie, określenie parametrów ISAKMP, określenie parametrów IPSec, 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),
show running-config
–
konfigurację fazy 1 IKE,
show crypto isakmp policy
–
definicję interesującego ruchu,
show crypto map
–
konfigurację NAT oraz firewalli • •
–
protokoły ESP(50), AHP(51) port 500 UDP (ISAKMP)
show access-lists
działanie sieci (wybrane aplikacje).
© 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 (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 hostname (config)# crypto isakmp key address
• • •
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 [ [...]]
• • •
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
© 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 ... (config)# crypto map {ipsec-isakmp|ipsec-manual} (config-crypto-map)# match address (config-crypto-map)# set peer (config-crypto-map)# set transform-set (config-crypto-map)# set security-association lifetime (config-if)# crypto map
© S. Zieliński, KI AGH, 2004
www.cs.agh.edu.pl
Wirtualne sieci prywatne (VPN)
79
Polecenia IOS - testowanie
show crypto ipsec transform-set show crypto isakmp sa show crypto ipsec sa © S. Zieliński, KI AGH, 2004
show crypto map clear crypto sa debug crypto {ipsec|isakmp} 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
© S. Zieliński, KI AGH, 2004
www.cs.agh.edu.pl