Implementace protokolů IPSec na OS Linux, FreeS/WAN. Martin Povolný



Podobné dokumenty
OpenVPN. Uvedené dílo podléhá licenci Creative Commons Uved te autora 3.0 Česko. Ondřej Caletka (CESNET, z.s.p.o.) OpenVPN 3. března / 16

Semestrální projekt do předmětu SPS

TheGreenBow IPSec VPN klient

Bezpečnost vzdáleného přístupu. Jan Kubr

OpenVPN. Ondřej Caletka.

VZDÁLENÉ PŘIPOJENÍ - OpenVPN. Popis a vlastnosti služby

PB169 Operační systémy a sítě

Registrační číslo projektu: CZ.1.07/1.5.00/ Elektronická podpora zkvalitnění výuky CZ.1.07 Vzděláním pro konkurenceschopnost

IPSec na platformě Juniper (CLI+GUI), kompatibilita s prvky Cisco

Desktop systémy Microsoft Windows

Použití programu WinProxy

OpenVPN a dynamické směrování

VPN tunel mezi zařízením ZyXEL ZyWALL a IPSec VPN klientem ZyXEL

Testovací protokol. 1 Informace o testování. 2 Testovací prostředí. 3 Vlastnosti generátoru klíčů. Příloha č. 13

Postup pro vytvoření žádosti o digitální certifikát pro produkční prostředí Základních registrů

STUDIJNÍ MATERIÁL PRO TECHNICKOU CERTIFIKACI ESET Business Edition, ESET Remote Administrator

Postup pro vytvoření žádosti o digitální certifikát pro ověřovací a produkční prostředí Základních registrů

SSL Secure Sockets Layer

Konfigurace Nagios. Zadání: Příprava a prvotní problémy: Instalace a konfigurace serveru:

WireGuard. nová a jednoduchá linuxová VPN. Petr Krčmář. 3. listopadu 2018

Y36PSI IPv6. Jan Kubr - 7_IPv6 Jan Kubr 1/29

VPN - Virtual private networks

PSK3-11. Instalace software a nastavení sítě. Instalace software

Seminární práce do předmětu: Bezpečnost informačních systémů. téma: IPsec. Vypracoval: Libor Stránský

Tato zpráva informuje o implementaci LMS (Learning Management Systém) Moodle konkrétně Moodle

1 Správce licencí Správce licencí Správce licencí Start > Všechny programy > IDEA StatiCa > Správce licencí Soubor > Správce licencí Licence

9. Sítě MS Windows. Distribuce Windows. Obchodní označení. Jednoduchý OS pro osobní počítače, pouze FAT, základní podpora peer to peer sítí,

GRE tunel APLIKA ˇ CNÍ P ˇ RÍRU ˇ CKA

Rocrail. Nejprve: Obecný úvod. Instalace

Postup instalace ČSOB BusinessBanking pro MS SQL 2005/2008

VRRP v1+v2, konfigurace, optimalizace a reakce na události na plaformě RouterOS

v. 2425a Jak si na PC vypěstovat HTTP (WWW, Web) server a jak ho používat (snadno a rychle) by: Ing. Jan Steringa

Uživatelský modul. WiFi STA

Desktop systémy Microsoft Windows

Vyšší odborná škola a Střední průmyslová škola, Šumperk, Gen. Krátkého 1

Testovací protokol. webový generátor PostSignum. sada PIIX3; 1 GB RAM; harddisk 20 GB IDE OS: Windows Vista Service Pack 2 SW: Internet Explorer 9

Kerio VPN Client. Kerio Technologies

OpenSSL a certifikáty

Audit bezpečnosti počítačové sítě. Předmět: Správa počítačových sítí Jiří Kalenský

Uživatelská příručka

Vzdálená správa v cloudu až pro 250 počítačů

Uživatelský modul Stunnel

Testovací protokol USB Token Cryptomate

Postup pro vytvoření žádosti o digitální certifikát pro přístup k Základním registrům

INSTALACE SOFTWARE PROID+ NA MS WINDOWS

Testovací protokol čipová karta Oberthur Id-One Cosmo V5.4

Připojení systémů CNC 8x9 DUAL do sítí pomocí protokolu TCP/IP (Platí od verze panelu 40.31)

Instalační příručka Command WorkStation 5.6 se sadou Fiery Extended Applications 4.2

Monitorování sítě pomocí OpenWrt

Základní konfigurace Linux firewallu

