GNU/Linux >> Linux Esercitazione >  >> Panels >> OpenVPN

Installa OpenVPN sul tuo PC Linux

OpenVPN crea un tunnel crittografato tra due punti, impedendo a terzi di accedere al traffico di rete. Configurando il tuo server di rete privata virtuale (VPN), diventi il ​​​​tuo provider VPN. Molti servizi VPN popolari utilizzano già OpenVPN, quindi perché collegare la tua connessione a un provider specifico quando puoi avere il controllo completo?

Il primo articolo di questa serie ha dimostrato come impostare e configurare un PC Linux per fungere da server OpenVPN. Ha anche discusso di come configurare il tuo router in modo da poter raggiungere il tuo server VPN da una rete esterna.

Questo secondo articolo mostra come installare il software del server OpenVPN utilizzando i passaggi personalizzati dal wiki OpenVPN.

Installa OpenVPN

Innanzitutto, installa OpenVPN e easy-rsa applicazione (per aiutarti a configurare l'autenticazione sul tuo server) utilizzando il tuo gestore di pacchetti. Questo esempio usa Fedora Linux; se hai scelto qualcosa di diverso, usa il comando appropriato per la tua distribuzione:

$ sudo dnf install openvpn easy-rsa

Questo crea delle directory vuote:

  • /etc/openvpn
  • /etc/openvpn/client
  • /etc/openvpn/server

Se questi non vengono creati durante l'installazione, creali manualmente.

Configura l'autenticazione

OpenVPN dipende da easy-rsa script e dovrebbe avere una propria copia di essi. Copia il easy-rsa script e file:

$ sudo mkdir /etc/openvpn/easy-rsa
$ sudo cp -rai /usr/share/easy-rsa/3/* \
/etc/openvpn/easy-rsa/

Più risorse Linux

  • Comandi Linux cheat sheet
  • Cheat sheet sui comandi avanzati di Linux
  • Corso online gratuito:Panoramica tecnica RHEL
  • Cheat sheet della rete Linux
  • Cheat sheet di SELinux
  • Cheat sheet dei comandi comuni di Linux
  • Cosa sono i container Linux?
  • I nostri ultimi articoli su Linux

L'autenticazione è importante e OpenVPN la prende molto sul serio. La teoria è che se Alice ha bisogno di accedere a informazioni private all'interno dell'azienda di Bob, è fondamentale che Bob si assicuri che Alice sia davvero Alice. Allo stesso modo, Alice deve assicurarsi che Bob sia davvero Bob. Chiamiamo questa autenticazione reciproca.

La best practice di oggi controlla un attributo in base a due dei tre possibili fattori:

  • Qualcosa che hai
  • Qualcosa che sai
  • Qualcosa che sei

Ci sono molte scelte. Questa configurazione OpenVPN utilizza:

  • Certificati: Qualcosa che hanno sia il client che il server
  • Password del certificato: Qualcosa che la gente sa

Alice e Bob hanno bisogno di aiuto per autenticarsi reciprocamente. Dal momento che entrambi si fidano di Cathy, Cathy assume un ruolo chiamato autorità di certificazione (CIRCA). Cathy attesta che Alice e Bob sono entrambi chi affermano di essere. Poiché Alice e Bob si fidano entrambi di Cathy, ora si fidano anche l'uno dell'altro.

Ma cosa convince Cathy che Alice e Bob sono davvero Alice e Bob? La reputazione di Cathy all'interno della comunità dipende da come funziona, quindi se vuole che anche Danielle, Evan, Fiona, Greg e altri si fidino di lei, metterà alla prova rigorosamente le affermazioni di Alice e Bob. Dopo che Alice e Bob hanno convinto Cathy che in realtà sono Alice e Bob, Cathy firma dei certificati da condividere tra loro e con il mondo.

Come fanno Alice e Bob a sapere che Cathy, e non qualcuno che la impersona, ha firmato i certificati? Usano una tecnologia chiamata crittografia a chiave pubblica:

  • Trova un algoritmo di crittografia che crittografa con una chiave e decrittografa con un'altra.
  • Dichiara una chiave privata e condividi l'altra chiave con il pubblico.
  • Cathy condivide la sua chiave pubblica e una copia in chiaro della sua firma con il mondo intero.
  • Cathy cripta la sua firma con la sua chiave privata. Chiunque può decifrarlo con la sua chiave pubblica.
  • Se la firma decifrata di Cathy corrisponde alla copia in chiaro, Alice e Bob possono fidarsi che Cathy l'abbia davvero firmata.

Utilizzi questa stessa tecnologia ogni volta che acquisti beni e servizi online.

Implementa l'autenticazione

La documentazione di OpenVPN suggerisce di configurare una CA su un sistema separato o almeno una directory separata sul server OpenVPN. La documentazione suggerisce anche di generare certificati server e client dal server e dai client. Poiché si tratta di una configurazione semplice, puoi utilizzare il server OpenVPN come propria CA e inserire i certificati e le chiavi in ​​directory specificate sul server.

Genera certificati dal server e copiali su ciascun client come parte della configurazione del client.

Questa implementazione utilizza certificati autofirmati. Funziona perché il server si fida di se stesso e i client si fidano del server. Pertanto, il server è la migliore CA per firmare i certificati.

Dal server OpenVPN, imposta la CA:

$ sudo mkdir /etc/openvpn/ca
$ cd /etc/openvpn/ca
$ sudo /etc/openvpn/easy-rsa/easyrsa init-pki
$ sudo /etc/openvpn/easy-rsa/easyrsa build-ca

Usa una passphrase facile da ricordare ma difficile da indovinare.

Configura la coppia di chiavi del server e la richiesta di certificato:

$ cd /etc/openvpn/server
$ sudo /etc/openvpn/easy-rsa/easyrsa init-pki
$ sudo /etc/openvpn/easy-rsa/easyrsa gen-req OVPNserver2020 nopass

In questo esempio, OVPNServer2020 è il nome host che hai assegnato al tuo server OpenVPN nel primo articolo di questa serie.

Genera e firma certificati

Ora devi inviare una richiesta del server alla CA e generare e firmare il certificato del server.

Questo passaggio essenzialmente copia il file di richiesta da /etc/openvpn/server/pki/reqs/OVPNserver2020.req a /etc/openvpn/ca/pki/reqs/OVPNserver2020.req per prepararlo per la revisione e la firma:

$ cd /etc/openvpn/ca
$ sudo /etc/openvpn/easy-rsa/easyrsa \
import-req /etc/openvpn/server/pki/reqs/OVPNserver2020.req OVPNserver2020

Esamina e firma la richiesta

Hai generato una richiesta, quindi ora devi rivedere e firmare i certificati:

$ cd /etc/openvpn/ca
$ sudo /etc/openvpn/easy-rsa/easyrsa \
show-req OVPNserver2020

Firma come server:

$ cd /etc/openvpn/ca
$ sudo /etc/openvpn/easy-rsa/easyrsa \
sign-req server OVPNserver2020

Metti una copia del server e dei certificati CA a cui appartengono per il file di configurazione per prelevarli:

$ sudo cp /etc/openvpn/ca/pki/issued/OVPNserver2020.crt \
/etc/openvpn/server/pki/
$ sudo cp /etc/openvpn/ca/pki/ca.crt \
/etc/openvpn/server/pki/

Quindi, genera parametri Diffie-Hellman in modo che i client e il server possano scambiare chiavi di sessione:

$ cd /etc/openvpn/server
$ sudo /etc/openvpn/easy-rsa/easyrsa gen-dh

Ci siamo quasi

Il prossimo articolo di questa serie mostrerà come configurare e avviare il server OpenVPN che hai appena creato.

Questo articolo è basato sul blog di D. Greg Scott e viene riutilizzato previa autorizzazione.


OpenVPN
  1. Installa e configura il client OpenVPN su Rocky Linux 8

  2. Configura il server OpenVPN su Rocky Linux 8

  3. Installa e configura il server OpenVPN su Ubuntu 20.04

  4. Installa e configura il server OpenVPN FreeBSD 12

  5. Come installare OpenVPN su Ubuntu 18.04

Esegui app Linux sul tuo Chromebook

Come installare SQL Server su Linux

Installa uTorrent su Linux Mint 18

Come installare Minecraft Server su Linux

Installa Velociraptor su Linux

Come installare KernelCare sul tuo server Linux