OpenVPN: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Rete
Funzionalità collegamenti suggeriti: 3 collegamenti inseriti.
 
(37 versioni intermedie di 24 utenti non mostrate)
Riga 1:
{{F|Internetsoftware libero|dicembre 2015}}
{{Software
|Nome = OpenVPN
|Logo = Ovpntech_logo-s_REVISED.png
|Screenshot =
|Didascalia =
Line 17 ⟶ 16:
}}
 
'''OpenVPN''' è un [[programma (informatica)|programma]] [[Virtual Private Network|VPN]] open source scritto da James Yonan e rilasciato con [[GNU General Public License|licenza GPL]]. OpenVPN è quindi un software opensource e il fatto di essere tale garantisce a tale sistema di poterlo configurare su qualunque porta (senza usare il port-forwarding), essere la soluzione più sicura e anche la più affidabile. Un esempio per poter essere configurato senza il port-forwarding per poter soddisfare le richieste http attraverso il protocollo SSL (Secure Sockets Layer) possiamo utilizzare la porta TCP 443. È usato per creare tunnel [[Crittografia|crittografati]] punto-punto sicuri fra idue [[computer]] attraverso una rete non sicura, ad esempio [[hostInternet]]. Permette agli host di [[autenticazione|autenticarsi]] l'uno con l'altro per mezzo di chiavi private condivise, [[Certificato digitale|certificati digitali]] o credenziali utente/password. Usa in modo massiccio le librerie di cifratura [[OpenSSL]] e usa il protocollo [[Transport Layer Security|SSLv3/TLSv1]]. È disponibile su una vasta gamma di piattaforme come [[GNU/Linux]], [[Berkeley Software Distribution|xBSD]], [[macOS]], [[Solaris Operating Environment|Solaris]] e, [[Windows|Windows 2000/XP/Vista/7Android]]. Offre un ricco insieme di caratteristiche per il controllo e la sicurezza. Non è una VPN con interfaccia web, e non è compatibile con [[IPsecMicrosoft Windows|Windows]] o altri programmi VPN. L'intero programma è contenuto in un singolo [[file eseguibile|eseguibile]] binarioche usatopuò perfunzionare lesia connessioniin sia dalmodalità [[lato server]] che dal [[lato client]], da un [[file]] di [[configurazione (informatica)|configurazione]] opzionale, e da uno o più file contenenti le [[Chiave crittografica|chiavi]], in funzione del metodo di autenticazione usato.<ref>{{cita Ai giorni d’oggi in pochissimi riescono a violare l’OpenVPNweb|url=https://openvpn. L’enorme vantaggio di OpenVPN rispetto ad IPsec è che quest’ultimo risulta essere meno veloce e per le per quelle macchine o quei dispositivi che hanno poca potenza di calcolo è un enorme svantaggionet/images/OpenVPNAccessServerDataSheet. La mancanza di velocità da parte di queste macchine e dispositivi è l’assenza del multithreading. SSTP (Secure Socket Tunneling Protocol) utilizza (come pdf|titolo=OpenVPN) la crittografia SSLv3 ma rispetto ad OpenVPN il protocollo SSTP è un protocollo chiuso e questo è un grosso svantaggio.Datasheet}}</ref>
 
== Crittografia ==
Line 27 ⟶ 26:
* [[Certificato digitale|certificati digitali]]
* credenziali utente/password.
Il metodo con chiave segreta condivisa è il più semplice eed immediato da implementare, quello basato sui certificati è il più robusto e completoversatile ma richiede la definizione di una ''Public Key Infrastructure'' ([[X.509|PKI]]). L'autenticazione con utente/password è una caratteristica nuova introdotta con la versione 2.0 e si può usare con o senza il certificato del client (il server deve comunque avere il proprio certificato). Il pacchetto [[tar (software)|tar]] del [[codice sorgente]] include uno script [[perl]] per verificare le credenziali utente/password per mezzo dei moduli [[Pluggable authentication modules|PAM]] e dei ''plugin'' in C ''auth-pam''.
 
== Rete ==
OpenVPN concentra tutto il traffico dati e di controllo su una singola [[Porta (reti)|porta]]. Può usare una porta [[User Datagram Protocol|UDP]] (preferita e predefinita) oppure [[Transmission Control Protocol|TCP]]. PuòA differenza di altri programmi o protocolli VPN, come [[LP2P]] o [[PPTP]], non richiede altri protocolli per gestire autenticazione o dati, cosa che gli permette di funzionare attraverso la maggior parte dei server [[proxy]] ([[Hyper TextHypertext Transfer Protocol|HTTP]] incluso), evitare limiti e nonblocchi imposti dall'[[Internet Service Provider|ISP]] e hasemplificare problemimolto adl'integrazione integrarsicon coli [[Network address translation|NAT]]. Il server può "inviare" alcune opzioni di configurazione di rete ai client. Fra queste, l'indirizzo [[Internet Protocol|IP]], gli instradamenti, e alcune opzioni di connessione.
 