ANALÝZA TCP/IP 2 ANALÝZA PROTOKOLŮ DHCP, ARP, ICMP A DNS

Komunikační napojení účastníků na centrální depozitář cenných papírů

RouterOS: Vizualizace datových toků

RadSec a IPsec. metody zabezpečeného připojení k národnímu RADIUS serveru. Jan Tomášek <jan.tomasek@cesnet.cz> CESNET, z. s. p. o.

Instalace MS SQL Server 2005 a nastavení programu DUEL pro síťový provoz

Připojení k eduroam.cz: Nastavení síťových komponent Meraki a konfigurace ISE

KRONOS GUARD NET Obslužný software pro obchůzkový systém v reálném čase Active Guard. Instalace na pobočky

Audit bezpečnosti počítačové sítě

Nová cesta ip. Stará cesta ifconfig, route. Network address translation NAT

Uvedené dílo (s výjimkou obrázků) podléhá licenci Creative Commons Uved te autora 3.0 Česko.

Možnosti IPv6 NAT. Lukáš Krupčík, Martin Hruška KRU0052, HRU0079. Konfigurace... 3 Statické NAT-PT Ověření zapojení... 7

Instalační návod IP kamer

Počítačová síť TUONET a její služby

Šifrování (2), FTP. Petr Koloros p.koloros [at] sh.cvut.cz.

Správa zařízení Scan Station Pro 550 a Servisní nástroje zařízení Scan Station

Síťová ochrana SCIA aplikací systémem FlexLM

Instalace Microsoft SQL serveru 2012 Express

Šifrování ve Windows. EFS IPSec SSL. - Encrypting File System - Internet Protocol Security - Secure Socket Layer - Private Point to Point Protocol

NAS 323 NAS jako VPN Server

IM Instalace síťové verze SprutCAM. 1Nastavení serveru Vlastní instalace serveru...2 3Nastavení uživatelského počítače...

Pˇ ríruˇ cka uživatele Kerio Technologies

Jednotlivé hovory lze ukládat nekomprimované ve formátu wav. Dále pak lze ukládat hovory ve formátu mp3 s libovolným bitrate a také jako text.

Stručný návod pro nastavení routeru COMPEX NP15-C

GTS internet DSL. Návod nastavení modemu a spuštění služby. (platné pro Zyxel Prestige VMG1312-B30B)

Další nástroje pro testování

LINUX - INSTALACE & KONFIGURACE

Testovací protokol USB token etoken PRO 32K

Abychom se v IPv6 adresách lépe orientovali, rozdělíme si je dle způsobu adresování do několika skupin:

Úvod do IPv6. Pavel Satrapa

MATLABLINK - VZDÁLENÉ OVLÁDÁNÍ A MONITOROVÁNÍ TECHNOLOGICKÝCH PROCESŮ

Analýza protokolů rodiny TCP/IP, NAT

Metody zabezpečeného přenosu souborů

Pokročilé sít ové konfigurace v cloudu

TACHOTel manuál 2015 AURIS CZ

Konfigurace WDS režimu u produktů bezdrátových AP a routerů Tenda

IPv6. RNDr. Ing. Vladimir Smotlacha, Ph.D.

1. Obecná konfigurace autentizace osob. 2. Konfigurace klienta Windows Vista

Obsah. Část I Základy bezpečnosti...9 Kapitola 1 Základy obvodového zabezpečení Kapitola 2 Filtrování paketů...27

A p a c h e h t t p d Lukáš Zapletal lukas.zapletal@liberix.cz

Střední odborná škola a Střední odborné učiliště, Hořovice

IPv6 na OpenWRT. 6. června Ondřej Caletka (CESNET, z.s.p.o.) IPv6 na OpenWRT 6. června / 17

VLSM Statické směrování

Instalační postup pro Debian (Lenny)

STUDIJNÍ MATERIÁL PRO TECHNICKOU CERTIFIKACI ESET Server Security, Serverové produkty

Extrémně silné zabezpečení mobilního přístupu do sítě.

CS OTE. Dokumentace pro externí uživatele

Vytvoření šifrovaného tunelu Ipsec na směrovačích Cisco a Mikrotik

Sběr informačních povinností regulovaných subjektů. Návod na instalaci certifikátů a nastavení prohlížeče. Verze: 2.1

Testovací protokol čipová karta ACOS5

Transkript:

Implementace protokolů IPSec na OS Linux, FreeS/WAN Martin Povolný 1

