Wydział Elektryczny. Katedra Telekomunikacji i Aparatury Elektronicznej. Sieci i Aplikacje TCP/IP. Ćwiczenie nr 7



Podobne dokumenty
Instrukcja pozyskiwania certyfikatu

Wygeneruj 8192-bitowy klucz RSA SHA-256 dla naszego głównego urzędu certyfikacji: ...++

Bezpieczeństwo systemów informatycznych

MikroTik Serwer OpenVPN

Konstrukcja urzędów certyfikacji standardu OpenSSL, zarządzanie certyfikatami

Konfiguracja OpenVPN Parę słów o VPN i OpenVPN

Tomcat + SSL - Windows/Linux. Instalacja certyfikatów niekwalifikowanych w serwerze Toccat. wersja 1.0 UNIZETO TECHNOLOGIES S.A.

Tomcat + SSL - Windows/Linux. Instalacja certyfikatów niekwalifikowanych w serwerze Tomcat. wersja 1.1

Konfiguracja OpenVPN w AS30GSM200P. Informator Techniczny Strona 1 z 10

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

Konfiguracja OpenVPN w AS30GSM200P. Informator Techniczny Strona 1 z 15

Procedura uzyskania certyfikatu do ZSMOPL na potrzeby ewaluacji

Laboratorium nr 4 Sieci VPN

Wspomaganie certyfikacji witryn internetowych za pomocą urzędów lokalnych

Konfiguracja OpenVPN w AS30GSM200P. Informator Techniczny Strona 1 z 11

Konfiguracja OpenVPN w AS30GSM200P. Informator Techniczny Strona 1 z 13

Laboratorium nr 6 VPN i PKI

Stunnel - tunelowanie poczty po SSL Data: o godz. 00:01:32 Temat: FreeBSD - oprogramowanie itp.

Laboratorium nr 5 Sieci VPN

OpenSSL - CA. Kamil Bartocha November 28, Tworzenie CA przy użyciu OpenSSL

OpenVPN na dd-wrt

Uwierzytelnianie użytkowników sieci bezprzewodowej z wykorzystaniem serwera Radius (Windows 2008)

INŻYNIERIA BEZPIECZEŃSTWA LABORATORIUM. VPN / OpenVPN

PureFTPd Użycie certyfikatów niekwalifikowanych w oprogramowaniupureftpd. wersja 1.3

Java Code Signing UŜycie certyfikatów niekwalifikowanych do podpisywania kodu w technologii Java. wersja 1.2 UNIZETO TECHNOLOGIES SA

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

Łukasz Przywarty Wrocław, r. Grupa: WT/N 11:15-14:00. Sprawozdanie z zajęć laboratoryjnych: OpenSSL

TelCOMM Wymagania. Opracował: Piotr Owsianko Zatwierdził: IMIĘ I NAZWISKO

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

CEPiK 2 dostęp VPN v.1.7

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

VSFTPd Użycie certyfikatów niekwalifikowanych w oprogramowaniuvsftpd. wersja 1.3 UNIZETO TECHNOLOGIES SA

Tworzenie połączeń VPN.

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

Tworzenie sieci VPN w środowisku Linux i Windows

Konfiguracja połączenia VPN w systemie Windows 7 z serwerem rozgrywki wieloosobowej gry Medal Of Honor: Wojna na Pacyfiku: Pacyfik.

Bezpieczeństwo systemów informatycznych

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

Camspot 4.4 Camspot 4.5

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

Zadanie1: Odszukaj w serwisie internetowym Wikipedii informacje na temat usługi DHCP.

ZiMSK. Konsola, TELNET, SSH 1

Metody zabezpieczania transmisji w sieci Ethernet

SIP Studia Podyplomowe Ćwiczenie laboratoryjne Instrukcja

POSTFIX (SMTP) + POP3 + SSL. Użycie certyfikatów niekwalifikowanych w oprogramowaniu POSTFIX. wersja 1.4

Konfiguracja WDS na module SCALANCE W Wstęp

Koncentrator VPN. Konfiguracja OpenVPN. +Sieci hybrydowe. Dotyczy wersji oprogramowania 3.7 Wersja dokumentu: 1.0

Instrukcja konfiguracji usługi Wirtualnej Sieci Prywatnej w systemie Mac OSX

Bezpieczna poczta elektroniczna tunelowanie po protokole SSL

Instrukcja podłączenia bramki IP 1R+L oraz IP 2R+L w trybie serwisowym za pomocą usługi telnet.

Konfiguracja aplikacji ZyXEL Remote Security Client:

