Vai al contenuto
Avanet

Configurare Sophos Firewall Remote Access su Linux

Per Sophos Firewall Remote Access su Linux, la soluzione più semplice è usare SSL VPN con il normale client OpenVPN. Sophos Connect non è disponibile per Linux. Il file .ovpn viene scaricato dal VPN Portal e usato dal terminale oppure tramite NetworkManager.

L’alternativa IPsec spesso citata in precedenza con NetworkManager-strongSwan non è adatta all’attuale configurazione di Sophos Firewall: in SFOS 22, Remote access VPN > IPsec accetta solo profili IKEv1, mentre il plugin NetworkManager-strongSwan supporta esclusivamente IKEv2.

⚠️ Non installare un «Sophos Connect per Linux» non ufficiale e non convertire il profilo Remote Access di SFOS a IKEv2 per seguire questa guida. Il seguente metodo OpenVPN è il percorso Linux documentato da Sophos.

Per altri dispositivi sono disponibili guide dedicate: Sophos Connect su Windows e Sophos Connect su macOS, oltre a SSL VPN su iPhone e iPad e SSL VPN su Android.

Prerequisiti

  • Su Sophos Firewall è configurata una policy Remote Access SSL VPN in Remote access VPN > SSL VPN.
  • L’utente o il suo gruppo è assegnato a questa policy.
  • Una regola firewall adatta consente il traffico necessario dalla zona VPN.
  • In Administration > Device access, VPN portal è consentito per la zona necessaria. Per l’accesso da Internet si tratta della zona WAN; poiché aumenta l’esposizione, va abilitato solo se necessario e protetto dai tentativi di accesso ripetuti.
  • L’utente può raggiungere il VPN Portal ed effettuare l’accesso. La porta predefinita è 443; quella effettivamente configurata è visibile in Administration > Admin and user settings.
  • Sul sistema Linux sono disponibili diritti sudo locali per installare i pacchetti e avviare OpenVPN.
  • Se l’MFA è attiva, l’accesso funziona includendo il codice di verifica.

La configurazione lato firewall è descritta in Configurare Sophos Firewall SSL VPN Remote Access. Se in seguito il file .ovpn non è disponibile nel VPN Portal, è di 0 byte o contiene solo un messaggio di errore, Sophos Firewall: file .ovpn assente o da 0 byte guida la verifica di policy, utente, certificato e sistema.

Configurare SSL VPN con OpenVPN

1. Installare OpenVPN

I comandi seguenti si eseguono in un terminale locale Debian o Ubuntu. La prima interrogazione è di sola lettura, non richiede privilegi elevati e mostra se il pacchetto era già installato. Annotare questo stato iniziale prima della modifica:

dpkg-query -W -f='${Status}\n' openvpn 2>/dev/null

L’output install ok installed indica che OpenVPN è già presente. Nessun output significa in genere che il pacchetto è assente. apt installa quindi il client e le eventuali dipendenze dai repository configurati; servono privilegi sudo locali e metadati dei pacchetti aggiornati:

sudo apt install openvpn

Come utente normale, openvpn --version verifica che il programma sia richiamabile. La prima riga deve indicare la versione OpenVPN installata:

openvpn --version

Se il pacchetto prima era assente, il rollback diretto è sudo apt remove openvpn. Il comando rimuove il pacchetto ma normalmente conserva i file di configurazione; prima occorre disconnettere qualsiasi tunnel attivo e controllare lo stato iniziale annotato. Se OpenVPN era già installato, non c’è nulla da ripristinare. Ripetere la query dpkg-query, di sola lettura, per convalidare la rimozione.

Anche altre distribuzioni forniscono il pacchetto tramite il proprio gestore; verificare nome e sintassi nella relativa documentazione. Per la gestione grafica in GNOME si può installare anche il plugin NetworkManager-OpenVPN. Annotare prima lo stato precedente con dpkg-query -W -f='${Status}\n' network-manager-openvpn-gnome 2>/dev/null. Il comando Debian/Ubuntu seguente richiede sudo e installa il plugin e le dipendenze mancanti:

sudo apt install network-manager-openvpn-gnome

Dopo l’installazione, dpkg-query -W -f='${Status}\n' network-manager-openvpn-gnome deve restituire install ok installed; può essere necessario terminare e riaprire la sessione prima che l’interfaccia grafica proponga il plugin. Se prima era assente, sudo apt remove network-manager-openvpn-gnome lo rimuove. Disconnettere prima qualsiasi VPN gestita da NetworkManager, quindi ripetere la query di sola lettura per confermare il precedente stato assente. Questo plugin non va confuso con network-manager-strongswan: importa il file .ovpn e usa OpenVPN.

2. Scaricare la configurazione OpenVPN

  1. Aprire nel browser il VPN Portal di Sophos Firewall.
  2. Accedere con l’utente VPN.
  3. In VPN > VPN configuration, fare clic su Download configuration for Windows, macOS, Linux.
  4. Scaricare il file .ovpn e conservarlo in modo sicuro.

