Przejdz do tresci
Avanet

Konfiguracja Chromebook SSO na Sophos Firewall z Google Workspace

Dzięki Chromebook SSO rozszerzenie Sophos Chromebook User ID przekazuje zaporze informacje o zalogowanym użytkowniku Google Workspace. SFOS może następnie stosować reguły oparte na użytkownikach i wyświetlać sesję w sekcji Current activities > Live users.

Proces składa się z pięciu części: przygotowania certyfikatu i nazwy DNS, włączenia Chromebook SSO w Device Access, utworzenia ustawień SSO i dwóch reguł zapory, wdrożenia aktualnego rozszerzenia przez Google Admin oraz sprawdzenia rezultatu z użyciem konta testowego. Niniejsza instrukcja dotyczy SFOS 22.0 MR2 i aktualnego rozszerzenia Manifest V3.

Wymagania

Potrzebne są:

  • zarządzane Chromebooki w sieci chronionej przez Sophos Firewall;
  • dostęp do WebAdmin i Google Admin;
  • adresy użytkowników z domeny Google Workspace, na przykład user@example.com;
  • wewnętrzna nazwa DNS zapory, na przykład chromebook-sso.example.com;
  • certyfikat z kluczem prywatnym i urzędem certyfikacji zaufanym przez Chromebooki;
  • serwer uwierzytelniania skonfigurowany na zaporze.

Aby zapewnić przewidywalne wdrożenie produkcyjne, w tej instrukcji wykorzystano lokalną usługę Active Directory, której użytkownicy są synchronizowani z Google Workspace. Aktualna pozycja w Chrome Web Store wyraźnie wskazuje tę kombinację. Pomoc SFOS 22 wymienia dodatkowo LDAP i Google Secure LDAP; dlatego ten wariant należy najpierw przetestować na grupie pilotażowej, zanim zostaną od niego uzależnione reguły oparte na użytkownikach. Konfigurację usług katalogowych opisano w artykułach Łączenie Active Directory z Sophos Firewall i Łączenie serwera LDAP z Sophos Firewall.

Sophos ogłosił nowe rozszerzenie Manifest V3 wraz z SFOS 22.0 MR2. Aktualna pozycja w Chrome Web Store podaje jednak jako wersję minimalną SFOS 20.0 MR3 lub nowszą. Nie należy zatem rozumieć, że rozszerzenie działa wyłącznie z MR2; ścieżki menu i zrzuty ekranu w tej instrukcji odnoszą się jednak do SFOS 22.0 MR2.

Konfiguracja Sophos Firewall

Przygotowanie certyfikatu i nazwy DNS

Nazwa chromebook-sso.example.com musi być rozwiązywana przez wewnętrzny DNS na adres zapory dostępny dla Chromebooków. Dla tej nazwy należy utworzyć lub zaimportować certyfikat w sekcji Certificates > Certificates.

Certyfikat musi zawierać klucz prywatny, jego wystawiający urząd certyfikacji musi znajdować się na zaporze, a sam certyfikat nie może być chroniony hasłem. Należy wpisać nazwę FQDN zarówno jako Subject Alternative Name (SAN), jak i Common Name (CN). Sophos wymaga zgodności z CN; aktualny Chrome używa SAN do weryfikacji nazwy hosta. Ta sama nazwa FQDN zostanie później użyta jako serverAddress.

W sekcji Hosts and services > FQDN host należy dodatkowo utworzyć obiekt hosta dla accounts.google.com. Obiekt ten zostanie później użyty w regule początkowej razem ze wstępnie zdefiniowanymi grupami Google API Hosts i Google Chrome Web Store.

Włączenie Device Access i Chromebook SSO

  1. Otworzyć Administration > Device access.
  2. Włączyć Chromebook SSO tylko dla wewnętrznych stref, z których łączą się zarządzane urządzenia, na przykład LAN i Wi-Fi.
  3. Otworzyć Authentication > Services > Chromebook SSO i włączyć Enable.
  4. W polu Domain wpisać domenę Workspace example.com.
  5. Ustawić Port na 65123.
  6. Wybrać certyfikat dla chromebook-sso.example.com.
  7. Wybrać Download G Suite app config.
  8. Otworzyć plik JSON w edytorze tekstu i ustawić serverAddress na chromebook-sso.example.com. Następnie zapisać plik.

