Dokumentacja szyfratora ABA IPSec Gate. Paweł Krawczyk kravietz@aba.krakow.pl



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

Protokół IPsec. Patryk Czarnik

Dokumentacja Programatora kluczy USB Szyfratora IPSec Gateway

IPsec bezpieczeństwo sieci komputerowych

ZiMSK. Konsola, TELNET, SSH 1

Konfiguracja aplikacji ZyXEL Remote Security Client:

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

Optimus ABA IPSec + Windows 2000/XP + Terminal ABAX-2. Instrukcja tworzenia połącze ń szyfrowanych.

Wykład 2: Budowanie sieci lokalnych. A. Kisiel, Budowanie sieci lokalnych

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

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

ZAŁĄCZNIK Nr 3 do CZĘŚCI II SIWZ

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

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

ABA-X3 PXES v Podręczna instrukcja administratora. FUNKCJE SIECIOWE Licencja FDL (bez prawa wprowadzania zmian)

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

ZAŁĄCZNIK Nr 1 do CZĘŚCI II SIWZ

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

Bezpieczeństwo aplikacji typu software token. Mariusz Burdach, Prevenity. Agenda

VPN Host-LAN IPSec X.509 z wykorzystaniem DrayTek Smart VPN Client

Laboratorium nr 6 VPN i PKI

Zdalne logowanie do serwerów

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

OBSŁUGA I KONFIGURACJA SIECI W WINDOWS

4. Podstawowa konfiguracja

ZADANIE.02 Podstawy konfiguracji (interfejsy) Zarządzanie konfiguracjami 1,5h

Laboratorium - Przechwytywanie i badanie datagramów DNS w programie Wireshark

Przesyłania danych przez protokół TCP/IP

Bezpieczeństwo systemów informatycznych

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

Dlaczego? Mało adresów IPv4. Wprowadzenie ulepszeń względem IPv4 NAT CIDR

Podstawowa konfiguracja routerów. Interfejsy sieciowe routerów. Sprawdzanie komunikacji w sieci. Podstawy routingu statycznego

Czym jest router?... 3 Vyatta darmowy router... 3 Vyatta podstawowe polecenia i obsługa... 3 Zarządzanie użytkownikami... 3 Uzupełnianie komend...

Laboratorium nr 4 Sieci VPN

Sieci wirtualne VLAN cz. I

Moduł Ethernetowy. instrukcja obsługi. Spis treści

Instrukcja instalacji Control Expert 3.0

MODEL WARSTWOWY PROTOKOŁY TCP/IP

Protokół DHCP. DHCP Dynamic Host Configuration Protocol

Połączenie VPN LAN-LAN IPSec X.509 (stały IP > stały IP)

2.1. System kryptograficzny symetryczny (z kluczem tajnym) 2.2. System kryptograficzny asymetryczny (z kluczem publicznym)

Podstawy Transmisji Danych. Wykład IV. Protokół IPV4. Sieci WAN to połączenia pomiędzy sieciami LAN

Kierunek: technik informatyk 312[01] Semestr: II Przedmiot: Urządzenia techniki komputerowej Nauczyciel: Mirosław Ruciński

TP-LINK 8960 Quick Install

ZADANIE.07. Procesy Bezpieczeństwa Sieciowego v.2011alfa ZADANIE.07. VPN RA Virtual Private Network Remote Access (Router) - 1 -

Posiadając dwa routery z serii Vigor 2200/2200X/2200W/2200We postanawiamy połączyć dwie odległe sieci tunelem VPN. Przyjmujemy następujące założenia:

Protokoły zdalnego logowania Telnet i SSH

Zestawienie tunelu VPN po protokole IPSec pomiędzy klientem VPN - Draytek Smart VPN Client za NAT-em, a routerem Draytek


Metody ataków sieciowych

Uproszczony opis obsługi ruchu w węźle IP. Trasa routingu. Warunek:

Laboratorium nr 5 Sieci VPN

Wprowadzenie 5 Rozdział 1. Lokalna sieć komputerowa 7

Wymagania bezpieczeństwa wobec statycznych bezpośrednich 1-fazowych i 3-fazowych liczników energii elektrycznej. Wymaganie techniczne

12. Wirtualne sieci prywatne (VPN)

Zastosowania PKI dla wirtualnych sieci prywatnych

ZADANIE.02 Korporacyjne Sieci Bez Granic v.2013 ZADANIE.02. VPN L2L Virtual Private Network site-to-site (ASA) - 1 -

Graficzny terminal sieciowy ABA-X3. część druga. Podstawowa konfiguracja terminala

TRX API opis funkcji interfejsu

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

Metody zabezpieczania transmisji w sieci Ethernet

Na podstawie: Kirch O., Dawson T. 2000: LINUX podręcznik administratora sieci. Wydawnictwo RM, Warszawa. FILTROWANIE IP

Bezpieczeństwo systemów informatycznych

PODSTAWOWA KONFIGURACJA LINKSYS WRT300N

Zadanie1: Odszukaj w serwisie internetowym Wikipedii informacje na temat zapory sieciowej (firewall) oraz oprogramowania iptables.

8. Tunele wirtualne VPN

Bezpieczeństwo systemów komputerowych

Asix. Konfiguracja serwera MS SQL dla potrzeb systemu Asix. Pomoc techniczna NIEZAWODNE ROZWIĄZANIA SYSTEMÓW AUTOMATYKI

Warsztaty z Sieci komputerowych Lista 3

Połączenie VPN Host-LAN IPSec z wykorzystaniem Windows Vista/7. 1. Konfiguracja routera. 2. Konfiguracja klienta VPN. 3. Zainicjowanie połączenia

Vigor 2900 ZyWall 70 konfiguracja połączenia LAN-LAN (IPSec)

Laboratorium 6.7.1: Ping i Traceroute

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

Wireshark analizator ruchu sieciowego

Rozkład menu narzędzi

SSL (Secure Socket Layer)

Projekt wymagań bezpieczeństwa wobec statycznych bezpośrednich 1-fazowych i 3- fazowych liczników energii elektrycznej:

Ćwiczenie 5a Sieć komputerowa z wykorzystaniem rutera.

INSTRUKCJA OBSŁUGI SUPLEMENT

Wykład Nr Sieci bezprzewodowe 2. Monitorowanie sieci - polecenia

Podstawy Secure Sockets Layer

Marcin Szeliga Sieć

Ćwiczenie Konfiguracja statycznych oraz domyślnych tras routingu IPv4

Badanie bezpieczeństwa IPv6

Stos protokołów TCP/IP (ang. Transmission Control Protocol/Internet Protocol)

Bezpieczeństwo Systemów Sieciowych

Połączenie VPN LAN-LAN IPSec (zmienny IP > zmienny IP)

ARP Address Resolution Protocol (RFC 826)

Połączenia. Obsługiwane systemy operacyjne. Strona 1 z 5

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

(BSS) Bezpieczeństwo w sieciach WiFi szyfrowanie WEP.

SMB protokół udostępniania plików i drukarek

Protokoły sieciowe - TCP/IP

V4R3. SEE Electrical Expert V4R3 Sposoby zabezpieczenia programu

Wprowadzenie do obsługi systemu IOS na przykładzie Routera

Usługi sieciowe systemu Linux

Konfiguracja IPSec Brama IPSec w Windows 2003 Server

Zadanie1: Odszukaj w Wolnej Encyklopedii Wikipedii informacje na temat NAT (ang. Network Address Translation).

WSIZ Copernicus we Wrocławiu

11. Autoryzacja użytkowników

Transkrypt:

Dokumentacja szyfratora ABA IPSec Gate Paweł Krawczyk kravietz@aba.krakow.pl 24 lipca 2002

2

Spis treści 1 Wprowadzenie 7 1.1 Protokół IP............................ 7 1.2 Architektura IPSec........................ 7 1.3 Tunelowanie............................ 8 1.4 Algorytmy kryptograficzne w AH i ESP............ 9 1.5 Protokół IKE........................... 10 1.6 Standardy............................. 10 2 Parametry kryptograficzne urządzenia 13 3 Ogólny opis rozwiązania 15 3.1 Interfejsy zewnętrzne....................... 15 3.2 Konfiguracja........................... 16 3.3 Zarządzanie............................ 16 4 Opis szczegółowy 17 4.1 Zewnętrzna pamięć FLASH USB................ 17 4.2 Klucze RSA............................ 19 4.3 Zabezpieczenia dodatkowe.................... 19 4.3.1 Przepełnienie bufora................... 19 4.3.2 Uaktualnienia oprogramowania............. 20 4.3.3 Ataki SYN Flood..................... 20 4.3.4 Analiza ruchu na podstawie TOS............ 20 4.4 Filtr pakietów........................... 21 4.4.1 Wykrywanie fałszywych pakietów............ 21 4.4.2 Wykrywanie nieprawidłowych pakietów........ 21 4.4.3 Blokowanie ruchu nieszyfrowanego........... 21 4.4.4 Izolacja interfejsów sieciowych.............. 21 4.4.5 Ręczny tryb konfiguracji filtra.............. 21 4.5 Generowanie liczb losowych................... 22 5 Przewodnik po konfiguracji 23 5.1 Konfiguracja sieci testowej.................... 23 5.1.1 Podstawowe parametry szyfratora........... 24 3

