Hoppa till innehållet
Avanet

Konfigurera Sophos Firewall Remote Access i Linux

För Sophos Firewall Remote Access i Linux är det enklast att använda SSL VPN med den vanliga OpenVPN-klienten. Sophos Connect finns inte för Linux. .ovpn-filen laddas ner i VPN Portal och används antingen i terminalen eller via NetworkManager.

Det tidigare ofta nämnda IPsec-alternativet med NetworkManager-strongSwan passar inte med den aktuella Sophos Firewall-konfigurationen: Remote access VPN > IPsec accepterar endast IKEv1-profiler i SFOS 22, medan NetworkManager-strongSwan-pluginet enbart stöder IKEv2.

⚠️ Installera inte någon inofficiell ”Sophos Connect för Linux” och ändra inte SFOS Remote Access-profilen till IKEv2 för den här instruktionens skull. OpenVPN-vägen nedan är den Linux-metod som Sophos dokumenterar.

Det finns separata instruktioner för andra enheter: Sophos Connect i Windows och Sophos Connect i macOS samt SSL VPN på iPhone och iPad och SSL VPN på Android.

Förutsättningar

  • En Remote Access SSL VPN-policy är konfigurerad under Remote access VPN > SSL VPN på Sophos Firewall.
  • Användaren eller användarens grupp är tilldelad den här policyn.
  • En lämplig brandväggsregel tillåter den trafik som behövs från zonen VPN.
  • Under Administration > Device access är VPN portal tillåten för den zon som behövs. För åtkomst från internet är det zonen WAN; eftersom detta ökar exponeringen bör åtkomsten bara tillåtas när den behövs och skyddas mot upprepade inloggningsförsök.
  • Användaren når VPN Portal och kan logga in. Standardporten är 443; den faktiskt konfigurerade porten visas under Administration > Admin and user settings.
  • Det finns lokala sudo-rättigheter på Linux-systemet för paketinstallation och start av OpenVPN.
  • Om MFA är aktiverat fungerar inloggningen inklusive verifieringskoden.

Konfigurationen på brandväggen beskrivs i Konfigurera Sophos Firewall SSL VPN Remote Access. Om .ovpn-filen senare saknas i VPN Portal, är 0 byte eller endast innehåller ett felmeddelande leder Sophos Firewall: .ovpn saknas eller är 0 byte genom kontrollen av policy, användare, certifikat och system.

Konfigurera SSL VPN med OpenVPN

1. Installera OpenVPN

Följande paketkommandon körs i en lokal Debian- eller Ubuntu-terminal. Den första skrivskyddade frågan kräver inga utökade rättigheter och visar om paketet redan var installerat. Anteckna detta utgångsläge före ändringen:

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

Utdata install ok installed betyder att OpenVPN redan finns. Ingen utdata betyder i regel att paketet saknas. apt installerar sedan klienten och nödvändiga beroenden från de konfigurerade paketkällorna; detta kräver lokala sudo-rättigheter och aktuell paketmetadata:

sudo apt install openvpn

Som vanlig användare kontrollerar openvpn --version därefter att programmet kan köras. Den första raden ska ange den installerade OpenVPN-versionen:

openvpn --version

Om paketet saknades tidigare är den direkta återställningen sudo apt remove openvpn. Kommandot tar bort paketet men lämnar normalt konfigurationsfiler; koppla därför först från en aktiv tunnel och kontrollera det antecknade utgångsläget. Om OpenVPN redan var installerat finns inget att återställa. Upprepa den skrivskyddade dpkg-query-kontrollen för att verifiera borttagningen.

Andra distributioner tillhandahåller också paketet via sin pakethanterare; kontrollera paketnamn och syntax i distributionsdokumentationen. För grafisk hantering i GNOME kan NetworkManagers OpenVPN-plugin installeras som tillägg. Anteckna först dess tidigare paketstatus med dpkg-query -W -f='${Status}\n' network-manager-openvpn-gnome 2>/dev/null. Följande Debian-/Ubuntu-kommando kräver sudo och installerar pluginet och saknade beroenden:

sudo apt install network-manager-openvpn-gnome

Efter installationen ska dpkg-query -W -f='${Status}\n' network-manager-openvpn-gnome visa install ok installed; en ny inloggning kan behövas innan det grafiska gränssnittet erbjuder pluginet. Om det saknades tidigare tar sudo apt remove network-manager-openvpn-gnome bort det igen. Koppla först från en VPN som hanteras av NetworkManager och upprepa sedan den skrivskyddade frågan för att bekräfta det tidigare frånvarande läget. Det här pluginet ska inte förväxlas med network-manager-strongswan: det importerar .ovpn-filen och använder OpenVPN.

2. Ladda ner OpenVPN-konfigurationen

  1. Öppna Sophos Firewalls VPN Portal i webbläsaren.
  2. Logga in med VPN-användaren.
  3. Klicka på Download configuration for Windows, macOS, Linux under VPN > VPN configuration.
  4. Ladda ner .ovpn-filen och spara den på ett säkert ställe.