Device Access zezwala na dostęp do lokalnej usługi SSO zapory. Zwykła reguła zapory nie zastępuje tego kroku. Z kolei samo Device Access nie zezwala jeszcze na dostęp do usług Google przez Internet. Ten podział wyjaśniono w artykule Device Access i Local Service ACL.

Utworzenie dwóch reguł zapory

W sekcji Rules and policies > Firewall rules należy utworzyć dwie reguły w podanej kolejności.

Pierwsza reguła, na przykład Chromebook-Google-Bootstrap, zezwala na dystrybucję aplikacji i komunikację z Google:

  • Action: Accept
  • Source zones: LAN i/lub Wi-Fi
  • Source networks: sieci Chromebooków
  • Destination zones: WAN
  • Destination networks: własny obiekt dla accounts.google.com oraz Google API Hosts i Google Chrome Web Store

Poniżej należy dodać właściwą regułę użytkownika, na przykład Chromebook-Users:

  • Action: Accept
  • te same strefy źródłowe i sieci Chromebooków
  • wymagane miejsca docelowe w WAN
  • Match known users: włączone
  • Use web authentication for unknown users: włączyć tylko wtedy, gdy Captive Portal ma służyć jako rozwiązanie awaryjne
  • Log firewall traffic: włączone na czas pilotażu

Reguła początkowa musi znajdować się nad regułą użytkownika. W przeciwnym razie rozszerzenie może być niedostępne lub OAuth może się nie powieść, zanim zapora rozpozna użytkownika.

Konfiguracja Google Workspace

Wdrażanie rozszerzenia

  1. W Google Admin otworzyć Devices > Chrome > Apps & extensions > Users & browsers.
  2. Najpierw wybrać pilotażową jednostkę organizacyjną lub niewielką grupę testową.
  3. Wybrać Add > Add from Chrome Web Store.
  4. Dodać Sophos Chromebook User ID i sprawdzić identyfikator rozszerzenia kpgmhapilmiknabfjblafefhahodhjca.
  5. Jako Installation policy wybrać co najmniej Force install.
  6. W sekcji Policy for extensions przesłać wcześniej zmodyfikowany plik JSON.
  7. Zapisać ustawienia i poczekać na zastosowanie zasad na urządzeniu testowym.

W przypadku istniejącej instalacji nie jest to aktualizacja in-place: według Sophos stare rozszerzenie należy usunąć i zainstalować nowe rozszerzenie Manifest V3. Migrację należy najpierw przeprowadzić w pilotażowej jednostce organizacyjnej, aby reguły użytkowników nie przełączyły się na zasady awaryjne podczas tymczasowego braku tożsamości. Więcej informacji znajduje się w omówieniu SFOS 22.0 MR2.

Oznaczenie aplikacji OAuth jako zaufanej

Aby zapobiec blokowaniu OAuth:

  1. Otworzyć Security > Access and data control > API controls.
  2. W sekcji App access control przejść do Manage app access.
  3. Otworzyć Accessed apps > View list i wyszukać Sophos User ID.
  4. Wybrać Change access, ustawić odpowiedni zakres i wybrać Trusted.

Dystrybucja lokalnego urzędu certyfikacji do ChromeOS

Ten krok jest wymagany, jeśli certyfikat SSO został wystawiony przez wewnętrzny lub lokalnie podpisany urząd certyfikacji, któremu ChromeOS jeszcze nie ufa.

  1. Na zaporze, w sekcji Certificates > Certificate authorities, pobrać wystawiający urząd certyfikacji i rozpakować plik PEM z archiwum.
  2. W Google Admin otworzyć Devices > Networks > Certificates.
  3. Przesłać plik PEM za pomocą Upload certificate.
  4. W sekcji Certificate authority włączyć użycie dla Chromebook i zapisać ustawienia.