4 SPIS TREŚCI 5.1.2 Test łączności....................... 24 5.2 Tunel AH: tryb transportowy end-to-end............ 25 5.2.1 Konfiguracja....................... 25 5.2.2 Analiza.......................... 26 5.3 Tunel AH: tryb tunelowy end-to-end.............. 28 5.3.1 Konfiguracja....................... 28 5.3.2 Analiza.......................... 28 5.4 Tunel AH: tryb tunelowy end-to-end z kompresją....... 29 5.4.1 Konfiguracja....................... 29 5.4.2 Analiza.......................... 30 5.5 Tunel AH: tryb tunelowy VPN................. 30 5.5.1 Konfiguracja....................... 31 5.5.2 Analiza.......................... 32 5.6 Tunel ESP: tryb tunelowy VPN................. 34 5.6.1 Konfiguracja....................... 34 5.6.2 Analiza.......................... 34 5.7 RSA z identyfikatorem adres IP............... 35 5.7.1 Konfiguracja....................... 36 5.7.2 Analiza.......................... 36 5.8 RSA z identyfikatorem tekstowym............... 37 5.8.1 Konfiguracja....................... 37 5.8.2 Analiza.......................... 38 5.9 Tunele dynamiczne........................ 38 5.9.1 Konfiguracja....................... 39 5.9.2 Analiza.......................... 40 6 Polecenia 41 6.1 autologout............................. 41 6.2 exit................................. 41 6.3 fw................................. 41 6.4 halt................................ 42 6.5 hostname............................. 42 6.6 info soft.............................. 42 6.7 interface.............................. 43 6.8 ipsec................................ 44 6.9 nameserver............................ 45 6.10 ntp................................. 45 6.11 password............................. 46 6.12 peer................................ 46 6.13 ppp................................ 49 6.14 reboot............................... 51 6.15 reset................................ 51 6.16 route................................ 51 6.17 service............................... 51

SPIS TREŚCI 5 6.18 show................................ 52 6.19 telnet............................... 52 6.20 terminal.............................. 53 6.21 upgrade.............................. 53 6.22 write................................ 54 A Notacja prefiksowa 55 B Polityka filtra pakietów 57 C Informacje 61

6 SPIS TREŚCI

Rozdział 1 Wprowadzenie 1.1 Protokół IP Komunikacja w Internecie odbywa się za pomocą pakietów (datagramów) przesyłanych pomiędzy węzłami sieci posiadającymi unikalne adresy IP. Protokół IP jest najniższym funkcjonalnym składnikiem Internetu, niezależnym od platformy sprzętowej. Do przesyłania danych użytkownika wykorzystuje się szereg protokołów wyższych warstw, przesyłanych wewnątrz datagramów IP (enkapsulacja). Każdy datagram pomiędzy węzłem źródłowym i docelowym może pokonać wiele węzłów pośrednich (routerów). W sieci publicznej może to być od kilku do kilkunastu węzłów pośrednich, zarządzanych przez różne podmioty i geograficznie zlokalizowanych niekoniecznie pomiędzy węzłem źródłowym i docelowym. Ponadto, trasa pakietu może zmieniać się dynamicznie w zależności od konfiguracji i aktualnego stanu sieci. Protokół IP nie zapewnia ani doręczenia datagramu, ani jego bezpieczeństwa w sensie poufności oraz intergralności informacji. Brak tej gwarancji w połączeniu z ograniczoną przewidywalnością trasy pakietu powoduje, że dane przesyłane za pomocą IP są podatne na podsłuch oraz modyfikację zawartości. Mechanizmem zapewniającym bezpieczeństwo informacji przesyłanej za pomocą protokołu IP jest architektura IP Security (IPSec), stworzona na początku lat 90-tych przez Internet Engineering Task Force (IETF) organizację, która stworzyła IP. IPSec jest standardem ochrony informacji w sieci Internet, a jego realizacja w szyfratorze ABA IPSec Gatestanowi temat niniejszego opracowania. 1.2 Architektura IPSec Architektura IP Security wykorzystuje technikę enkapsulacji oraz mechanizmy kryptograficzne w celu zagwarantowania następujących cech przesyła- 7

8 ROZDZIAŁ 1. WPROWADZENIE nych za jego pomocą informacji: poufność, czyli uniemożliwienie zapoznania się z treścią informacji osobom niepowołanym, to jest nie posiadającym tajnych kluczy kryptograficznych, którymi ta informacja jest zaszyfrowana integralność, czyli zapewnienie że informacja nie została zmieniona, celowo lub wskutek błędów transmisji, przez wykrywanie takich zmian autentyczność, czyli uniemożliwienie wstawienia do transmisji własnych komunikatów osobom postronnym, przez wykrywanie nieautentycznych pakietów W skład architektury IP Security wchodzą dwa protokoły: Authentication Header (AH) oraz Encapsulation Security Payload (ESP). Protokoły te mogą być używane zamiennie lub wspólnie, przez enkapsulację jednego w drugim. Protokół AH zapewnia wyłącznie ochronę integralności oraz autentyczność informacji, z założenia nie zapewnia jej poufności dane chronione przez AH są przesyłane otwartym tekstem. Protokół ESP zapewnia ochronę integralności, autentyczności oraz poufności przesyłanych danych, które są przesyłane w postaci zaszyfrowanej. Ponadto wykorzystywany jest jeszcze protokół kompresji danych IPComp. 1.3 Tunelowanie Oba protokoły mogą być stosowane w dwóch trybach transportowym i tunelowym. Tryby te różnią się sposobem enkapsulacji: w trybie transportowym za oryginalnym nagłówkiem IP dokładany jest nagłówek AH lub ESP chroniący bezpośrednio protokoły wyższych warstw enkapsulowane wewnątrz. W trybie tunelowym nowy pakiet IP zawiera AH lub ESP enkapsulujące cały oryginalny pakiet IP. Z praktycznego punktu widzenia tryb tunelowy zapewnia to samo co tryb transportowy kosztem niewielkiego zwiększenia rozmiaru datagramu. W trybie transportowym jest jednak niemożliwe: korzystanie z więcej niż jednego protokołu bezpieczeństwa na raz (np. enkapsulacja IPComp w ESP) przesyłanie wewnątrz tunelu IPSec pakietów z węzłów innych niż jego końce Z tych powodów tryb transportowy znajduje ograniczone zastosowanie, na przykład do bezpośredniej komunikacji stacji zarządzającej z szyfratorem. Do większości zastosowań, na przykład budowy wirtualnych sieci prywatnych (Virtual Private Networks) wykorzystuje się wyłącznie tryb tunelowy.