Filen kan innehålla inbäddade certifikat, en privat nyckel och användarspecifika anslutningsuppgifter. Den bör inte distribueras via okrypterad e-post eller offentliga lagringsplatser. Om den röjs måste en administratör återkalla den eller ersätta berörda autentiseringsuppgifter; det räcker inte att radera den lokala kopian.

3. Starta anslutningen i terminalen

Följande kommandon körs i en lokal Linux-terminal. Ersätt <linux-user> med det lokala användarnamnet och anpassa sökvägen till den nedladdade filen. Först läser stat den aktuella numeriska filbehörigheten utan utökade rättigheter. Anteckna värdet så att behörighetsändringen kan återställas:

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 ger endast filägaren läs- och skrivrättigheter; den andra kontrollen ska visa läget 600. sudo behövs inte om den inloggade användaren äger filen. Kör chmod <tidigare-läge> "/home/<linux-user>/Downloads/sophos-vpn.ovpn" för att återställa, ersätt <tidigare-läge> med det antecknade värdet och verifiera med stat. Återställ bara bredare rättigheter om de medvetet behövs.

Följande kommando startar sedan OpenVPN med utökade rättigheter eftersom klienten skapar ett tunnelgränssnitt och tillfälliga rutter. I Linux tillämpar den direktstartade OpenVPN-processen inte erbjudna DNS-servrar på egen hand; profilen behöver ett lämpligt up/down-skript eller en systemintegration. NetworkManager kan tillhandahålla denna DNS-integration:

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

OpenVPN frågar först efter det lokala sudo-lösenordet och därefter efter VPN-inloggningsuppgifterna. Vid MFA ska det format som administratören anger användas; beroende på autentisering kombineras engångskoden med lösenordet eller efterfrågas separat. Meddelandet Initialization Sequence Completed och ett befintligt tunnelgränssnitt är framgångskriterierna. Anslutningen körs i förgrunden. Ctrl+C stoppar OpenVPN och är även återställningen: klienten tar bort det tillfälliga tunnelgränssnittet och rutterna som den installerade; varje DNS-integration som faktiskt konfigurerats måste också återställa sina tillfälliga DNS-värden. Använd sedan kontrollerna nedan för att bekräfta att tunnelgränssnittet och VPN-rutten har försvunnit och att normal namnuppslagning gäller igen.

4. Importera anslutningen i NetworkManager

  1. Öppna nätverksinställningarna.
  2. Lägg till en ny VPN-anslutning och välj Import from file.
  3. Välj den nedladdade .ovpn-filen.
  4. Spara användarnamnet om det passar driftmodellen.
  5. Starta anslutningen och ange VPN-inloggningsuppgifterna i det MFA-format som administratören har angett.

Importen skapar en separat NetworkManager-anslutningsprofil och kan kopiera inbäddade nycklar eller certifikat från filen. Att radera den nedladdade .ovpn-filen tar därför inte bort den importerade profilen. Spara inte lösenordet i profilen om driftmodellen inte uttryckligen tillhandahåller skyddad lagring. För att återställa kopplar man från VPN-anslutningen, tar bort den importerade profilen i nätverksinställningarna och bekräftar att den inte längre visas i anslutningslistan.

NetworkManager är bekvämare i vardagen än en terminal som måste vara permanent öppen. Oövervakad automatisk start är dock inte automatiskt möjlig med interaktiv inloggning eller MFA. Inloggningsuppgifter bör inte lagras i en oskyddad fil enbart för automatisk start.

Varför NetworkManager-strongSwan inte passar här

Sophos tillåter endast IKEv1-profiler för Remote access VPN > IPsec i SFOS 22, där Dead Peer Detection är avstängt eller inställt på Disconnect. NetworkManager-strongSwan-pluginet upprättar däremot endast IKEv2-anslutningar. Med det tidigare beskrivna förfarandet kan de båda ändarna därför inte förhandla fram en tunnel.

Själva strongSwan-programvaran har fortfarande IKEv1-funktioner, men det är inte samma GUI-väg som NetworkManager-pluginet. En manuell IKEv1-konfiguration kräver passande parametrar, autentisering, Traffic Selectors och en testad klientkonfiguration. Utan en tillförlitlig målkonfiguration bör man inte använda ett generiskt exempel från internet.

Sophos anger en kompatibel tredjepartsklient som ett alternativ för IPsec i Linux. Den exporterade .tgb-filen innehåller dock inte alla avancerade inställningar i Sophos Connect-konfigurationen och kan inte enkelt importeras som en IKEv2-profil i NetworkManager. Om IPsec är ett krav måste den valda klienten uttryckligen stödja brandväggens IKEv1-konfiguration och testas i den egna miljön. För det grundläggande valet finns Sophos Connect eller SSL VPN: vilken Remote Access-lösning passar?.

Kontrollera anslutningen

