Przejdz do tresci
Avanet

Podłącz Sophos Firewall przez SSH

Do wielu zadań wsparcia i rozwiązywania problemów potrzebny jest dostęp do Sophos Firewall poprzez SSH. Należą do nich np. analizy logów, restarty usług, specjalne polecenia diagnostyczne czy praca w Advanced Shell.

Ale SSH to także dostęp do zarządzania obarczony wysokim ryzykiem. Dlatego dostęp powinien być dozwolony wyłącznie z zaufanych sieci administracyjnych, poprzez ukierunkowaną regułę wyjątku Local Service ACL lub poprzez jasno zdefiniowany dostęp do pomocy technicznej. Do ogólnego wzmocnienia lokalnych usług zapory ogniowej odpowiedni jest również Skonfiguruj poprawnie Device Access.

Wymagania

Do połączenia SSH z Sophos Firewall potrzebne są:

  • Dostęp administracyjny do Sophos Firewall.
  • Adres IP lub nazwa DNS zapory sieciowej.
  • Dostęp do użytkownika admin.
  • Zaufane źródło administratora, na przykład sieć zarządzania, VPN lub stały adres IP administratora.
  • W systemie macOS lub Linux: preinstalowana aplikacja Terminal z SSH.
  • W systemie Windows: Terminal Windows z OpenSSH lub PuTTY.
  • Zezwolono na dostęp SSH na podstawie Administration > Device access lub poprzez Regułę wyjątku ACL usługi lokalnej.
  • W przypadku planowanych zmian w Advanced Shell: kopia zapasowa, okno konserwacji i jasna ścieżka wycofania.

⚠️ SSH powinien być dozwolony tylko z zaufanych sieci. W środowiskach produkcyjnych lepiej jest ograniczyć dostęp do adresu IP zarządzania lub sieci administracyjnej, niż ogólnie wypuszczać SSH.

Wyjaśnij wcześniej, do czego potrzebny jest SSH

Nie każda analiza wymaga Advanced Shell. Przed zalogowaniem powinno być jasne, która konsola jest wymagana i jak poważna jest interwencja.

  • Routing, DNS, Ping, proste polecenia systemowe: Device Console. Sophos CLI, mniej ryzykowny niż Advanced Shell.
  • Czytaj pliki dziennika, tail, grep, less: Advanced Shell. Tylko do odczytu, nie modyfikuj ani nie usuwaj plików.
  • Sprawdź status usługi lub debuguj: Advanced Shell. Tylko specjalnie aktywuj debugowanie i dezaktywuj je ponownie.
  • Wykonaj nieznane polecenia: Najpierw sprawdź lub otwórz zgłoszenie do pomocy technicznej. Nie próbuj w systemie produkcyjnym.

Rozróżnienie jest ważne, ponieważ Device Console i Advanced Shell używają innej składni. Wiele błędów pojawia się po prostu dlatego, że poprawne polecenie zostało wprowadzone w niewłaściwym miejscu. Szerszy przegląd jest dostępny w Sophos Firewall Rozwiązywanie problemów: Services i dzienniki.

SSH Zezwól na dostęp przez zaporę ogniową

Aby połączenie było możliwe, Sophos Firewall musi zezwalać na SSH w odpowiedniej strefie lub poprzez regułę wyjątku Local Service ACL.

  1. Zaloguj się do administratora sieciowego Sophos Firewall.
  2. Otwórz Administracja.
  3. Wybierz Device access.
  4. Sprawdź, czy SSH jest dozwolony dla żądanej strefy.

W przypadku wewnętrznych sieci administracyjnych SSH można aktywować bezpośrednio dla odpowiedniej strefy, np. dla LAN. Jeśli dostęp ma być bardziej szczegółowo ograniczony, sensowna jest reguła wyjątku ACL usługi lokalnej.

Device Access kontroluje dostęp do samej zapory sieciowej. Nie jest to to samo, co zwykła reguła zapory sieciowej, która zezwala na ruch przez zaporę. Jeśli SSH w Device Access jest włączone zbyt szeroko, klient osiągnie lokalną usługę SSH zapory ogniowej niezależnie od tego, czy klasyczna reguła LAN do WAN jest poprawnie zbudowana.

W przypadku wyjątku ACL wartości należy ustawić możliwie wąsko:

  • Strefa źródłowa: strefa, z której odbywa się administracja
  • Sieć źródłowa / Host: adres IP administratora lub sieć zarządzająca
  • Services: SSH
  • Działanie: Zaakceptuj
