OpenVPN - OpenVPN

OpenVPN
OpenVPN logo.svg
Původní autořiJames Yonan
VývojářiProjekt OpenVPN / OpenVPN Inc.
První vydání13. května 2001; Před 19 lety (2001-05-13)[1]
Stabilní uvolnění2.5.0[2] (27. října 2020; Před 36 dny (2020-10-27)) [±]
Úložiště Upravte to na Wikidata
NapsánoC
Plošina
TypVPN
LicenceGNU GPLv2[10]
webová stránkahttps://community.openvpn.net/ openvpn.net, https://společenství.openvpn.síť/ Upravte to na Wikidata

OpenVPN je soukromá virtuální síť (VPN) systém, který implementuje techniky k vytváření zabezpečených připojení point-to-point nebo site-to-site ve směrovaných nebo přemostěných konfiguracích a zařízeních pro vzdálený přístup. Implementuje obojí klient a server aplikace.

OpenVPN umožňuje vrstevníci na ověřit navzájem pomocí předem sdílené tajné klíče, certifikáty nebo uživatelské jméno /Heslo. Při použití v konfiguraci multiclient-server umožňuje serveru uvolnit ověřovací certifikát pro každého klienta pomocí podpisy a certifikační autorita.

Využívá OpenSSL šifrování knihovna značně, stejně jako TLS protokol a obsahuje mnoho bezpečnostních a kontrolních funkcí. Používá vlastní bezpečnostní protokol[11] který využívá SSL / TLS pro výměnu klíčů. Je schopen procházet překladače síťových adres (NAT) a firewally.

OpenVPN byl přenesen a vložen do několika systémů. Například, DD-WRT má funkci serveru OpenVPN. SoftEther VPN, víceprotokolový server VPN, má také implementaci protokolu OpenVPN.

Napsal to James Yonan a je svobodný software, vydané v souladu s podmínkami GNU General Public License verze 2 (GPLv2).[12] Kromě toho jsou k dispozici komerční licence.[13]

Architektura

Šifrování

OpenVPN používá OpenSSL knihovna poskytnout šifrování datových i řídicích kanálů. Umožňuje OpenSSL provádět veškerou práci šifrování a autentizace, což umožňuje OpenVPN používat všechny šifry dostupné v balíčku OpenSSL. Může také použít HMAC funkce ověřování paketů pro přidání další vrstvy zabezpečení k připojení (tvůrce jej označuje jako „bránu firewall HMAC“). Může také použít hardwarovou akceleraci, aby získal lepší výkon šifrování.[14][15] Podpora pro mbed TLS je k dispozici od verze 2.3.[16]

Ověření

OpenVPN má několik způsobů, jak ověřit navzájem. Nabídky OpenVPN předem sdílené klíče, ověřování na základě certifikátu a ověřování na základě uživatelského jména / hesla. Předsdílený tajný klíč je nejjednodušší a certifikát založený na nejrobustnějším a bohatý na funkce.[Citace je zapotřebí ] Ve verzi 2.0 lze povolit ověřování uživatelského jména / hesla, a to jak s certifikáty, tak bez nich. Chcete-li však použít ověřování uživatelského jména / hesla, OpenVPN závisí na modulech třetích stran.[Citace je zapotřebí ]

Síťování

OpenVPN může přejít Protokol uživatele Datagram (UDP) nebo protokol kontroly přenosu (TCP) transporty, multiplexování vytvořilo tunely SSL na jednom portu TCP / UDP[17] (RFC 3948 pro UDP).[18]

Od série 2.3.x OpenVPN plně podporuje IPv6 jako protokol virtuální sítě uvnitř tunelu a aplikace OpenVPN mohou také navázat spojení přes IPv6.[19]Má schopnost projít většinou proxy servery (počítaje v to HTTP ) a je dobrý v práci překlad síťových adres (NAT) a dostat se přes brány firewall. Konfigurace serveru má schopnost „odeslat“ určité možnosti konfigurace sítě klientům. Patří mezi ně IP adresy, směrovací příkazy a několik možností připojení. OpenVPN nabízí dva typy rozhraní pro síťové připojení přes Univerzální ovladač TUN / TAP. Může vytvořit buď a vrstva-3 založený IP tunel (TUN), nebo a vrstva-2 založený ethernetový TAP, který může přenášet jakýkoli typ ethernetového provozu. OpenVPN může volitelně použít LZO kompresní knihovna pro kompresi datového proudu. Port 1194 je oficiální IANA přidělené číslo portu pro OpenVPN. Novější verze programu jsou nyní výchozí pro tento port. Funkce ve verzi 2.0 umožňuje jednomu procesu spravovat několik současných tunelů, na rozdíl od původního omezení „jeden tunel na proces“ u řady 1.x.

