Podstawowe pojęcia dotyczące sieci komputerowych. Podział sieci
Marek Pałczyński - iSAPSwsg.isaps.pl/cisco/VPN.pdf · 2020. 7. 25. · 2014-10-28 1 Sieci nowej...
Transcript of Marek Pałczyński - iSAPSwsg.isaps.pl/cisco/VPN.pdf · 2020. 7. 25. · 2014-10-28 1 Sieci nowej...
2014-10-28
1
Sieci nowej generacjiSieci VPN
Marek Pałczyński
Sieci VPN Cechy sieci VPN Tunel do przekazywania pakietów sieci LAN przez sieć WAN Przezroczystość dla użytkowników końcowych Bezpieczeństwo transmisji – szyfrowanie i uwierzytelnianie Brak konieczności dzierżawienia łączy
Najczęściej stosowane rozwiązania IPSec PPTP SSL (OpenVPN)
Topologie Site-to-site (łączenie sieci korporacyjnych) Zdalny dostęp (dostęp pojedynczego użytkownika do sieci
firmowej)
2014-10-28
2
Zadania systemów VPN Szyfrowanie przekazywanych informacji DES 3DES AES
Uwierzytelnianie treści (podpisy cyfrowe) SHA MD5
Zapewnienie jednokrotności transmisji (non-repudiation)
Bezpieczna wymiana kluczy wykorzystywanych w algorytmach szyfrowania i uwierzytelniania Algorytm Diffiego-Hellmana (DH)
Stos IPsec
2014-10-28
3
Standardowy datagram IPProto Opis
1 ICMP — Internet Control Message Protocol
2 IGMP — Internet Group Management Protocol
4 IP w IP (a kind of encapsulation)
6 TCP — Transmission Control Protocol
17 UDP — User Datagram Protocol
41 IPv6 — następna wersja TCP/IP
47 GRE — Generic Router Encapsulation
50 IPsec: ESP — Encapsulating Security Payload
51 IPsec: AH — Authentication Header
Rysunki: http://www.unixwiz.net/techtips/iguide-ipsec.html
Protokół AH Zastosowanie – uwierzytelnianie (ochrona
integralności, ale nie poufności) Uwierzytelnienie – wyznaczenie wartości skrótu
kryptograficznego dla niemal wszystkich pól pakietu IP (oprócz modyfikowanych podczas transmisji –TTL, checksum)
Ochrona przed: Modyfikacją danych Wstrzyknięciem danych przez osobę atakującą
2014-10-28
4
Protokół AH Pola nagłówka AH next hdr – typ protokołu pola
danych AH len – długość nagłówka AH Reserved – musi mieć wartość zero SPI – skojarzenie pakietu z daną sesją (wskaźnik do
parametrów szyfrowania – rodzaju algorytmu, klucza, …) Sequence Number – inkrementowana wartość
zapobiegająca powtarzaniu pakietów Authentication Data – wyznaczona wartość ICV
Protokół AH w trybie transportowym
2014-10-28
5
AH w trybietunelowym
Tryb transportowy i tunelowy Brak pola informującego
o trybie O trybie decyduje wartość
pola next hdr
2014-10-28
6
Protokół AH – problem NAT Skrót kryptograficzny
obejmuje wszystkie pola, które są uznawane za niezmienne
Przejście pakietu przez router NAT zmniejszenie TTL zmiana adresu IP przeliczenie sumy kontrolnej
w nagłówku IP
Protokół ESP Zastosowanie – szyfrowanie lub szyfrowanie i
uwierzytelnianie (ochrona poufności i integralności) Otoczenie pola danych wartościami ESP Możliwość rezygnacji z szyfrowania (algorytm NULL) Osoba atakująca ma dostęp do adresów IP, ale nie
do pola danych Uwierzytelnianie dotyczy jedynie nagłówka ESP i
pola danych (nie obejmuje dołączanego nagłówka IP)
2014-10-28
7
Protokół ESP bez uwierzytelniania i z uwierzytelnianiem
Protokół ESP w trybie transportowym
2014-10-28
8
Protokół ESP w trybie tunelowym
ESP + uwierzytelnianie + tryb tunelowy = VPN
2014-10-28
9
Algorytm DH Bezpieczny sposób ustalenia i wymiany kluczy
Grupa DH Długość klucza
DH 1 768 bitów
DH 2 1024 bity
DH 5 1536 bity
Etapy ustanawiania połączenia VPN (IPsec) Negocjowanie parametrów wymiany kluczy (IKE) ISAKMP (Internet Security Association Key Management
Protocol) hasło znane obu stronom (shared secret) certyfikaty X.509
Wyznaczenie wspólnego klucza (DH) Uwierzytelnienie jednostek Negocjowanie parametrów szyfrowania danych
Zestaw ustalonych parametrów komunikacji – SA (Security Association) Odzwierciedla uzgodnienia odnośnie polityki zabezpieczania
transmisji Przechowuje parametry potrzebne do bezpiecznego transportu
pakietów w IPsec
2014-10-28
10
Fazy IKE Faza 1 Ustalenie zestawu kryptograficznego do przeprowadzania
transakcji IKE Wymiana kluczy zabezpieczających operację IKE
(algorytm DH) Uwierzytelnienie urządzeń Wyznaczenie SA IKE
Faza 2 Ustalenie parametrów mechanizmu IPsec (zestaw
transformat) Wyznaczenie SA IPsec Okresowe ponawianie negocjacji parametrów SA IPsec
Faza 1 IKE
IKE Policy 103DESSHA
wspólne hasłoDH 2
IKE Policy 203DESMD5
wspólne hasłoDH 2
IKE Policy 30DESMD5
wspólne hasłoDH 1
IKE Policy 153DESSHA
wspólne hasłoDH 5
IKE Policy 173DESSHA
wspólne hasłoDH 2
2014-10-28
11
Faza 2 IKE
Zestaw 10ESP
3DESSHA
Tryb tunelowyCzas ważności
Zestaw 20ESPDESMD5
Tryb tunelowyCzas ważności
Zestaw 30AH
DESSHA
Tryb tunelowyCzas ważności
Zestaw 10ESP
3DESSHA
Tryb tunelowyCzas ważności
Zestaw 10ESP
3DESMD5
Tryb tunelowyCzas ważności
Zestawy transformat IPsec
Konfiguracja połączenia VPN IPsec w trybie tunelowym z wykorzystaniem protokołu ESP Konfiguracja fazy 1 – ISAKMP
Ustawienie Słowo kluczowe Znaczenie Wartość domyślnaencryption(szyfrowanie)
des3desaesaes 192aes 256
klucz 56-bitowy DESklucz 168-bitowy 3DESklucz 128-bitowy AESklucz 192-bitowy AESklucz 256-bitowy AES
des
hash(skrót – integralność komunikatu)
shamd5
Funkcja skrótu SHA-1Funkcja skrótu MD5
sha
authentication(uwierzytelnianie)
pre-sharersa-sigrsa-encr
Wspólny kluczSygnatury RSAZaszyfrowane wartości jednorazowe (nonce)
rsa-sig
group(grupa DH)
125
768 bitów1024 bity1536 bitów
1
liftime(czas ważności)
sekundy Czas ważności wpisu SA mechanizmu ISAKMP
86400
2014-10-28
12
Konfiguracja połączenia VPN IPsec w trybie tunelowym z wykorzystaniem protokołu ESP Konfiguracja fazy 1 – ISAKMP
Centrala(config)# crypto isakmp policy 10Centrala(config-isakmp)# authentication pre-shareCentrala(config-isakmp)# encryption 3desCentrala(config-isakmp)# group 2Centrala(config-isakmp)# hash md5Centrala(config-isakmp)# lifetime 86400
Centrala(config)# crypto isakmp policy 20Centrala(config-isakmp)# authentication pre-shareCentrala(config-isakmp)# encryption desCentrala(config-isakmp)# group 1Centrala(config-isakmp)# hash md5Centrala(config-isakmp)# lifetime 86400
Filia1(config)# crypto isakmp policy 10Filia1(config-isakmp)# authentication pre-shareFilia1(config-isakmp)# encryption 3desFilia1(config-isakmp)# group 2Filia1(config-isakmp)# hash md5Filia1(config-isakmp)# lifetime 86400
Router(config)# crypto isakmp policy priorytet
Konfiguracja połączenia VPN IPsec w trybie tunelowym z wykorzystaniem protokołu ESP Konfiguracja fazy 1 – ISAKMP
Ustawienie wspólnego hasła
Hasło może składać się ze znaków alfanumerycznych o dowolnych wartościach. Nie może jednak przekraczać 128 bajtów. Identyczne hasło musi zostać zdefiniowane po obydwu stronach połączenia. W przypadku użycia opcji hostname, konieczne jest również wykonanie instrukcji crypto
isakmp identity hostname
Router(config)# crypto isakmp key ciąg-hasła address adres-zdalny Router(config)# crypto isakmp key ciąg-hasła hostname nazwa-jednostki-zdalnej
Centrala(config)# crypto isakmp key supertajnehaslo address 212.1.2.3
Filia1(config)# crypto isakmp key supertajnehaslo address 199.19.98.1
2014-10-28
13
Konfiguracja połączenia VPN IPsec w trybie tunelowym z wykorzystaniem protokołu ESP Konfiguracja fazy 2 – IPsec
Definicja zestawów transformatCentrala(config)#crypto ipsec transform-set nazwa-transformaty ?
ah-md5-hmac AH-HMAC-MD5 transformah-sha-hmac AH-HMAC-SHA transformcomp-lzs IP Compression using the LZS compression algorithmesp-3des ESP transform using 3DES(EDE) cipher (168 bits)esp-aes ESP transform using AES cipheresp-des ESP transform using DES cipher (56 bits)esp-md5-hmac ESP transform using HMAC-MD5 authesp-null ESP transform w/o cipheresp-seal ESP transform using SEAL cipher (160 bits)esp-sha-hmac ESP transform using HMAC-SHA auth
Centrala(config)#crypto ipsec transform-set vpn-ts esp-3des esp-sha-hmacCentrala(cfg-crypto-trans)#exit
Filia1(config)#crypto ipsec transform-set vpn-ts-filia1 esp-3des esp-sha-hmacFilia1(cfg-crypto-trans)#exit
Konfiguracja połączenia VPN IPsec w trybie tunelowym z wykorzystaniem protokołu ESP Konfiguracja fazy 2 – IPsec
Definicja listy ACL obejmujące ruch szyfrowanyCentrala(config)#access-list 101 permit ip 192.168.254.0 0.0.0.255 192.168.1.0 0.0.0.255
Filia1(config)#access-list 101 permit ip 192.168.1.0 0.0.0.255 192.168.254.0 0.0.0.255
2014-10-28
14
Konfiguracja połączenia VPN IPsec w trybie tunelowym z wykorzystaniem protokołu ESP Konfiguracja crypto-map’y
Crypto-mapa łączy konfigurację poszczególnych faz i definiuje ostateczny tunel IPsecCentrala(config)#crypto map nazwa-mapy numer-policy-isakmp ipsec-isakmp
Centrala(config)#crypto map cmapa 10 ipsec-isakmpCentrala(config)#set transform-set vpn-tsCentrala(config)#set peer 212.1.2.3Centrala(config)#match address 101Centrala(config)#exitCentrala(config)#int Gi0/0 zewnętrzny interfejs (podłączony do i-netu)Centrala(config-if)#crypto map cmapa
Filia1(config)#crypto map cmapa 10 ipsec-isakmpFilia1(config)#set transform-set vpn-ts-filia1Filia1(config)#set peer 199.19.98.1Filia1(config)#match address 101Filia1(config)#exitFilia1(config)#int Gi0/0 zewnętrzny interfejs (podłączony do i-netu)Filia1(config-if)#crypto map cmapa
Konfiguracja połączenia VPN IPsec w trybie tunelowym z wykorzystaniem protokołu ESP Weryfikacja ustawień
Polecenie Opisshow crypto map Wyświetlenie zdefiniowanych
crypto-mapshow crypto isakmp policy Wyświetlenie zdefiniowanych polityk
ISAKMPshow crypto isakmp sa Wyświetlenie stowarzyszeń
ISAKMPshow crypto ipsec sa Wyświetlenie stowarzyszeń IPsecshow crypto ipsec transform-set Wyświetlenie zdefiniowanych
zestawów transformatdebug crypto isakmp Śledzenie zdarzeń IKEdebug crypto ipsec Śledzenie zdarzeń IPsec
2014-10-28
15
Konfiguracja połączenia VPN IPsec w trybie tunelowym z wykorzystaniem protokołu ESP Transport danych w tunelu IPsec
Wady rozwiązania Nie można przenosić ruchu rozgłoszeniowego ani multiemisji Nie jest możliwe wykorzystanie protokołów routingu (OSPF,
EIGRP)
Tunel GRE Tunel ogólnego przeznaczenia
Umożliwia przenoszenie dowolnych pakietów IP w zewnętrznych pakietach IP Przenosi rozgłoszenia i multiemisję Nie zapewnia szyfrowania Uwzględnia uwierzytelnianie Bezstanowy mechanizm transmisji
2014-10-28
16
Tunel GRE Konfiguracja tunelu (bez szyfrowania)
Centrala(config)#interface Tunnel 0Centrala(config-if)#ip address 172.16.1.254 255.255.255.0Centrala(config-if)#tunnel source 199.19.98.1Centrala(config-if)#tunnel destination 212.1.2.3Centrala(config-if)#tunnel key 1313Centrala(config-if)#exit
Filia1(config)#interface Tunnel 0Filia1(config-if)#ip address 172.16.1.1 255.255.255.0Filia1(config-if)#tunnel source FastEthernet 0/0Filia1(config-if)#tunnel destination 199.19.98.1Filia1(config-if)#tunnel key 1313Filia1(config-if)#exit
Zabezpieczenie transmisji w tunelu GRE za pomocą mechanizmu IPsec
Centrala(config)# crypto isakmp policy 10Centrala(config-isakmp)# authentication pre-shareCentrala(config-isakmp)# encryption 3desCentrala(config-isakmp)# group 2Centrala(config-isakmp)# hash md5Centrala(config-isakmp)# lifetime 86400
Centrala(config)#crypto ipsec transform-set vpn-ts esp-3des esp-sha-hmac
Centrala(config)#crypto ipsec profile vpn-profilCentrala(ipsec-profile)#set transform-set vpn-ts
Centrala(config)#interface Tunnel 0Centrala(config-if)#tunnel protection ipsec profile vpn-profil
Analogiczne polecenia należy wykonać po stronie routera Filia1
2014-10-28
17
Problem wielu tuneli GRE/IPsec Skomplikowana
konfiguracja Wiele tuneli Wiele sieci tranzytowych Skomplikowany routing
Niska wydajność i elastycznośćkonfiguracji Dodanie nowej filii wymaga utworzenia
nowego tunelu (konfiguracja po stronie centrali i routera zdalnego)
Konieczność wykorzystywania statycznychpublicznych adresów IP
Przekazywanie danych między filiami wymaga zaangażowania routera w centrali
DMVPN – Dynamic Multipoint VPN Chmura VPN – jedna sieć wirtualna zabezpieczona
mechanizmem IPsec Tryby pracy
Hub-and-spoke Spoke-to-spoke
2014-10-28
18
DMVPN Zalety:
Routery zdalne mogą się posługiwać adresami dynamicznymi (a nawet ukrytymi za NAT-em).
Dodanie nowej sieci zdalnej sprowadza się do konfiguracji routera zdalnego (konfiguracja na routerze centralnym pozostaje bez zmian).
Adresy IP interfejsów wirtualnych pochodzą z jednej sieci IP. Komunikacja między ośrodkami
zdalnymi może pomijać router centralny.
Odwzorowanie wirtualnych adresów routerów zdalnych na adresy rzeczywiste jest realizowane w sposób automatyczny w protokole NHRP (Next Hop Routing Protocol)
Konfiguracja DMVPN Konfiguracja interfejsów
tunelowych (bez szyfrowania)Centrala(config)#interface Tunnel 0Centrala(config-if)#ip address 172.16.1.254 255.255.255.0Centrala(config-if)#tunnel source 199.19.98.1Centrala(config-if)#tunnel mode gre multipoint <- tunel mGRECentrala(config-if)#tunnel key 1313Centrala(config-if)#ip nhrp authentication tajnehaslo <- uwierzytelnienie żądań kierowanych do bazy NHRPCentrala(config-if)#ip nhrp map multicast dynamic <- przekazywanie ruchu multiemisji w tuneluCentrala(config-if)#ip nhrp network-id 1 <- identyfikator chmury DMVPN
Filia1(config)#interface Tunnel 0Filia1(config-if)#ip address 172.16.1.1 255.255.255.0Filia1(config-if)#tunnel source FastEthernet 0/0Filia1(config-if)#tunnel mode gre multipointFilia1(config-if)#tunnel key 1313Filia1(config-if)#ip nhrp authentication tajnehasloFilia1(config-if)#ip nhrp map multicast dynamicFilia1(config-if)#ip nhrp map 172.16.1.254 199.19.98.1 <- odwzorowanie adresu serwera NHRP na adres fizycznyFilia1(config-if)#ip nhrp map multicast 199.19.98.1 <- przesyłanie ruchu multiemisji do routera centralnegoFilia1(config-if)#ip nhrp network-id 1Filia1(config-if)#ip nhrp nhs 172.16.1.254 <- wskazanie routera pełniącego funkcję serwera NHRP
2014-10-28
19
Weryfikacja ustawień DMVPN Sprawdzenie sesji DMVPN
Centrala# show dmvpnLegend: Attrb --> S - Static, D - Dynamic, I - Incomplete
N - NATed, L - Local, X - No Socket# Ent --> Number of NHRP entries with same NBMA peerNHS Status: E --> Expecting Replies, R --> RespondingUpDn Time --> Up or Down Time for a Tunnel
==========================================================================
Interface: Tunnel1, IPv4 NHRP DetailsType:Hub, NHRP Peers:2,
# Ent Peer NBMA Addr Peer Tunnel Add State UpDn Tm Attrb----- --------------- --------------- ----- -------- -----
1 212.1.2.3 172.16.0.1 UP 1w1d D1 82.145.12.43 172.16.0.2 UP 1d02h D
Filia1# show dmvpn...==========================================================================
Interface: Tunnel1, IPv4 NHRP DetailsType:Spoke, NHRP Peers:1,
# Ent Peer NBMA Addr Peer Tunnel Add State UpDn Tm Attrb----- --------------- --------------- ----- -------- -----
1 199.19.98.1 172.16.1.254 UP 2d07h S
Zabezpieczenie komunikacji w chmurze DMVPN za pomocą mechanizmu IPsecCentrala(config)# crypto isakmp policy 10Centrala(config-isakmp)# authentication pre-shareCentrala(config-isakmp)# group 2
Centrala(config)#crypto ipsec transform-set vpn-ts esp-3des esp-sha-hmac
Centrala(config)#crypto ipsec profile vpn-profilCentrala(ipsec-profile)#set transform-set vpn-ts
Centrala(config)#interface Tunnel 0Centrala(config-if)#tunnel protection ipsec profile vpn-profil
Filia1(config)# crypto isakmp policy 10Filia1(config-isakmp)# authentication pre-shareFilia1(config-isakmp)# group 2
Filia1(config)#crypto ipsec transform-set vpn-ts esp-3des esp-sha-hmac
Filia1(config)#crypto ipsec profile vpn-profilFilia1(ipsec-profile)#set transform-set vpn-ts
Filia1(config)#interface Tunnel 0Filia1(config-if)#tunnel protection ipsec profile vpn-profil