Reguła wyjątku ACL usługi lokalnej zapory Sophos dla dostępu SSH
Przykład reguły wyjątku listy ACL usługi lokalnej, która umożliwia dostęp SSH tylko ze zdefiniowanego obiektu źródłowego.

SSH nie powinien być dostępny w sposób niekontrolowany z Internetu. Jeśli konieczny jest dostęp zewnętrzny, powinien on być dozwolony wyłącznie za pośrednictwem jasno określonego źródłowego adresu IP, VPN lub dedykowanego dostępu do pomocy technicznej.

Przechowuj klucz publiczny dla administratora

W przypadku dostępu SSH preferowaną metodą jest uwierzytelnianie za pomocą klucza publicznego. W Sophos Firewall klucz publiczny użytkownika admin może być przechowywany pod Administration > Device access. Logowanie za pomocą hasła może być konieczne w sytuacjach awaryjnych, ale nie powinno pozostać najwygodniejszym dostępem domyślnym.

⚠️ Logowanie SSH do Sophos Firewall jest możliwe tylko z użytkownikiem admin. Inni użytkownicy WebAdmin nie mogą logować się poprzez SSH.

Ważne: Tylko domyślny administrator może zmieniać uwierzytelnianie kluczem publicznym dla SSH, tj. dodawać lub usuwać klucze. W przypadku operacji oznacza to: Kluczowe zmiany należą do udokumentowanego procesu administracyjnego i nie należy ich traktować jako spontanicznego skrótu do pomocy technicznej.

Klucz publiczny jest dodawany w obszarze Uwierzytelnianie kluczem publicznym dla administratora:

  1. Otwórz Administracja.
  2. Wybierz Device access.
  3. Przewiń do obszaru Uwierzytelnianie kluczem publicznym dla administratora.
  4. Aktywuj Włącz uwierzytelnianie.
  5. Dodaj klucz publiczny pod Authorized keys.
  6. Zapisz za pomocą Zastosuj.
Uwierzytelnianie klucza publicznego Sophos Firewall dla użytkownika admin
Preferowana metoda: Włącz uwierzytelnianie kluczem publicznym dla dostępu SSH z użytkownikiem administratorem.

Klucz prywatny zawsze pozostaje w kliencie administracyjnym i nie można go udostępniać. Na zaporze przechowywany jest tylko klucz publiczny.

Jeśli wielu administratorów korzysta z SSH, ten sam klucz prywatny nie powinien być udostępniany. Lepiej mieć osobnych klientów administracyjnych, udokumentowane klucze publiczne i sprawdzić, które klucze są jeszcze potrzebne. Po zmianie personelu lub usługodawców należy sprawdzić obszar Authorized keys.

Obsługiwane typy kluczy SSH

Nie każdy nowoczesny typ klucza SSH jest równie odpowiedni dla Sophos Firewall. Przed wdrożeniem należy sprawdzić, czy typ klucza jest obsługiwany.

  • RSA: Użyj co najmniej 2048 bitów.
  • DSA: Co najmniej 2048 bitów, jeśli jest to konieczne ze względu na kompatybilność.
  • ECDSA: Podpory; ED25519 nie jest akceptowany do tego celu.
  • ED25519: W przypadku SSH Public Key Authentication nie stosować w przypadku Sophos Firewall.

W przypadku nowego dostępu administracyjnego odpowiednio zarządzany klucz RSA lub obsługiwany klucz ECDSA jest zwykle bardziej pragmatyczny niż nowoczesny typ klucza, którego nie akceptuje zapora ogniowa lub starsze narzędzie SSH.

Połącz się z systemem macOS lub Linux

Klient SSH jest zwykle już obecny na systemach macOS i Linux. Połączenie zostaje nawiązane w terminalu.

Przykład:

ssh admin@192.0.2.1

192.0.2.1 zostaje zastąpiony adresem IP lub nazwą DNS Twojego własnego Sophos Firewall.

Przy pierwszym nawiązaniu połączenia klient SSH pyta, czy zaakceptować odcisk palca systemu docelowego. Należy sprawdzić ten odcisk palca, a następnie potwierdzić.Jeśli po ponownym obrazie, wymianie sprzętu lub zmianie adresu IP pojawi się ostrzeżenie o zmienionym kluczu hosta, nie należy ślepo akceptować nowego odcisku palca. Najpierw sprawdź, czy ta sama zapora sieciowa rzeczywiście została wymieniona, ponownie zainstalowana lub przeniesiona na nowy adres IP. Dopiero wtedy można wyczyścić stary wpis w ~/.ssh/known_hosts i zaakceptować nowy odcisk palca.