PROFFICE/ MultiCash PRO Zmiana parametrów komunikacji VPN do połączenia z Bankiem Pekao S.A.

PODSTAWOWA KONFIGURACJA LINKSYS WRT300N

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

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

Laboratorium - Poznawanie FTP

MODEL WARSTWOWY PROTOKOŁY TCP/IP

4. Podstawowa konfiguracja

12. Wirtualne sieci prywatne (VPN)

WYDZIAŁ ELEKTRYCZNY KATEDRA TELEKOMUNIKACJI I APARATURY ELEKTRONICZNEJ. Pracownia specjalistyczna. Numer ćwiczenia: 5.

Koncentrator VPN. OpenVPN w trybie mostkowania (TAP) Praca w warstwie drugiej modelu ISO/OSI. Dotyczy wersji oprogramowania 3.7 Wersja dokumentu: 1.

Jak skonfigurować bezpieczną sieć bezprzewodową w oparciu o serwer RADIUS i urządzenia ZyXEL wspierające standard 802.1x?

Instytut Teleinformatyki

Połączenie VPN Host-LAN SSL z wykorzystaniem motp. 1. Aplikacje motp 1.1. DroidOTP 1.2. Mobile-OTP. 2. Konfiguracja serwera VPN

Zadanie1: Odszukaj w serwisie internetowym Wikipedii informacje na temat protokołu http.

Zdalne logowanie do serwerów

Problemy z bezpieczeństwem w sieci lokalnej

Tomasz Greszata - Koszalin

Opis instalacji i konfiguracji programu HW Virtual Serial Port z kasą PS3000Net

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

Konfiguracja klienta Lotus Notes R6 z certyfikatami i kluczami na karcie kryptograficznej lub w pliku.

Instalacja i konfiguracja serwera SSH.

Uwaga!!! Autentykacja LDAP/AD zaimplementowana w Vigor wspiera tylko proste uwierzytelnianie (hasło przesyłane jest jawnym tekstem).

TELEFONIA INTERNETOWA

Protokół DHCP. DHCP Dynamic Host Configuration Protocol

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

Konfiguracja IPSec Brama IPSec w Windows 2003 Server

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

Kancelaria Prawna.WEB - POMOC

Analiza malware Remote Administration Tool (RAT) DarkComet

Protokoły sieciowe - TCP/IP

Sieci komputerowe Warstwa aplikacji

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

pasja-informatyki.pl

Protokoły zdalnego logowania Telnet i SSH

Laboratorium - Konfiguracja routera bezprzewodowego w Windows 7

Laboratorium 3.4.2: Zarządzanie serwerem WWW

L2TP over IPSec Application

SSL (Secure Socket Layer)

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

Programowanie sieciowe

LABORATORIUM SIECI KOMPUTEROWYCH (compnet.et.put.poznan.pl)

Instytut Tele- i Radiotechniczny

System. Instalacja bazy danych MySQL. Autor : Piotr Zielonka tel Piotrków Tryb., sierpień 2018r.

Sieci komputerowe. Wykład dla studentów Informatyki Stosowanej i Fizyki Komputerowej UJ 2007/2008. Michał Cieśla

Sun Web Server SSL. Użycie certyfikatów niekwalifikowanych w oprogramowaniu Sun Web Server

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

Przewodnik technologii ActivCard

Adresy w sieciach komputerowych

Transkrypt:

Politechnika Białostocka Wydział Elektryczny Katedra Telekomunikacji i Aparatury Elektronicznej Sieci i Aplikacje TCP/IP Ćwiczenie nr 7 Temat: Konfiguracja i badanie wirtualnych sieci prywatnych w oparciu o program OpenVPN. Opracował: dr inż. A. Holiczer Białystok, 2013 1

