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 configurato un server per la tua VPN e il secondo articolo ha dimostrato come installare e configurare il software del server OpenVPN. Questo terzo articolo mostra come avviare OpenVPN con l'autenticazione in atto.
Maggiori informazioni sulla sicurezza
- La guida alla codifica difensiva
- Webinar:automazione della sicurezza del sistema e della conformità con un sistema operativo standard
- 10 livelli di sicurezza dei container Linux
- Libro da colorare SELinux
- Altri articoli sulla sicurezza
Per configurare un server OpenVPN, devi:
- Crea un file di configurazione.
- Imposta il
sysctl
valorenet.ipv4.ip_forward = 1
per abilitare il routing. - Configura la proprietà appropriata per tutti i file di configurazione e autenticazione per eseguire il demone del server OpenVPN con un account non root.
- Imposta OpenVPN in modo che inizi con il file di configurazione appropriato.
- Configura il tuo firewall.
File di configurazione
Devi creare un file di configurazione del server in /etc/openvpn/server/
. Puoi iniziare da zero se lo desideri e OpenVPN include diversi file di configurazione di esempio da utilizzare come punto di partenza. Dai un'occhiata a /usr/share/doc/openvpn/sample/sample-config-files/
per vederli tutti.
Se vuoi creare un file di configurazione a mano, inizia con server.conf
o roadwarrior-server.conf
(a seconda dei casi) e posiziona il tuo file di configurazione in /etc/openvpn/server
. Entrambi i file sono ampiamente commentati, quindi leggi i commenti e decidi quale ha più senso per la tua situazione.
Puoi risparmiare tempo e fatica utilizzando i miei modelli di file di configurazione client e server predefiniti e sysctl
file per attivare il routing di rete. Questa configurazione include anche la personalizzazione per registrare connessioni e disconnessioni. Mantiene i log sul server OpenVPN in /etc/openvpn/server/logs
.
Se utilizzi i miei modelli, dovrai modificarli per utilizzare i tuoi indirizzi IP e nomi host.
Per utilizzare i miei modelli di configurazione, script e sysctl
predefiniti per attivare l'inoltro IP, scarica il mio script:
$ curl \
https://www.dgregscott.com/ovpn/OVPNdownloads.sh > \
OVPNdownloads.sh
Leggi lo script per avere un'idea di cosa fa. Ecco una rapida panoramica delle sue azioni:
- Crea le directory appropriate sul tuo server OpenVPN
- Scarica i modelli di file di configurazione di server e client dal mio sito web
- Scarica i miei script personalizzati e li inserisce nella directory corretta con i permessi corretti
- Scarica
99-ipforward.conf
e lo inserisce in/etc/sysctl.d
per attivare l'inoltro IP al prossimo avvio - Imposta la proprietà per tutto in
/etc/openvpn
Una volta che sei soddisfatto di aver capito cosa fa lo script, rendilo eseguibile ed eseguilo:
$ chmod +x OVPNdownloads.sh
$ sudo ./OVPNdownloads.sh
Ecco i file che copia (notare la proprietà del file):
$ ls -al -R /etc/openvpn
/etc/openvpn:
total 12
drwxr-xr-x. 4 openvpn openvpn 34 Apr 6 20:35 .
drwxr-xr-x. 139 root root 8192 Apr 6 20:35 ..
drwxr-xr-x. 2 openvpn openvpn 33 Apr 6 20:35 client
drwxr-xr-x. 4 openvpn openvpn 56 Apr 6 20:35 server
/etc/openvpn/client:
total 4
drwxr-xr-x. 2 openvpn openvpn 33 Apr 6 20:35 .
drwxr-xr-x. 4 openvpn openvpn 34 Apr 6 20:35 ..
-rw-r--r--. 1 openvpn openvpn 1764 Apr 6 20:35 OVPNclient2020.ovpn
/etc/openvpn/server:
total 4
drwxr-xr-x. 4 openvpn openvpn 56 Apr 6 20:35 .
drwxr-xr-x. 4 openvpn openvpn 34 Apr 6 20:35 ..
drwxr-xr-x. 2 openvpn openvpn 59 Apr 6 20:35 ccd
drwxr-xr-x. 2 openvpn openvpn 6 Apr 6 20:35 logs
-rw-r--r--. 1 openvpn openvpn 2588 Apr 6 20:35 OVPNserver2020.conf
/etc/openvpn/server/ccd:
total 8
drwxr-xr-x. 2 openvpn openvpn 59 Apr 6 20:35 .
drwxr-xr-x. 4 openvpn openvpn 56 Apr 6 20:35 ..
-rwxr-xr-x. 1 openvpn openvpn 917 Apr 6 20:35 client-connect.sh
-rwxr-xr-x. 1 openvpn openvpn 990 Apr 6 20:35 client-disconnect.sh
/etc/openvpn/server/logs:
total 0
drwxr-xr-x. 2 openvpn openvpn 6 Apr 6 20:35 .
drwxr-xr-x. 4 openvpn openvpn 56 Apr 6 20:35 ..
Ecco il 99-ipforward.conf
file:
# Turn on IP forwarding. OpenVPN servers need to do routing
net.ipv4.ip_forward = 1
Modifica OVPNserver2020.conf
e OVPNclient2020.ovpn
per includere i tuoi indirizzi IP. Inoltre, modifica OVPNserver2020.conf
per includere i nomi dei certificati del server precedenti. Successivamente, rinominerai e modificherai una copia di OVPNclient2020.ovpn
da utilizzare con i computer client. I blocchi che iniziano con ***?
mostrarti dove modificare.
Proprietà del file
Se hai utilizzato lo script automatico dal mio sito Web, la proprietà del file è già in atto. In caso contrario, devi assicurarti che il tuo sistema abbia un utente chiamato openvpn
questo è un membro di un gruppo chiamato openvpn
. Devi impostare la proprietà di tutto in /etc/openvpn
a quell'utente e gruppo. È sicuro farlo se non sei sicuro che l'utente e il gruppo esistano già perché useradd
rifiuterà di creare un utente con lo stesso nome di uno già esistente:
$ sudo useradd openvpn
$ sudo chown -R openvpn.openvpn /etc/openvpn
Firewall
Se hai deciso di non disabilitare il servizio firewalld nel passaggio 1, il servizio firewall del tuo server potrebbe non consentire il traffico VPN per impostazione predefinita. Usando il firewall-cmd
comando, puoi abilitare il servizio OpenVPN, che apre le porte necessarie e instrada il traffico secondo necessità:
$ sudo firewall-cmd --add-service openvpn --permanent
$ sudo firewall-cmd --reload
Non c'è bisogno di perdersi in un labirinto di iptables!
Avvia il tuo server
Ora puoi avviare il tuo server OpenVPN. In modo che si avvii automaticamente dopo un riavvio, usa enable
sottocomando di systemctl
:
systemctl enable --now [email protected]
Passaggi finali
Il quarto e ultimo articolo di questo articolo mostrerà come configurare i client per connettersi a OpenVPN da lontano.
Questo articolo è basato sul blog di D. Greg Scott e viene riutilizzato previa autorizzazione.