OpenVPN díky použití běžných síťových protokolů (TCP a UDP) z něj činí žádanou alternativu IPsec v situacích, kdy ISP může blokovat konkrétní VPN protokoly s cílem přinutit uživatele k odběru vyšší úrovně služeb „business grade“.[potřebný příklad ]

Při použití OpenVPN protokol kontroly přenosu (TCP) transportuje za účelem vytvoření tunelu, výkon bude přijatelný pouze za předpokladu, že na un-tunelovaném síťovém odkazu je dostatečná nadměrná šířka pásma, aby bylo zaručeno, že tunelové časovače TCP nevyprší. Pokud se to stane nepravdivým, výkon dramaticky poklesne. Toto se nazývá „problém roztavení TCP“.[20][21]

Bezpečnostní

OpenVPN nabízí různé funkce vnitřního zabezpečení. Má až 256bitové šifrování prostřednictvím OpenSSL Knihovna, i když někteří poskytovatelé služeb mohou nabízet nižší sazby, což účinně poskytuje některé z nejrychlejších VPN dostupných pro spotřebitele. To běží dovnitř uživatelský prostor místo toho, aby vyžadoval provoz zásobníku IP (tedy jádra). OpenVPN má schopnost zrušit oprávnění root, použijte mlockall Chcete-li zabránit výměně citlivých dat na disk, zadejte a chroot vězení po inicializaci a použijte a SELinux kontext po inicializaci.

OpenVPN spouští vlastní bezpečnostní protokol založený na SSL a TLS,[11] spíše než podpora IKE, IPsec, L2TP nebo PPTP.

OpenVPN nabízí podporu pro čipové karty přes PKCS # 11 - kryptografické tokeny.

Rozšiřitelnost

OpenVPN lze rozšířit pomocí doplňků nebo skriptů třetích stran, které lze volat na definovaných vstupních bodech.[22][23] Účelem toho je často rozšířit OpenVPN o pokročilejší protokolování, vylepšené ověřování pomocí uživatelského jména a hesla, dynamické aktualizace brány firewall, POLOMĚR integrace atd. Moduly plug-in jsou dynamicky načítatelné moduly, obvykle zapsané C, zatímco rozhraní skriptů může spouštět jakékoli skripty nebo binární soubory dostupné pro OpenVPN. Ve zdrojovém kódu OpenVPN[24] existuje několik příkladů takových doplňků, včetně a PAM ověřovací modul plug-in. K ověření existuje také několik modulů plug-in třetích stran LDAP nebo SQL databáze jako SQLite a MySQL.[25]

Platformy

Je k dispozici na Solaris, Linux, OpenBSD, FreeBSD, NetBSD, QNX, Operační Systém Mac a Windows XP a novější.[26] OpenVPN je k dispozici pro operační systémy mobilních telefonů (OS) včetně Maemo,[27] Windows Mobile 6,5 a méně,[28] iOS Zařízení 3GS +,[29] jailbroken iOS Zařízení 3.1.2+,[30] Android 4.0+ zařízení a zařízení Android, která mají Cyanogenmod firmware poprodejního trhu blikal[31] nebo mít nainstalován správný modul jádra.[32] Není kompatibilní s některými operačními systémy mobilních telefonů, včetně Palm OS. Nejedná se o „webovou“ VPN zobrazenou jako webová stránka, jako je Citrix nebo Přístup na web pomocí Terminálové služby; program je nainstalován samostatně a konfigurován manuální úpravou textových souborů, nikoli pomocí průvodce založeného na grafickém uživatelském rozhraní. OpenVPN není kompatibilní s klienty VPN, kteří používají IPsec přes L2TP nebo PPTP protokoly. Celé balení se skládá z jednoho binární pro oba klient a serveru připojení, volitelné konfigurační soubor a jeden nebo více klíčových souborů v závislosti na použité metodě ověřování.

