Bezpieczeństwo systemów komputerowych

Podobne dokumenty
Bezpieczeństwo Systemów Komputerowych. Wirtualne Sieci Prywatne (VPN)

8. Tunele wirtualne VPN

Protokół IPsec. Patryk Czarnik

Zdalne logowanie do serwerów

Bezpieczne protokoły Materiały pomocnicze do wykładu

Wykład 4 Bezpieczeństwo przesyłu informacji; Szyfrowanie

IPsec bezpieczeństwo sieci komputerowych

Protokół IPsec. Patryk Czarnik. Bezpieczeństwo sieci komputerowych MSUI 2010/11. Wydział Matematyki, Informatyki i Mechaniki Uniwersytet Warszawski

ZiMSK. Konsola, TELNET, SSH 1

Zastosowania PKI dla wirtualnych sieci prywatnych

Jarosław Kuchta Administrowanie Systemami Komputerowymi. Dostęp zdalny

Sieci wirtualne VLAN cz. I

IPSEC z Mikrotik zero to hero Piotr Wasyk

Wykład 4. komputerowych Protokoły SSL i TLS główne slajdy. 26 października Igor T. Podolak Instytut Informatyki Uniwersytet Jagielloński

Wykład 3 Bezpieczeństwo przesyłu informacji; Szyfrowanie

SSL (Secure Socket Layer)

VLAN. VLAN (ang. Virtual Local Area Network) - sieć komputerowa wydzielona logicznie w ramach innej, większej sieci fizycznej

VPN Virtual Private Network. Użycie certyfikatów niekwalifikowanych w sieciach VPN. wersja 1.1 UNIZETO TECHNOLOGIES SA