1.4. ALGORYTMY KRYPTOGRAFICZNE W AH I ESP 9 1.4 Algorytmy kryptograficzne w AH i ESP Protokoły AH oraz ESP nie posiadają na stałe przypisanych algorytmów kryptograficznych, które mogą być ustalane arbitralnie podczas uruchamiania bezpiecznego połączenia. Z punktu widzenia osoby analizującej takie połączenie z zewnątrz zastosowane algorytmy nie są znane każdy datagram stanowi ciąg zaszyfrowanych danych opatrzonych identyfikującym je numerem Security Parameters Index (SPI). Na podstawie SPI (wybranego podczas nawiązywania połączenia) każda ze stron określa, jakie przekształcenia kryptograficzne należy zastosować by rozszyfrować pakiet1. Zestaw informacji o danym połączeniu opisywany przez SPI określa się nazwą Security Association (SA). Protokoły AH i ESP do celów stwierdzenia integralności oraz autentyczności datagramu wykorzystują kryptograficzne funkcje skrótu w trybie Hashed Message Authentication Code (HMAC-96). W trybie tym wynik funkcji skrótu jest mieszany z ustalonym pomiędzy stronami tajnym kluczem kryptograficznym tworząc 96-cio bitowy wynik, który zapewnia: stwierdzenie integralności przez porównanie przysłanego skrótu z wynikiem obliczonym z otrzymanego datagramu stwierdzenie autentyczności, ponieważ tylko osoba znająca poprawny klucz mogła wygenerować poprawny skrót HMAC Wykorzystuje się funkcje skrótu MD5, SHA1 oraz RIPEMD-160. Protokół ESP do szyfrowania wykorzystuje szyfry blokowe w trybie Cipher Block Chaining (CBC) z losowym wektorem inicjalizującym (initialising vector), przy czym klucz szyfrowania jest niezależny od klucza wykorzystywanego do obliczenia HMAC wiadomości. Wykorzystuje się szyfry DES z kluczem 56 bitów, potrójny DES w trybie EDE (Encrypt-Decrypt-Encrypt) z kluczem o długości 168 bitów oraz inne szyfry blokowe. Wszystkie algorytmy, zarówno szyfrujące oraz HMAC, stosowane w IPSec mogą być personalizowane. Ponadto w ramach architektury IPSec wykorzystuje się protokół kompresji danych IPComp, działający w sposób analogiczny do AH oraz ESP i w nich enkapsulowany. Jak wynika z powyższego opisu, ze względu na wykorzystywanie algorytmów symetrycznych do skonfigurowania połączeń po protokołach AH i ESP konieczne jest wcześniejsze uzgodnienie kluczy kryptograficznych. Do tego celu wykorzystuje się najczęściej dodatkowy protokół Internet Key Exchange (IKE), zamiennie stosuje się także nazwę ISAKMP.

10 ROZDZIAŁ 1. WPROWADZENIE 1.5 Protokół IKE Protokół IKE działa dwuetapowo i jego wynikiem jest uzgodnienie wspólnych kluczy kryptograficznych pomiędzy dwoma stronami połączenia IPSec. Pierwszym etapem (Phase I) jest uwierzytelnienie komunikujących się stron oraz nawiązanie bezpiecznego kanału łączności na potrzeby późniejszej komunikacji (ISAKMP Security Association). W drugim etapie (Phase II) następuje dwustronne uzgodnienie kluczy kryptograficznych oraz parametrów IPSec, określanych nazwą IPSec SA. W pierwszym etapie uwierzytelnienie jest dokonywane na podstawie jednej z następujących informacji: hasło współdzielone pomiędzy obu stronami (shared secret) klucze kryptografii asymetrycznej (każda ze stron musi znać klucz publiczny drugiej strony) certyfikaty X.509 Uwierzytelnione strony przystępują w drugim etapie do obliczenia wspólnego klucza kryptograficznego na potrzeby IPSec SA. Możliwe jest okresowe renegocjowanie kluczy. Wszystkie algorytmy, w tym zarówno szyfry symetryczne jak i asymetryczne, są personalizowalne. 1.6 Standardy Standardy IETF definiujące architekturę IPSec oraz ISAKMP: RFC 2401, Security Architecture for the Internet Protocol RFC 2402, IP Authentication Header RFC 2406, Encapsulating Security Payload (ESP) RFC 2403, The Use of HMAC-MD5-96 within ESP and AH RFC 2404, The Use of HMAC-SHA-1-96 within ESP and AH RFC 2104, HMAC: Keyed-Hashing for Message Authentication Code RFC 2451, The ESP CBC Mode Cipher Algorithms RFC 2408, Internet Security Association and Key Management Protocol RFC 2412, OAKLEY Key Determination Protocol RFC 2409, Internet Key Exchange (IKE)

1.6. STANDARDY 11 RFC 2407, Internet IP Security Domain of Interpretation for ISAKMP RFC 3173, IP Payload Compression Protocol (IPComp) RFC 2394, IP Payload Compression Using DEFLATE

12 ROZDZIAŁ 1. WPROWADZENIE

Rozdział 2 Parametry kryptograficzne urządzenia Urządzenie implementuje następujące algorytmy i protokoły kryptograficzne: Protokół ISAKMP szyfrowanie ISAKMP SA 3DES-CBC ochrona integralności ISAKMP SA MD5 SHA1 metoda uzgodnienia kluczy dla IPSec SA metoda Diffiego-Hellmana, na grupach MODP-1024 i MODP- 1536 tryby uwierzytelnienia główny (Main Mode) metody uwierzytelnienia stron hasło współdzielone (shared secret) o dowolnej długości klucze RSA o minimalnej długości 512 bitów Protokoły IPSec tryby pracy tunelowy transportowy protokół ESP szyfrowanie 3DES-CBC ochrona integralności 13

14 ROZDZIAŁ 2. PARAMETRY KRYPTOGRAFICZNE URZĄDZENIA protokół AH HMAC-MD5 HMAC-SHA1 ochrona integralności HMAC-MD5 HMAC-SHA1 protokół IPComp kompresja DEFLATE Ochrona konfiguracji na USB szyfrowanie 3DES-CBC z 64-ro bitowym saltem Skrót hasła dostępu do konsoli administracyjnej standard crypt() oparty o DES

Rozdział 3 Ogólny opis rozwiązania Szyfrator ABA IPSec Gatejest urządzeniem przeznaczonym do zabezpieczania ruchu IP przez enkapsulację w protokole IPSec z dynamiczną negocjacją kluczy za pomocą protokołu ISAKMP. Jako podstawę wybrano ogólnodostępną implementację IPSec FreeS/WAN zbudowaną na systemie Linux. Rozwiązanie działa na przystosowanej platormie PC w architekturze Intela. Oprogramowanie jest uruchamiane z pamięci FLASH i działa wyłącznie w pamięci operacyjnej urządzenia. 3.1 Interfejsy zewnętrzne Urządzenie posiada: 1-4 interfejsów Ethernet 10Base-T/100Base-TX 1 intefejs szeregowy 9600 bps do podłączenia konsoli szeregowej 2 interfejsy Universal Serial Bus (USB), przeznaczone do podłączenia: klawiatury numerycznej lub alfanumerycznej, oraz zewnętrznej pamięci FLASH USB 1 interfejs szeregowy 115200 bps do podłączenia: modemu sterowanego komendami AT ( Hayes ), lub modemu baseband (typu Goramo, SDI), lub pętli prądowej, lub innych urządzeń komunikacyjnych 15

16 ROZDZIAŁ 3. OGÓLNY OPIS ROZWIĄZANIA 3.2 Konfiguracja Konfiguracja może być przechowywana na jednym z dwóch nośników: pamięć FLASH wbudowana w urządzenie zewnętrzna pamięć FLASH podłączana przez USB 3.3 Zarządzanie Zarządzanie urządzeniem odbywa się za pomocą poleceń wpisywanych w linii komend interfejsu użytkownika. Dostęp do interfejsu użytkownika może być zabezpieczony hasłem. Po ustalonym czasie braku aktywności administrator jest wylogowywany z interfejsu i jego uaktywnienie wymaga ponownego wpisania hasła. Interfejs użytkownika jest dostępny na dwa sposoby: przez konsolę szeregową podłączoną bezpośrednio do urządzenia przez sieć za pomocą protokołu Telnet Usługa Telnet nie jest domyślnie włączona. Jej włączenie nie jest możliwe jeśli system nie posiada skonfigurowanego hasła dostępu. Zalecane jest korzystanie z usługi Telnet wyłącznie wewnątrz tunelu IPSec. W przypadku korzystania z zewnętrznej pamięci FLASH USB jedyną interakcją użytkownika może być wpisanie hasła dostępu do konfiguracji na zewnętrznej klawiaturze numerycznej. Poza interfejsem użytkownik nie ma innej możliwości wpływania na działanie urządzenia.

