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

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

SSH: dálková správa serveru

OpenVPN. Ondřej Caletka.

OpenVPN a dynamické směrování

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

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

Josef Hajas.

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

Jen správně nasazené HTTPS je bezpečné

metodický list č. 1 Internet protokol, návaznost na nižší vrstvy, směrování

Certificate Transparency

SSL Secure Sockets Layer

Operační systémy 2. Firewally, NFS Přednáška číslo 7b

TheGreenBow IPSec VPN klient

Instalace Debianu pomocí debootstrap

Osobní firewall s iptables

Internet protokol, IP adresy, návaznost IP na nižší vrstvy

Šifrovaný disk v Linuxu

OpenSSL a certifikáty

SSH nejen pro vzdálenou správu Linuxu

Alpine Linux: minimalistická distribuce nejen na server

The Locator/ID Separation Protocol (LISP)

Praktikum Směrování Linux

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

Demo: Multipath TCP. 5. října 2013

Metody zabezpečeného přenosu souborů

Další nástroje pro testování

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

IPv6 tunely pomocí OpenVPN

Site - Zapich. Varianta 1

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

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

Průmyslový Ethernet. Martin Löw

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

Triky s OpenSSH. 4. listopadu Uvedené dílo podléhá licenci Creative Commons Uved te autora 3.0 Česko.

IPv6 v OpenWRT. Ondřej Caletka. 5. října Uvedené dílo podléhá licenci Creative Commons Uveďte autora 3.0 Česko.

Úvod do síťových technologií

Přednáška 3. Opakovače,směrovače, mosty a síťové brány

vpsfree.cz: linuxový server u neziskovky

Konfigurace sítě s WLAN controllerem

Instalační a uživatelská příručka aplikace PSImulator2 Obsah

Dodávka UTM zařízení FIREWALL zadávací dokumentace

BEZPEČNOST SLUŽEB NA INTERNETU

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

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

Zapomeňte už na FTP a přenášejte soubory bezpečně

Yeastar S100, IP PBX, až 16 portů, 100 uživatelů, 30 hovorů, rack

XMW3 / IW3 Sítě 1. Štefan Pataky, Martin Poisel YOUR LOGO

Protokol TELNET. Schéma funkčních modulů komunikace protokolem TELNET. Telnet klient. login shell. Telnet server TCP/IP.

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

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

Internet Information Services (IIS) 6.0

Průmyslová komunikace přes mobilní telefonní sítě. Michal Kahánek

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

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í,

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

Uživatel počítačové sítě

1. Směrovače směrového protokolu směrovací tabulku 1.1 TTL

Základy kryptografie. Beret CryptoParty Základy kryptografie 1/17

Firewally a iptables. Přednáška číslo 12

Semestrální projekt do SPS. Směrování pomocí MPLS v operačním systému linux

Úvod do OpenWRT. Ondřej Caletka. 1. března Uvedené dílo podléhá licenci Creative Commons Uveďte autora 3.0 Česko.

Zabezpečení linuxového serveru

Studentská unie ČVUT v Praze, klub Silicon Hill. 22. února Ondřej Caletka (SU ČVUT) IPv6 nové (ne)bezpečí? 22.

Bezpečnostní aspekty informačních a komunikačních systémů KS2

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

Středoškolská technika Encryption Protection System

Směrování. 4. Přednáška. Směrování s částečnou znalostí sítě

Autentizace bezdrátových klientů jejich přiřazování do VLAN podle databáze FreeRADIUS

Desktop systémy Microsoft Windows

Instalace. Samotný firewall již je s největší pravděpodobností nainstalovaný Zjistíme dle parametru při použití. aptitude search iptables