1 IPSec V úvodní části představím rodinu protokolů IPSec. Dále stručně uvedu FreeS/WAN implementaci IPSec pro OS GNU/Linux, která je šířena pod licencemi GNU GPL a LGPL. Sada protokolů byla navržena s cílem umožnit bezpečnou komunikaci na úrovni IP. IPSec poskytuje tyto služby: autentizaci účastníků komunikace (počítačů), autentizaci jednotlivých paketů, šifrování obsahu komunikace. IPSec tedy může ochránit libovolný protokol běžící nad protokolem IP. Rodina protokolů IPSec se skládá z těchto protokolů: ESP (Encapsulating Security Payload) šifrování a ověřování původu dat. AH (Authentication Header) ověřování původu jednotlivých paketů. IKE (Internet Key Exchange) dohoda o parametrech spojení, výměna klíčů,... IPSec můžeme využít k řadě úkolů, mezi které patří: bezpečné tunelování (tvorba zabezpečených kanálů přes potencionálně nepřátelské sítě), tvorba VPN (virtuálních privátních sítí), road warrior (bezpečný přístup do firemní sítě pro pracovníky v terénu), příležitostné ( opportunictic ) šifrování (automatické šifrování komunikace s těmi systémy, které jsou odpovídajícím způsobem vybaveny). Implementace rodiny protokolů IPSec je komplexní záležitost a uplatní se v ní celá řada kryptografických stavebních bloků: blokové šifrovače: DES, 3DES, AES, CAST, IDEA, Blowfish,..., hašovací funkce (MD5, SHA1, HMAC), protokol Diffie Hellman pro domluvu klíčů, RSA autentizace, nástroje pro práci s certifikáty X.509. 2

Avšak implementace IPSec nemusí podporovat všechny možnosti a funkce popsané na http://www.ietf.org/html.charters/ipsec-charter.html. Například z blokových šifrovačů je povinně vyžadován jen DES. FreeS/WAN implementuje protokoly ESP a AH na úrovni jádra částí nazvanou KLIPS a protokol IKE, nastavení směrování a další podpůrné služby prostřednictvím démonu Pluto. FreeS/WAN má řadu omezení, která se projeví zejména při komunikaci s implementacemi IPSec jiných dodavatelů. FreeS/WAN například neumožňuje šifrování pomocí DES (přestože je vyžadováno pro minimální implementace IPSec) s odůvodněním, že bloková šifra DES není dostatečně bezpečná. Dále nepodporuje agresivní mód domluvy parametrů spojení který naopak implicitně používají MS Windows 2000. Detailní informace o kompatibilitě FreeS/WAN s dalšími implementacemi jsou k dispozici na stránkách http://www.freeswan.org. 2 Postup instalace na Debian GNU/Linux V této části popíši instalaci FreeS/WAN tak, jak jsem ji provedl. Na jiných distribucích OS Linux, ale i v jednotlivých verzích a větvích distribuce Debian GNU/Linux se tento postup bude lišit. Protože na své pracovní stanici používám větev testing a v době mých testů nebyl FreeS/WAN v této větvi přítomen, musel jsem nejprve upravit konfiguraci zdrojů software pro instalaci. To provedeme následovně: 1. Do souboru /etc/apt/sources.list doplníme adresy pro větev unstable. 2. V souboru /etc/apt/preferences nastavíme nízkou prioritu unstable větve. (Chceme implicitně instalovat verzi testing kromě balíčků, které ve verzi testing neexistují, nebo těch, kde si verzi unstable explicitně vyžádáme.) Package: * Pin: release a=unstable Pin-Priority: 50 Obdobný postup můžete použít, pokud budete chtít použít čerstvou verzi FreeS/WAN na starší distribuci. Následně přistoupíme k instalaci balíčků: 1. Nainstalujeme záplaty (patche) na jádro OS Linux příkazem: apt-get install kernel-patch-freeswan. Tento balíček obsahuje nejen oficiální záplatu z http://www.freeswan.org, ale i řadu dalších, které umožňují například použití X.509 certifikátů nebo šifrovače AES. Balíček se nainstaluje do adresáře /usr/src/kernel-patches/. 2. Dále instalujeme zdroje jádra: apt-get install kernel-source-2.4.18. 3. Rozbalíme zdrojové kódy jádra: cd /usr/src/;tar xvfj kernel-source-2.4.18.tar.bz2. 3