Rozdział 4 Opis szczegółowy 4.1 Zewnętrzna pamięć FLASH USB Celem zastosowania zewnętrznej pamięci FLASH USB jest: możliwość fizycznej separacji samego urządzenia od jego logiki (konfiguracji) centralne zarządzanie i rozprowadzanie parametrów konfiguracyjnych (pamięci USB) zaufanymi kanałami dystrybucyjnymi (kurierzy) rozprowadzanie uaktualnień oprogramowania zwiększanie lub zmienianie tą drogą funkcjonalności urządzenia przez instalację dodatkowych modułów programowych (personalizacja) Pamięci FLASH USB są programowane na dostarczanych oddzielnie urządzeniach (programatorach), wyposażonych w graficzny interfejs użytkownika oraz bazę, umożliwiającą zarządzanie konfiguracjami poszczególnych urządzeń. Całość konfiguracji zapisanej na pamięci FLASH USB jest szyfrowana za pomocą szyfru 3DES-CBC z kluczem 168-bitów wyprowadzonym z podawanego przez użytkownika hasła za pomocą funkcji skrótu SHA1. Szyfrowanie odbywa się z dodatkiem 64-bitowego, losowego modyfikatora (salt), który powoduje że identyczny tekst jawny przy kolejnych szyfrowaniach może wygenerować 2 64 różnych kryptogramów. W zależności od wybranej opcji hasła mogą składać się wyłącznie z cyfr [0-9] lub ze znaków alfanumerycznych [a-z0-9]. Minimalna długość hasła jest ustalona w programatorze i wynosi 16 cyfr dla haseł numerycznych i 8 znaków dla haseł alfanumerycznych. Pamięć FLASH USB jest wkładana do jednego z dostępnych w urządzeniu portów USB, do drugiego podłącza się klawiaturę numeryczną lub alfanumeryczną, która służy do wpisywania hasła. Podczas jego wprowadzania wykorzystywana jest sygnalizacja dźwiękowa. 17

18 ROZDZIAŁ 4. OPIS SZCZEGÓŁOWY Hasło zabezpieczające konfigurację na pamięci FLASH USB jest niezależne od hasła systemowego (dostępu do interfejsu użytkownika). U podstawowych założeń szyfratora stoją następujące scenariusze jego użytkowania: całość konfiguracji jest przechowywana w lokalnej pamięci FLASH pamięć FLASH USB nie jest wykorzystywane programator USB nie jest wykorzystywany urządzenie jest konfigurowane przez konsolę szeregową lub telnet całość konfiguracji jest przechowywana w pamięci FLASH USB lokalna pamięć FLASH nie jest wykorzystywana po włożeniu FLASH USB szyfrator zażąda podania hasła, zaimportuje i wykona konfigurację po wyjęciu FLASH USB szyfrator restartuje się z poziomu konsoli administracyjnej możliwe jest przeglądanie i modyfikowanie aktualnej konfiguracji nie jest możliwe zapisanie jej na lokalną pamięć FLASH jak wyżej, jednak konsola administracyjna jest zablokowana pamięć FLASH USB jako nośnik do kopiowania konfiguracji pamięć FLASH USB jest dostarczana jednorazowo po jej wczytaniu i uruchomieniu jest ona zapisywana do lokalnej pamięci FLASH kolejne uruchomienia następują z lokalnej pamięci FLASH Możliwe są różne modyfikacje wyżej wymienionych scenariuszy. Zachowaniem szyfratora sterują następujące flagi, zawarte na pamięci USB: akcja po włożeniu klucza szyfrator powinien zaimportować konfigurację z USB szyfrator powinien zignorować konfigurację z USB akcja po wyjęciu klucza szyfrator wyzeruje wszystkie aktywne połączenia, interfejsy sieciowe i zresetuje swój stan jak wyżej, po czym szyfrator wykona sprzętowey restart (reboot) szyfrator będzie kontynuował pracę

4.2. KLUCZE RSA 19 zezwolenie na modyfikację konfiguracji konfiguracja może być przeglądana, modyfikowana i zapisana lokalnie (z konsoli administracyjnej) konfiguracja może być przeglądana, modyfikowana, ale nie może być zapisana lokalnie konsola administracyjna jest wyłączona, przeglądanie, modyfikacja i lokalny zapis konfiguracji nie jest możliwy Router nie posiada możliwości zapisywania pamięci FLASH USB, jest to możliwe tylko na zewnętrznym programatorze. 4.2 Klucze RSA Klucze RSA są wykorzystywane do uwierzytelnienia stron komunikujących się za pomocą protokołu ISAKMP. Urządzenie może posiadać jedną parę identyfikujących go kluczy prywatnego i publicznego, oraz dowolną liczbę kluczy publicznych innych węzłów. Minimalna długość klucza, który można wygenerować na urządzeniu wynosi 512 bitów. Klucz publiczny jest identyfikowany przez pierwsze 4 bajty jego skrótu SHA1 zapisane w postaci liczby szesnastkowej (np. 4347d0f8). Urządzenie umożliwia cykliczną weryfikację kluczy publicznych RSA na centralnym serwerze, z którego ściągana jest lista identyfikatorów kluczy wraz z informacją o ich ważności (Key Revocation List). Stwierdzenie anulowania danego klucza powoduje natychmiastowe zerwanie tuneli IPSec wykorzystujących ten klucz i wycofanie go z użytku w przyszłości. 4.3 Zabezpieczenia dodatkowe Urządzenie posiada szereg dodatkowych zabezpieczeń programowych, mających na celu zminimalizowanie możliwości ujawnienia wrażliwych danych, przejęcia kontroli lub innego niepożądanego wpływu na pracę urządzenia. Podczas projektowania urządzenia przyjęto założenie, że oprogramowanie może posiadać błędy i ochrona przed konsekwencjami ewentualnie błędów jest zawsze wielopoziomowa. 4.3.1 Przepełnienie bufora W systemie działają dwie aplikacje mające bezpośredni kontakt z siecią zewnętrzną są to usługi ISAKMP i Telnet. Są one narażone na próby wykorzystania ewentualnych błędow w kodzie, umożliwiających na przykład nadpisanie wewnętrznych buforów i zmuszenie w ten sposób aplikacji do wykonania przygotowanego przez atakującego kodu (ataki buffer overrun i heap

20 ROZDZIAŁ 4. OPIS SZCZEGÓŁOWY overflow). Ataki tego rodzaju były w przeszłości i nadal są zmorą wszystkich producentów urządzeń sieciowych. W celu zminimalizowania szans powodzenia tego rodzaju ataku obie aplikacje zostały skompilowane kompilatorem StackShield wyposażonym w uniwersalne mechanizmy obrony przed nadpisaniem bufora. Analogiczny system ochronny działa również na poziomie jądra systemu. Oba te elementy w praktyce uniemożliwiają wykorzystanie nieznanych błędów w oprogramowaniu. Jądro systemu oraz stos TCP/IP zostały zmodyfikowane w sposób utrudniający skanowanie portów oraz wykrycie marki i wersji oprogramowania. Osiągnięto to przez stosowanie losowych identyfikatorów nagłówka IP (IP ID), portów źródłowych TCP i UDP, losowo modyfikowanego parametru Time To Live wysyłanych pakietów oraz zmodyfikowanego wzoru pakietów ping. 4.3.2 Uaktualnienia oprogramowania Uaktualnienia oprogramowania urządzenia są potencjalnym środkiem umożliwiającym atakującemu zainstalowanie na szyfratorze własnego oprogramowania monitorującego lub w inny sposób naruszającego bezpieczeństwo chronionej sieci. Aby uniemożliwić instalację nieautoryzowanego oprogramowania wszystkie pakiety z uaktualnieniami muszą być podpisane prywatnym kluczem RSA, będącym w posiadaniu producenta. Klucz publiczny producenta jest na stałe zainstalowany w urządzeniu. Istnieje możliwość personalizacji tych kluczy. Zainstalowane pamięci FLASH oprogramowanie producenta (firmware) jest zaszyfrowane w sposób znacznie utrudniający analizę działania czy deasemblację kodu osobom niepowołanym. 4.3.3 Ataki SYN Flood Usługa Telnet służąca do zdalnej konfiguracji urządzenia jest podatna na atak SYN Flood dotyczący wszystkich usług działających po protokole TCP/IP. W celu uniemożliwienia przepełnienia wewnętrznych tablic połączeń TCP zastosowano mechanizm SYN Cookies. 4.3.4 Analiza ruchu na podstawie TOS Architektura IPSec zezwala na opcjonalne kopiowanie zawartości pola Type of Service (TOS) oryginalnego pakietu do nagłówka pakietu zaszyfrowanego, co umożliwia poprawne klasyfikowanie tego pakietu według ważności przez węzły pośredniczące w jego przekazywaniu. Ponieważ wartości TOS są typowe dla niektórych usług, ich widoczność na zewnątrz zaszyfrowanego strumienia danych może być wskazówką co do charakteru usług przekazywanych wewnątrz (traffic analysis). Z tego powodu urządzenie domyślnie zeruje wartość TOS w wysyłanych pakietach.