W zależności od konfiguracji żądane jest wówczas hasło użytkownika admin lub logowanie odbywa się przy użyciu zapisanego klucza SSH.

Jeśli ma zostać użyty konkretny klucz prywatny:

ssh -i ~/.ssh/sophos-admin-key admin@192.0.2.1

W przypadku dostępu cyklicznego należy udokumentować ścieżkę klucza, dozwolony źródłowy adres IP i cel. Wpisu known_hosts nie należy kopiować do zgłoszeń ani historii czatów; W przypadku ostrzeżeń o kluczach hosta historia zmian jest ważniejsza niż szybkie obejście.

Połącz się z PuTTY

W systemie Windows możesz użyć terminala Windows z OpenSSH lub użyć PuTTY.

W przypadku terminala Windows nawiązanie połączenia działa podobnie jak w systemie macOS lub Linux:

ssh admin@192.0.2.1

Dla PuTTY:

  1. Otwórz PuTTY.
  2. Wpisz adres IP lub nazwę DNS Sophos Firewall w polu Nazwa hosta.
  3. Ustaw Port na 22.
  4. Ustaw Typ połączenia na SSH.
  5. Połącz się poprzez Otwórz.
  6. Sprawdź i potwierdź odcisk palca SSH.
  7. Zaloguj się jako użytkownik admin i użyj hasła lub klucza SSH w zależności od konfiguracji.

Po zalogowaniu pojawia się menu konsoli Sophos Firewall.

Jeśli PuTTY jest używany z kluczem prywatnym, klucz musi odpowiadać kluczowi publicznemu przechowywanemu na zaporze ogniowej. Po zmianie personelu lub usługodawcy należy zmienić nie tylko hasło; stare klucze publiczne również muszą zostać usunięte z Authorized keys.

Otwórz Device Console lub Advanced Shell

Po pomyślnym zalogowaniu się poprzez SSH, zapora wyświetli menu konsoli. Wybór opcji zależy od tego, co chcesz osiągnąć.

W przypadku wielu poleceń SFOS używasz:

4. Device Console

Do głębszych zadań związanych z Linuksem lub systemem plików użyj Advanced Shell poprzez:

5. Device Management > Advanced Shell

Advanced Shell oferuje bardzo szeroki dostęp do systemu. Polecenia należy tam wykonywać tylko wtedy, gdy jest jasne, do czego służą.

  • Device Console: ping, dnslookup, traceroute, show, Opcje routingu lub systemu.
  • Advanced Shell: Czytaj /log, tail -f, grep, less, service -S, dzienniki debugowania.

Do analizy dzienników, nazw usług i typowych wzorców błędów lepszym punktem wyjścia niż zapamiętywanie poszczególnych poleceń jest Sophos Firewall Rozwiązywanie problemów: Services i dzienniki.

Zakończ połączenie

Po zakończeniu pracy sesja SSH powinna zakończyć się czysto:

exit

Jeżeli znajdujesz się w podmenu, może zaistnieć konieczność najpierw powrotu do menu głównego, a następnie zakończenia sesji.

Jeśli SSH został aktywowany tylko tymczasowo na potrzeby wsparcia, należy wówczas usunąć lub dezaktywować tę wersję. Jest to szczególnie prawdziwe w przypadku wyjątków ACL pochodzących z zewnętrznych adresów IP lub dostępu dostawcy usług.

Po głębokich interwencjach należy również sprawdzić:- Czy debugowanie jest ponownie wyłączone?

  • Czy tymczasowa reguła wyjątku ACL została usunięta lub wyłączona?
  • Czy na zaporze nie pozostawiono niepotrzebnie plików tymczasowych, zrzutów pomocniczych lub nagrań?
  • Czy wyciągi z dziennika, czas, polecenie i wynik są udokumentowane w zgłoszeniu lub zmianie?
  • Czy klucz SSH był używany tylko do zaplanowanego dostępu administracyjnego lub pomocy technicznej?

Typowe problemy

Połączenie zostało odrzucone

Jeśli połączenie zostanie odrzucone, SSH zwykle nie jest dozwolony na zaporze dla wybranej strefy lub źródła. W takim przypadku należy zaznaczyć Administration > Device access. Dodatkowo sprawdź, czy reguła wyjątku ACL zezwala na źródło lub czy szersza wersja dostępu do urządzenia została celowo usunięta.

Przekroczono limit czasu połączenia