I. Cel ćwiczenia W obecnych czasach coraz większy nacisk kładzie się na bezpieczeństwo sieci komputerowych. Coraz bardziej rozwijający się Internet wszechrzeczy nakłada konieczność autoryzacji dostępu do zasobów oraz urządzeń przyłączonych do globalnej sieci. Początkowo problem ten dotyczył głównie przedsiębiorstw o rozproszonej strukturze, gdzie występowała konieczność wymiany informacji pomiędzy oddziałami. Obecnie zagadnienie to zaczyna również gościć również wśród użytkowników prywatnych. Do standardowej wymiany informacji w postaci plików wystarczy e-mail (POP3, SMTP) lub protokół FTP i HTTP. Występują one również w odmianach szyfrowanych za w technologii SSL / TLS, co zapewnia poufność przesyłanych danych. Jednak w przypadku, gdy mamy do czynienia z rosnącą ilością usług i urządzeń sieciowych należało stworzyć standard, który umożliwi połączenie rozproszonych użytkowników w jednej sieci prywatnej, w taki sposób, aby mogli się ze sobą porozumiewać za pomocą protokołu TCP/IP. Oczywiście połączenie takie powinno być szyfrowane w sposób uniemożliwiający przechwycenie i odczytanie danych przez osoby nieuprawnione. Tak właśnie powstały wirtualne sieci prywatne VPN (Virtual Private Network). Początkowo najbardziej popularnym protokołem był PPTP (Point-To-Point Tunneling Protocol) jednak z uwagi na dużą liczbę błędów i potwierdzoną wrażliwość na podsłuchanie informacji przez osoby nieuprawnione jest on sukcesywnie wypierany przez protokół OpenVPN. OpenVPN jest protokołem typu open-source, korzystającym z bibliotek openssl i umożliwiającym wybór sposobu szyfrowania za pomocą kluczy statycznych, dynamicznych, a także uwierzytelniania na podstawie certyfikatu. Do stworzenia sieci wystarczą dwie stacje robocze oparte o system Linux lub Windows i zainstalowany pakiet OpenVPN. Celem ćwiczenia jest zapoznanie się z pakietem OpenVPN, nauka jego konfiguracji oraz generowania kluczy i certyfikatów. Dzięki poprawnie skonfigurowanej sieci możemy w wysoce bezpieczny sposób uzyskać dostęp do sieci domowej lub firmowej i administrować znajdujące się tam urządzenia. Wirtualne sieci prywatne mogą być obsługiwane przez system w dwojaki sposób. Chodzi tu głównie o aspekt rozgłaszania sieci wirtualnej do rzeczywistej lokalnej, w której znajdują się inne urządzenia. Można to zrobić poprzez mostkowanie (bridging) lub routing. Wiąże się to bezpośrednio z trybem pracy urządzenia sieciowego obsługiwanego przez program OpenVPN. W przypadku mostkowania urządzenie to pracuje w trybie TAP (2 warstwa OSI) i otrzymuje adres IP należący do sieci lokalnej. Rozwiązanie to jest przydatne w przypadku, gdy chcemy przekazywać ruch niezgodny z protokołem IP lub chcemy, aby klienci sieci wirtualnej i lokalnej posiadali tą samą domenę rozgłoszeniową. Bardziej popularnym i uniwersalnym rozwiązaniem jest praca w trybie TUN (3 warstwa OSI). Nie zapewnia ona co prawda wymienionych powyżej usług, ale wymaga o wiele mniejszej przepustowości kanału do przesyłania danych. Poniżej przedstawiono tabelę porównawczą trybu TUN i TAP. Tryb TAP TUN Zalety zachowuje się jak rzeczywista karta sieciowa; znacznie zmniejszone zapotrzebowanie na przepustowość (w tunelu są przesyłane może przenosić dowolne protokoły jedynie te ramki, które mają od- sieciowe (IPv4, IPv6, Netalk, IPX, itd.); pracuje na warstwie 2, przez co przenoszone są wszystkie ramki ethernetowe; biorcę po drugiej stronie); przesyła jedynie pakiety IP na 3 warstwie; może być używane w trybie mostkowania. 2