4.4. FILTR PAKIETÓW 21 4.4 Filtr pakietów Urządzenie jest wyposażone w zaawansowany filtr pakietowy oparty o oprogramowanie iptables. 4.4.1 Wykrywanie fałszywych pakietów Urządzenie w domyślnej konfiguracji prowadzi weryfikację ruchu sieciowego, sprawdzając w szczególności czy: pakiety przychodzące na każdy z interfejsów sieciowych mają adres źródłowy zgodny z przyłączoną przez ten interfejs siecią, pakiety wysyłane na dany interfejs mają adres docelowy zgodny z przyłączoną przez ten siecią lokalną lub zdalną (wynikającą ze skonfigurowanego routingu). Pakiety nie spełniające tych warunków są kasowane i zapisywane w rejestrze zdarzeń. 4.4.2 Wykrywanie nieprawidłowych pakietów Urządzenie posiada możliwość wykrywania pakietów IP posiadających błędne lub niemożliwe kombinacje flag i innych pól nagłówka. Pakiety takie są kasowane i zapisywane w rejestrze zdarzeń. 4.4.3 Blokowanie ruchu nieszyfrowanego Każdy z interfejsów sieciowych może być ustawiony w tryb blokowania ruchu nieszyfrowanego. W trybie tym z interfejsu są wysyłane i przyjmowane wyłącznie dane enkapsulowane w protokołach AH, ESP oraz ruch ISAKMP. Pozostałe pakiety są kasowane i zapisywane w rejestrze zdarzeń. 4.4.4 Izolacja interfejsów sieciowych Każdy z interfejsów sieciowych może być izolowany od pozostałych w ten sposób, że ruch z i do niego będzie przekazywany wyłącznie do jednego, wskazanego interfejsu. Gwarantuje to, że informacje z zastrzeżonej sieci nie zostaną przesłane do sieci niezaufanej w wyniku błędów konfiguracyjnych, błędów oprogramowania lub celowej manipulacji siecią. 4.4.5 Ręczny tryb konfiguracji filtra Wszystkie wyżej wymienione zabezpieczenia są aktywne w trybie automatycznej konfiguracji filtra pakietowego. Poza tym możliwe jest również włączenie trybu ręcznego, w którym użytkownik może uwzględnić nietypowe konfiguracje sieci lub inne specyficzne potrzeby.

22 ROZDZIAŁ 4. OPIS SZCZEGÓŁOWY 4.5 Generowanie liczb losowych Liczby losowe wysokiej jakości są wykorzystywane przede wszystkim do generowania kluczy kryptograficznych podczas uzgadniania parametrów IPSec SA oraz ISAKMP SA. Protokoły te pozyskują liczby losowe ze sterownika, wbudowanego w jądro systemu. Jądro posiada wewnętrzny zbiornik liczb losowych o pojemności 32 KB. Jest on zasilany na dwa sposoby po pierwsze przez dodawanie do niego liczb będących mierzonymi w 1/100 sekundy odstępami czasu pomiędzy przerwaniami sprzętowymi generowanymi przez pakiety odbierane na interfejsach Ethernet lub znaki przesyłane przez porty szeregowe urządzenia (konsola szeregowa lub interfejs PPP), które to zdarzenia mają charakter w dużej mierze losowy. Po drugie zbiornik jest zasilany przez sprzętowy generator liczb losowych znajdujący się w układzie 82802 produkcji firmy Intel, jeśli jest on dostępny w zastosowanej platformie sprzętowej. Generator ten wykorzystuje szum termiczny z dwóch oscylatorów zamieniany na ciąg bitów przetwarzany przez korektor von Neumanna. Dane losowe z układu 82802 są pobierane z taką szybkością, z jaką są udostępniane przez generator6 i po przeprowadzeniu dodatkowych testów statystycznych (FIPS) mieszane z systemowym zbiornikiem. Dane losowe są udostępniane na żądanie aplikacji przez obliczenie funkcji skrótu SHA1 z aktualnej zawartości zbiornika, co uniemożliwia odgadnięcie jego wewnętrznego stanu. W celu uniknięcia przewidywalnego stanu generatora liczb losowych w momencie startu urządzenia, podczas zapisywania konfiguracji zapisywany jest również blok liczb pobrany z generatora. Podczas startu urządzenia jest on ponownie mieszany z generatorem.

Rozdział 5 Przewodnik po konfiguracji Bieżący rozdział jest przewodnikiem, mającym w praktycznych przykładach pokazać użytkownikowi typowe czynności konfiguracyjne szyfratora. Przedstawione są wszystkie wprowadzane komendy, istotne rezultaty ich wykonania. Dodatkowo pokazane są zrzuty z analizatora sieciowego, przedstawiające faktyczny stan przesyłanych pomiędzy szyfratorami danych po wykonaniu kolejnych komend. 5.1 Konfiguracja sieci testowej Konfiguracja przykładowej sieci przedstawia się następujaco: 23

24 ROZDZIAŁ 5. PRZEWODNIK PO KONFIGURACJI 5.1.1 Podstawowe parametry szyfratora Poniżej konfigurowane parametry powinny być ustawione na każdym szyfratorze. Opis Router test1 Router test2 Nazwa szyfratora hostname test1 hostname test2 Hasło konsoli password test1ksr87 password test2htn30 Adres interfejsu Ethernet interface eth0 10.1.1.76/24 interface eth0 192.168.1.1/24 Routing domyślny route default 10.1.1.120 route default 192.168.1.254 Włączenie usługi Telnet service telnet service telnet Uwaga: włączenie usługi Telnet może narazić na kompromitację szyfrator w razie odgadnięcia hasła. Usługa ta jest ponadto wrażliwa na rozmaite ataki sieciowe (podsłuch, przejęcie sesji) i należy z niej korzystać wyłącznie w ramach zaufanej sieci lub wewnątrz tunelu IPSec. 5.1.2 Test łączności Opis Router test1 Router test2 Ping na adres test2 ping 192.168.1.1 Polecenie ping powoduje wysłanie czterech pakietów ICMP Echo Request do zdalnego systemu, który powinien na nie odpowiedzieć pakietami ICMP

5.2. TUNEL AH: TRYB TRANSPORTOWY END-TO-END 25 Echo Reply. Standardowo pakiety ICMP zawierają ciąg znaków ASCII, co przedstawia zrzut z analizatora sieci przedstawiony na rysunku. 5.2 Tunel AH: tryb transportowy end-to-end Tryb transportowy jest w praktyce wykorzystywany rzadko poza sieciami lokalnymi, podobnie jak rzadko jest w ogóle wykorzystywany protokół AH wszystkie jego funkcje plus szyfrowanie zapewnia ESP. Kombinacja jednak trybu transportowego z protokołem AH ma jedną zasadniczą zaletę jest bardzo przejrzysta podczas podsłuchiwania jej za pomocą analizatora sieci. Zaczynając od niej będziemy wzbogacać tunel o kolejne elementy dochodząc do konfiguracji stosowanych w praktyce. 5.2.1 Konfiguracja Konfigurujemy tunel AH w trybie transportowym end-to-end, czyli jedynymi użytkownikami szyfrowanego tunelu będą jego końce:

26 ROZDZIAŁ 5. PRZEWODNIK PO KONFIGURACJI Opis Router test1 Router test2 Adres IP końca tunelu peer test2 192.168.1.1 peer test1 10.1.1.76 Hasło współdzielone ISAKMP peer test2 secret hu3yohaima peer test1 secret hu3yohaima Włączamy AH peer test2 ah peer test1 ah Wyłączamy ESP peer test2 noesp peer test1 noesp Włączamy tryb transportowy peer test2 transport peer test1 transport Uruchomienie tunelu peer test2 enable peer test1 enable Test łączności ping 192.168.1.1 Konfiguracja tunelu wykorzystującego wyłącznie AH wymaga zachowania kolejności takiej jak powyżej, to jest najpierw włączenia AH, a następnie wyłączenia ESP, które jest zawsze włączane domyślnie (tunel nie może istnieć bez AH lub ESP). Domyślnym trybem jest tryb tunelowy, konieczne jest zatem jawne włączenie trybu transportowego. Faktyczne uruchomienie tunelu odbywa się dopiero po wydaniu polecenia enable. 5.2.2 Analiza Rezultat jest zaprezentowany na rysunku. Widać dwuetapowe nawiązanie ISAKMP SA pomiędzy szyfratorami Main Mode, podczas którego dochodzi do uwierzytelnienia stron na podstawie hasła współdzielonego, a następnie Quick Mode, który powoduje wynegocjowanie kluczy oraz parametrów tunelu IPSec.

5.2. TUNEL AH: TRYB TRANSPORTOWY END-TO-END 27 Pakiety ping są od tej pory wysyłane przez tunel AH. Na rysunku widać kolejne wartstwy enkapsulacji oraz znaki ASCII stanowiące treść pakietu AH przesyła dane otwartym tekstem.