OpenVPN offre due tipi di interfaccia di rete avvalendosi del driver ''Universal [[TUN/TAP]]''; può creare sia tunnel IP punto-punto al livello 3 dello [[stack OSI]] (configurazione ''routing''), come anche interfacce [[Ethernet]] virtuali "tap" a livello 2 sulle quali veicolare l'intero traffico Ethernet, [[broadcast]] inclusi (configurazione ''bridging''). OpenVPN può anche usare, come opzione, la libreria di compressione [[Lempel–Ziv–Oberhumer|LZO]] per comprimere il flusso di dati.
Line 36 ⟶ 35:
[[IANA]] ha assegnato ufficialmente la [[Porta (reti)|porta]] 1194 a OpenVPN, e le versioni più recenti del programma ora la usano come predefinita. La versione 2.0 permette ad un processo di gestire più tunnel contemporanei, superando la restrizione di "un tunnel per processo" della serie 1.x.
 
Sebbene OpenVPN possa funzionare utilizzando il protocollo TCP, il suo uso richiede una connessione tra client e server con buona stabilità, banda passante e latenza, al fine di garantire che le connessioni TCP tunnellizzate non vadano in timeout. In caso contrario le prestazioni degradano molto, questo è noto come il “TCP meltdown problem”.<ref>{{cita web|url=http://sites.inka.de/bigred/devel/tcp-tcp.html|titolo=Why TCP Over TCP Is A Bad Idea|accesso=24 gennaio 2018}}</ref>
L’utilizzo di comuni reti di protocolli da parte di OpenVPN lo rende un’alternativa valida all’IPsec nelle situazioni in cui un ISP potrebbe bloccare specifici protocolli VPN con lo scopo di forzare gli utenti ad iscriversi ad un “business grade” più costoso. Quando OpenVPN utilizza il protocollo TCP porta allo stabilimento di un tunnel, il risultato sarà accettabile solo fino a quando è presente sufficiente larghezza di banda nel link della rete non tunnelizzata al fine di garantire che i timers del TCP tunnelizzato non scadano. Se questo non avviene, la performance fallisce. Questo è noto come il “TCP meltdown problem”.
 
== Estensibilità e piattaforme di utilizzo ==
=== Estensibilità ===
OpenVPN può essere esteso con plugins di terze parti o scripts, che possono essere chiamati a punti di ingresso definiti. Lo scopo di questo è spesso quello di estendere OpenVPN con logging più avanzati, migliorare l’autenticazione di username e password, rendere più veloce l’aggiornamento dei firewall e così via. I plugins sono moduli caricabili velocemente, solitamente scritti in linguaggio C, mentre gli scripts interface possono eseguire qualsiasi script. Nel codice sorgente di OpenVPN ci sono alcuni esempi di questi plugins, incluso un plugin di autenticazione (PAM). Molti plugin esistono anche per autenticare contro database LDAP o SQL tra i quali SQLite e [[MySQL|MYSQL]].
 
== Sicurezza ==
OpenVPN offre diverse caratteristiche di sicurezza interne: può rilasciare i privilegi di [[Root (utente)|root]] (non disponibile su Microsoft Windows), può usare ''mlockall'' per evitare che [[dati sensibili]] siano paginati nella [[memoria virtuale]] su disco, e può essere costretto ad una ''[[chroot jail]]'' (non disponibile su Microsoft Windows) dopo l'inizializzazione.
 
Inoltre è disponibile anche la funzione di autenticazione di singolo pacchetto [[HMAC]] per aggiungere un ulteriore livello di sicurezza alla fase in cui viene instaurata la connessione (definito "HMAC Firewall" dall'autore); in questo caso ogni pacchetto che non presentasse la firma HMAC prestabilita verrebbe semplicemente scartato senza essere elaborato, il che permette di difendere l'host da:
Line 50 ⟶ 53:
Infine, configurando i client per accettare solo certificati di tipo server dalla macchina che richiede una connessione, può evitare attacchi del genere [[Man in the middle]].
 
== Implementazioni del firmware e del software ==
== Conclusioni ==
=== Implementazioni del firmware ===
Arrivati a questo punto che conclusioni possiamo trarre? Quale tipo di VPN è migliore? Non esiste una risposta corretta. Sicuramente OpenVPN racchiude tutte le caratteristiche cercate in un VPN e inoltre ha molti vantaggi tra cui sicurezza e velocità che sono due aspetti importantissimi. Lo svantaggio di OpenVPN rispetto ad altri è la difficoltà di utilizzo e di installazione sul proprio sistema operativo. Come si può notare è un piccolissimo svantaggio rispetto a tutti i lati positivi che OpenVPN fornisce.
OpenVPN è stato integrato in firmware packages del router come [[Vyatta]], [[pfSense]], [[DD-WRT]], [[OpenWrt]] e Tomato, permettendo così agli utenti di passare OpenVPN nella modalità client o server a partire dai loro routers di rete. Un router che fa funzionare OpenVPN nella modalità client ad esempio, permette ad ogni dispositivo su una rete di accedere a VPN senza necessitare l’esigenza di installare OpenVPN. È stato implementato in alcuni router del produttore come il D-Link DSR 250 ed alcuni MikroTik Routers. L’implementazione di MikroTik non supporta il protocollo UDP o la compressione LZO, la quale limita la velocità di trasferimento raggiungibile. MikroTik ha detto nel 2010 che non avrebbe continuato a sviluppare OpenVPN, bensì [[SSTP]].
 
=== Implementazioni del software ===
OpenVPN è stato integrato a SoftEther VPN, un protocollo multiplo VPN server open-source, per consentire agli utenti di connettersi al server VPN a partire da clients OpenVPN già esistenti.
 
Di seguito una lista di software che utilizza OpenVPN.
 
{| class="wikitable"
|+
!Firmware
Package
!Licenza
!Sviluppatore
!Link
|-
|[[DD-WRT]]
|Gratuita
|NewMedia-NET
 
GmbH
|[https://www.dd-wrt.com/ dd-wrt.com]
|-
|[[IPFire]]
|Gratuita
|Community driven development
|[https://www.ipfire.org/ ipfire.org]
|-
|[[OpenWrt|OpenWRT]]
|Gratuita
|Community driven development
|[https://www.openwrt.org/ OpenWRT.org]
|-
|[[pfSense]]
|Gratuita
|Rubicon
Communications, LLC
 
(Netgate)
|[http://www.pfsense.org/ pfsense.org]
|-
|[[Untangle]]
|Gratuita
|Untangle, Inc.
|[http://www.untangle.com/ Untangle.com]
|-
|[[Tomato (firmware)|Tomato]]
|Gratuita
|Keith Moyer
|[http://tomatovpn.keithmoyer.com/ tomatovpn.keithmoyer.com]
|}
 
== Edizioni ==
OpenVPN è disponibile in due versioni:
# L’edizione OpenVPN community che è una versione gratuita open-source.
# Il server di accesso di OpenVPN (OpenVPN-AS) è basata sulla Community Edition, ma prevede un costo aggiuntivo e caratteristiche come l’integrazione LDAP, il server SMB, Web UI management e fornisce un set di installazione e strumenti di configurazione che sono riportati per semplificare il rapido impiego di una soluzione di accesso VPN remota. L’edizione Access Server dipende fortemente da iptables per il bilanciamento del carico, ad esempio. Per questo motivo non è mai stata disponibile per Windows. Questa versione è anche in grado di creare rapidamente client (“OpenVPN Connect”) installers, che includono un profilo client per connettersi ad un particolare Server di accesso. Tuttavia, l’utente non ha bisogno di possedere un Access Server client per connettersi al Server di accesso.
 
== Note ==
<references/>
 
== Voci correlate ==
Line 60 ⟶ 121:
 
== Collegamenti esterni ==
* {{SitoCollegamenti ufficialeesterni}}
* {{cita web|httpurl=https://tunnelblick.net/|titolo=Tunnelblick, un'interfaccia grafica per Mac OS X|lingua=en|accesso=15 agosto 2005|urlarchivio=https://web.archive.org/web/20070225173533/http://www.tunnelblick.net/|urlmorto=sì}}
* {{cita web|url=http://openvpn-mi-gui.inside-security.de/|titolo=Un'interfaccia grafica per Windows|lingua=en}}
* {{cita web|url=http://home.arcor.de/u.altinkaynak/openvpn.html|titolo=Un modulo aggiuntivo OpenVPN per IPCop|lingua=en|accesso=15 agosto 2005|dataarchivio=30 ottobre 2005|urlarchivio=https://web.archive.org/web/20051030021306/http://home.arcor.de/u.altinkaynak/openvpn.html|urlmorto=sì}}
*[https://pctempo.com/openvpn-vs-ikev2-vs-pptp-vs-l2tp-ipsec-vs-sstp/ OpenVPN vs IKEv2 vs PPTP vs L2TP/IPSec vs SSTP] su pctempo.com
 
{{Portale|Sicurezza informatica|Softwaresoftware libero|Telematicatelematica}}
 
[[Categoria:SicurezzaReti invirtuali reteprivate]]