Wirtualne sieci prywatne

Wirtualne sieci prywatne (VPN) 1 Wirtualne sieci prywatne • • • • • • • wprowadzenie, szyfrowanie symetryczne i asymetryczne, bezpieczne sumy kontr...
33 downloads 2 Views 989KB Size
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