Hosting WWW Bezpieczeństwo hostingu WWW. Dr Michał Tanaś (

Bezpieczeństwo Systemów Sieciowych

Laboratorium nr 6 VPN i PKI

Laboratorium nr 4 Sieci VPN

Metody zabezpieczania transmisji w sieci Ethernet

Protokół DHCP. DHCP Dynamic Host Configuration Protocol

Bezpieczne protokoły Główne zagadnienia wykładu

VPN dla CEPIK 2.0. Józef Gawron. (wirtualna sieć prywatna dla CEPIK 2.0) Radom, 2 lipiec 2016 r.

Laboratorium nr 5 Sieci VPN

INTERNET - Wrocław Usługi bezpieczeństwa w rozproszonych strukturach obliczeniowych typu grid

Marcin Szeliga Sieć

Podstawy Secure Sockets Layer

Protokoły zdalnego logowania Telnet i SSH

Serwer SSH. Wprowadzenie do serwera SSH Instalacja i konfiguracja Zarządzanie kluczami

Wykład 4. Metody uwierzytelniania - Bezpieczeństwo (3) wg The Java EE 5 Tutorial Autor: Zofia Kruczkiewicz

Konfiguracja IPSec Brama IPSec w Windows 2003 Server

Najczęściej stosowane rozwiązania IPSec PPTP SSL (OpenVPN)

SSH - Secure Shell Omówienie protokołu na przykładzie OpenSSH

Bezpieczeństwo sieci informatycznych Środki. Dr inż. Małgorzata Langer

Protokół SSL/TLS. Algorytmy wymiany klucza motywacja

Tworzenie połączeń VPN.

Protokół SSL/TLS. Patryk Czarnik. Bezpieczeństwo sieci komputerowych MSUI 2009/10. Wydział Matematyki, Informatyki i Mechaniki Uniwersytet Warszawski

Konfiguracja OpenVPN w AS30GSM200P. Informator Techniczny Strona 1 z 11

12. Wirtualne sieci prywatne (VPN)

MODEL WARSTWOWY PROTOKOŁY TCP/IP

Wprowadzenie do PKI. 1. Wstęp. 2. Kryptografia symetryczna. 3. Kryptografia asymetryczna

tdc 477 Wirtualne sieci prywatne

Przegląd protokołów komunikacyjnych automatyki przemysłowej w aspekcie bezpieczeństwa sieci OT. Suchy Las, maj 2017

PROFESJONALNE SYSTEMY BEZPIECZEŃSTWA

Bezpieczeństwo systemów informatycznych

Zamiana porcji informacji w taki sposób, iż jest ona niemożliwa do odczytania dla osoby postronnej. Tak zmienione dane nazywamy zaszyfrowanymi.

Przemysłowe Sieci Informatyczne. Tunelowanie, VLAN, VPN Opracował dr inż. Jarosław Tarnawski

Sieci VPN SSL czy IPSec?

Ochrona danych i bezpieczeństwo informacji

Zastosowania informatyki w gospodarce Wykład 8

WSIZ Copernicus we Wrocławiu

Bringing privacy back

Kryptografia. z elementami kryptografii kwantowej. Ryszard Tanaś Wykład 11

Dr Michał Tanaś(

Mechanizmy zabezpieczeń transmisji w środowisku IPSec

Protokoły sieciowe - TCP/IP

Bezpieczeństwo systemów informatycznych

Protokół 802.1x. Środowisko IEEE 802.1x określa się za pomocą trzech elementów:

Sieci komputerowe. Zajęcia 4 Bezpieczeństwo w sieciach komputerowych

Ochrona danych i bezpieczeństwo informacji

Konfiguracja bezpiecznego tunelu IPSec VPN w oparciu o bramę ZyWall35 i klienta ZyXEL RSC (Remote Security Client).

Badanie wybranych atrybutów bezpieczeństwa i jakości w sieciach IPv4/6

Stos TCP/IP. Warstwa aplikacji cz.2

Konfiguracja aplikacji ZyXEL Remote Security Client:

Problemy z bezpieczeństwem w sieci lokalnej

Poufność (słaba) Integralność (niekryptograficzna) Uwierzytelnienie (słabe) Brak kontroli dostępu Brak zarządzania kluczami

Praktyczne aspekty stosowania kryptografii w systemach komputerowych

Seminarium Katedry Radiokomunikacji, 8 lutego 2007r.

Wprowadzenie do technologii VPN

Bezpieczeństwo systemów komputerowych

Sieci VPN by Silas Mariusz

Protokół 802.1x. Rys. Przykład wspólnego dla sieci przewodowej i bezprzewodowej systemu uwierzytelniania.

Środowisko IEEE 802.1X określa się za pomocą trzech elementów:

Wirtualne sieci prywatne

Authenticated Encryption

Bezpieczeństwo Sieć VPN

SIECI KOMPUTEROWE Protokoły sieciowe

Bezpieczeństwo w

Bezpieczeństwo Sieć VPN

Protokoły internetowe

Protokół DHCP. Patryk Czarnik. Bezpieczeństwo sieci komputerowych MSUI 2010/11. Wydział Matematyki, Informatyki i Mechaniki Uniwersytet Warszawski

SSL VPN Virtual Private Network with Secure Socket Layer. Wirtualne sieci prywatne z bezpieczną warstwą gniazd

Metody uwierzytelniania klientów WLAN

PROFESJONALNE SYSTEMY BEZPIECZEŃSTWA

Internet. Bramka 1 Bramka 2. Tunel VPN IPSec

Protokół DHCP. DHCP Dynamic Host Configuration Protocol

Korporacyjne Sieci Bez Granic Corporate Borderless Networks

BADANIE BEZPIECZEŃSTWA ZABEZPIECZONEJ USŁUGI MPLS VPN O ZESTAW PROTOKOŁÓW IPSEC

Problemy z bezpieczeństwem w sieci lokalnej

BRINET Sp. z o. o.

Bezpieczeństwo systemów informatycznych

Metryka dokumentu. str. 2. Tytuł. CEPiK 2 dostęp VPN. Centralny Ośrodek Informatyki. Zatwierdzający. Wersja Data Kto Opis zmian.

Wielowarstwowość transmisji w sieciach komputerowych

Przesyłania danych przez protokół TCP/IP

4. Podstawowa konfiguracja

Szczegółowy opis przedmiotu zamówienia:

IBM i Wersja 7.2. Bezpieczeństwo Sieć VPN (Virtual Private Network)

Transkrypt:

Bezpieczeństwo systemów komputerowych Tunele wirtualne, kryptograficzne zabezpieczanie komunikacji Aleksy Schubert (Marcin Peczarski) Instytut Informatyki Uniwersytetu Warszawskiego 13 grudnia 2016 Na podstawie materiałów Michała Szychowiaka z http://wazniak.mimuw.edu.pl

Jak zrobić sieć firmową w domu pracownika? VPN (ang. Virtual Private Network) polega na tworzeniu tuneli komunikacyjnych w istniejącej sieci w celu stworzenia sieci wirtualnej. Tunel jest przeźroczysty dla komunikujących się węzłów. VPN pozwala utworzyć sieć prywatną za pomocą sieci publicznej (np. Internetu), łączącą różne siedziby firmy lub organizacji, często odległe geograficznie. W sieci publicznej należy się liczyć z potencjalnymi naruszeniami poufności, integralności i autentyczności transmitowanych danych. W celu realizacji bezpiecznego połączenia tunel chroni się za pomocą kryptografii. Dane przesyłane tunelem mogą też być kompresowane.

Jak zorganizować tunel? Tunel komputer-komputer, po angielsku host-to-host Końcami tunelu są pojedyncze stanowiska, wyposażone w odpowiednie oprogramowanie lub sprzęt do szyfrowania transmisji pomiędzy nimi.

Jak zorganizować tunel? Tunel sieć-sieć, po angielsku net-to-net Końcami tunelu są pojedyncze węzły międzysieciowe, np. dedykowane urządzenia szyfrujące, rutery brzegowe z modułami kryptograficznymi. Szyfrowana może być cała transmisja wychodzącą z sieci lokalnych lub tylko wybrane usługi. Transmisja odbywająca się wewnątrz poszczególnych sieci nie jest szyfrowana.

Jak zorganizować tunel? Tunel komputer-sieć, po angielsku host-to-net Jednym z końców tunelu jest pojedyncze stanowisko, które uzyskuje dostęp do zasobów pewnej sieci lokalnej, np. korporacyjnej. Cała komunikacja lub wybrany ruch (wybrane usługi) poddawane są szyfrowaniu. Jest to model typowy dla środowisk pracy zdalnej.

Jaka technika komputerowa to daje? IPsec oferuje: uniwersalny tunel wirtualny w warstwie sieciowej. wzajemne uwierzytelnianie, szyfrowanie datagramów IP. Jest wymaganą częścią IPv6. Tryby pracy: transportowy, tunelowy.

Tryb transportowy Po angielsku transport mode Pole danych, niosące ramkę protokołu wyższej warstwy, np. TCP, UDP, ICMP itd., może zostać podpisane do datagramu dodawany jest nagłówek AH (ang. Authentication Header). Pole danych może też zostać zaszyfrowane do datagramu dodawany jest nagłówek ESP (ang. Encapsulating Security Payload).

Tryb tunelowy Po angielsku tunnel mode Cały oryginalny datagram IP, łącznie z nagłówkiem, jest podpisywany lub szyfrowany. Do datagramu dodawane są odpowiednie nagłówki: AH, ESP, nowy nagłówek IP.

Authentication Header (AH) Zapewnia integralność zawartości datagramu i uwierzytelnianie źródła pochodzenia datagramu. Działa na wierzchu IP, używając numeru protokołu 51. Sequence Number monotonicznie zwiększana wartość, chroniąca przed atakiem powtórzeniowym. Authentication Data zawiera podpisany skrót zawartości. Fukcja skrótu, oprócz pola danych, obejmuje też stałe pola nagłówka (zarówno w trybie transportowym, jak i tunelowym). Ewentualna fragmentacja datagramu musi być wykonana wcześniej (podpisywany jest każdy fragment oddzielnie).

Encapsulating Security Payload (ESP) Zapewnia integralność i poufność zawartości datagramu oraz uwierzytelnianie źródła pochodzenia datagramu. Działa na wierzchu IP, używając numeru protokołu 50. Można używać tylko samego szyfrowania (ang. encryption-only) niezalecane, uwierzytelniania (ang. authentication-only). Nie chroni zawartości nagłówka IP (choć w trybie tunelowym chroni nagłówek oryginalnego datagramu). Payload Data, Pad Length wypełnienie dla szyfrów blokowych.

AH i ESP Możliwe jest połączenie mechanizmów AH i ESP. Przykładowo, najpierw szyfrowane są dane za pomocą ESP, a następnie cały datagram jest podpisywany za pomocą AH. Alternatywnie, najpierw wyznacza się nagłówek AH i umieszcza się go w datagramie, a następnie szyfruje w całości z użyciem ESP (tuneluje).

Security Parameters Index Identyfikuje parametry bezpieczeństwa. W połączeniu z adresem IP identyfikuje asocjację bezpieczeństwa SA (ang. Security Association) używaną dla danego datagramu. SA tworzy pewnego rodzaju kanał wirtualny.

Asocjacja bezpieczeństwa Zbiór parametrów charakteryzujących bezpieczną komunikację między nadawcą a odbiorcą (kontekst): algorytm AH, klucze AH, algorytm szyfrowania ESP, klucze szyfrowania ESP, dane inicjujące algorytm szyfrowania, algorytm uwierzytelniania ESP, klucze algorytmu uwierzytelniania ESP, czas ważności kluczy, czas ważności asocjacji, adresy IP mogące współdzielić asocjację, etykieta poziomu bezpieczeństwa: poufne, tajne, ściśle tajne,... Parametry asocjacji bezpieczeństwa nie są przesyłana przez sieć przesyłany jest tylko numer SPI. Asocjacja bezpieczeństwa jest jednokierunkowa w każdym kierunku może być używany inny zestaw parametrów.

Jak wygląda schemat działania wysyłającej stacji IPsec? Sprawdź, czy i w jaki sposób wychodzący pakiet ma być zabezpieczony: sprawdź politykę bezpieczeństwa w SPD (ang. Security Policy Database); jeśli polityka bezpieczeństwa każe odrzucić pakiet, odrzuć pakiet; jeśli pakiet nie musi być zabezpieczany, wyślij pakiet. Ustal SA, które powinno być zastosowane do pakietu: odszukaj SA w bazie SAD (ang. SA Database) lub jeśli nie ma jeszcze odpowiedniego SA, uzyskaj odpowiednie SA. Zabezpiecz pakiet, wykorzystując algorytmy, parametry i klucze zawarte w SA: stwórz nagłówek AH, ESP; jeśli tryb tunelowy, stwórz nowy nagłówek IP; Wyślij pakiet.

Jak wygląda schemat działania odbierającej stacji IPsec? Sprawdź nagłówki: odszukaj SA w SAD na podstawie SPI zawartego w nagłówku; jeśli SA wskazywany przez SPI nie istnieje, odrzuć pakiet; postępuj zgodnie z informacjami zawartymi w SA. Sprawdź, czy i jak pakiet powinien być zabezpieczony: sprawdź politykę bezpieczeństwa w SPD; jeśli polityka bezpieczeństwa każe odrzucić pakiet, odrzuć pakiet; jeśli zabezpieczenia pakietu nie odpowiadają polityce bezpieczeństwa, odrzuć pakiet; jeśli pakiet był zabezpieczony prawidłowo, przekaż go do warstwy wyższej.

Jak zarządza się kluczami w IPsec? IPsec nie definiuje sposobów zarządzania i dystrybucji kluczy. Klucze mogą być przypisane do: użytkownika, komputera. Sposoby dystrybucji kluczy: wyznaczenie wszystkich kluczy przez administratora (małej sieci lokalnej); wykorzystanie istniejących systemów dystrybucji, np. Kerberosa; specjalizowane protokoły dla serwerów kluczy (niezależne od IPsec), np. SKIP (Sun), Photuris, IKE (Internet Key Exchange); integracja serwerów kluczy z usługami katalogowymi, np. DNSsec, LDAP.

Protokoły zarządzania kluczami IPsec Służą do wzajemnego uwierzytelniania podmiotów nawiązujących asocjację IPsec; uzgadniania kluczy na potrzeby kanałów SA. Obie te funkcje realizowane są na podstawie skonfigurowanych na stałe danych uwierzytelniających: hasło wspólne dla pary stacji (ang. shared secret), certyfikaty X.509, klucze PGP. Niektóre implementacje (SKIP, Photuris) umożliwiają wyłącznie uwierzytelnienie na podstawie haseł. Popularny protokół IKE obsługuje natomiast wszystkie wyżej wymienione metody i umożliwia jeszcze prywatne rozszerzenia.

Protokół IKE (Internet Key Exchange) Obejmuje dwa składniki: ISAKMP (Internet Security Association and Key Management Protocol) faktyczny protokół negocjacji parametrów IPSec; Oakley kryptograficzny protokół uzgadniania kluczy za pomocą schematu Diffiego Hellmana. ISAKMP stanowi trzon całości i z tego powodu nazwy tej używa się niekiedy zamiennie z IKE. Protokół ISAKMP korzysta z UDP (port 500). Wymiana kluczy następuje dwuetapowo: ustalenie tożsamości komunikujących się węzłów i utworzenie bezpiecznego kanału (tzw. ISAKMP SA), utrzymywanego przez cały czas trwania sesji; właściwa negocjacja parametrów asocjacji. Negocjacja obejmuje m.in. listę obsługiwanych algorytmów szyfrujących, co ułatwia obsługę środowisk heterogenicznych.

Protokół IKE, cd. Uwierzytelnianie może być realizowane na dwa sposoby: każda para węzłów ma ustalone wspólne hasło, które służy do obliczania kluczy metodą Diffiego Hellmana; oznacza to konieczność konfigurowania haseł na wszystkich węzłach, co jest istotnym ograniczeniem i może okazać się zbyt pracochłonne w przypadku dużych sieci; zastosowanie kluczy publicznych podpisanych przez nadrzędny urząd certyfikujący CA (np. certyfikatów X.509); wolne od ograniczeń ręcznej definicji haseł. Protokół ISAKMP jest łatwo rozszerzalny, można zdefiniować własny zestaw szyfrów, własne mechanizmy uwierzytelnienia.

IKE i PKI (Public Key Infrastructure) Protokół IKE pozwala wykorzystać możliwości PKI. Po nawiązaniu komunikacji, ale przed uzgodnieniem ISAKMP SA, węzeł może zweryfikować autentyczność certyfikatu drugiej strony dzięki podpisowi CA. W skrajnym przypadku węzeł nie musi nic wiedzieć o innych węzłach, z którymi będzie się łączył, lub które będą się łączyć z nim. Wymaga to jedynie lokalnego dostępu (zainstalowania w tym węźle) klucza publicznego urzędu CA będzie to jeden i ten sam klucz na wszystkich węzłach. Znacznie ułatwia to realizację złożonych topologii.

IKE Umożliwia automatyczną renegocjację kluczy kryptograficznych co określony interwał czasu. W przypadku złamania bieżącego klucza dane zaszyfrowane poprzednimi kluczami nie są narażone. Cecha ta, określana jako Perfect Forward Security, chroni przed sytuacją, gdy atakujący zapisuje wszystkie przechwycone w przeszłości dane w nadziei, że kiedyś uda mu się zdobyć klucz do ich rozszyfrowania. Implementacja jest obligowana, aby w przypadku renegocjacji klucza poprzedni klucz został usunięty z pamięci. Wówczas włamywacz nie znajdzie go nawet w przypadku opanowania systemu operacyjnego węzła.

Jakie są inne techniki tworzenia tuneli? PPTP Point to Point Tunneling Protocol standardowo dostępny w systemach Windows dostępne też implementacje dla systemów uniksowych RFC 2637 MPPE Microsoft Point-to-Point Encryption szyfrowanie danych przesyłanych za pomocą PPTP RFC 3078, RFC 3079

...i jeszcze jedna technika L2TP: Layer Two Tunneling Protocol Przeznaczony do tworzenia prywatnych sieci wirtualnych w warstwie łącza (warstwa druga) modelu OSI. Umożliwia kapsułkowanie w sieci IP protokołów PPP, Frame Relay, Ethernet, ATM,... W rzeczywistości protokół warstwy sesji (warstwa piąta). Jako warstwy transportowej (warstwa czwarta) używa UDP. Nie szyfruje i nie uwierzytelnia przesyłanych danych bazuje na bezpiecznej komunikacji w warstwie sieciowej (warstwa trzecia), np. IPsec. Wersja 3 (L2TPv3) jest opisana w RFC 3931.

...i jeszcze jedna SSH (ang. port forwarding) oferuje możliwość realizacji tuneli wirtualnych w warstwie transportowej. Działanie mechanizmu propagowania połączeń: połączenia na port A bramy 1 są tunelowane do bramy 2 i dalej propagowane na port S serwera w sieci lokalnej za bramą 2; tunel między bramą 1 a bramą 2 jest szyfrowany; komunikacja poza tunelem (w obu sieciach lokalnych, czyli od klienta do bramy 1 oraz od bramy 2 do serwera) nie jest szyfrowana.

Och, byłbym zapomniał... SSL (Secure Socket Layer): działa w warswie aplikacji modelu internetowego warstwy sesji (5) i prezentacji (6) modelu ISO/OSI, protokół połączeniowy, dwupunktowy tunel kryptograficzny z certyfikatami, ochrona poufności, integralności i autentyczności, zaprojektowany z myślą o ochronie protokołów aplikacyjnych. Wersje popularnych protokołów korzystające z tunelu SSL: HTTPS port 443, SMTPS port 465, TELNETS port 992, IMAPS port 993, IRCS port 994, POP3S port 995. SSL potrafi tunelować dowolny ruch (stunnel, OpenVPN). Następcą SSL w wersji 3.0 został protokół TLS (Transport Layer Security) w wersji 1.0, aktualna wersja TLS to 1.2.

Negocjacja połączenia SSL

Protokół SSL Faza 1. Klient wysyła do serwera komunikat client_hello (wersja protokołu, identyfikator sesji, lista obsługiwanych szyfrów i metod kompresji, losowe dane). Serwer odsyła komunikat server_hello (wersja protokołu, identyfikator sesji, wybrany szyfr i metoda kompresji, losowe dane). Faza 2. Serwer wysyła swój certyfikat X.509. Serwer opcjonalnie żąda certyfikatu klienta (wraz z losowym zawołaniem). Klient uwierzytelnia serwer na podstawie odebranego certyfikatu i w razie niepowodzenia przerywa połączenie.

Protokół SSL, cd. Faza 3. Jeśli serwer żądał uwierzytelnienia klienta, to klient wysyła też swój certyfikat oraz podpisane zawołanie odebrane wcześniej od serwera. Po pomyślnym uwierzytelnieniu klient tworzy pierwotny sekret główny PMS (ang. premaster secret), który szyfruje kluczem publicznym serwera i wysyła do serwera. Po ewentualnym uwierzytelnieniu klienta serwer deszyfruje pierwotny sekret główny i na jego podstawie uzyskuje sekret główny MS (ang. master secret). Klient oblicza sekret główny. Faza 4. Z wygenerowanego sekretu głównego obie strony tworzą (zależny od ustalonego algorytmu szyfrującego) klucze szyfrowania i podpisywania. Klient i serwer wysyłają do siebie nawzajem zaszyfrowany kluczem sesji komunikat o zakończeniu fazy uzgadniania. Protokół uzgadniania kończy się i (o ile wzajemna weryfikacja przebiegła pomyślnie) rozpoczyna się sesja SSL.

Protokół SSL, poprawność Jeśli serwer nie posiadałby klucza prywatnego odpowiadającego kluczowi publicznemu ze swojego certyfikatu: nie rozszyfruje poprawnie sekretu i nie wygeneruje tego samego klucza sesji co klient, połączenie zastanie przerwane. Jeśli klient nie posiadałby klucza prywatnego odpowiadającego kluczowi publicznemu ze swojego certyfikatu: serwer pobierze jego klucz publiczny z certyfikatu i rozszyfruje zapytanie podpisane kluczem prywatnym klienta, nie otrzyma zawołania, które wysłał, zatem klient nie jest tym, czyją autentyczność poświadcza certyfikat. Newralgiczna w tym procesie jest weryfikacja certyfikatów.

OpenVPN Program uożliwiający tworzenie wirtualnych sieci prywatnych Oparty na SSL/TLS i bibliotece OpenSSL Dostępny dla systemów uniksowych i Windows

DTLS Datagram Transport Layer Security Jest przeznaczony dla protokołów pakietowych. Ma zapewnić podobne usługi, co TLS dla protokołów strumieniowych: poufność, integralność i autentyczność przesyłanych danych. RFC 4347