Wady wymaga większej przepustowości tunelu VPN; dodaje nagłówki do każdej ramki ethernetowej występującej w sieci; nie jest skalowalny w prosty sposób; nie może być używany przez urządzenia oparte na Androidzie i iosie. dane rozgłoszeniowe nie są w naturalny sposób przesyłane, może przesyłać protokół jedynie w wersji IPv4 (OpenVPN 2.3 implementuje również IPv6); nie może być używany do mostkowania. W ćwiczeniu będziemy używać jedynie trybu TUN, gdyż jest on optymalny do większości standardowych zastosowań i usług sieciowych (łącznie z NetBIOSem). II. Program ćwiczeń 1. Przed przystąpieniem do ćwiczenia należy zainstalować program OpenVPN na dwóch stacjach roboczych. W przypadku, gdy program został już wcześniej zainstalowany należy usunąć zawartość katalogu C:\Program Files\OpenVPN\config. Należy również sprawdzić, czy w systemie występuje wirtualna karta obsługująca VPN o nazwie TAP-Windows Adapter. 2. Kolejnym krokiem jest wygenerowanie kluczy kryptograficznych oraz certyfikatów za pomocą zestawu EasyRSA (C:\Program Files\OpenVPN\easy-rsa). W tym celu należy uruchomić linię poleceń cmd w trybie administracyjnym oraz stworzyć plik vars.bat według poniższego wzoru: set HOME=%ProgramW6432%\OpenVPN\easy-rsa set KEY_CONFIG="%ProgramW6432%\OpenVPN\easy-rsa\openssl-1.0.0.cnf" set KEY_DIR=keys set KEY_SIZE=2048 set KEY_COUNTRY=PL set KEY_PROVINCE=podlaskie set KEY_CITY=Bialystok set KEY_ORG=PB set KEY_EMAIL=none set KEY_CN=SiST2 set KEY_NAME=SiST2 set KEY_OU=LAB set PKCS11_MODULE_PATH=changeme set PKCS11_PIN=1234 3. Następnie należy wykonać polecenie clean-all.bat w celu wyczyszczenia wszystkich dotychczasowych certyfikatów oraz kluczy. 4. Pierwszym krokiem jest wygenerowanie certyfikatu CA (Certificate of Authority). Oczywistym jest, że wygenerowane przez nas klucze będą podpisane właśnie przez ten certyfikat. Z uwagi na to, że wydanie CA przez zaufany urząd jest kosztowne możemy wygenerować taki certyfikat we własnym zakresie, jednak w rozumieniu użytkowników zewnętrznych będzie on niezaufany. W przypadku OpenVPN możemy zastosować certyfikat klasy self-signed i nie będzie to traktowane jako błąd lub ostrzeżenie. W celu generacji klucza i certyfikatu posługujemy się poleceniem build- -ca.bat. Pola o które zapyta nas skrypt możemy pozostawić bez zmian lub je zmodyfikować. Należy pamiętać, iż w przypadku modyfikacji najlepiej jest użyć pliku vars.bat, tak aby wszystkie klucze i certyfikaty miały te same dane. W katalogu keys powinny pojawić się dwa pliki ca.key oraz ca.crt. Zawierają one klucz i certyfikat jednostki podpisującej certyfikaty kluczy klienckich. C:\Program Files\OpenVPN\easy-rsa>build-key-server VPNServer Generating a 2048 bit RSA private key..+++...+++ writing new private key to 'keys\vpnserver.key' You are about to be asked to enter information that will be incorporated 3