28 ROZDZIAŁ 5. PRZEWODNIK PO KONFIGURACJI 5.3 Tunel AH: tryb tunelowy end-to-end Wprowadzamy modyfikację do poprzedniej konfiguracji w postaci włączenia trybu tunelowego zamiast transportowego. Wydanie komendy enable na końcu powoduje zrestartowanie połączenia z nowymi parametrami. 5.3.1 Konfiguracja Opis Router test1 Router test2 Włączamy tryb tunelowy peer test2 tunnel peer test1 tunnel Aktywacja tunelu peer test2 enable peer test1 enable Test łączności ping 192.168.1.1 5.3.2 Analiza Jak widać na rysunku. pakiety są przesyłane przez istniejące AH (to samo SPI), ale w innej enkapsulacji wewnątrz AH pojawił się dodatkowy nagłówek IP, a w nim dopiero oryginalny pakiet ICMP. Widać również fragment wymiany ISAKMP, która doprowadziła do wygenerowania nowego tunelu. Zwróćmy uwagę na to, że wewnętrzny nagłówek IP jest praktycznie identyczny jak nagłówek zewnętrzny (adresowany od 10.1.1.76 do 192.168.1.1).

5.4. TUNEL AH: TRYB TUNELOWY END-TO-END Z KOMPRESJĄ29 W przypadku tunelu end-to-end stanowi to pewien dodatkowy, niepotrzebny narzut ilości przesyłanych danych. Z tego powodu w połączeniach end-to-end wykorzystuje się najczęściej tryb transportowy. 5.4 Tunel AH: tryb tunelowy end-to-end z kompresją Wprowadzamy modyfikację do poprzedniej konfiguracji włączając kompresję IPComp. 5.4.1 Konfiguracja Opis Router test1 Router test2 Włączamy kompresję peer test2 compress peer test1 compress Aktywacja tunelu peer test2 enable peer test1 enable Zdalna sesja Telnet telnet 192.168.1.1

30 ROZDZIAŁ 5. PRZEWODNIK PO KONFIGURACJI 5.4.2 Analiza Aby zaobserwować działanie IPComp łączymy się za pomocą Telnet ze zdalnym szyfratorem, gdzie wydajemy komendę help, która spowoduje wygenerowanie sporej ilości tekstu. Protokół IPComp jest włączany wyłącznie wtedy, gdy spowoduje faktyczną redukcję objętości przesyłanych danych1 pakiety bardzo krótkie lub niepodatne na kompresję są wysyłane z pominięciem IPComp (tylko w AH). Rysunek przedstawia pakiet AH z enkapsulowanym wewnątrz skompresowanym pakietem IPComp. 5.5 Tunel AH: tryb tunelowy VPN Do poprzedniej konfiguracji wprowadzamy zasadnicze zmiany. polegające na wprowadzeniu pakietów z zewnętrznych sieci do tunelu pomiędzy szyfratorami test1 i test2. W tej typowej dla wirtualnych sieci prywatnych (Virtual Private Network) konfiguracji szyfratory pełnią rolę bram zabezpieczających (security gateways). Aktualna konfiguracja przedstawiać się będzie tak:

5.5. TUNEL AH: TRYB TUNELOWY VPN 31 5.5.1 Konfiguracja Na każdym z szyfratorów konfigurujemy drugi interfejs Ethernet, prowadzący do zabezpieczanych sieci. Wyłączamy kompresję i pozostajemy przy protokole AH dla ułatwienia analizy pakietów. Równocześnie jednak musimy wskazać szyfratorom adresy sieci, z których dane mają być przesyłane przez tunele IPSec. Służą do tego polecenia: lroute, wskazujące sieć zabezpieczaną przyłączoną do lokalnego szyfratora, oraz route, określające jaka sieć znajduje się za szyfratorem zdalnym. Opis Router test1 Router test2 Włączamy kompresję peer test2 nocompress peer test1 nocompress Konfigurujemy interferjsy do zabezpieczanych sieci int eth1 10.1.2.1/24 int eth1 192.168.2.1/24 Wskazanie lokalnych sieci peer test2 lroute 10.1.2.0/24 peer test1 lroute 192.168.2.0/24 Wskazanie zdalnych sieci peer test2 route 192.168.2.0/24 peer test1 route 10.1.2.0/24 Aktywacja tunelu peer test2 enable peer test1 enable Polecenia lroute i route sterują polityką szyfrowania na każdym z szyfratorów. Pierwsze z nich nakazuje szyfrować cały ruch pochodzący z wskazanej sieci, drugie ruch skierowany do zdalnej sieci.

32 ROZDZIAŁ 5. PRZEWODNIK PO KONFIGURACJI Pominięcie polecenia lroute powoduje przyjęcie założenia, że źródłem ruchu podlegającego ochronie jest lokalny szyfrator. Analogicznie w przypadku braku polecenia route zakłada się że zdalny szyfrator jest celem wrażliwych danych. Wynikową politykę bezpieczeństwa wyświetli polecenie show eroute. 5.5.2 Analiza Aby przetestować działanie tunelu możemy skorzystać z polecenia ping, ale w domyślnej konfiguracji pakiety te będą wysyłane bez szyfrowania. Przeanalizujmy dlaczego, co pozwoli na dokładniejsze wyjaśnienie jak działa polityka bezpieczeństwa na szyfratorach: W konfiguracji przedstawionej powyżej szyfrowaniu będzie podlegał tylko ruch pomiędzy sieciami 10.1.2.0/24 i 192.168.2.0/24, bo tak nakazują polecenia lroute i route. Patrząc z perspektywy szyfratora test1, pakiet ping wysłany z zewnętrznego adresu szyfratora (10.1.1.76) nie należy do żadnej z chroniony sieci wymieniomych powyżej. Powinien więc być wysłany normalnie, bez szyfrowania. Aby zapewnić ten konkretny zakres ochronę należałoby stworzyć kolejny tunel pomiędzy 10.1.1.76 (brak lroute) i 192.168.2.0/24 (route do tej sieci). Nie ma to jednak praktycznego sensu, jeśli nie będzie faktycznie wrażliwego ruchu generowanego z szyfratora test1 do tej sieci. Najprostszym sposobem by zobaczyć szyfrowany ruch jest oczywiście wysłanie danych z jednej sieci chronionej do drugiej, czyli tak jak miałoby się to odbywać w środowisku produkcyjnym. Jednak zaimplementowne na szyfratorach polecenie ping posiada możliwość wysyłania pakietów z innym niż domyślny źródłowym adresem IP. Rysunek przedstawia konsolę administracyjną podczas wpisywania tego polecenia.

5.5. TUNEL AH: TRYB TUNELOWY VPN 33 Rysunek przedstawia zrzut jednego z wysłanych powyżej pakietów ICMP. Jak widać, w pakietach AH wysyłanych z 10.1.1.76 do 192.168.1.12 enkapsulowany jest pakiet ICMP pochodzący z adresu 10.1.2.1 i skierowany do 192.168.2.1.

34 ROZDZIAŁ 5. PRZEWODNIK PO KONFIGURACJI 5.6 Tunel ESP: tryb tunelowy VPN Do powyższej konfiguracji wprowadzamy istotną zmianę - zamiast protokołu AH zastosujemy ESP, zapewniający ochronę integralności oraz autentyczności pakietów oraz dodatkowo ich szyfrowanie. 5.6.1 Konfiguracja Opis Router test1 Router test2 Włączamy ESP peer test2 esp peer test1 esp Wyłączamy AH peer test2 noah peer test1 noah Reaktywacja tuneli peer test2 enable peer test1 enable Również i w tym wypadku konieczne jest zachowanie odpowiedniej kolejności włączenie ESP i dopiero później wyłączenie AH. 5.6.2 Analiza Rysunek przedstawia zrzut części sesji ISAKMP, która wygenerowała nowy tunel ESP oraz zrzut zaszyfrowanych pakietów zawierających pakiety ping,