Efter att anslutningen har upprättats bör man inte bara kontrollera klientstatusen. Det avgörande är om routningen, DNS och brandväggsregeln passar det önskade målet.

De här kommandona körs som vanlig användare i en lokal Linux-terminal och är skrivskyddade; de kräver varken sudo eller återställning. Ersätt den privata exempeladressen 10.20.30.40 med ett tillåtet internt mål och det reserverade exempelnamnet intranet.example.net med ett internt FQDN som VPN-DNS ska slå upp:

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

Förväntade resultat:

  • OpenVPN rapporterar att anslutningen lyckades och det finns ett tunnelgränssnitt.
  • Routningskontrollen visar VPN-vägen för det interna målet i stället för den vanliga internetgatewayen.
  • DNS-kontrollen returnerar den interna adressen om interna DNS-servrar har distribuerats och integrerats av den valda Linux-klienten.
  • En tillåten intern tjänst är nåbar, medan ett avsiktligt otillåtet mål förblir blockerat.
  • I brandväggens Log Viewer visas testtrafiken från zonen VPN med den förväntade regeln.
  • Efter en ny inloggning kräver autentiseringen åter den avsedda MFA-verifieringen.

Om tunneln är upprättad men ingen trafik passerar hjälper Testa brandväggsregler med Log Viewer, Policy Test och Packet Capture.

Vanliga fel

  • Ingen Linux-konfiguration i VPN Portal: användaren eller gruppen är inte tilldelad en Remote Access SSL VPN-policy. Kontrollera policyn och inloggningen i portalen.
  • OpenVPN rapporterar ett autentiseringsfel: kontrollera användarnamn, lösenord, MFA-förlopp, gruppmedlemskap och vald autentiseringsmetod.
  • Tunneln är upprättad men interna mål är fortfarande onåbara: kontrollera de tillåtna nätverken i SSL VPN-policyn, brandväggsregeln från VPN till målzonen och routningen till det interna nätverket.
  • VPN-rutten saknas eller pekar mot lokalt wifi: SSL VPN-leasenätet och interna mål får inte överlappa lokala nät eller vanliga hemnät. Kontrollera adressintervallen i SSL VPN global settings och koppla från och återanslut tunneln efter en korrigering.
  • IP-adresser fungerar men inte interna namn: kontrollera distribuerade DNS-servrar, sökdomän och om den interna DNS-servern är nåbar.
  • Full Tunnel ansluter men internetåtkomsten försvinner: kontrollera vid Use as default gateway även brandväggsregeln från VPN till internet, nödvändiga skyddspolicyer och en SNAT-/masqueradingregel för ##ALL_SSLVPN_RW eller ##ALL_SSLVPN_RW6.
  • Terminalen stängdes och anslutningen förlorades: det är normalt vid ett direkt anrop av openvpn --config. Importera .ovpn-filen i NetworkManager för grafisk hantering.
  • NetworkManager erbjuder ingen filimport: NetworkManagers OpenVPN-plugin saknas eller så har NetworkManager-tjänsten ännu inte läst in det nyinstallerade pluginet.
  • Den gamla .ovpn-filen fungerar inte längre: ladda ner filen igen efter ändringar av SSL VPN-protokollet, SSL-servercertifikatet eller CA:n, Override hostname eller SSL VPN-porten.
  • NetworkManager-strongSwan ansluter inte: byt inte till IKEv2. Pluginet är inte kompatibelt med Sophos Firewalls IKEv1-profil för Remote Access.
  • En påstådd Sophos Connect-klient för Linux har hittats: installera den inte utan granskning. Sophos tillhandahåller ingen officiell Linux-klient.

FAQ

Finns det en officiell Sophos Connect-klient för Linux?

Nej. Sophos Connect finns för Windows och macOS. I Linux är SSL VPN med en OpenVPN-klient den väg som Sophos dokumenterar.

Vilken fil måste man ladda ner i VPN Portal för Linux?

Under VPN > VPN configuration använder man Download configuration for Windows, macOS, Linux. .ovpn-filen visas bara om användaren är tilldelad en Remote Access SSL VPN-policy.

Varför bryts VPN-anslutningen när terminalen stängs?

Det direkta anropet sudo openvpn --config körs i terminalens förgrund. För en grafiskt hanterad anslutning kan .ovpn-filen importeras i NetworkManager.

Kan NetworkManager användas för Sophos Firewall Remote Access?

Ja, med NetworkManagers OpenVPN-plugin och .ovpn-filen. NetworkManager-strongSwan-pluginet stöder däremot endast IKEv2 och passar inte med IKEv1-profilen för Remote Access IPsec i SFOS 22.

Måste .ovpn-filen laddas ner igen efter en brandväggsändring?

Ja, om SSL VPN-protokollet, SSL-servercertifikatet eller CA:n, Override hostname eller SSL VPN-porten har ändrats. En gammal fil kan annars fortfarande innehålla inaktuella anslutningsparametrar.