Sprawdzanie logowania i dopasowania reguł

  1. Na urządzeniu testowym otworzyć chrome://policy, wybrać Reload policies i sprawdzić, czy zasady rozszerzenia zostały pobrane z chmury.
  2. Ponownie zalogować się na Chromebooku przy użyciu zarządzanego użytkownika, na przykład user@example.com.
  3. Na zaporze otworzyć Current activities > Live users. Muszą pojawić się użytkownik, adres IP klienta i Client Type Chromebook SSO.
  4. Nawiązać połączenie dozwolone przez Chromebook-Users.
  5. W Log viewer sprawdzić, czy została zastosowana dokładnie ta reguła użytkownika. Sam działający dostęp do Internetu tego nie potwierdza, ponieważ ruch może być również dozwolony przez bardziej ogólną regułę.

Zasady należy wdrożyć w kolejnych jednostkach organizacyjnych dopiero wtedy, gdy zarówno Live User, jak i Rule Hit są poprawne.

Precyzyjna diagnostyka błędów

  • Brak rozszerzenia: sprawdzić identyfikator rozszerzenia, docelową jednostkę organizacyjną, Installation policy i stan w chrome://policy.
  • OAuth nie działa: sprawdzić, czy Sophos User ID ma status Trusted dla właściwej jednostki organizacyjnej i czy reguła początkowa umożliwia dostęp do miejsc docelowych Google.
  • Błąd TLS lub połączenia: porównać rozwiązywanie DNS, serverAddress, SAN, CN, łańcuch certyfikatów i dystrybucję CA. Wszystkie nazwy muszą wskazywać na chromebook-sso.example.com.
  • Brak użytkownika w Live users: sprawdzić domenę Workspace, adres użytkownika, serwer uwierzytelniania i Device Access.
  • Użytkownik jest widoczny, ale stosowana jest niewłaściwa reguła: sprawdzić pozycję reguły, sieć źródłową, przypisanie użytkownika i rejestrowanie. Systematyczną kontrolę opisano w artykule Dlaczego reguła Sophos Firewall nie jest stosowana.
  • Rozszerzenie nadal pokazuje Connected po rozłączeniu: w SFOS 21.5 GA i nowszych wersjach wskazanie może pozostać nieaktualne, mimo że sesja na zaporze została zakończona. Wylogować się z rozszerzenia i zalogować ponownie lub na krótko rozłączyć połączenie sieciowe Chromebooka. Podczas weryfikacji miarodajne jest Live users.

Aby sprawdzić logi usług, należy zalogować się przez SSH do CLI Sophos Firewall i wybrać 5. Device Management > 3. Advanced Shell. Poniższe polecenia tylko odczytują dane i nie zmieniają konfiguracji:

tail -f /log/chromebook-sso-backend.log
tail -f /log/csd.log

Następnie ponownie zalogować użytkownika testowego i obserwować nowe wpisy pojawiające się w tym samym czasie. Ctrl+C kończy wyświetlanie danych na żywo. Przegląd pozostałych logów uwierzytelniania zawiera artykuł Logi usług Sophos Firewall.

FAQ

Czy Chromebook SSO działa poza chronioną siecią?

Nie. Chromebook musi mieć dostęp do skonfigurowanego adresu zapory w chronionej sieci. Poza tą siecią rozszerzenie nie może przypisać lokalnej sesji do tej zapory.

Czy wbudowanego certyfikatu Let's Encrypt można używać z Chromebook SSO?

Nie. Sophos wyklucza certyfikaty z wbudowanej funkcji Let’s Encrypt dla usługi Chromebook SSO. Należy użyć odpowiedniego certyfikatu zaimportowanego lub podpisanego lokalnie; ogólne ograniczenia certyfikatów opisano w artykule Let’s Encrypt na Sophos Firewall.