Implementace firmwaru

OpenVPN byl integrován do několika router balíčky firmwaru umožňující uživatelům spouštět OpenVPN v klientském nebo serverovém režimu ze svých síťových routerů. Směrovač, na kterém běží OpenVPN v klientském režimu, například umožňuje libovolnému zařízení v síti přistupovat k VPN bez nutnosti instalace OpenVPN.

Pozoruhodné balíčky firmwaru s integrací OpenVPN zahrnují:

Pozoruhodné balíčky firmwaru s integrací OpenVPN
Balíček firmwaruNákladyVývojářReference
DD-WRTVolný, uvolnitNewMedia-NET GmbH[33]
ChrličVolný, uvolnitEric Bishop[34]
OpenWrtVolný, uvolnitRozvoj řízený komunitou[35]
OPNsenseVolný, uvolnitDeciso BV[36]
pfSenseVolný, uvolnitRubicon Communications, LLC (Netgate)
RajčeVolný, uvolnitKeith Moyer[37][38]

OpenVPN byl také implementován do některého firmwaru routeru výrobce.

Softwarové implementace

OpenVPN byl integrován do SoftEther VPN, open-source multi-protokol VPN server, který umožňuje uživatelům připojit se k serveru VPN ze stávajících klientů OpenVPN.

OpenVPN je také integrován do Vyos, open-source směrovací OS vyklopený z Vyatta softwarový router.

Licencování

OpenVPN je k dispozici ve dvou verzích:

  • OpenVPN Community Edition, což je bezplatná a otevřená verze
  • OpenVPN Access Server (OpenVPN-AS) je založen na komunitní verzi, ale poskytuje další placené a proprietární funkce, jako je integrace LDAP, server SMB, správa webového uživatelského rozhraní a poskytuje sadu instalačních a konfiguračních nástrojů, které zjednodušují rychlé nasazení řešení vzdáleného přístupu VPN.[39][40] Vydání Access Serveru do značné míry závisí iptables pro vyvažování zátěže a z tohoto důvodu nebyl ve Windows nikdy k dispozici. Tato verze je také schopna dynamicky vytvářet klientské („OpenVPN Connect“) instalační programy, které obsahují profil klienta pro připojení k určité instanci Access Serveru.[41] Uživatel však nemusí mít klienta Access Server, aby se mohl připojit k instanci Access Server; lze použít klienta z edice OpenVPN Community.[42]

Viz také