Il file può contenere certificati incorporati, una chiave privata e dati di connessione specifici dell’utente. Non deve essere distribuito tramite e-mail non cifrate o archivi pubblici. Se viene compromesso, un amministratore deve revocarlo o sostituire le credenziali interessate; eliminare la copia locale non è sufficiente.

3. Avviare la connessione dal terminale

I comandi successivi si eseguono in un terminale Linux locale. Sostituire <linux-user> con il nome dell’utente locale e adattare il percorso al file scaricato. stat legge prima, senza privilegi elevati, la modalità numerica corrente del file. Annotare il valore per poter annullare la modifica dei permessi:

stat -c '%a %n' "/home/<linux-user>/Downloads/sophos-vpn.ovpn"
chmod 600 "/home/<linux-user>/Downloads/sophos-vpn.ovpn"
stat -c '%a %n' "/home/<linux-user>/Downloads/sophos-vpn.ovpn"

chmod 600 concede lettura e scrittura solo al proprietario; la seconda query deve mostrare 600. Non serve sudo se l’utente connesso possiede il file. Per il rollback eseguire chmod <modalità-precedente> "/home/<linux-user>/Downloads/sophos-vpn.ovpn", sostituendo <modalità-precedente> con il valore annotato, e verificare con stat. Ripristinare permessi più ampi solo se sono intenzionalmente necessari.

Il comando seguente avvia OpenVPN con privilegi elevati, perché il client crea un’interfaccia tunnel e route temporanee. In Linux il processo OpenVPN avviato direttamente non applica da solo i server DNS ricevuti; il profilo richiede uno script up/down adatto o un’integrazione di sistema. NetworkManager può fornire questa integrazione DNS:

sudo openvpn --config "/home/<linux-user>/Downloads/sophos-vpn.ovpn"

OpenVPN chiede prima la password sudo locale e poi le credenziali VPN. Con l’MFA occorre usare il formato indicato dall’amministratore; a seconda dell’autenticazione, il codice monouso viene unito alla password oppure richiesto separatamente. Il messaggio Initialization Sequence Completed e la presenza di un’interfaccia tunnel sono i criteri di riuscita. La connessione resta in primo piano. Ctrl+C arresta OpenVPN ed è anche il rollback: il client rimuove l’interfaccia tunnel temporanea e le route installate; qualsiasi integrazione DNS effettivamente configurata deve ripristinare anche i propri valori DNS temporanei. Usare poi i controlli seguenti per confermare che interfaccia e route VPN siano scomparse e che sia tornata la normale risoluzione dei nomi.

4. Importare la connessione in NetworkManager

  1. Aprire le impostazioni di rete.
  2. Aggiungere una nuova connessione VPN e scegliere Import from file.
  3. Selezionare il file .ovpn scaricato.
  4. Salvare il nome utente, se appropriato per il modello operativo.
  5. Avviare la connessione e inserire le credenziali VPN nel formato MFA indicato dall’amministratore.

L’importazione crea un profilo di connessione NetworkManager separato e può copiare le chiavi o i certificati incorporati nel file. Eliminare il file .ovpn scaricato non rimuove quindi il profilo importato. Non salvare la password nel profilo, a meno che il modello operativo non preveda esplicitamente un archivio protetto. Per il rollback, disconnettere la VPN, eliminare il profilo importato nelle impostazioni di rete e verificare che non compaia più nell’elenco delle connessioni.

Nell’uso quotidiano, NetworkManager è più pratico rispetto a un terminale sempre aperto. Tuttavia, con un accesso interattivo o l’MFA, un avvio automatico non presidiato non è possibile senza ulteriori accorgimenti. Le credenziali non devono essere salvate in un file non protetto solo per ottenere l’avvio automatico.

Perché NetworkManager-strongSwan non è adatto

In SFOS 22, Sophos consente per Remote access VPN > IPsec solo profili IKEv1 nei quali Dead Peer Detection è disattivato o impostato su Disconnect. Il plugin NetworkManager-strongSwan stabilisce invece solo connessioni IKEv2. Per questo motivo i due endpoint non possono negoziare un tunnel con la procedura descritta in precedenza.

Il software strongSwan continua ad avere funzionalità IKEv1, ma non si tratta dello stesso percorso grafico del plugin NetworkManager. Una configurazione IKEv1 manuale richiede parametri, autenticazione, Traffic Selector e una configurazione client testata adeguati. Senza una configurazione di destinazione affidabile, non si dovrebbe adottare un esempio generico trovato su Internet.

Sophos indica come possibilità per IPsec su Linux un client di terze parti compatibile. Il file .tgb esportato, tuttavia, non contiene tutte le impostazioni avanzate della configurazione Sophos Connect e non può essere importato semplicemente come profilo IKEv2 in NetworkManager. Se IPsec è indispensabile, il client scelto deve supportare esplicitamente la connessione IKEv1 del firewall ed essere testato nel proprio ambiente. Per la scelta di base è utile Sophos Connect o SSL VPN: quale soluzione Remote Access è adatta?.

