NTP (Sieć Protokół czasu) oraz SNTP (prosty protokół czasu sieciowego) to dwa podstawowe protokoły prawidłowego funkcjonowania Internetu. Oba protokoły umożliwiają wszystkim urządzeniom w sieci, takim jak komputery, serwery, przełączniki, routery, telewizory Smart TV lub dowolne inne urządzenia podłączone do Internetu, mieć prawidłowy czas w systemie, aby uniknąć problemów podczas przeglądania. online lub wykonać dowolne zadanie. Dzisiaj w tym artykule wyjaśnimy szczegółowo oba protokoły czasowe, różnice między NTP i SNTP, a także sposób ich konfiguracji w różnych urządzeniach.

Co to jest NTP (Network Time Protocol) i jak to działa?
Protokół NTP jest pierwszym protokołem, który został uruchomiony w synchronizować zegary różnych systemów komputerowych , NTP nie tylko działa na komputerach czy serwerach, ale są fundamentalną częścią routerów, przełączników, WiFi punkty dostępowe i wszelkiego rodzaju urządzenia sieciowe, takie jak zapory sieciowe. NTP był jednym z pierwszych protokołów internetowych, który powstał w 1981 roku i nadal jest używany do synchronizacji zegarów różnych systemów komputerowych. Protokół NTP pozwala na synchronizację czasu z różnymi serwerami NTP, które są rozmieszczone na całym świecie i są dostępne przez Internet, dodatkowo protokół NTP pozwala na synchronizację czasu nawet jeśli mamy bardzo duże lub zmienne opóźnienie , ponieważ zawiera mechanizmy pozwalające uniknąć opóźnień spowodowanych tym opóźnieniem.
Protokół NTP wykorzystuje Protokół warstwy transportowej UDP na porcie 123 do komunikacji z różnymi serwerami NTP na całym świecie . Bardzo ważnym szczegółem jest to, że ten protokół NTP wykorzystuje port UDP 123 zarówno w porcie źródłowym, jak i docelowym, więc musimy to wziąć pod uwagę, jeśli mamy urządzenia za zapora lub jeśli istnieją listy kontrolne dostępu w różnych zarządzalnych przełącznikach sieci lokalnej. Jeśli masz urządzenie korzystające z protokołu NTP i zarządzalny przełącznik z włączonymi różnymi atakami sieciowymi, musisz wyłączyć ” Blat Atak ” atak na protokół NTP, aby działał poprawnie. Ten „atak Blat” polega na blokowaniu pakietów TCP lub UDP, które mają te same porty źródłowe i docelowe, dokładnie to, co robi NTP podczas korzystania z portów źródłowych i docelowych UDP 123. Dlatego musimy wziąć to pod uwagę w momencie konfiguracji naszej sieci.

Obecna wersja NTP to wersja 4, ponieważ z biegiem czasu ten ważny protokół został zaktualizowany i ulepszony. Protokół NTP wykorzystuje skalę czasu UTC (Coordinated Universal Time), w tym obsługę sekund przestępnych, ponadto najnowsza wersja NTP pozwala na synchronizację z maksymalną różnicą 10 milisekund przez Internet, w przypadku w sieci lokalnej możliwe jest osiągnięcie dokładności do 200 mikrosekund, chociaż będzie to zależeć od konfiguracji sieci. W różnych systemach operacyjnych, takich jak Windows, Linux lub macOS, protokół NTP zawsze działa, aby poprawnie synchronizować się z serwerami czasu.
Z biegiem czasu problemy bezpieczeństwa związane z protokołem NTP zostały wykryte, zarówno w implementacji w różnych systemach operacyjnych, w klientach NTP różnych komputerów, jak również w wewnętrznym bezpieczeństwie samego protokołu, z którego nie korzysta. każdy rodzaj uwierzytelniania lub szyfrowania danych do wymiany wiadomości. Serwery NTP są podatne na ataki Man in the Middle, chyba że pakiety są podpisane kryptograficznie, to samo dotyczy samych komputerów, mogą one wykonywać ataki MitM w celu modyfikacji czasu na komputerach końcowych. Protokół NTP przesyła wszystkie informacje w postaci zwykłego tekstu, nie ma żadnego rodzaju szyfrowania, sprawdzana jest autentyczność lub integralność danych. Aby tego uniknąć, czas sieci Bezpieczeństwo Został zaprojektowany protokół (NTS), który jest bezpieczną wersją NTP wykorzystującą TLS i AEAD do ochrony komunikacji i aby nikt nie mógł podszywać się pod serwer NTP, aby błędnie skonfigurować czas w naszym systemie .
Co zrobić, jeśli nie mam odpowiedniego czasu w moim systemie?
Utrzymywanie prawidłowego czasu w systemie komputerowym jest bardzo ważne, w przeciwnym razie niektóre programy mogą nie działać, a nawet mogą przeprowadzać na nas ataki komputerowe. Jeśli w naszym systemie operacyjnym nie mamy poprawnie skonfigurowanego czasu, możemy mieć następujące problemy:
- Brak możliwości przeglądania Internetu za pomocą dowolnej przeglądarki internetowej, w zależności od skonfigurowanego czasu, będzie stale wskazywał błędy w różnych certyfikatach SSL / TLS sieci.
- Problemy z niektórymi programami, które potrzebują odpowiedniego czasu do działania.
- Możemy mieć problemy z aktualizacjami systemu Windows.