Limit czasu często wskazuje, że zapora sieciowa nie jest dostępna za pośrednictwem wybranego adresu IP, brakuje trasy lub zapora sieciowa nadrzędna blokuje dostęp.

Logowanie nie powiodło się

Jeżeli logowanie się nie powiedzie, należy sprawdzić użytkownika admin, hasło lub klucz SSH oraz dozwolone sieci źródłowe. Typowe komunikaty, takie jak Permission denied (publickey,password), wskazują nieprawidłowe hasło, nieprawidłowy klucz prywatny lub brakującą konfigurację klucza publicznego.

Jeżeli logowanie kluczem publicznym nie powiedzie się, sprawdź dodatkowo typ klucza, długość klucza, nieprawidłowy klucz prywatny, format klucza PuTTY oraz wpis pod Authorized keys. Prawidłowo dozwolona usługa SSH nie pomoże, jeśli klucz nie pasuje do zapisanego klucza publicznego.

Pojawia się ostrzeżenie dotyczące klucza hosta

Ostrzeżenie o kluczu hosta może być nieszkodliwe, jeśli zapora została ponownie zainstalowana lub wymieniona. Ostrzeżenie może również wskazywać na nieprawidłowy system docelowy lub pomyłkę adresów IP. Dlatego najpierw sprawdź zaporę sieciową, adres IP, DNS i historię zmian. Dopiero wtedy należy usunąć stary wpis known_hosts.

Otwarto niewłaściwą konsolę

Jeśli polecenie nie zostanie rozpoznane, często otwierana jest niewłaściwa konsola. Polecenia takie jak system ... często należą do Device Console. Polecenia systemu plików i dziennika, takie jak tail, grep, less lub service -S należą do Advanced Shell.

Operacyjna lista kontrolna

  • Zezwalaj na SSH tylko z zaufanych źródeł administracyjnych.
  • Jeśli to możliwe, użyj reguły wyjątków Local Service ACL zamiast zwalniania szerokiej strefy.
  • Preferuj Public Key Authentication zamiast admin.
  • Użyj obsługiwanego typu klucza i długości klucza dokumentu.
  • Nie udostępniaj kluczy prywatnych.
  • Sprawdź odcisk palca SSH przy pierwszym logowaniu.
  • Świadomie obsługuj ostrzeżenia dotyczące klucza hosta po ponownym wykonaniu obrazu lub wymianie sprzętu.
  • Nie mylić Device Console i Advanced Shell.
  • Zmiany w Advanced Shell wprowadzaj wyłącznie w jasno określonym celu. — Usuń tymczasowe wersje SSH po zgłoszeniach do pomocy technicznej.
  • Usuń stare klucze publiczne po zmianie personelu lub usługodawcy.

Często zadawane pytania

Który użytkownik korzysta z protokołu SSH w zaporze Sophos?

W przypadku SSH używasz użytkownika admin na Sophos Firewall. Zwykli użytkownicy WebAdmin, nawet z uprawnieniami administracyjnymi, nie logują się jako ich własni użytkownicy SSH.

Czy w strefie WAN należy włączyć SSH?

SSH nie powinien być szeroko aktywowany w strefie WAN. Jeśli niezbędny jest dostęp zewnętrzny, należy zastosować regułę wyjątku wąskiego źródła Local Service ACL, dostęp VPN lub wyraźnie ograniczony dostęp do pomocy technicznej.

Czy uwierzytelnianie za pomocą klucza publicznego jest bezpieczniejsze niż logowanie za pomocą hasła?

Public Key Authentication jest zwykle lepszą metodą powtarzalnego dostępu administratora, jeśli klucze prywatne są chronione, a nie udostępniane i regularnie sprawdzane. Jednak klucz publiczny nie zastępuje ścisłych ograniczeń źródła ani czystego demontażu starego dostępu.

Co oznacza ostrzeżenie o kluczu hosta SSH?

Ostrzeżenie o kluczu hosta oznacza, że przechowywany odcisk palca nie pasuje już do celu. Może to być normalne po ponownym utworzeniu obrazu, wymianie sprzętu lub zmianie adresu IP, ale może również wskazywać na nieprawidłowy system docelowy. Dlatego najpierw sprawdź zaporę sieciową, DNS, adres IP i historię zmian.

Kiedy potrzebujesz Advanced Shell?

Advanced Shell jest potrzebny przede wszystkim do plików dziennika, diagnostyki związanej z systemem plików lub niektórych poleceń pomocniczych. Device Console często wystarcza do prostych testów, takich jak ping, DNS, routing lub standardowa diagnostyka.