Verificare la connessione

Dopo aver stabilito la connessione, non basta controllare lo stato del client. È essenziale verificare che route, DNS e regola firewall siano adatti alla destinazione desiderata.

Questi comandi si eseguono come utente normale in un terminale Linux locale e sono di sola lettura; non richiedono sudo né rollback. Sostituire l’indirizzo privato di esempio 10.20.30.40 con una destinazione interna consentita e il nome riservato intranet.example.net con un FQDN interno che il DNS VPN deve risolvere:

ip addr show
ip route get 10.20.30.40
getent hosts intranet.example.net

Risultati attesi:

  • OpenVPN segnala una connessione riuscita ed è presente un’interfaccia tunnel.
  • Il controllo della route mostra per la destinazione interna il percorso VPN invece del normale gateway Internet.
  • Il controllo DNS restituisce l’indirizzo interno se i server DNS interni sono stati distribuiti e integrati dal client Linux scelto.
  • Un servizio interno consentito è raggiungibile; una destinazione intenzionalmente non consentita rimane bloccata.
  • Nel Log Viewer del firewall compare il traffico di test proveniente dalla zona VPN con la regola prevista.
  • Dopo un nuovo accesso, l’autenticazione richiede nuovamente la verifica MFA prevista.

Se il tunnel è attivo ma il traffico non passa, è utile Testare una regola firewall con Log Viewer, Policy Test e Packet Capture.

Errori comuni

  • Nessuna configurazione Linux nel VPN Portal: l’utente o il gruppo non è assegnato a una policy Remote Access SSL VPN. Verificare la policy e l’accesso al portale.
  • OpenVPN segnala un errore di autenticazione: verificare nome utente, password, procedura MFA, appartenenza al gruppo e metodo di autenticazione selezionato.
  • Il tunnel è attivo, ma le destinazioni interne restano irraggiungibili: verificare le reti consentite dalla policy SSL VPN, la regola firewall da VPN alla zona di destinazione e la route verso la rete interna.
  • La route VPN manca o punta al Wi-Fi locale: la rete di lease SSL VPN e le destinazioni interne non devono sovrapporsi alle reti locali o alle comuni sottoreti domestiche. Verificare gli intervalli in SSL VPN global settings; dopo la correzione disconnettere e riconnettere il tunnel.
  • Gli indirizzi IP funzionano, ma i nomi interni no: controllare i server DNS distribuiti, il dominio di ricerca e la raggiungibilità del server DNS interno.
  • Il Full Tunnel si connette, ma Internet non è raggiungibile: con Use as default gateway, controllare anche la regola firewall da VPN a Internet, le policy di protezione necessarie e una regola SNAT/masquerading per ##ALL_SSLVPN_RW o ##ALL_SSLVPN_RW6.
  • Terminale chiuso e connessione persa: è normale con l’esecuzione diretta di openvpn --config. Per la gestione grafica, importare il file .ovpn in NetworkManager.
  • NetworkManager non offre l’importazione di file: manca il plugin NetworkManager-OpenVPN oppure il servizio NetworkManager non ha ancora caricato il plugin appena installato.
  • Il vecchio file .ovpn non funziona più: scaricare nuovamente il file dopo modifiche al protocollo SSL VPN, al certificato server SSL o alla CA, a Override hostname oppure alla porta SSL VPN.
  • NetworkManager-strongSwan non si connette: non passare a IKEv2. Il plugin non è compatibile con il profilo Remote Access IKEv1 di Sophos Firewall.
  • È stato trovato un presunto client Sophos Connect per Linux: non installarlo senza verifica. Sophos non fornisce un client Linux ufficiale.

FAQ

Esiste un client Sophos Connect ufficiale per Linux?

No. Sophos Connect è disponibile per Windows e macOS. Su Linux, SSL VPN con un client OpenVPN è il percorso documentato da Sophos.

Quale file bisogna scaricare dal VPN Portal per Linux?

In VPN > VPN configuration, usare Download configuration for Windows, macOS, Linux. Il file .ovpn compare solo se all’utente è assegnata una policy Remote Access SSL VPN.

Perché la connessione VPN si interrompe quando si chiude il terminale?

L’esecuzione diretta di sudo openvpn --config avviene in primo piano nel terminale. Per una connessione gestita graficamente, il file .ovpn può essere importato in NetworkManager.

È possibile usare NetworkManager per Sophos Firewall Remote Access?

Sì, con il plugin NetworkManager-OpenVPN e il file .ovpn. Il plugin NetworkManager-strongSwan, invece, supporta solo IKEv2 e non è adatto al profilo Remote Access IPsec IKEv1 di SFOS 22.

Il file .ovpn deve essere scaricato nuovamente dopo una modifica al firewall?

Sì, se sono cambiati il protocollo SSL VPN, il certificato server SSL o la CA, Override hostname oppure la porta SSL VPN. Un file precedente può continuare a contenere parametri di connessione obsoleti.