4. Pomocí nástrojů projektu Debian jádro přeložíme a vytvoříme balíček: cd /usr/src/kernel-source-2.4.18 PATCH THE KERNEL=YES make-kpkg --config=menuconfig --revision=ipsec1 kernel image Poslední příkaz říká, že chceme před překladem aplikovat záplaty (viz. krok 1.), že chceme použít pro konfiguraci jádra variantu menuconfig a že revize balíčku s jádrem má mít jméno ipsec1. Před tímto krokem může být ještě vhodné nakopírovat si konfiguraci jádra, které už na systému běží a ulehčit si tak práci s ručním nastavováním všech voleb. To provedeme například: cp /boot/config-2.4.18 /usr/src/kernel-source-2.4.18/.config. Pokud chceme změnit konfiguraci IPSec v jádře, nalezneme ji v menu pod: Networking options IP Security Protocol.... 5. Dalším krokem je instalace vytvořeného jádra dpkg -i../kernel-image-2.4.18-ipsec1.deb. 6. Kromě záplaty do jádra se FreeS/WAN skládá ještě z řady obslužných programů, konfiguračních souborů, dokumentace,.... Ty nainstalujeme příkazem apt-get install freeswan. Instalační skripty balíčku freeswan nám nejdříve nabídnou možnost vytvoření speciálních souborů/zařízení /dev/ipsec*, a následně i vygenerování páru RSA klíčů, které budou později sloužit k autentizaci našeho stroje. Klíče si můžeme nechat vygenerovat do X.509 certifikátu. Máme možnost nechat si vygenerovat žádost o podepsání certifikátu certifikační autoritou, nebo si klíč podepsat sami. Já jsem při instalaci zvolil vygenerování Plain RSA Key, čímž mi byly jednotlivé komponenty klíče uloženy přehledně textově v šestnástkové soustavě do souboru /etc/ipsec.secrets. 7. Na závěr ještě upravíme nastavení sítě v souboru /etc/network/options: ip forward=no spoofprotect=no syncookies=no 3 Konfigurujeme VPN V této části uvedu příklad konfigurace konkrétní virtuální privátní sítě (VPN). Nejprve je vhodné upravit konfiguraci firewallu. Neuvádím zde konkrétní postup, protože pro konfiguraci firewallu používám program ferm, jehož konfigurace je odlišná od konfigurace přímo prostřednictvím ipchains nebo iptables. Pro funkčnost IPSec budeme potřebovat: povolit přístup na port UDP 500 z portů 500 na strojích s nimiž chceme komunikovat pro použití démonem Pluto, povolit protokol 50 (ESP) popřípadě 51 (AH), v popisovaném nastavení bude stačit ESP. 4

Pokud jsme si při instalaci FreeS/WAN nenechali vygenerovat RSA klíč stroje, můžeme tak učinit nyní příkazem ipsec newhostkey --output /etc/ipsec.secrets, kterým vygenerovaný klíč zároveň uložíme tam, kde ho bude FreeS/WAN čekat. Hlavní konfigurační soubor služby ipsec je /etc/ipsec.conf. V tomto souboru budeme definovat jednotlivé tunely. Účastníci komunikace potřebují pro vzájemnou autentizaci znát veřejné klíče svých partnerů. Klíče můžeme buďto uložit do záznamů DNS nebo uvést přímo v konfiguraci jednotlivých tunelů. Korektní záznam pro umístění veřejného klíče do DNS získáme příkazem ipsec showhostkey, klíče ve formě vhodné pro umístění do konfiguračního souboru získáme příkazy ipsec showhostkey --left a ipsec showhostkey --right. Zároveň si takto ověříme, že máme správně vygenerovaný a nastavený klíč stroje. Nyní budeme konfigurovat naši VPN. Máme dvě pobočky, řekněme Praha a Vyškov. Ve Výškově máme lokální firemní síť 192.168.127.0/24, router s veřejnou IP adresou 143.251.44.16 a vnitřní adresou 192.168.127.1. V Praze máme síť 192.168.128.0/24 a router s adresami 164.144.5.222, respektive 192.168.128.1. 192.168.128.0/24 192.168.128.1 164.144.5.222 internet 143.251.44.16 192.168.127.1 192.168.127.0/24 Z hlediska konfigurace spojení se na Vyškov budeme dívat jako na levou a na Prahu jako na pravou stranu. Nejprve uvádím část konfigurace společnou pro oba uzly: config setup forwardcontrol=yes interfaces=%defaultroute klipsdebug=none plutodebug=none plutoload=%search plutostart=%search uniqueids=yes conn %default keyingtries=0 disablearrivalcheck=no authby=rsasig leftrsasigkey=%dns rightrsasigkey=%dns 5

