MARCIN PÓLKOWSKI polkowski.marcin@gmail.com DARIUSZ LASKOWSKI dlaskowski@wat.edu.pl Wydział Elektroniki, Instytut Telekomunikacji Wojskowa Akademia Techniczna w Warszawie BADANIE BEZPIECZEŃSTWA ZABEZPIECZONEJ USŁUGI MPLS VPN O ZESTAW PROTOKOŁÓW IPSEC Streszczenie: W dobie rozkwitu Internetu etykietowanie pakietów w sieciach szkieletowych dostawców usług przy pomocy techniki MPLS (Multiprotocol Label Switching) stało się podstawą. Skalowalność sieci jak zapewnianie gwarancji jakości usług QoS stało się wymogiem, któremu tradycyjne rozwiązania oparte na IP (Internet Protocol) nie były w stanie sprostać. Wraz ze swoim rozwojem technika MPLS znalazła kolejne zastosowanie tworzenie wirtualnych sieci prywatnych (Virtual Private Network VPN). Usługa MPLS VPN należy do zaufanych (Trusted VPN). Oznacza to, że dostawca usług odpowiada za uniemożliwienie dostępu do wirtualnych łącz osobom postronnym. Często jednak występuje potrzeba dodatkowego zabezpieczenia przesyłanych danych, np. poprzez ich szyfrowanie. Do tego celu można zastosować zestaw protokołów IPsec (IP Security) lub SSL (Secure Socket Layer). Słowa kluczowe: bezpieczeństwo, Internet, VPN, Ipsec 1. Protokoły szyfrujące stosowane w wirtualnych sieciach prywatnych Z punktu widzenia bezpieczeństwa usługi VPN możemy podzielić na trzy kategorie: bezpieczne, zaufane i hybrydowe. W bezpiecznych usługach ruch prywatny jest szyfrowany przed wejściem do sieci publicznej i deszyfrowany na wyjściu. Zastosowanie odpowiednio silnych algorytmów szyfrujących zapewnia
108 Marcin Pólkowski, Dariusz Laskowski zabezpieczenie przed odczytaniem przesyłanych informacji. Zaufane VPN opierają się na zapewnieniu klienta przez dostawcę usług o nienaruszalności i integralności wydzierżawionych wirtualnych łącz. Wielką zaletą tego rozwiązania jest zachowanie wewnętrznej adresacji przez użytkownika. Hybrydowe VPN polegają szyfrowaniu ruchu wewnątrz wydzierżawionych wirtualnych łącz. Do tej kategorii należą tunele IPsec wewnątrz tunelów MPLS VPN (IPsec over MPLS VPN). Do tworzenia szyfrowanych połączeń stosuje się dwa podejścia: IPsec w warstwie sieciowej i SSL w warstwie aplikacji. Rys. 1. Schemat IPsec VPN IPSec jest zbiorem protokołów zapewniających poufność, integralność danych oraz autentykację pomiędzy użytkownikami. IPSec dostarcza usługi bezpieczeństwa w warstwie 3 (IP Layer), korzystając z IKE (Internet Key Exchange) do negocjacji rodzaju protokołui algorytmów szyfrowania danych oraz do szyfrowania i uwierzytelniania kluczy. Protokół IPSec posiada dwa tryby pracy: tunelowy i transportowy. Tryb tunelowy jest podstawowym trybem. Zazwyczaj jest używany do ochrony ruchu pomiędzy bramami (gateway to gateway), pomiędzy użytkownikiem a bramą (host to gateway) lub opcjonalnie pomiędzy dwoma hostami. W tym trybie szyfrowany jest cały pakiet IP i dodawany jest nowy nagłówek IP. Sesja IPSec Tunnel Mode jest zestawiana pomiędzy klientem VPN a bramą VPN. W trybie transportowym szyfrowane są wyłącznie dane przesyłane w pakiecie.
Badanie bezpieczeństwa zabezpieczonej usługi MPLS VPN 109 Wykorzystanie SSL 3.0 do implementacji SSL VPN (zwanego WebVPN) wspiera zdalny dostęp do zasobów sieciowych przedsiębiorstwa. Dostęp ten jest realizowany przez bramę SSL VPN, która pozwala na zestawienie zabezpieczonego połączenia (tunelu) przy pomocy przeglądarki internetowej. Główną zaletą tego rozwiązania jest łatwy dostęp do zasobów bez potrzeby instalowania specjalnego oprogramowania. Bezpieczeństwo danych wprowadzanych przez przeglądarkę jest zapewniane przez protokół HTTPS szyfrowana wersja protokołu HTTP. Rys. 2. Schemat SSL VPN 2. Implementacja zabezpieczonej usługi MPLS VPN Przedmiotem badań była sieć laboratoryjne złożona z pięciu routerów imitujących sieć szkieletową dostawcy usług oraz czterech routerów klientów. Konfiguracja sprzętu odbyła się za pomocą emulatora terminala PuTTy (MPLS) oraz środowiska graficznego Cisco Configuration Professional (IPsec). Całość konfiguracji została podzielona na kilka etapów: adresacja interfejsów (Gigabit Ethernet i Loopback), konfiguracja protokołu routingu OSPFv3 (Open Shortest Path First), MPLS, MPLS VPN VRF i MP-BGP na routerach brzegowych dostawcy PE (Provider Edge), Tunel IPsec pomiędzy odpowiednimi lokalizacjami VPN.
110 Marcin Pólkowski, Dariusz Laskowski Rys. 3. Schemat badanej sieci Do konfiguracji interfejsów wykorzystano adresy IP z maską 30 bitową, co pozwoliło na ograniczenia wykorzystanej przestrzeni adresowej do minimum. Każdy z routerów dostawcy usług otrzymał również adres pętli zwrotnej (Looback), który w późniejszym etapie konfiguracji został ustawiony jako numer ID każdego z urządzeń. Router-ID jest to identyfikator routera w sieci MPLS, którym posługuje się protokół dystrybucji etykiet (np. LDP Label Distribution Protocol) i protokół routingu MP-BGP (Multiprotocol Border Gateway Protocol). Konfiguracja techniki MPLS polegała na uruchomieniu szybkiego przełączania CEF (Cisco Express Forwarding). Następnie po podaniu globalnej komendy mpls ip i wybraniu protokołu dystrybucji etykiet (w tym przypadku LDP) należało uruchomić MPLS na odpowiednich interfejsach. Po uruchomieniu MPLS w sieci szkieletowej, zadeklarowano na routerach brzegowych PE tablice VRF oraz routing MP-BGP, który odpowiadał za dystrybucję prefixów sieci MPLS VPN. Tablice VRF separują ruch pomiędzy dwoma sieciami prywatnymi podłączonymi do jednego routera brzegowego (VPN1 i VPN2) na podstawie unikalnych prefixów dodawanych do pakietów IP RD (Route Distinguisher). W projekcie przyjęto następujący schemat RD pierwszy człon oznacza ID routera, na którym jest utworzona tablica VRF, natomiast drugi symbolizuje numer sieci VPN (ip_loopback0_routera:nr_vpn). Dzięki nim każda z VPN może zachować własną adresację, nawet jeśli teoretycznie koliduje z innymi adresacjami już
Badanie bezpieczeństwa zabezpieczonej usługi MPLS VPN 111 wykorzystanymi w sieci. Za to, które pakiety mają zostać wpuszczone do danego VPN odpowiada parametr RT (Route Target). ip vrf Customer_1 rd 10.10.1.1:1 route-target export 10.10.1.1:1 route-target import 10.10.1.2:1 exit router bgp 1 bgp log-neighbor-changes neighbor 10.10.1.2 remote-as 1 neighbor 10.10.1.2 update-source Loopback0 address-family vpnv4 neighbor 10.10.1.2 activate Do zestawienia szyfrowanego tunelu pomiędzy lokacjami VPN wykorzystano protokół IPsec w trybie tunelowym z ISAKMP (Internet Security Association and Key Management Protocol) do automatycznego nawiązywania bezpiecznego połączenia pomiędzy routerami brzegowymi klienta (Customer Edge CE). Pierwszym krokiem konfiguracji IPsec było wybór sposobu negocjacji kluczy pomiędzy routerami CE: z wykorzystaniem współdzielonych kluczy (Pre-Shared Keys) lub urzędu certyfikacji (Certification Authority CA) IKE. W tym przypadku zaimplementowano wymianę współdzielonych kluczy z uwagi na jedynie dwie dwulokacyjne sieci VPN. Do zapewnienia bezpieczeństwa użyto następujących algorytmów: szyfrowanie danych 3DES (3 Data Encryption Standard), algorytm funkcji hashującej MD5 (Message Digest 5), uwierzytelnianie RSA. Tak zabezpieczone połączenie zapewnia poufność oraz integralność przesyłanych danych z jednoczesnym uwierzytelnianiem odbiorcy. 3. Badanie bezpieczeństwa skonfigurowanej usługi W celu sprawdzenia bezpieczeństwa badanej sieci posłużono się darmowym programem do przechwytywania pakietów Wireshark. Badanie polegało na przechwytywaniu pakietów wewnątrz sieci szkieletowej i próbie odczytania ich zawartości oraz sprawdzeniu separacji poszczególnych VPNów na routerach PE.
112 Marcin Pólkowski, Dariusz Laskowski Na rysunku 4 przedstawiono rozgłaszane informacje o routingu do sąsiadów BGP. W polu Carried Extended Communities przesyłane są dane z tablic VRF. Następne pole Label Stack=23 informuje sąsiada o tym, że pakiety oznaczone danym RD, a co za tym idzie do danej sieci VPN (na podstawie RT), będą miały etykietę 23. Jak widać na rysunku 5. właśnie taka etykieta została nadana wiadomości ICMP-Echo. Rys. 4. Informacje o sieci rozsyłane w pakietach MP-BGP Rys. 5. Wiadomość ICMP-Echo wysłana z routera CE1B do CE1A Sprawdzenie bezpieczeństwa szyfrowanych pakietów odbyło się poprzez przechwycenie pakietu ICMP-Echo wysłanego z routera CE1A do CE1B. Rysunek 6 pokazuje, że zarówno adresy nadawcy i odbiorca jak i dane są zaszyfrowane.
Badanie bezpieczeństwa zabezpieczonej usługi MPLS VPN 113 Rys. 6. Zaszyfrowany pakiet ICMP-Echo 4. Wnioski Artykuł miał na celu przybliżyć możliwości płynące z implementacji zaszyfrowanych tuneli wewnątrz MPLS VPN jak i sposoby zapewniania przez usługę IPsec over MPLS VPN bezpieczeństwa. MPLS VPN od kilku lat staje się coraz bardziej popularną techniką dotworzenia wirtualnych sieci prywatnych. Dzięki zastosowaniu tablic VRF jest w stanie zapewnić całkowitą separację sieci klienckich od publicznego ruchu. Istotnym dodatkiem do takich sieci jest możliwość szyfrowania przesyłanego ruchu. Dzięki wykorzystaniu IPsec w trybie tunelowym wszystkie przechwycone pakiety posiadały zaszyfrowane nagłówki oraz zawartości. Oznacza to, że bez podania programowi prze-chwytującemu pakietu odpowiedniego klucza deszyfrującego nie da się poznać adresata, nadawcy oraz przesyłanych danych w pakiecie. Dzięki takiemu poziomowi zabezpieczeń IPsec over MPLS VPN stosuje się np. w sieciach szkieletowych LTE (Long Term Evolution), gdzie MPLS VPN odpowiada za podział sieci na poszczególne obszary i ich zarządzanie, a tunele IPsec szyfrują dane użytkowników.
114 Literatura Marcin Pólkowski, Dariusz Laskowski 1. Conlan P. J., Cisco Network Professional s Advenced Interworking Guide, Wiley Publishing Inc., Indianapolis 2009, ISBN: 978-0-470-38360-5 2. De Ghein L., MPLS Fundamentals, Cisco Press, Indianapolis 2007, ISBN: 1-58705-197-4 3. Graziani R., Vachon B., Akademia sieci Cisco CCNA Exploration Semestr 4 Sieci WAN zasady dostępu, Wydawnictwo Naukowe PWN SA, Warszawa 2009, ISBN: 978-83-01-15933-7 4. Habraken J., Routery Cisco w praktyce, Helion, Gliwice 2008, ISBN: 83-7197-214-8 5. Kabaciński W., Żal M., Sieci telekomunikacyjne, WKŁ, Warszawa 2008, ISBN: 978-83-206-1716-0 6. Serafin M., Sieci VPN Zdalna praca i bezpieczeństwo danych, Helion, Gliwice 2008, ISBN: 978-83-246-1521-6