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
- Otworzyć Administration > Device access.
- Włączyć Chromebook SSO tylko dla wewnętrznych stref, z których łączą się zarządzane urządzenia, na przykład
LANiWi-Fi. - Otworzyć Authentication > Services > Chromebook SSO i włączyć Enable.
- W polu Domain wpisać domenę Workspace
example.com. - Ustawić Port na
65123. - Wybrać certyfikat dla
chromebook-sso.example.com. - Wybrać Download G Suite app config.
- Otworzyć plik JSON w edytorze tekstu i ustawić
serverAddressnachromebook-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:
LANi/lubWi-Fi - Source networks: sieci Chromebooków
- Destination zones:
WAN - Destination networks: własny obiekt dla
accounts.google.comoraz 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
- W Google Admin otworzyć Devices > Chrome > Apps & extensions > Users & browsers.
- Najpierw wybrać pilotażową jednostkę organizacyjną lub niewielką grupę testową.
- Wybrać Add > Add from Chrome Web Store.
- Dodać Sophos Chromebook User ID i sprawdzić identyfikator rozszerzenia
kpgmhapilmiknabfjblafefhahodhjca. - Jako Installation policy wybrać co najmniej Force install.
- W sekcji Policy for extensions przesłać wcześniej zmodyfikowany plik JSON.
- 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:
- Otworzyć Security > Access and data control > API controls.
- W sekcji App access control przejść do Manage app access.
- Otworzyć Accessed apps > View list i wyszukać Sophos User ID.
- 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.
- Na zaporze, w sekcji Certificates > Certificate authorities, pobrać wystawiający urząd certyfikacji i rozpakować plik PEM z archiwum.
- W Google Admin otworzyć Devices > Networks > Certificates.
- Przesłać plik PEM za pomocą Upload certificate.
- W sekcji Certificate authority włączyć użycie dla Chromebook i zapisać ustawienia.
Sprawdzanie logowania i dopasowania reguł
- Na urządzeniu testowym otworzyć
chrome://policy, wybrać Reload policies i sprawdzić, czy zasady rozszerzenia zostały pobrane z chmury. - Ponownie zalogować się na Chromebooku przy użyciu zarządzanego użytkownika, na przykład
user@example.com. - Na zaporze otworzyć Current activities > Live users. Muszą pojawić się użytkownik, adres IP klienta i Client Type
Chromebook SSO. - Nawiązać połączenie dozwolone przez
Chromebook-Users. - 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ć nachromebook-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
Connectedpo 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.