Následuje část, která je na jednotlivých uzlech rozdílná: conn vpn conn vpn authby=rsasig authby=rsasig # LEFT # LEFT leftsubnet=192.168.127.0/24 leftsubnet=192.168.127.0/24 # RIGHT # RIGHT rightsubnet=192.168.128.0/24 rightsubnet=192.168.128.0/24 # KEYS # KEYS leftrsasigkey=0saqn27o... leftrsasigkey=0saqn27o... rightrsasigkey=0saqphu... rightrsasigkey=0saqphu... Takto jsme vytvořili tunel, kterým bude směrován provoz ze sítě 192.168.127.0/24 do sítě 192.168.128.0/24 a naopak. Aby se tunel vytvořil, je ještě nutné restartovat službu ipsec příkazem /etc/init.d/ipsec restart. Pro účely testování může být naopak vhodnější tunel hned po spuštění služby ipsec nestartovat, nebo ho ani nedefinovat. To provedeme změnou direktivy auto buďto na auto=add, nebo auto=none. V takovém případě nám pro definici a spuštění tunelu budou sloužit příkazy ipsec auto --add vpn a ipsec auto --up vpn, kde vpn je jméno dotyčného tunelu. Každého asi hned napadne vyzkoušet si, jestli tunel funguje, příkazem ping. Bude však nemile překvapen, protože tento postup nebude fungovat. Odchozí pakety budou totiž mít zdrojovou adresu vnějšího rozhraní (tedy mimo chráněnou vnitřní síť), a tudíž je jádro na vstupu do rozhraní ipsec0 zahodí. Řešením může být použití příkazu traceroute, jehož volbou -i interface je možné vybrat rozhraní, jehož adresa má být použita jako zdrojová adresa paketů. Tedy například pro test dostupnosti z levé do pravé větve VPN můžeme použít příkaz traceroute -i eth1 -f 20 192.168.128.26, kde eth1 je rozhraní připojené k firemní (vnitřní) síti. Pokud neznáme adresy strojů v jednotlivých podsítích, poslouží nám například příkaz arp, nebo ping na broadcast adresu (například ping 192.168.128.255. V praxi se však stalo, že příkaz traceroute -i eth1... fungoval z pravé sítě do levé, ale ne naopak, přestože tunelování z vnitřních počítačů fungovalo. Problém byl zřejmě ve verzi programu traceroute. Při reálném nasazení budeme často chtít mít prostřednictvím ipsec možnost přistupovat i z bran do sítí na opačném konci VPN nebo mezi branami navzájem. Jednou z možností by mohlo být použití přepisu zdrojových adres (DNAT ), to by však vyžadovalo použití jádra 2.4.X. Další možností je použít nástroj iproute2. Pro jeho činnost je nutné mít jádro přeložené s volbou Advanced Router. Řešením popsaným na stránkách http://www.freeswan.org je vybudování dalších 3 tunelů: lef tnet rightgw, lef tgw rightgw a lef tgw rightnet. Konfigurace bude následující: 6

conn prahagw-vyskovnet leftsubnet=192.168.127.0/24 conn vyskovgw-prahanet rightsubnet=192.168.128.0/24 conn prahagw-vyskovnet leftsubnet=192.168.127.0/24 conn vyskovgw-prahanet rightsubnet=192.168.128.0/24 conn vyskovgw-prahagw conn vyskovgw-prahagw Nyní tyto tunely můžeme testovat naprosto přímočaře příkazem ping. Uvedl jsem konkrétní příklad konfigurace FreeS/WAN na operačním systému Debian GNU/Linux. Možnosti FreeS/WAN jsou však daleko větší, zajímavé mi například připadá použití příležitostného opportunictic šifrování. Pokud by například jak firemní router, tak i servery umísněné na páteřní síti u poskytovatele připojení poskytující například služby poštovního a www serveru byly vybaveny protokoly IPSec s klíči v DNS nebylo by nutné řešit bezpečnost na úrovni jednotlivých klientských stanic. Dále by pak stačilo každý další počítač firemní infrastruktuky vybavit implementací IPSec, mohla by být velká část komunikace šifrována bez většího úsilí ze strany administrátorů. 7