Reference

  1. ^ Protokol změn OpenVPN - Poznámky k verzi OpenVPN
  2. ^ „Vydání - OpenVPN / openvpn“. Citováno 31. října 2020 - přes GitHub.
  3. ^ „Stahování“. openvpn.net. Citováno 2. února 2016.
  4. ^ „Private Tunnel VPN - Aplikace pro Android ve službě Google Play“.
  5. ^ „Soukromý tunel VPN“. Obchod s aplikacemi. 23. října 2014.
  6. ^ „Jak se připojit k serveru Access Server z počítače se systémem Linux“.
  7. ^ „Vyhledávání portů FreeBSD“.
  8. ^ "Porty OpenBSD".
  9. ^ "Sbírka balíčků NetBSD: net / openvpn".
  10. ^ „openvpn_COPYING ve společnosti master · OpenVPN_openvpn“. 30. července 2019. Archivováno z původního dne 31. července 2019. Citováno 30. července 2019.
  11. ^ A b „Přehled zabezpečení OpenVPN“. Citováno 28. září 2011.
  12. ^ LinuxSecurity.com - OpenVPN: Úvod a rozhovor se zakladatelem Jamesem Yonanem
  13. ^ openvpn.net: Ceny, vyvoláno 12. prosince 2018
  14. ^ Andrew Lockhart (2006). Hackeři zabezpečení sítě: Tipy a nástroje pro ochranu vašeho soukromí. „O'Reilly Media, Inc.“. str. 339. ISBN  978-0-596-55143-8.
  15. ^ 6net (2008). Průvodce nasazením IPv6. Javvin Technologies Inc. str. 109. ISBN  978-1-60267-005-1.
  16. ^ Přehled změn v OpenVPN v2.3 - ChangesInOpenvpn23 - komunita OpenVPN
  17. ^ Manuální stránka OpenVPN, sekce "Možnosti režimu TLS"
  18. ^ Petros Daras; Oscar Mayora (2013). Uživatelská média: První mezinárodní konference, UCMedia 2009, Benátky, Itálie, 9. – 11. Prosince 2009, revidované vybrané příspěvky. Springer Science & Business Media. str. 239. ISBN  978-3-642-12629-1.
  19. ^ Komunita OpenVPN wiki, IPv6 v OpenVPN - vyvoláno 8. prosince 2013
  20. ^ Titz, Olaf (23. dubna 2001). „Proč je TCP přes TCP špatný nápad“. Citováno 17. října 2015.
  21. ^ Honda, Osamu; Ohsaki, Hiroyuki; Imase, Makoto; Ishizuka, Mika; Murayama, Junichi (říjen 2005), „Porozumění protokolu TCP přes TCP: účinky tunelování TCP na end-to-end propustnost a latenci“, Atiquzzaman, Mohammed; Balandin, Sergey I (eds.), Výkon, kvalita služeb a řízení komunikačních a senzorových sítí nové generace III, 6011, str. 60110H, Bibcode:2005SPIE.6011..138H, CiteSeerX  10.1.1.78.5815, doi:10.1117/12.630496, S2CID  8945952
  22. ^ „Vstupní body skriptu OpenVPN“. Openvpn.net. Citováno 30. července 2012.
  23. ^ Vstupní body zásuvných modulů OpenVPN pro moduly založené na C..
  24. ^ „Ukázkové doplňky OpenVPN“. Openvpn.git.sourceforge.net. Citováno 30. července 2012.
  25. ^ OpenVPN Community Wiki - Související projekty
  26. ^ „Stahování“. openvpn.net. OpenVPN. Citováno 6. srpna 2015.
  27. ^ „Balíček OpenVPN Maemo“. Maemo.org. Citováno 30. července 2012.
  28. ^ „OpenVPN pro PocketPC“. Ovpnppc.ziggurat29.com. 1. dubna 2007. Citováno 30. července 2012.
  29. ^ „OpenVPN Connect“. Technologie OpenVPN. 16. ledna 2013. Citováno 16. ledna 2013.
  30. ^ „GuizmOVPN - OpenVPN GUI pro iPhone / iPad“. guizmovpn.com. 30. září 2007. Citováno 30. září 2012.
  31. ^ „CHANGELOG na Eclair od android_vendor_cyanogen od CyanogenMod“. GitHub. kyanogen. 7. července 2010. Citováno 28. října 2010. Seznam změn Nexus One Cyanogenmod
  32. ^ „Jak nastavit a nakonfigurovat OpenVPN na zařízení s rootem Android | Blog VPN je aktuální informace o VPN“. Vpnblog.info. Citováno 30. července 2012.
  33. ^ dd-wrt.com - OpenVPN
  34. ^ Gargoyle Wiki - OpenVPN
  35. ^ „OpenVPN (nastavení serveru) - OpenWrt Wiki“. openwrt.org. Citováno 11. června 2018.
  36. ^ „opnsense.org - Oznámení o vydání OPNsense 17.1“.
  37. ^ „TomatoVPN“. Tomatovpn.keithmoyer.com. Citováno 30. července 2012.
  38. ^ LinksysInfo.org - Vytváření VPN s webovým grafickým uživatelským rozhraním
  39. ^ „Srovnání produktů OpenVPN“. Citováno 15. ledna 2017.
  40. ^ „Co je to OpenVPN Access Server (OpenVPN-AS)?“. Citováno 15. ledna 2017.
  41. ^ „Co se týče úložiště chocolatey.org · Číslo 2 · wget / chocolatey_package_openvpn“. 16. ledna 2017. Citováno 16. ledna 2017.
  42. ^ „Mohu se připojit k Access Serveru pomocí komunitního klienta OpenVPN?“. Citováno 16. ledna 2017.

externí odkazy