Come configurare un killswitch Linux per le VPN

A Linux killswitch is a must for any serious Linux VPN user. It guards your data against leaking to the internet by preventing anyone from accessing your data even if disconnected from the VPN. It also ensures that all information remains confidential regardless of what happens in between.

Per un cyber criminale, un kill switch è un incubo. È un ostacolo significativo che si frappone tra loro e il loro obiettivo. Se la connessione al tuo VPN si interrompe anche per un solo secondo perché il tuo computer o telefono si blocca, si spegne o tagli accidentalmente il cavo – fintanto che hai un kill switch abilitato – nessuno potrà accedere a quei dati.

Prerequisiti

Per seguire questa guida, avrai bisogno di:

  • Il file di configurazione per connetterti al tuo provider VPN. Questo articolo utilizza NordVPN come provider VPN.
  • A Ubuntu device with the OpenVPN client. The examples will use Ubuntu 20.04 and OpenVPN 2.5.3.

Installare il Firewall Semplice (UFW)

In questo tutorial, il kill switch di Linux dipende dalla configurazione del firewall. Per cominciare, inizia installando il Firewall Semplice (UFW) sul tuo dispositivo e configurando il firewall per agire come kill switch.

Prima di iniziare, assicurati che la tua distribuzione Linux sia aggiornata, altrimenti il firewall UFW potrebbe non funzionare come previsto. Ad esempio, potrebbe non caricare le impostazioni all’avvio o le regole aggiunte/rimosse potrebbero non essere caricate.

1. Esegui il comando sudo apt install ufw -y per installare il firewall.

Il firewall UFW è già installato di default sulla maggior parte delle distribuzioni Ubuntu, quindi potresti già avere UFW installato.

2. Avvia il servizio UFW con il comando sudo systemctl start ufw.

3. Verifica se l’installazione di UFW è stata completata con successo. Esegui il comando sudo systemctl status ufw, e se l’output mostra ctive (exited) in verde come mostrato di seguito, significa che l’installazione è andata a buon fine.

Verifying that UFW is installed and running

4. Avvia UFW con il comando sudo ufw enable. Premi Y e poi Invio quando ti viene chiesto se desideri Procedere con l’operazione (s|n)?

Enabling UFW on Ubuntu

Consenti l’accesso remoto ai protocolli

Ora che il firewall è installato, è necessario configurare UFW per consentire l’utilizzo dei protocolli desiderati con la VPN.

Inizia assicurandoti di non essere bloccato sul tuo client: potresti dover accedere tramite SSH se qualcosa va storto con la connessione OpenVPN. Se la connessione si interrompe e non riesci ad accedere tramite SSH, dovrai accedere fisicamente al dispositivo per poter rientrare.

1. Consenti le connessioni SSH con il comando sudo ufw allow ssh. Il firewall UFW legge le porte e il protocollo nel file /etc/services e apre le porte di conseguenza. Puoi verificare l’output del comando di seguito.

Allowing SSH Connections on Ubuntu

È altamente consigliato aggiungere un ulteriore livello di sicurezza richiedendo agli utenti di autenticarsi con una chiave SSH durante la connessione tramite OpenVPN. Questa procedura proteggerà contro attacchi di forza bruta e connessioni non autorizzate.

2. Successivamente, dovrai aggiungere regole per consentire il protocollo VNC consentendo il traffico sulle porte corrispondenti.

Per quanto riguarda il protocollo VNC, è opzionale. VNC consente l’accesso remoto, simile a SSH. VNC fornisce una console grafica, mentre SSH consente solo una console di testo. Consenti il traffico VNC con il comando sudo ufw allow 5901:5910/tcp.

Questi comandi restituiranno un output come quello di seguito.

Allowing remote access protocols on Ubuntu with UFW

3. Una volta aggiunte le regole, assicurati che siano applicate correttamente. Il comando sudo ufw show added elencherà tutte le regole aggiunte, come puoi vedere di seguito.

Checking UFW existing rules

Configurazione del VPN Kill Switch

In questa sezione, imparerai come configurare il vero kill switch utilizzando il firewall UFW. Per iniziare, esegui i seguenti due comandi.

  • sudo ufw default deny outgoing
  • sudo ufw default deny incoming

Il comando ufw default deny blocca tutto il traffico in uscita/entrata verso/dal tuo computer, a parte la connessione SSH esplicitamente consentita e i protocolli remoti che hai configurato nelle sezioni precedenti. Puoi vedere il risultato dei comandi nella schermata sottostante.

Blocking traffic with UFW

Successivamente, aggiungi un’eccezione al set di regole UFW in modo che il tuo computer possa connettersi al server VPN: avrai bisogno del tuo file di configurazione del server VPN. In questo tutorial, il file OpenVPN è chiamato ata.ovpn e scaricato dal sito di NordVPN.

Il nome del tuo file di configurazione OpenVPN potrebbe essere diverso. Questo tutorial utilizza la convenzione di denominazione “ata”, ma sentiti libero di chiamarlo come preferisci!