W przypadku routerów i zapór ogniowych brak odpowiedniego czasu oznacza również brak możliwości nawiązania połączenia VPN tunele jeśli używane są certyfikaty cyfrowe, ponieważ możliwe jest, że czas jest poza datą i godziną utworzenia certyfikatu lub jego wygaśnięcia, dodatkowo wszystkie rekordy pojawią się z błędną godziną, więc musimy to również wziąć pod uwagę konto. W przypadku przełączników zarządzalnych przez NTP mamy to samo, nie mogliśmy zobaczyć rekordów poprawnie z ich datą i godziną, ani nie mogliśmy zaprogramować PoE, aby włączać i wyłączać punkty dostępowe. Wreszcie innym sprzętem sieciowym, który może ucierpieć, są kontrolery WiFi, nie mogliśmy zobaczyć, w jakich godzinach jest większy ruch, ponieważ czas jest źle skonfigurowany.
Jak widać, mamy wiele problemów, jeśli chodzi o nieodpowiedni czas w danym systemie komputerowym.
Co to jest SNTP (Simple Network Time Protocol) i jak to działa?
SNTP (Simple Network Time Protocol) to mniej skomplikowana implementacja protokołu NTP , używa tego samego protokołu i służy temu samemu celowi. Protokół ten jest szeroko stosowany w sprzęcie wbudowanym, takim jak routery domowe lub przełączniki domowe, gdzie nie jest wymagana pełna funkcjonalność protokołu NTP. Obecnie używanym protokołem jest SNTPv4 i jest zdefiniowany w RFC4330.

SNTPv4 umożliwia uproszczony dostęp dla serwerów i klientów korzystających z obecnych i wcześniejszych wersji samego NTP i SNTP, dostęp jest identyczny z protokołem UDP/TIME, więc adaptacja powinna być bardzo prosta. Protokół ten jest przeznaczony do pracy w konfiguracji serwera dedykowanego, która zawiera zintegrowany radiobudzik, dodatkowo poprawiono i kontrolowano opóźnienia, dokładny czas można bez problemu wprowadzić w kilka mikrosekund.
Protokół SNTP ewoluował z biegiem czasu, poprawiając jego wydajność, a także jego kompatybilność z różnymi bazowymi protokołami. Na przykład jedyną istotną zmianą w SNTPv4 w porównaniu z poprzednimi wersjami są nagłówki dostosowane do protokołu IPv6. Niektóre opcjonalne rozszerzenia zostały również dodane do podstawowego NTP. Obecnie, gdy konfigurujemy serwer NTP w różnych klientach NTP, które istnieją na całym świecie, obsługa i wymiana informacji może odbywać się zarówno za pomocą protokołu NTP, jak i SNTP, operacja jest taka sama, ponieważ mamy kompatybilność.
Różnice między NTP a SNTP
Główną różnicą między NTP a SNTP jest to, że ten ostatni nie wymaga żadnego rodzaju przechowywania stanu przez bardzo długi czas, co robi protokół NTP. Bardzo ważną różnicą dla administratorów sieci jest obsługa komunikacji, zezwalanie lub blokowanie ruchu na firewallach lub tworzenie list kontroli dostępu na zarządzalnych przełącznikach.
Protokół NTP współpracuje z protokołem UDP na porcie 123, ten port UDP 123 jest używany w komunikacji zarówno u źródła, jak i u celu. Jak wyjaśniliśmy wcześniej, jeśli aktywowałeś „atak Blat” w przełącznikach i masz urządzenie korzystające z czystego protokołu NTP, z pewnością blokuje ono ruch tylko z NTP bez twojej wiedzy.
Protokół SNTP współpracuje z protokołem UDP na porcie 123, komunikacja używa losowego portu UDP jako źródła i port UDP 123 jako miejsce docelowe. Zgodnie ze standardem SNTP portem źródłowym może być dowolny inny niż 0 w celu wykonania multipleksacji oczywiście serwer odpowiada poprawnie na porcie źródłowym wybranym przez klienta w pierwszej komunikacji tak aby nie mieć problemów z NATem że mieć routery. Celem tej ważnej zmiany jest umożliwienie identyfikacji konkretnego klienta, aby nie mieć problemów z NAT oraz aby przełączniki z aktywowanym Blat Attack nie blokowały komunikacji.
Jak już zauważyłeś, protokoły NTP i SNTP są dwoma podstawowymi i bardzo ważnymi protokołami dla systemów komputerowych, ważne jest, aby poprawnie skonfigurować czas, zarówno w systemie operacyjnym komputera stacjonarnego, jak i w innym sprzęcie sieciowym, który posiadasz.