Mixy a systémy pro poskytování anonymity. Marek Kumpošt, Vašek Matyáš Fakulta informatiky, MU Brno {xkumpost

Inovace bakalářského studijního oboru Aplikovaná chemie

Y36PSI Bezpečnost v počítačových sítích. Jan Kubr - 10_11_bezpecnost Jan Kubr 1/41

Yeastar S300, IP PBX, až 24 portů, 300 uživatelů, 60 hovorů, rack

Konfigurace síťových stanic

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ

POČÍTAČOVÉ SÍTĚ Metodický list č. 1

Desktop systémy Microsoft Windows

Instalace a konfigurace web serveru. WA1 Martin Klíma

Moderní komunikační technologie. Ing. Petr Machník, Ph.D.

Ochrana mobilních uživatelů před hrozbami Internetu mimo firemní prostředí. Simac Technik ČR, a.s.

NAS 323 NAS jako VPN Server

Nginx v roli web serveru

File Transfer Protocol (FTP)

Jak na různé WiFi sítě v Linuxu

HTTP hlavičky pro bezpečnější web

WrapSix aneb nebojme se NAT64. Michal Zima.

Obrana sítě - základní principy

Administrace Unixu a sítí

Úvod Bezpečnost v počítačových sítích Technologie Ethernetu

Routování na Mikrotiku

12. Bezpečnost počítačových sítí

Analýza protokolů rodiny TCP/IP, NAT

Inovace bakalářského studijního oboru Aplikovaná chemie

Jak vybrat správný firewall. Martin Šimek Západočeská univerzita

Access Control Lists (ACL)

nftables budoucnost linuxového firewallu Petr Krčmář 7. října 2017

Téma 11: Firewall v CentOS. Nastavení firewallu

Dynamické IPv6 tunelovaní

Transkript:

WireGuard nová a jednoduchá linuxová VPN Petr Krčmář 3. listopadu 2018 Uvedené dílo (s výjimkou obrázků) podléhá licenci Creative Commons Uveďte autora 3.0 Česko. Petr Krčmář (Root.cz, vpsfree.cz) WireGuard 3. listopadu 2018 1 / 23

Prezentace už teď na webu www.petrkrcmar.cz Petr Krčmář (Root.cz, vpsfree.cz) WireGuard 3. listopadu 2018 2 / 23

Když potřebujeme vytvořit bezpečné spojení mezi počítači propojit několik různých sítí chceme to jednoduše a rychle Petr Krčmář (Root.cz, vpsfree.cz) WireGuard 3. listopadu 2018 3 / 23

Řešení je spousta OpenVPN klasické řešení hodně centralizované Tinc VPN moderní, snadné na správu celé v uživatelském prostoru IPSec umí vyřešit téměř vše velmi komplexní Petr Krčmář (Root.cz, vpsfree.cz) WireGuard 3. listopadu 2018 4 / 23

Petr Krčmář (Root.cz, vpsfree.cz) WireGuard 3. listopadu 2018 5 / 23

WireGuard je tunelovací mechanismus na L3 pro IPv4 a IPv6 celý umístěný v linuxovém jádře postavený na moderních kryptografických principech používá UDP, umí procházet firewally má vlastní autentizační model podobný SSH je přímým konkurentem OpenVPN i IPsec jednoduše, bezpečně, prakticky stále se velmi intenzivně vyvíjí autorem je Jason Donenfeld Petr Krčmář (Root.cz, vpsfree.cz) WireGuard 3. listopadu 2018 6 / 23

Vlastnosti využívá standardní funkce jádra síťový stack, šifrovací funkce z uživatelského hlediska velmi přívětivý nestaráte se o stav, spojení, démony jednoduše ovládáte další síťové rozhraní pro ovládání používáte standardní nástroje Petr Krčmář (Root.cz, vpsfree.cz) WireGuard 3. listopadu 2018 7 / 23

Vlastnosti využívá standardní funkce jádra síťový stack, šifrovací funkce z uživatelského hlediska velmi přívětivý nestaráte se o stav, spojení, démony jednoduše ovládáte další síťové rozhraní pro ovládání používáte standardní nástroje pro srovnání OpenVPN: 100K řádek (+ OpenSSL) WireGuard: 4K řádek Petr Krčmář (Root.cz, vpsfree.cz) WireGuard 3. listopadu 2018 7 / 23

Síťové rozhraní WireGuard nevynalézá kolo, používá běžné nástroje základní jednotkou je pro něj síťové rozhraní vytvoří se rozhraní, přidělí adresy a klíče je to standardní rozhraní = vše s ním funguje firewall, routování, porty pro služby # ip link add wg0 type wireguard # ip address add 10.1.2.3/24 dev wg0 # ip route add default via wg0 Petr Krčmář (Root.cz, vpsfree.cz) WireGuard 3. listopadu 2018 8 / 23

Ale co klíče? používá se asymetrická kryptografie s ECDSA pro správu klíčů slouží utilita wg klíč protistrany je pevně svázán s IP adresou přijmeme jen pakety šifrované správným klíčem zároveň se kontroluje IP adresa odesílatele (v rozsahu VPN) výsledek: pakety vycházející z rozhraní jsou z ověřeného zdroje můžeme otevřít službu konkrétní IP adrese z rozhraní WireGuardu nevyjdou podvržené IP adresy odesílatele Petr Krčmář (Root.cz, vpsfree.cz) WireGuard 3. listopadu 2018 9 / 23

Správa klíčů rozhraní WireGuard svůj privátní klíč UDP port pro příjem seznam povolených peerů každý peer identifikován veřejným klíčem seznam povolených IP adres volitelně IP adresa a port protistrany Petr Krčmář (Root.cz, vpsfree.cz) WireGuard 3. listopadu 2018 10 / 23

Generování klíčů pomocí utility wg nejprve vytvoříme soukromý, pak odvodíme veřejný # wg genkey > private.key # wg pubkey < private.key > public.key zapsáno na jednom řádku # wg genkey tee private.key wg pubkey > public.key Petr Krčmář (Root.cz, vpsfree.cz) WireGuard 3. listopadu 2018 11 / 23

Konfigurace serveru a klienta Server [Interface] PrivateKey = gheqbpcvehp7w/bv8qs9h3ltalzomxl8p+cvydwuj00= ListenPort = 41414 [Peer] PublicKey = AHmaac4JO5gidkLYbR7nubrV65Uw6ERWF2jiDCJa/mA= AllowedIPs = 10.1.2.3/32,10.1.3.0/24 [Peer] Klient [Interface] PrivateKey = UKtbzCH76EghvKgd7b6D/YSwYXobEAlKXEdGM/HywnA= ListenPort = 21414 [Peer] PublicKey = TrK66uhx0psmfSsTo72Jp3CsbMXPB2MAOhm11INXK3U= Endpoint = 203.0.113.20:41414 AllowedIPs = 0.0.0.0/0 Petr Krčmář (Root.cz, vpsfree.cz) WireGuard 3. listopadu 2018 12 / 23

Zpracování paketu odesílání vygeneruje se nový paket projde síťovým stackem a routovací tabulkou WireGuard podle cílové adresy najde peera zašifruje paket jeho veřejným klíčem pošle UDP paket na poslední známou adresu a port příjem na UDP port WireGuardu je přijat paket paket je dešifrován privátním klíčem zapamatujeme si adresu a port protistrany zkontruluje se, zda IP adresa odesílatele odpovídá peerovi pokud ano, je paket propuštěn do síťového stacku komunikace je bezestavová neodpovídá se na neautentizované pakety pokud se nic neposílá, žádná komunikace neprobíhá Petr Krčmář (Root.cz, vpsfree.cz) WireGuard 3. listopadu 2018 13 / 23

Jednoduchost všechno ostatní je pro správce transparentní vytvoří se rozhraní, přidají se peery identity jsou tvořeny jen veřejnými klíči je možné rovnou komunikovat zbytek vypadá bezestavově, je pro správce skryto správa je velmi jednoduchá a přímočará Petr Krčmář (Root.cz, vpsfree.cz) WireGuard 3. listopadu 2018 14 / 23

Roaming klientů WireGuard používá bezestavový protokol UDP neexistuje spojení, nemůže se rozpadnout komunikuje se na poslední použitou IP adresu protistrany automatický roaming přežije uspání počítače, přesun mezi sítěmi při změně IP adresy (eth wlan) neprobíhá znovupřipojování úplně stejně funguje Mosh dobře se s tím udělat HA (vysoká dostupnost) Petr Krčmář (Root.cz, vpsfree.cz) WireGuard 3. listopadu 2018 15 / 23

Bezpečnost používá perfect forward secrecy každé dvě minuty nový klíč používá Noise protocol framework Curve25519, ChaCha20, Poly1305, BLAKE2, SipHash24 brání útoku přehráním uník vašeho privátního klíče podvržení identity protistrany neumožňuje volit šifrovací schémata klienti historicky nezatížení kód napsán velmi bezpečně při běhu nealokuje paměť neobsahuje parser hlaviček velikosti jsou statické při přijetí neautentizovaného paketu nemodifikuje stav je malý a dobře auditovatelný Petr Krčmář (Root.cz, vpsfree.cz) WireGuard 3. listopadu 2018 16 / 23

Výkon vše je v jádře rychlé a s minimální latencí nemusí se kopírovat pakety do uživatelského prostoru používá se rychlá proudová šifra (ChaCha20) srovnatelná s AES-NI, univerzální jednoduchý malý kód, omezená stavovost rychlé zpracování paketů autor uvádí 4 vyšší tok a 3 rychlejší ping než OpenVPN (AES) Petr Krčmář (Root.cz, vpsfree.cz) WireGuard 3. listopadu 2018 17 / 23

Manuální použití použijeme standardní nástroj ip pro správu klíčů slouží utilita wg # ip link add wg0 type wireguard # ip addr add 10.1.2.3/24 dev wg0 # wg set wg0 private-key./private.key # ip link set wg0 up # wg set wg0 peer TrK66uhx0psmfSsTo72Jp3CsbMXPB2MAOhm11INXK3U= \ allowed-ips 10.1.2.4/32 endpoint 203.0.113.20:41414 Petr Krčmář (Root.cz, vpsfree.cz) WireGuard 3. listopadu 2018 18 / 23

Pomocí konfiguračních souborů zpracovává utilita wg-quick hledá konfigurace v /etc/wireguard/*.conf shellový skript využívající ip a wg # wg-quick up wg0 # wg-quick down wg0 Petr Krčmář (Root.cz, vpsfree.cz) WireGuard 3. listopadu 2018 19 / 23

Automaticky po startu možné integrovat s interfaces # cat /etc/network/interfaces auto wg-client iface wg-client inet static address 10.1.2.3 netmask 255.255.255.0 pre-up wg-quick up $IFACE post-down wg-quick down $IFACE Petr Krčmář (Root.cz, vpsfree.cz) WireGuard 3. listopadu 2018 20 / 23

Klient pro Android Petr Krčmář (Root.cz, vpsfree.cz) WireGuard 3. listopadu 2018 21 / 23

Odkazy WireGuard.com git clone https://git.zx2c4.com/wireguard Google Play přednáška Jasona Donenfelda Petr Krčmář (Root.cz, vpsfree.cz) WireGuard 3. listopadu 2018 22 / 23

Otázky? Otázky? Petr Krčmář petr.krcmar@iinfo.cz Petr Krčmář (Root.cz, vpsfree.cz) WireGuard 3. listopadu 2018 23 / 23