Konfiguracja czasu systemowego i NTP w Sophos Firewall
W sekcji Administration > Time konfiguruje się zegar samego Sophos Firewall. W przypadku typowego firewalla z dostępem do internetu zazwyczaj wystarczy wybrać właściwą Time zone, pozostawić włączoną opcję Use predefined NTP server, kliknąć Sync now, zapisać ustawienia przyciskiem Apply i ponownie wczytać WebAdmin. Dopiero po ponownym wczytaniu wartość Current time zostanie zaktualizowana.
To ustawienie nie powoduje, że firewall automatycznie staje się serwerem NTP dla urządzeń wewnętrznych. Jeżeli klienci mają używać adresu IP bramy jako serwera czasu, osobny proces NAT opisano w artykule Sophos Firewall jako przekaźnik NTP.
⚠️ Zmiana skonfigurowanych serwerów NTP powoduje ponowne zestawienie wszystkich tuneli IPsec. Zmianę serwera należy więc zaplanować w oknie serwisowym. Sophos nie dokumentuje takiego ponownego zestawienia dla samego Sync now, jeżeli lista serwerów pozostaje bez zmian.
Dlaczego czas systemowy i strefa czasowa są osobno ważne
NTP synchronizuje wspólny bezwzględny punkt odniesienia oparty na UTC. Ustawienie Time zone określa, jak firewall wyświetla ten czas lokalnie i kiedy obowiązują lokalne harmonogramy. Mogą więc wystąpić dwa różne rodzaje błędów:
- Sam czas jest nieprawidłowy: Certyfikaty mogą być wyświetlane jako jeszcze nieważne lub wygasłe, uwierzytelnianie i MFA mogą się nie powieść, a połączenia VPN mogą nie zostać zestawione.
- Strefa czasowa jest nieprawidłowa: Synchronizacja może działać technicznie poprawnie, ale wpisy w logach, raporty, okna serwisowe lub reguły czasowe mogą być przesunięte o jedną lub kilka godzin.
To rozróżnienie jest istotne podczas diagnozowania problemów. Jeżeli firewall pokazuje stałe przesunięcie o pełną liczbę godzin, najpierw należy sprawdzić strefę czasową. Jeżeli wskazanie stopniowo się rozjeżdża albo data jest ewidentnie błędna, prawdopodobną przyczyną jest źródło czasu lub synchronizacja.
Prawidłowy czas zapewnia również wspólny punkt odniesienia dla firewalla, Syslog lub SIEM, urządzeń końcowych, serwerów, przełączników i drugich stron VPN. Bez niego późniejsze odtworzenie zdarzenia na podstawie danych z wielu systemów jest trudne.
Wybór odpowiedniego źródła czasu
SFOS 22 oferuje w sekcji Administration > Time trzy tryby pracy.
Use predefined NTP server jest ustawieniem domyślnym. Firewall używa NTP w wersji 3 i synchronizuje się z 0.sophos.pool.ntp.org. Dla wielu pojedynczych lokalizacji z dostępem do internetu jest to najprostsza opcja. Ponieważ używana jest nazwa FQDN, muszą działać rozwiązywanie DNS, routing i wychodzący ruch UDP 123.
Use custom NTP server sprawdza się w firmach korzystających z wewnętrznych serwerów czasu, kontrolowanych źródeł zewnętrznych lub odizolowanych sieci. Można wpisać adresy IPv4, adresy IPv6 lub nazwy domen. SFOS obsługuje do dziesięciu serwerów i sprawdza je w wyświetlanej kolejności, aż jeden z nich odpowie.
Ta lista jest uporządkowanym mechanizmem failover, a nie quorum: firewall wybiera pierwszy serwer, który odpowie, i nie porównuje kilku źródeł czasu. Na początku listy powinno więc znaleźć się preferowane i najbardziej niezawodne źródło.
Przy własnej konfiguracji zalecamy co najmniej dwa niezależnie osiągalne źródła czasu. Dwie nazwy wskazujące ten sam serwer nie zapewniają nadmiarowości; sens mają oddzielne wewnętrzne serwery czasu albo świadomie wybrane źródła, które nie przestaną działać razem z jednym systemem. Przykładowe nazwy:
ntp01.example.net
ntp02.example.net
example.net jest zarezerwowaną domeną przykładową. Obie nazwy należy zastąpić rzeczywistymi wewnętrznymi lub zewnętrznymi serwerami NTP. Użycie nazw FQDN wymaga działającego DNS. Bezpośrednie adresy IP eliminują tę zależność, ale po zmianie serwera trzeba je zaktualizować na każdym firewallu.
Do not use NTP server pozwala ręcznie ustawić Date i Time. Takie rozwiązanie nadaje się najwyżej jako uzasadnione rozwiązanie przejściowe, gdy żadne źródło czasu nie jest osiągalne. Ręcznie ustawiony zegar dryfuje i może zakłócać uwierzytelnianie, import certyfikatów oraz VPN. W pracy ciągłej niezawodniejsze jest osiągalne źródło NTP.
Konfiguracja czasu systemowego w SFOS 22
Na firewallu działającym już produkcyjnie przed zmianą serwera należy udokumentować Current time, Time zone, dotychczasowy tryb pracy, kolejność serwerów i aktywne tunele IPsec. Następnie można przeprowadzić konfigurację:
- Otworzyć Administration > Time.
- Sprawdzić aktualny stan w polu Current time.
- W polu Time zone wybrać rzeczywistą lokalizację firewalla, na przykład
Europe/Zurich. - Wybrać Use predefined NTP server, Use custom NTP server albo, wyłącznie w uzasadnionej sytuacji wyjątkowej, Do not use NTP server.
- Własne źródła czasu dodawać pojedynczo przyciskiem Add. Sprawdzić oczekiwaną kolejność.
- Kliknąć Sync now, jeżeli skonfigurowano serwer NTP.
- Zapisać ustawienia przyciskiem Apply.
- Ponownie wczytać WebAdmin i jeszcze raz sprawdzić Current time.
Strefę czasową wybiera się według fizycznej lokalizacji firewalla, a nie lokalizacji aktualnie zalogowanego administratora. Jest to szczególnie ważne w środowiskach międzynarodowych, ponieważ harmonogramy i zaplanowane prace mogłyby zostać wykonane o niewłaściwej godzinie lokalnej.
Artykuł Konfiguracja harmonogramów reguł i zasad na Sophos Firewall opisuje pełny proces od obiektu czasu do walidacji reguły.
Jeżeli synchronizacja z nowymi serwerami nie powiedzie się, należy przywrócić wcześniej udokumentowany tryb pracy lub listę serwerów, przy włączonym NTP ponownie wykonać Sync now i zapisać ustawienia przyciskiem Apply. Przy Do not use NTP server krok Sync now nie występuje. Ponowna zmiana serwera również może spowodować ponowne zestawienie tuneli IPsec, dlatego powrót należy wykonać w tym samym oknie serwisowym. Następnie trzeba ponownie sprawdzić Current time oraz wszystkie tunele, które były wcześniej aktywne.
Dokładna kontrola synchronizacji
Zapisana lista serwerów nie dowodzi jeszcze, że synchronizacja działa. Przy odbiorze zmiany warto połączyć kilka obserwacji:
- Po Sync now ponownie wczytać WebAdmin i porównać Current time z wiarygodnym, również zsynchronizowanym źródłem odniesienia.
- Wygenerować nowy wpis w logu lub zdarzenie testowe i porównać czas oraz strefę czasową w Log Viewer lub SIEM.
- Po zmianie serwera NTP sprawdzić, czy wszystkie wcześniej aktywne tunele IPsec zostały ponownie zestawione.
- Przy własnych serwerach sprawdzić, czy więcej niż jedno źródło czasu jest faktycznie osiągalne przez przewidzianą ścieżkę sieciową.
- W przypadku reguł czasowych lub okien serwisowych skontrolować następny znany czas wykonania bez zbędnego modyfikowania produkcyjnego harmonogramu.
Sophos nie publikuje dla SFOS 22 ogólnego maksymalnego odchylenia czasu, które w każdym środowisku oznaczałoby sukces. Istotne jest, aby firewall stabilnie synchronizował się z wybranym źródłem, lokalna strefa czasowa była prawidłowa, a skorelowane systemy wskazywały ten sam moment zdarzenia.
Gdy NTP się nie synchronizuje
Diagnostykę należy rozpocząć od najprostszej zależności, a następnie prześledzić rzeczywistą ścieżkę pakietu.
Nieprawidłowe wskazanie mimo udanej synchronizacji
Najpierw należy ponownie wczytać WebAdmin. Po Sync now wartość Current time na już otwartej stronie nie aktualizuje się automatycznie. Jeżeli nadal występuje stałe przesunięcie o pełną liczbę godzin, należy porównać Time zone z lokalizacją firewalla.
Nie można rozwiązać nazwy serwera
Serwer predefiniowany i własne cele FQDN wymagają DNS. W sekcji Network > DNS za pomocą Test name lookup można sprawdzić na przykład 0.sophos.pool.ntp.org albo nazwę własnego serwera. Jeżeli rozwiązywanie nazwy nie powiedzie się, najpierw należy poprawić serwery DNS, DNS Request Routes oraz ścieżkę sieciową do resolvera.
Nazwa serwera jest rozwiązana, ale serwer nie odpowiada
W sekcji Diagnostics > Tools za pomocą Route Lookup należy sprawdzić, przez którą bramę i interfejs osiągany jest adres IP serwera. Następnie otworzyć Diagnostics > Packet capture > Configure, w polu Enter BPF string ustawić wąski filtr obejmujący docelowy adres IP i UDP 123, a potem zatwierdzić przyciskiem Save. Włączyć przechwytywanie, uruchomić Sync now i po teście wyłączyć zapis. Dla przykładowego serwera 192.0.2.20 odpowiedni jest filtr:
host 192.0.2.20 and udp port 123
W działającym połączeniu widać żądanie wygenerowane przez firewall i pasującą odpowiedź. Jeżeli brakuje żądania, należy sprawdzić trasę, aktywną ścieżkę WAN i ewentualne sterowanie SD-WAN. Jeżeli brakuje tylko odpowiedzi, najbardziej prawdopodobnymi przyczynami są serwer NTP, nadrzędna ACL, ścieżka operatora lub trasa powrotna.
NTP firewalla jest ruchem generowanym przez system. Zwykła reguła firewall LAN-to-WAN nie jest więc wiarygodnym potwierdzeniem działania funkcji. Jeżeli używane są liczne łącza lub SD-WAN, artykuł Routing SD-WAN dla ruchu generowanego przez system wyjaśnia, jak sprawdzić rzeczywistą ścieżkę wyjściową.
Sprawdzanie logu klienta NTP
Właściwy log nazywa się ntpclient.log. Można go pobrać wraz z pozostałymi logami diagnostycznymi w sekcji Diagnostics > Tools > Troubleshooting logs. Aby przeprowadzić krótką kontrolę na żywo, po zalogowaniu do Sophos Firewall przez SSH należy otworzyć 5. Device Management > 3. Advanced Shell i uruchomić polecenie tylko do odczytu:
tail -f /log/ntpclient.log
Następnie jednokrotnie uruchomić Sync now, zapisać nowe wiersze i zakończyć podgląd poleceniem Ctrl+C. SFOS 22 nie gwarantuje jednego komunikatu o sukcesie, który byłby identyczny w każdej wersji i konfiguracji. Nazwę serwera, znaczniki czasu i komunikaty o błędach należy więc oceniać razem z wynikami DNS, Route Lookup i Packet Capture. Ogólne przypisanie pozostałych plików logów opisano w artykule Usługi i logi Sophos Firewall.
Eksploatacja, Central i przywracanie
Sophos Central Firewall Management nie może synchronizować ustawień NTP z firewallem. Ustawienia są zarządzane bezpośrednio na każdym firewallu. W środowisku z wieloma firewallami należy więc udokumentować docelową strategię źródeł czasu i stref czasowych, a po zmianach przeprowadzać kontrole wyrywkowe.
Kopia zapasowa przywraca strefę czasową i ustawienia NTP, ale nie ręcznie ustawioną datę ani godzinę. Po przywróceniu należy więc sprawdzić Current time, Time zone, wybór NTP oraz usługi zależne. Pełny proces opisano w artykule Tworzenie lub przywracanie kopii zapasowej Sophos Firewall.
FAQ
Czy Sophos Firewall automatycznie działa jako serwer NTP dla klientów?
Dlaczego Current time nie zmienia się od razu po Sync now?
Ile własnych serwerów NTP należy wpisać?
Czy własny ruch NTP firewalla wymaga reguły LAN-to-WAN?
123 oraz odpowiedź źródła czasu.