OpenVPN - OpenVPN
![]() | |
Původní autoři | James Yonan |
---|---|
Vývojáři | Projekt OpenVPN / OpenVPN Inc. |
První vydání | 13. května 2001[1] |
Stabilní uvolnění | 2.5.0[2] (27. října 2020 ) [±] |
Úložiště | ![]() |
Napsáno | C |
Plošina | |
Typ | VPN |
Licence | GNU GPLv2[10] |
webová stránka | https://community.openvpn.net/ openvpn![]() |
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í
![]() | Tato sekce potřebuje další citace pro ověření.Červenec 2009) (Zjistěte, jak a kdy odstranit tuto zprávu šablony) ( |
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í:
Balíček firmwaru | Náklady | Vývojář | Reference |
---|---|---|---|
DD-WRT | Volný, uvolnit | NewMedia-NET GmbH | [33] |
Chrlič | Volný, uvolnit | Eric Bishop | [34] |
OpenWrt | Volný, uvolnit | Rozvoj řízený komunitou | [35] |
OPNsense | Volný, uvolnit | Deciso BV | [36] |
pfSense | Volný, uvolnit | Rubicon Communications, LLC (Netgate) | |
Rajče | Volný, uvolnit | Keith 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
- ^ Protokol změn OpenVPN - Poznámky k verzi OpenVPN
- ^ „Vydání - OpenVPN / openvpn“. Citováno 31. října 2020 - přes GitHub.
- ^ „Stahování“. openvpn.net. Citováno 2. února 2016.
- ^ „Private Tunnel VPN - Aplikace pro Android ve službě Google Play“.
- ^ „Soukromý tunel VPN“. Obchod s aplikacemi. 23. října 2014.
- ^ „Jak se připojit k serveru Access Server z počítače se systémem Linux“.
- ^ „Vyhledávání portů FreeBSD“.
- ^ "Porty OpenBSD".
- ^ "Sbírka balíčků NetBSD: net / openvpn".
- ^ „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.
- ^ A b „Přehled zabezpečení OpenVPN“. Citováno 28. září 2011.
- ^ LinuxSecurity.com - OpenVPN: Úvod a rozhovor se zakladatelem Jamesem Yonanem
- ^ openvpn.net: Ceny, vyvoláno 12. prosince 2018
- ^ 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.
- ^ 6net (2008). Průvodce nasazením IPv6. Javvin Technologies Inc. str. 109. ISBN 978-1-60267-005-1.
- ^ Přehled změn v OpenVPN v2.3 - ChangesInOpenvpn23 - komunita OpenVPN
- ^ Manuální stránka OpenVPN, sekce "Možnosti režimu TLS"
- ^ 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.
- ^ Komunita OpenVPN wiki, IPv6 v OpenVPN - vyvoláno 8. prosince 2013
- ^ Titz, Olaf (23. dubna 2001). „Proč je TCP přes TCP špatný nápad“. Citováno 17. října 2015.
- ^ 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
- ^ „Vstupní body skriptu OpenVPN“. Openvpn.net. Citováno 30. července 2012.
- ^ Vstupní body zásuvných modulů OpenVPN pro moduly založené na C..
- ^ „Ukázkové doplňky OpenVPN“. Openvpn.git.sourceforge.net. Citováno 30. července 2012.
- ^ OpenVPN Community Wiki - Související projekty
- ^ „Stahování“. openvpn.net. OpenVPN. Citováno 6. srpna 2015.
- ^ „Balíček OpenVPN Maemo“. Maemo.org. Citováno 30. července 2012.
- ^ „OpenVPN pro PocketPC“. Ovpnppc.ziggurat29.com. 1. dubna 2007. Citováno 30. července 2012.
- ^ „OpenVPN Connect“. Technologie OpenVPN. 16. ledna 2013. Citováno 16. ledna 2013.
- ^ „GuizmOVPN - OpenVPN GUI pro iPhone / iPad“. guizmovpn.com. 30. září 2007. Citováno 30. září 2012.
- ^ „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
- ^ „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.
- ^ dd-wrt.com - OpenVPN
- ^ Gargoyle Wiki - OpenVPN
- ^ „OpenVPN (nastavení serveru) - OpenWrt Wiki“. openwrt.org. Citováno 11. června 2018.
- ^ „opnsense.org - Oznámení o vydání OPNsense 17.1“.
- ^ „TomatoVPN“. Tomatovpn.keithmoyer.com. Citováno 30. července 2012.
- ^ LinksysInfo.org - Vytváření VPN s webovým grafickým uživatelským rozhraním
- ^ „Srovnání produktů OpenVPN“. Citováno 15. ledna 2017.
- ^ „Co je to OpenVPN Access Server (OpenVPN-AS)?“. Citováno 15. ledna 2017.
- ^ „Co se týče úložiště chocolatey.org · Číslo 2 · wget / chocolatey_package_openvpn“. 16. ledna 2017. Citováno 16. ledna 2017.
- ^ „Mohu se připojit k Access Serveru pomocí komunitního klienta OpenVPN?“. Citováno 16. ledna 2017.
externí odkazy
- Oficiální webové stránky
- Komunitní web
- Bridgett, Adrian (2. února 2008). „Prezentace a demonstrace OpenVPN“. Archiv. Hampshire Linux User Group. Tech Talks