5.7. RSA Z IDENTYFIKATOREM ADRES IP 35 wysłany w sposób identyczny do opisanego w poprzednim przypadku. Ich zawartość jest zupełnie nieprzezroczysta dla postronnego obserwatora. 5.7 RSA z identyfikatorem adres IP We wszystkich wyżej wymienionych konfiguracjach strony tuneli były uwierzytelniane za pomocą hasła współdzielonego, które musi być identyczne na obu końcach każdego tunelu. W przypadku szyfratorów, z których wychodzi wiele tuneli zarządzanie hasłami staje się zadaniem skomplikowanym. Ponadto, uwierzytelnienie za pomocą haseł można stosować wyłącznie gdy adresy IP komunikujących się szyfratorów są stałe, metoda ta nie nadaje się zatem do uwierzytelniania szyfratorów wdzwaniających się do Internetu z dynamicznnie przydzielanymi adresami IP. W takich wypadkach należy skorzystać z uwierzytelnienia za pomocą kluczy RSA. Metoda ta posiada następujące cechy: Każdy szyfrator musi posiadać swój klucz prywatny oraz związany z nim klucz publiczny

36 ROZDZIAŁ 5. PRZEWODNIK PO KONFIGURACJI Każdy szyfrator musi posiadać klucze publiczne wszystkich routerów, do których będzie nawiązywał połączenia IPSec Strony połączeń mogą przedstawiać się za pomocą adresów IP lub identyfikatorów tekstowych. Te ostatnie wykorzystuje się, gdy adres IP nie jest stały. Aby przejść na uwierzytelnienie po kluczach RSA konieczne jest wygenerowanie kluczy prywatnych na każdym z szyfratorów, a następnie wymiana kluczy publicznych. Klucze publiczne mają postać długich ciągów znaków (np. 0sAQNcmZbb7qn12...). Dla ułatwienia zarządzania kluczami w konfiguracji szyfratora wykorzystuje się identyfikatory kluczy będące krótkimi liczbami szesnastkowymi (np. f2570af1). Wprowadzenie samego klucza jest konieczne wyłącznie podczas jego dodawania komendą ipsec pub add, wszelkie późniejsze operacje (wyświetlanie, kasowanie, dodawanie do tunelu) wykonuje się na identyfikatorze. 5.7.1 Konfiguracja Kroki, które należy wprowadzić do istniejącego już tunelu opisane są poniżej: Opis Router test1 Router test2 Generacja klucza prywatnego dla każdego z szyfratorów ipsec sec gen 1 ipsec sec gen 2 Dodanie klucza publicznego drugiej strony na każdym z szyfratorów ipsec pub add 0sAQNcmZbb7qn12... ipsec pub add 0sAQLbW60kNiU11... Wskazanie identyfikatorów kluczy publicznych w konfiguracji tuneli peer test2 pubkey f2570af1 peer test1 pubkey b26a016f Wyłączenie konfiguracji za pomocą hasła współdzielonego peer test2 nosecret peer test1 nosecret Rekonfiguracja tuneli peer test2 enable peer test1 enable 5.7.2 Analiza Po wprowadzeniu tych zmian strony połączenia uwierzytelniają się za pomocą swoich kluczy RSA, identyfikowanych przez adresy IP. Na rysunku przedstawiony jest stan tunelu po rekonfiguracji.

5.8. RSA Z IDENTYFIKATOREM TEKSTOWYM 37 5.8 RSA z identyfikatorem tekstowym Uwierzytelnienie kluczami RSA identyfikowanymi przez adresy IP jest możliwe tylko wówczas, gdy adresy te są stałe. W przypadkach, kiedy zmieniają się one dynamicznie konieczne jest zastosowanie identyfikatorów niezależnych od adresów IP, będących jednoznacznymi i wybranymi przez administratorami nazwami. Routery obsługują dwa rodzaje identyfikatorów tekstowych: identyfikatory będące nazwą domenową (np. gw.aba.krakow.pl), które muszą jednak rozwiązywać się poprawnie w DNS identyfikatory typu użytkownik@host W większoścy przypadków praktyczniejsze jest korzystanie z identyfikatorów drugiego typu. Rekonfiguracja w tym wypadku ogranicza się do wskazania odpowiednich identyfikatorów po każdej ze stron. Polecenie lid określa lokalny identyfikator, którym szyfrator będzie się przedstawiał do drugiego końca tunelu. Polecenie id określa spodziewany identyfikator zdalnego szyfratora. 5.8.1 Konfiguracja Opis Router test1 Router test2 Konfiguracja lokalnych identyfikatorów peer test2 lid admin@test1 peer test1 lid kravietz@test2 Konfiguracja identyfikatorów zdalnych szyfratorów peer test2 id kravietz@test2 peer test1 id admin@test1 Rekonfiguracja tuneli peer test2 enable peer test1 enable

38 ROZDZIAŁ 5. PRZEWODNIK PO KONFIGURACJI 5.8.2 Analiza Rysunek przedstawia konfigurację tunelu po zastosowaniu identyfikatorów. 5.9 Tunele dynamiczne Tunele dynamiczne charakteryzują się co najmniej jedną z poniższych cech: mają charakter tymczasowy, tzn. mogą być inicjalizowane w momencie nawiązania łączności przez modem i kończone w momencie jej zerwania mają zmieniające się, przydzielane dynamicznie adresy IP

5.9. TUNELE DYNAMICZNE 39 5.9.1 Konfiguracja Opis Router test1 Router test2 Konfiguracja nazwy szyfratora host centrala host dialup Adres IP Ethernet int eth0 217.96.88.199/28 Routing domyślny route default 217.96.88.194 Ustawienie hasła pass jhalgm81 pass yuq1ma3 Generowanie kluczy prywatnych ipsec sec gen ipsec sec gen Wymiana kluczy publicznych ipsec pub add... ipsec pub add... Tunel dynamiczny peer centrala dynamic Adres zdalnego szyfratora peer dialup1 any peer centrala 217.96.88.199 Klucze publiczne peer dialup1 pubkey... peer centrala pubkey... Identyfikator lokalny peer dialup1 lid cen@centrala peer centrala lid dial@dialup Identyfikator zdalny peer dialup1 id dial@dialup peer centrala id cen@centrala Aktywacja tunelu peer dialup1 enable peer centrala enable Edycja konfiguracji modemu ppp chat Użytownik i hasło PPP ppp auth ppp ppp Domyślny routing przez PPP ppp defroute Aktywacja PPP ppp enable Uwagi: Komendy dynamic musi być pierwszą komendą podczas konfiguracji danego tunelu dynamicznego. Tunele ze specjalnym adresem docelowym any działają wyłącznie w trybie biernym, tj. nie mogą inicjować połączeń Konfiguracja modemu to skrypt zawierający komendy AT (Hayes) inicjalizujące modem oraz powodujące nawiązanie połączenia. Przykładowy skrypt dla dialupu POLPAK-T (0202122) z wyjściem przez wewnętrzny numer 9 jest przedstawiona na rysunku. Dynamiczny routing domyślny przez PPP może być uruchomiony tylko wówczas, gdy nie jest ustawiony inny, statyczny routing domyśłny. Autoryzacja po PPP jest możliwa tylko przy pomocy protokołu Password Authentication Protocol (PAP).

40 ROZDZIAŁ 5. PRZEWODNIK PO KONFIGURACJI 5.9.2 Analiza Rysunek przedstawia sytuację tunelu po nawiązaniu dynamicznego połączenia, w którym szyfrator dialup otrzymał adres 213.76.40.209.

Rozdział 6 Polecenia 6.1 autologout SKŁADNIA autologout autologout minuty OPIS Ustawia czas w minutach po którym sesja administracyjna będzie automatycznie wylogowana w razie braku aktywności użytkownika. Bez parametrów wyświetla aktualne ustawienia. Domyślną wartością jest 10 minut. 6.2 exit SKŁADNIA quit exit OPIS Kończy sesję w konsoli administracyjnej. 6.3 fw SKŁADNIA firew firew firew 41

42 ROZDZIAŁ 6. POLECENIA firew firew OPIS Polecenie autowłącza tryb automatyczny wbudowanego filtra pakietów. Jego konfiguracja będzie tworzona automatycznie na podstawie ustawień interfejsów sieciowych. Polecenie manualwyłącza tryb automatyczny. Wykonywana będzie wyłącznie konfiguracja stworzona ręcznie poleceniem edit. Polecenie showwyswietla aktualna konfiguracje filtra pakietow wraz ze statystykami. 6.4 halt SKŁADNIA halt OPIS Kończy pracę systemu i zatrzymuje go, bez wznowienia pracy. 6.5 hostname SKŁADNIA hostname nazwa OPIS Ustawia nazwę systemu. Zalecane jest, by nazwa nie miała więcej niż 16 znaków i składała się wyłącznie z liter oraz cyfr. 6.6 info soft Oprogramowanie wykorzystuje kod na licencji GPL oraz BSD: Linux 2.4, FreeS/WAN 1.95 i inne. Autor oprogramowania sterującego, systemu pomocy oraz interfejsu użytkownika:

6.7. INTERFACE 43 Paweł Krawczyk kravietz@post Wszystkie prawa zastrzeżone. Analiza działania, śledzenie, deasemblacja lub dekompilacja jakiejkolwiek części tego oprogramowania bez pisemnej zgody właściciela praw autorskich jest zabroniona. 6.7 interface SKŁADNIA interface ifaaa.bbb.ccc.ddd/nn interface ifadd aaa.bbb.ccc.ddd/nn interface ifdel [aaa.bbb.ccc.ddd/nn] interface if[stop start] interface if[restricted norestricted] interface if[nat nonat] interface ifseparate ifs interface ifnoseparate interface interface stats OPIS Polecenie służy do zarządzania interfejsami sieciowymi urządzenia. Nazwa interfejsu ifmoże być jedną z poniżej wymienionych (niektóre modele mogą posiadać mniej interfejsów):.5i eth0 pierwszy interfejs Ethernet eth1 drugi interfejs Ethernet eth2 trzeci interfejs Ethernet ppp0 asynchroniczny interfejs szeregowy PPP Polecenie interface ifaaa.bbb.ccc.ddd/nnustawia adres interfejsu ifna podany adres IP w notacji prefiksowej. Adres ten jest głównym adresem interfejsu. Polecenie adddodaje kolejne adresy IP do interfejsu. Polecenie delkasuje podany adres IP. Jeśli nie podano żadnego to kasuje wszystkie. Polecenia stopi startodpowiednio zatrzymują oraz podnoszą wskazany interfejs sieciowy.

44 ROZDZIAŁ 6. POLECENIA Polecenie restrictedi norestrictedodpowio włączają lub wyłączają bezpieczny tryb interfejsu. W bezpiecznym trybie fizyczny interfejs może wysyłać i otrzymywać wyłącznie pakiety protokołów AH, ESP lub ISAKMP. Polecenia nati nonatodpowiednio włączają i wyłączają inteligentną translację adresów dla połączeń przychodzących zsieci podłączonej do danego interfejsu. Polecenie separatewłącza wymuszoną izolację wskazanego interfejsu ifod pozostałych interfejsów sieciowych. Nie będzie przepuszczany żaden ruch sieciowy z i do tego interfejsu, poza komunikacją ze wskazanym interfejsem ifs. Polecenie interfacewywołane bez argumentów wyświetla adresy IP wszystkich dostępnych intefejsów. Polecenie statswyświetla statystyki tych interfejsów. 6.8 ipsec SKŁADNIA ipsec [hidetos nohidetos] ipsec [icmp noicmp] ipsec ikelifetime czas ipsec ipseclifetime czas ipsec pub add klucz ipsec pub del klucz ipsec pub show ipsec sec gen [bity](r) ipsec sec del ipsec krl server adres ipsec krl frequency czas ipsec krl none OPIS Jeśli aktywna jest opcja nohidetos), to tunel będzie miał taką samą wartość TOS (Type of Service) jak przesyłane wewnątrz oryginalne pakiety. Jeśli włączone jest opcja hidetos, to wartość ta będzie zawsze ustawiona na zero (zachowanie domyślne). Jeśli włączona jest opcja icmp, to router będzie wysyłał komunikaty ICMP informujące inne hosty o konieczności fragmentacji pakietów, jeśli będą one większe niż dopuszczalny limit wynikający z parametrów tunelu. Jeśli aktywna jest opcja noicmp, router nie będzie wysyłał żadnych komunikatów, a zbyt duże pakiety beda gubione. Domyślnie komunikaty takie są wysyłane. Parametr ikelifetimeokreśla czas w sekundach po którym renegocjowany

6.9. NAMESERVER 45 będzie każdy tunel ISAKMP. Parametr ipseclifetimeokresla czas w sekundach po ktorym renegocjowany będzie klucz sesyjny kazdego tunelu IPSec. Zalecane wartości to 3600 do 28800 sekund (1-8 godzin). Polecenie pub adddodaje klucz publiczny kluczwyświetlając jego identyfikator. Polecenie pub delkasuje klucz o identyfikatorze id. Polecenie pub showwyświetla bazę kluczy publicznych.. Polecenie sec genz opcjonalnym parametrem bitygeneruje parę kluczy RSA - prywatny oraz publiczny o podanej dlugości w bitach. Domyślnie generowany jest klucz o długości 1024 bity, minimalna wielkość klucza to 512 bitów. Polecenie sec delkasuje klucz prywatny oraz odpowiadający mu klucz publiczny. Polecenia krlsłużą do zarządzania mechanizmem weryfikacji listy anulowanych kluczy (Key Revocation List). Polecenie krl serverokreśla pełny adres URL z którego będzie pobierana lista. Polecenie krl frequencyokreśla czas w minutach co jaki lista będzie sprawdzana. Polecenie krl nonewyłącza sprawdzanie listy. UWAGA Polecenia oznaczone (R)są dostępne wyłącznie w wersji Cryptonite Router. 6.9 nameserver SKŁADNIA nameserver adres OPIS Ustawia adres IP serwera DNS. Adres ten jest wymagany aby działały nazwy symboliczne hostów podczas dla połączeń ping, telneti innych. 6.10 ntp SKŁADNIA ntp server serwer ntp frequency czas ntp none OPIS Polecenia ntpkontrolują mechanizm synchronizacji czasu wysokiej dokładności po protokole NTP (Network Time Protocol). Polecenie ntp serverokreśla

46 ROZDZIAŁ 6. POLECENIA adres zdalnego serwera NTP. Polecenie ntp frequencyokreśla częstotliwość synchronizacji w minutach (domyślnie co godzinę). Polecenie ntp nonewyłącza korzystanie z NTP. UWAGA Urządzenie posługuje się czasem GMT. 6.11 password SKŁADNIA password [-e]haslo password [-d] OPIS Ustawia nowe hasło do konsoli administracyjnej. Hasło może mieć dowolną dlugość, składać sie z dużych i małych liter, cyfr i znaków./-. Hasło jest przechowywane w konfiguracji w postaci zaszyfrowanej standardowym algorytmem cryptwykorzystującym algorytm DES. Jeśli podana zostanie opcja -eto następujące hasło jest traktowane jako już zaszyfrowane i zachowywane bez dodatkowych przekształceń. Opcja -dkasuje hasło. 6.12 peer SKŁADNIA peer idadres peer idsecret haslo peer idnosecret peer id[compress nocompress] peer id[route noroute] adres peer id[lroute nolroute] adres peer id[enable disable] peer id[require norequire] peer id[tunnel transport] peer id[esp noesp] peer id[ah noah] peer id[pfs nopfs] peer id[initiator responder] peer id[dynamic static] peer idid id peer idlid lid

6.12. PEER 47 peer idnolid peer idnoid peer idpubkey klucz peer idnopubkey peer iddelete peer show peer idshow peer status OPIS Polecenia peersłużą do zarządzania tunelami do innych routerów. Poszczególne tunele są identyfikowane nazwami id, które mają znaczenie wyłącznie lokalne i są uznaniowe. Parametry istniejącego tunelu są faktycznie zmieniane tylko przez sekwencję poleceń disable(zatrzymanie tunelu) oraz enable(uruchomienie z nowymi parametrami). peer idadres Polecenie zakłada nowy tunel o identyfikatorze id, którego końcem jest router o podanym adresie. Jeśli zamiast adresu podano słowo kluczowe any, przyjmowane będą połączenia ze wszystkich adresów. peer idsecret haslo Przypisuje danemu tunelowi nowy klucz, używany do uwierzytelnienia systemu po drugiej stronie (klucz skonfigurowany tam musi być identyczny). peer id[compress nocompress] Włącza lub wyłącza używanie kompresji IPComp w danym tunelu. Ustawienie po drugiej stronie musi być identyczne. peer id[route unroute] adres Ustawia lub kasuje routing do podanej sieciprzez szyfrowany tunel do routera id. Adresy docelowych sieci powinny być podawane w formacie prefiksowym. peer id[lroute unlroute] adres Ustawia lub kasuje routing do podanej sieci, jaki będzie oferowany klientowi przez tunel IPSec. peer id[enable disable] Włącza lub wyłącza dany tunel. Domyślnie nowy tunel nie jest aktywny. Po użyciu opcji disabletunel jest natychmiast zamykany i nie będzie podniesiony po restarcie systemu (nie jest on kasowany z konfiguracji). peer id[tunnel transport]