Successivamente, guarda all’interno del file di configurazione OpenVPN ata.opvn con il comando sudo head /etc/ata.ovpn. L’output risultante include informazioni come la porta, il protocollo e l’indirizzo IP del server VPN a cui ti connetti, con NordVPN mostrato come esempio di seguito.

Per creare il comando UFW corretto, prendi nota delle informazioni sulla porta, il protocollo e l’indirizzo IP pubblico estratto dal file di configurazione.

Opening an OpenVPN config file, the above example is for NordVPN.

Successivamente, crea il comando ufw allow out come segue: sudo ufw allow out to 69.28.83.134 porta 1194 proto udp. Come puoi vedere, l’indirizzo IP e la porta utilizzati provengono dalla linea di configurazione che inizia con remote e il protocollo dalla linea che inizia con proto.

In questo esempio viene utilizzato NordVPN come provider VPN. Per NordVPN la porta UDP 1194 deve essere aperta. Se, ad esempio, utilizzi Express VPN, la porta UDP 1195 deve essere aperta, non la porta 1194. Ogni provider VPN può avere porte UDP uniche.

Creazione di un’eccezione per il firewall per OpenVPN

Naturalmente, per una corretta usabilità, è necessario consentire OpenVPN attraverso il firewall. Fino a questo punto, hai bloccato tutto il traffico in entrata e in uscita ad eccezione di alcune porte.

Per iniziare, devi trovare il nome dell’interfaccia di rete utilizzata dal client OpenVPN. Esegui il comando ifconfig per elencare tutti i nomi delle interfacce di rete configurate, come mostrato di seguito.

Listing network interface names on Ubuntu.

Notare l’interfaccia di rete con il nome tun0 nell’elenco risultante. L’interfaccia tun0 è l’interfaccia VPN attraverso la quale viene instradato tutto il traffico in entrata e in uscita ed è l’interfaccia da consentire. È un’interfaccia virtuale aggiunta all’avvio, il che significa semplicemente che non è una connessione fisica. Questa interfaccia è quella predefinita in OpenVPN.

Aggiungi un’eccezione al firewall per l’interfaccia del tunnel VPN che hai trovato con ifconfig per instradare tutto il traffico attraverso di essa. Altrimenti, non ci sarà alcun accesso a Internet e il tuo kill switch non funzionerà. Esegui il comando seguente per aggiungere un’eccezione per il traffico OpenVPN sull’interfaccia tun0.

sudo ufw allow out on tun0 from any to any
Allowing outgoing traffic on the tun0 interface.

Alcune applicazioni, come l’accesso a un’applicazione di chat vocale durante la riproduzione di giochi, richiedono connessioni in entrata attraverso la VPN. Per consentire le connessioni in entrata, esegui il seguente comando:

sudo ufw allow in on tun0 from any to any
Allowing ingoing traffic to tun0 interface

Configurazione del client OpenVPN

In questa sezione finale, configurerai il client OpenVPN per eseguirsi come servizio utilizzando la configurazione che hai creato in precedenza.

Inizia rinominando il tuo file ata.opvn in **(il nome del file potrebbe essere diverso) ata.conf. Per eseguire il client OpenVPN come servizio di sistema in background, il nome del file deve avere l’estensione *.conf. Inoltre, sposterai il file nella directory /etc/openvpn.

Sposta il file di configurazione con il comando sudo mv /root/ata.ovpn /etc/openvpn/ata.conf.

Moving and renaming the OpenVPN configuration file.

Ora, cambia la directory in /etc/openvpn e verifica che il file sia presente.

cd /etc/openvpn
ls
Showing files in the /etc/openvpn directory

Con il file di configurazione nella directory /etc/openvpn, avvia il servizio client OpenVPN con il comando systemctl. Per avviare il servizio, esegui: sudo systemctl start [email protected].

La parte “ata” del nome del client OpenVPN deriva dal nome del file di configurazione utilizzato. Il tuo potrebbe essere diverso in base al nome del file.

Starting the OpenVPN service.

Per verificare che il servizio OpenVPN sia in esecuzione, utilizza il comando systemctl status come mostrato di seguito.

sudo systemctl status [email protected]

Come mostrato di seguito, viene visualizzato lo stato verde attivo (in esecuzione) del servizio OpenVPN.

Checking the OpenVPN service status.

Infine, devi configurare il tuo dispositivo per connettersi automaticamente al servizio VPN. La connessione automatica alla VPN garantisce che OpenVPN sia sempre in esecuzione, anche se riavvii il tuo computer.

Esegui il comando sudo systemctl enable [email protected], da adesso in poi, una volta che il servizio OpenVPN si avvia, si connetterà automaticamente al dispositivo alla VPN.

Enable the OpenVPN service.

Conclusione

Questo articolo ti ha mostrato tutti i passaggi necessari per configurare un killswitch Linux per la tua connessione VPN. Un kill switch disconnette la connessione di rete dal tuo computer se la connessione cade inaspettatamente, prevenendo perdite di dati e garantendoti sicurezza online.

Source:
https://adamtheautomator.com/linux-killswitch/