Konfiguracja Sophos Firewall Remote Access w systemie Linux
Dla Windows i macOS istnieje z Sophos Connect własny klient dla IPsec i SSL VPN. Dla Linuksa Sophos nie oferuje własnego klienta Sophos Connect. Kto chce połączyć się z Sophos Firewall Remote Access w systemie Linux, korzysta zamiast tego ze standardowych narzędzi: zwykłego klienta OpenVPN dla SSL VPN lub NetworkManager z wtyczką strongSwan dla IPsec.
Ten artykuł opisuje obie drogi i wskazuje, kiedy która ścieżka ma sens. Do podstawowej decyzji między IPsec a SSL VPN pasuje najpierw Sophos Connect czy SSL VPN: które rozwiązanie Remote Access pasuje?. Dla konfiguracji SSL VPN Remote Access po stronie firewalla właściwą podstawą jest Konfiguracja Sophos Firewall SSL VPN Remote Access.
Klasyfikacja wobec innych klientów
- Windows lub macOS z Sophos Connect: Instalacja klienta Sophos Connect w Windows lub Instalacja klienta Sophos Connect w macOS.
- iOS lub Android z OpenVPN Connect: Konfiguracja Sophos SSL VPN na iPhone i iPad lub Konfiguracja Sophos SSL VPN w Android.
- Linux z OpenVPN lub NetworkManager-strongSwan: ten artykuł.
Linux nie jest przez to negatywnym przypadkiem szczególnym, tylko podąża za tym samym wzorcem co platformy mobilne: zamiast klienta producenta stosowane są uznane narzędzia standardowe, które pracują z plikiem konfiguracyjnym udostępnianym przez firewall.
Wymagania wstępne
- Sophos Firewall ze skonfigurowanym SSL-VPN-Remote-Access lub IPsec-Remote-Access.
- Konto użytkownika z uprawnieniem VPN oraz, jeśli aktywowane, działającym MFA.
- Dla SSL VPN: pakiet klienta OpenVPN w systemie Linux, na przykład
openvpnw Debian/Ubuntu lub odpowiednie źródło pakietów danej dystrybucji. - Dla IPsec: NetworkManager z wtyczką strongSwan, na przykład
network-manager-strongswanw Debian/Ubuntu. - Dostęp do VPN Portal lub administracyjnie udostępniony plik konfiguracyjny.
⚠️ Dla Linuksa nie ma oficjalnego klienta Sophos Connect. Instrukcje lub pliki do pobrania reklamujące „Sophos Connect dla Linuksa" nie są częścią oficjalnej oferty Sophos i nie powinny być instalowane bez sprawdzenia.
Konfiguracja SSL VPN z OpenVPN
Oficjalnie udokumentowaną przez Sophos drogą dla Linuksa jest SSL VPN Remote Access z klasycznym klientem OpenVPN.
1. Instalacja klienta OpenVPN
Na większości dystrybucji wystarcza standardowy pakiet menedżera pakietów, na przykład:
sudo apt install openvpn
Kto woli interfejs graficzny, może dodatkowo zainstalować wtyczkę NetworkManager-OpenVPN, na przykład network-manager-openvpn-gnome, i importować przez nią połączenie zamiast uruchamiać je przez terminal.
2. Pobranie pliku konfiguracyjnego
- Otworzyć VPN Portal Sophos Firewall w przeglądarce.
- Zalogować się użytkownikiem VPN.
- W wyborze konfiguracji wybrać Linux.
- Pobrać plik
.ovpni bezpiecznie go przechować.
3. Uruchomienie połączenia przez terminal
sudo openvpn --config sophos-vpn.ovpn
Po uruchomieniu OpenVPN, w zależności od konfiguracji, pyta o nazwę użytkownika i hasło, a następnie ewentualnie o kod weryfikacyjny MFA. Połączenie utrzymuje się tak długo, jak działa proces. Jeśli okno terminala zostanie zamknięte, tunel również zostaje zerwany.
Dla bardziej trwałej pracy bez otwartego terminala OpenVPN można skonfigurować jako usługę systemd lub zarządzać połączeniem przez NetworkManager.
4. Import połączenia przez NetworkManager (opcjonalnie)
- Otworzyć ustawienia sieciowe.
- Dodać nowe połączenie VPN i wybrać Import z pliku.
- Wybrać pobrany plik
.ovpn. - Zapisać nazwę użytkownika, jeśli pożądane; hasła nie zapisywać trwale w postaci jawnej, jeśli aktywne jest MFA.
- Uruchomić połączenie przez interfejs graficzny i wprowadzić dane dostępowe lub kod MFA.
Ten wariant jest w codziennym użyciu praktyczniejszy, ponieważ można go włączać i wyłączać jak każde inne połączenie sieciowe, bez konieczności utrzymywania otwartego terminala.
IPsec z NetworkManager-strongSwan (alternatywa)
Jeśli zamiast SSL VPN ma być używany IPsec, w Linuksie powszechną drogą jest wtyczka NetworkManager-strongSwan. Ten wariant jest w Linuksie mniej ustandaryzowany niż ścieżka OpenVPN i powinien być planowany przede wszystkim dla scenariuszy Remote Access opartych na IKEv2.
1. Instalacja wtyczki
sudo apt install network-manager-strongswan
Dokładna nazwa pakietu może różnić się w zależności od dystrybucji.
2. Sprawdzenie rodzaju połączenia na firewallu
Wtyczka strongSwan dla NetworkManager obsługuje IKEv2. Na firewallu profil Remote-Access-IPsec musi być odpowiednio skonfigurowany na IKEv2, a nie na starsze IKEv1. Do uwierzytelniania wtyczka obsługuje zarówno metody oparte na certyfikatach, jak i EAP, na przykład nazwę użytkownika i hasło. Przy uwierzytelnianiu Preshared-Key wtyczka wymaga wystarczająco silnego sekretu; krótkie lub proste PSK powinny być zasadniczo unikane.
3. Utworzenie połączenia
- Otworzyć ustawienia sieciowe.
- Dodać nowe połączenie VPN typu IPsec/IKEv2 (strongswan).
- Wpisać adres bramy Sophos Firewall.
- Wybrać metodę uwierzytelniania odpowiednią do konfiguracji firewalla: certyfikat lub nazwa użytkownika/hasło (EAP).
- Przy uwierzytelnianiu opartym na certyfikatach umieścić certyfikat serwera lub CA, które są używane przez firewall.
- Zapisać połączenie i przetestować je.
Ponieważ ta ścieżka silniej zależy od dystrybucji, wersji wtyczki i dokładnej konfiguracji IPsec na firewallu, jest bardziej podatna na błędy niż droga OpenVPN. Dla większości środowisk SSL VPN przez OpenVPN jest więc bardziej solidnym pierwszym podejściem dla klientów Linux.
Sprawdzenie po konfiguracji
- Status połączenia w OpenVPN lub NetworkManager pokazuje aktywną sesję.
- Wewnętrzne nazwy DNS rozwiązują się przez tunel VPN.
- Dozwolony cel wewnętrzny jest osiągalny, niedozwolony cel pozostaje zablokowany.
- W Log Viewer firewalla pojawia się ruch ze strefy
VPNz oczekiwaną regułą firewalla. - Przy MFA: kod weryfikacyjny jest poprawnie wymagany przy każdym nowym połączeniu.
- Po ponownym uruchomieniu klienta Linux połączenie jest albo poprawnie odbudowywane automatycznie, albo świadomie uruchamiane ręcznie, w zależności od sposobu konfiguracji.
Jeśli połączenie działa, ale ruch nie przechodzi, pomaga Testowanie reguły firewalla za pomocą Log Viewer, Policy Test i Packet Capture.
Typowe błędy
- Szukanie obcej instrukcji „Sophos Connect dla Linuksa": taki klient oficjalnie nie istnieje. Zamiast tego używać OpenVPN lub NetworkManager-strongSwan.
- Zamknięcie okna terminala i utrata połączenia: przy bezpośrednim wywołaniu
openvpn --configzamknięty terminal zrywa tunel. Do stałej pracy używać importu przez NetworkManager lub usługi systemd. - Dalsze używanie starego pliku
.ovpnpo zmianie na firewallu: po zmianach bramy, certyfikatu, portu VPN Portal lub uwierzytelniania plik konfiguracyjny musi zostać pobrany ponownie. - Skonfigurowany na firewallu IKEv1 zamiast IKEv2: wtyczka NetworkManager-strongSwan obsługuje tylko IKEv2. Sprawdzić profil po stronie firewalla i w razie potrzeby go dostosować.
- Zbyt krótki Preshared Key: nowsze wersje wtyczki wymuszają minimalną długość PSK. Zbyt krótki sekret prowadzi do błędu połączenia, a nie do niebezpiecznego, ale działającego połączenia.
- Umieszczony błędny certyfikat lub błędna CA: przy uwierzytelnianiu IPsec opartym na certyfikatach musi być umieszczona dokładnie ta CA, która jest używana również przez firewall. Lekko odbiegający lub wygasły certyfikat prowadzi do zerwania połączenia bez czytelnego komunikatu błędu w kliencie.
- Błędnie przypisany kod MFA: przy OpenVPN z MFA kod weryfikacyjny musi być wprowadzony w odpowiednim polu i we właściwym momencie. W razie niepewności porównać kolejność logowania z działającym klientem Windows lub macOS.
FAQ
Czy istnieje oficjalny klient Sophos Connect dla Linuksa?
Która droga jest prostsza w Linuksie: SSL VPN czy IPsec?
Dlaczego połączenie VPN się rozłącza, gdy zamykam terminal?
sudo openvpn --config, połączenie działa jako proces pierwszoplanowy terminala. Do pracy niezależnej od sesji terminala połączenie powinno zostać zaimportowane przez NetworkManager lub skonfigurowane jako usługa.