into your certificate request. What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you can leave some blank For some fields there will be a default value, If you enter '.', the field will be left blank. Country Name (2 letter code) [PL]: State or Province Name (full name) [podlaskie]: Locality Name (eg, city) [Bialystok]: Organization Name (eg, company) [PB]: Organizational Unit Name (eg, section) [LAB]: Common Name (eg, your name or your server's hostname) [SiST2]:SRV Name [SiST2]:SRV Email Address [none]: Please enter the following 'extra' attributes to be sent with your certificate request A challenge password []: An optional company name []: Using configuration from C:\Program Files\OpenVPN\easy-rsa\openssl-1.0.0.cnf Check that the request matches the signature Signature ok The Subject's Distinguished Name is as follows countryname :PRINTABLE:'PL' stateorprovincename :PRINTABLE:'podlaskie' localityname :PRINTABLE:'Bialystok' organizationname :PRINTABLE:'PB' organizationalunitname:printable:'lab' commonname :PRINTABLE:'SRV' name :PRINTABLE:'SRV' emailaddress :IA5STRING:'none' Certificate is to be certified until May 3 20:11:48 2025 GMT (3650 days) Sign the certificate? [y/n]:y 1 out of 1 certificate requests certified, commit? [y/n]y Write out database with 1 new entries Data Base Updated 5. W podobny sposób generujemy klucz i certyfikat klienta podpisane przez tą samą jednostkę certyfikującą (CA): C:\Program Files\OpenVPN\easy-rsa>build-key VPNClient Generating a 2048 bit RSA private key...+++...+++ writing new private key to 'keys\vpnclient.key' You are about to be asked to enter information that will be incorporated into your certificate request. What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you can leave some blank For some fields there will be a default value, If you enter '.', the field will be left blank. Country Name (2 letter code) [PL]: State or Province Name (full name) [podlaskie]: Locality Name (eg, city) [Bialystok]: Organization Name (eg, company) [PB]: Organizational Unit Name (eg, section) [LAB]: Common Name (eg, your name or your server's hostname) [SiST2]: Name [SiST2]:CLIENT Email Address [none]: Please enter the following 'extra' attributes to be sent with your certificate request A challenge password []: An optional company name []: Using configuration from C:\Program Files\OpenVPN\easy-rsa\openssl-1.0.0.cnf 4

Check that the request matches the signature Signature ok The Subject's Distinguished Name is as follows countryname :PRINTABLE:'PL' stateorprovincename :PRINTABLE:'podlaskie' localityname :PRINTABLE:'Bialystok' organizationname :PRINTABLE:'PB' organizationalunitname:printable:'lab' commonname :PRINTABLE:'CLIENT' name :PRINTABLE:'CLIENT' emailaddress :IA5STRING:'none' Certificate is to be certified until May 3 20:17:53 2025 GMT (3650 days) Sign the certificate? [y/n]:y 1 out of 1 certificate requests certified, commit? [y/n]y Write out database with 1 new entries Data Base Updated 6. Na koniec generujemy liczby Diffiego-Hellmana: C:\Program Files\OpenVPN\easy-rsa>build-dh Generating DH parameters, 2048 bit long safe prime, generator 2 This is going to take a long time...+...+......+......+...+......+...+......+......+..+......+... +...++*++* 7. Klucze prywatne i certyfikaty umieszczamy odpowiednio w katalogach config serwera i klienta OpenVPN. Należy zewrócić szczególną uwagę, czy certyfikaty zostały poprawnie wygenerowane i poprawnie podpisane przez CA. Plik z liczbami DH umieszczamy w katalogu konfiguracyjnym serwera. 8. Ostatnim krokiem jest stworzenie pliku konfiguracyjnego program OpenVPN. Może on pracować w dwóch trybach: serwera lub klienta. Główna różnica polega na tym, że serwer nasłuchuje na określonym porcie i może rozgłaszać dołączone rzeczywiste sieci prywatne, a klient nawiązuje połączenie z serwerem i pobiera z niego tabelę routingu (w przypadku, gdy wirtualna karta sieciowa pracuje w trybie TUN). Tryb TUN nakłada na obie strony konieczność wykonywania routingu, lecz znacznie zmniejsza natężenie ruchu w tunelu VPN. Konfiguracja serwera OpenVPN może wyglądać w następujący sposób: local 212.33.95.X port 1194 proto udp dev tun ca ca.crt cert VPNServer.crt key VPNServer.key dh dh2048.pem server 192.168.105.0 255.255.255.0 ifconfig-pool-persist ipp.txt push "route 212.33.95.X 255.255.255.0" route 192.168.105.0 255.255.255.0 client-to-client 5

keepalive 10 60 comp-lzo adaptive max-clients 5 user nobody group nobody persist-key persist-tun status openvpn-status.log log openvpn.log verb 5 Należy pamiętać, aby w miejsce adresu IP 212.33.95.X wpisać prawdziwy adres stacji roboczej. Plik należy zapisać do katalogu config pod nazwą SERVER.ovpn. Konfiguracja klienta będzie bardzo podobna z pewnymi drobnymi różnicami: client dev tun proto udp remote 212.33.95.X 1194 float resolv-retry infiniti nobind persist-key persist-tun ca "CA.crt" cert "VPNClient.crt" key "VPNClient.key" comp-lzo adaptive verb 5 explicit-exit-notify 3 Podobnie jak w poprzednim przypadku należy wpisać poprawny adres IP serwera i zapisać plik jako CLIENT.ovpn. 9. Ostatnim krokiem jest uruchomienie programu OpenVPN GUI w trybie administratora i za pomocą zasobnika systemowego uruchomienie serwera oraz wywołanie połączenia przez klienta. 10. Po poprawnym uruchomieniu poleceń i zestawieniu sieci VPN należy dokonać jej diagnostyki poprzez protokół ICMP. III. Zawartość sprawozdania Sprawozdanie powinno zawierać: schemat zestawionej sieci z uwzględnieniem sieci wirtualnej i rzeczywistej, fragmenty wygenerowanych certyfikatów do kluczy, pliki konfiguracyjne serwera i klienta VPN, logi programu OpenVPN, rezultaty badań protokołem ICMP. IV. Wymagania BHP W trakcie realizacji programu ćwiczenia należy przestrzegać zasad omówionych we wstępie do ćwiczeń, zawartych w: Regulaminie porządkowym w laboratorium oraz w Instrukcji obsługi urządzeń elektronicznych znajdujących się w laboratorium z uwzględnieniem przepisów BHP. Regulamin i instrukcja są dostępne w pomieszczeniu laboratoryjnym w widocznym miejscu. 6