Sophos Firewall: AD SSO nie działa po aktualizacji SFOS 22
Po aktualizacji z SFOS 21.5 lub starszego do SFOS 22.0 GA mechanizm Active Directory Single Sign-On z Kerberos i NTLM może natychmiast przestać działać. Firewall nadal przekazuje pozostały ruch, ale nie rozpoznaje użytkowników domeny, których dotyczy problem. W rezultacie reguły firewalla oparte na użytkownikach nie są stosowane zgodnie z założeniem.
⚠️ Operację cleanup wolno wykonywać wyłącznie w Advanced Shell i tylko wtedy, gdy ścieżka aktualizacji oraz objawy odpowiadają opisanej sytuacji. Jeśli firewall działa już w wersji MR1 Build 490 lub nowszej, błąd występował przed aktualizacją albo problem dotyczy klastra HA, polecenia nie należy wykonywać bez indywidualnej oceny.
Jeśli firewall nadal działa w wersji SFOS 22.0 GA, a w pliku nasm.log znajduje się odpowiadający czasowo błąd z tekstem unknown option, można celowo przebudować NASM. Poniższe kontrole zapobiegają użyciu operacji cleanup w przypadku zwykłego problemu z DNS, SPN lub dołączeniem do domeny.
Sophos usunął przyczynę błędu aktualizacji w wersji SFOS 22.0 MR1 Build 490. Operacja cleanup jest zatem ukierunkowaną naprawą opisanego przypadku aktualizacji do wersji GA, a nie ogólnym rozwiązaniem każdego problemu z AD SSO.
Kiedy ta procedura ma zastosowanie
Procedura jest przeznaczona dla następującego przypadku:
- aktualizacja z SFOS 21.5 lub starszego do SFOS 22.0 GA
- AD SSO z Kerberos i NTLM działało przed aktualizacją
- po aktualizacji użytkownicy domeny nie mogą uwierzytelnić się przez AD SSO
- reguły oparte na tożsamości nie rozpoznają już użytkowników
- inne funkcje firewalla i logowania niezależne od AD nadal działają
Pomyślne wykonanie Test connection w Authentication > Servers nie wyklucza tego błędu. Test potwierdza połączenie z kontrolerem domeny i dane logowania, ale nie cały przebieg AD SSO.
Jeśli już Test connection kończy się niepowodzeniem, przyczyną jest prawdopodobnie osiągalność, DNS, port, certyfikat lub konto serwisowe. Podstawy te wyjaśnia artykuł Active Directory z Sophos Firewall: konfiguracja.
Sprawdzanie błędu w nasm.log
Zalogować się do firewalla przez SSH i otworzyć 5. Device Management > 3. Advanced Shell. Dostęp SSH do Sophos Firewall opisano oddzielnie.
Następnie wyszukać komunikat udokumentowany przez Sophos:
grep "unknown option" /log/nasm.log
Znaleziony wpis potwierdza nieprawidłowy stan Samba/NASM. Decydujące jest, czy znacznik czasu odpowiada aktualizacji i wystąpieniu awarii; stary wpis nie potwierdza aktualnego błędu.
Brak wyniku nie wyklucza definitywnie tego błędu. Bez odpowiedniej ścieżki aktualizacji i opisanych powyżej objawów nie należy jednak wykonywać operacji cleanup na podstawie przypuszczenia. Najpierw trzeba sprawdzić DNS, SPN, Domain Join, Redirection Location, zaufanie przeglądarki i standardową konfigurację Kerberos/NTLM.
Ukierunkowane czyszczenie NASM
Podczas zmiany firmware SFOS ponownie tworzy katalogi NASM odpowiednio do używanej wersji Samba. Przy aktualizacji, której dotyczy problem, ten etap może pozostać niekompletny. Nowy NASM ładuje wtedy starsze, niezgodne komponenty Samba, a AD SSO przestaje działać.
Przed zmianą należy udokumentować aktualną wersję firmware, czas wystąpienia awarii i wynik z nasm.log. Na wypadek niedostępności uwierzytelniania podczas prac powinien istnieć lokalny lub alternatywny dostęp administratora.
W Advanced Shell wykonać:
opcode -ds nosync nasm_cleanup
Polecenie czyści odpowiednią strukturę NASM i tworzy ją ponownie dla Samba 4.22.1. Według Sophos ponowne uruchomienie zwykle nie jest potrzebne. Nie udokumentowano konkretnego komunikatu powodzenia, dlatego wyniku nie należy oceniać na podstawie pojedynczej odpowiedzi Shell, lecz przez nowe logowanie AD SSO.
Kontrola AD SSO z rzeczywistym ruchem użytkownika
Po operacji cleanup ponowne Test connection nie wystarcza. Kontrolę należy przeprowadzić z użytkownikiem domeny i rzeczywistą regułą opartą na użytkowniku:
- Na kliencie domenowym otworzyć nowe połączenie przeglądarki, które korzysta z AD SSO i reguły firewalla opartej na użytkowniku.
- W Current activities > Live users sprawdzić, czy użytkownik domeny jest ponownie widoczny.
- W Log viewer > Authentication sprawdzić, czy mechanizm Kerberos lub NTLM został użyty pomyślnie i czy nie pojawiają się nowe odpowiednie błędy NASM.
- W dzienniku firewalla sprawdzić, czy użytkownik, grupa i Firewall Rule ID odpowiadają zamierzonej regule.
- Przetestować aplikację lub cel, który nie był dostępny przed operacją cleanup.
Błąd jest usunięty dopiero wtedy, gdy tożsamość użytkownika i dopasowanie reguły są prawidłowe. Jeśli ponownie wyświetla się tylko logowanie Captive Portal albo użytkownik nadal się nie pojawia, należy również sprawdzić SPN, rozwiązywanie DNS, Redirection Location i zaufanie przeglądarki. Przypisanie innych plików uwierzytelniania opisano w Sophos Firewall Troubleshooting: Services i Logs.
Trwałe rozwiązanie i alternatywa bez Advanced Shell
Aktualizacja do poprawionej wersji SFOS
Trwałym rozwiązaniem jest aktualizacja do SFOS 22.0 MR1 Build 490 lub nowszej wersji. Przed kolejną zmianą firmware należy sprawdzić ścieżkę aktualizacji, kopię zapasową, wolne miejsce, HA i drogę powrotu za pomocą kontroli przed aktualizacją do SFOS 22.
Jeśli ten sam objaw pojawia się po raz pierwszy w wersji MR1 Build 490 lub nowszej, opisany tutaj błąd aktualizacji do GA nie jest już jednoznacznym wyjaśnieniem. Nie należy wtedy ponownie wykonywać operacji cleanup, lecz przeprowadzić standardową diagnostykę AD SSO i w razie potrzeby skontaktować się z Sophos Support.
Gdy Advanced Shell jest niedostępna
Sophos podaje jako alternatywę ponowną zmianę firmware:
- Jeśli firewall działa już ponownie w SFOS 21.5, należy jeszcze raz uruchomić SFOS 22.0 GA.
- Jeśli firewall działa w SFOS 22.0 GA, należy najpierw uruchomić dostępny slot firmware SFOS 21.5, a następnie ponownie SFOS 22.0 GA.
Taka operacja ponownie uruchamia tworzenie katalogów NASM. Powoduje przestój i nie jest tym samym co zwykłe ponowne uruchomienie. Dlatego konieczne są aktualna kopia zapasowa, dostępny i rozruchowy slot firmware, dostęp do konsoli, okno serwisowe oraz sprawdzona droga powrotu. Jeśli te warunki nie są spełnione, bezpieczniejsza jest bezpośrednia aktualizacja do poprawionej wersji lub procedura uzgodniona z Sophos Support.
Kiedy cleanup nie jest właściwym rozwiązaniem
Polecenia nasm_cleanup nie należy używać jako ogólnego polecenia naprawczego. Inna ścieżka diagnostyczna jest konieczna, jeśli:
- firewall działa już w SFOS 22.0 MR1 Build 490 lub nowszej wersji
- problem występował przed aktualizacją
- Test connection z serwerem AD kończy się niepowodzeniem
- problem dotyczy tylko pojedynczych użytkowników, grup lub przeglądarek
- problem dotyczy STAS, Microsoft Entra ID SSO, RADIUS lub standardowego logowania LDAP
- DNS, SPN, Domain Join, certyfikaty lub zaufanie przeglądarki nie działają prawidłowo
- ścieżka aktualizacji lub czas wystąpienia awarii nie odpowiada opisanemu błędowi
- problem dotyczy klastra HA i nie ma procedury zatwierdzonej przez Sophos dla obu węzłów
W takich przypadkach operacja cleanup nie usuwa błędnej konfiguracji i może ukryć właściwą przyczynę. Najpierw należy zawęzić problem do danego sposobu uwierzytelniania; przy niejasnym lub odmiennym zachowaniu właściwym punktem eskalacji jest Sophos Support.