Kako se NTP protokol sinkronizacije vremena razlikuje od SNTP-a? NTP – atomski sat na svakoj tablici Značenje znakova prije naziva poslužitelja.

MSK-IX NTP poslužitelj je javni vremenski poslužitelj kojeg podržava MSK-IX. Poslužitelj točnog vremena dizajniran je za sinkronizaciju internih satova računala i mrežne opreme (poslužitelja, usmjerivača, pametnih telefona itd.) s referentnim izvorom pomoću NTP protokola.

MSK-IX NTP server pripada najvišoj razini točnosti (Stratum One Time Servers) u hijerarhijskom sustavu vremenskih razina. Globalni signal se koristi kao referentni vremenski signal. satelitski sustavi navigacija GLONASS (prioritet) i GPS.

MSK-IX NTP Server implementiran je kao grupa poslužitelja smještenih u Moskvi, St. Petersburgu, Jekaterinburgu i Novosibirsku. Korištenje anycast mrežne tehnologije osigurava visoku pouzdanost i brz odziv sustava u cijeloj zemlji.

MSK-IX poslužitelji također su uključeni u međunarodni skup NTP poslužitelja POOL.NTP.ORG, široko korišten u postavkama operativnog sustava.

Kako početi koristiti uslugu NTP poslužitelja?

Koristite sljedeće parametre kada konfigurirate svoj hardver:

Naziv poslužitelja ntp.msk-ix.ru
IPv4 adresa 194.190.168.1
IPv6 adresa 2001:6d0:ffd4::1

Kako uspostaviti peering s mrežom MSK-IX NTP poslužitelja?

Kako biste skratili mrežnu rutu do MSK-IX NTP poslužitelja, koristite uslugu Route Server ili uspostavite izravni peering s MSK-IX DNS Cloud mrežom. Peer-to-peer interakcija se uspostavlja dodatnom prijavom u okviru ugovora za povezivanje na MSK-IX bez dodatnog plaćanja.

NTP(Network Time Protocol) je mrežni protokol za sinkronizaciju unutarnjeg sata računala pomoću mreža s promjenjivom latencijom. Protokol je razvio David L. Mills, profesor na Sveučilištu Delaware, 1985. godine. Verzija za 2015. je NTPv4.

NTP, temeljen na algoritmu Marzullo, za rad koristi UDP protokol i uzima u obzir vrijeme prijenosa. NTP sustav izuzetno je otporan na promjene u latenciji prijenosnog medija. U verziji 4 sposoban je postići točnost od 10 ms (1/100 s) pri radu preko interneta, a do 0,2 ms (1/5000 s) i bolje unutar lokalnih mreža.

NTP protokol se najčešće koristi za sinkronizaciju vremenskih poslužitelja. Kako bi se postigla maksimalna točnost, poželjan je kontinuirani rad softver NTP u načinu rada sustava. U obitelji operacijske dvorane Microsoft sustavi Windows je usluga W32Time, Linux je usluga Ntpd.

Jednostavnija implementacija ovog algoritma poznata je kao SNTP - Simple Network Time Protocol. Koristi se u ugrađenim sustavima i uređajima koji ne zahtijevaju visoku preciznost, kao iu prilagođenim vremenskim programima.

Struktura paketa

Struktura paketa opisana je u RFC 5905. Paket se sastoji od cijelog broja 32-bitnih riječi.

Informacije u zaglavlju će se razlikovati za različite načine rada. Na primjer, klijent u poljima satni sloj, ID izvora, vrijeme početka I vrijeme primitka mora pisati nule.

Naslov

NTP zaglavlje
Uvlačenje Oktet 0 1 2 3
Oktet bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
0 0 IR Verzija Način rada Satni sloj Interval anketiranja Točnost
4 32 Odgoditi
8 64 Disperzija
12 96 ID izvora
16 128 Vrijeme ažuriranja
20 160
24 192 Vrijeme početka
28 224
32 256 Vrijeme prijema
36 288
40 320 Vrijeme otpreme
44 352

Indikator korekcije

Primjer sinkronizacije vremena pomoću NTP-a

Duljina - 2 bita, iz indikatora skoka. Cijeli broj koji označava upozorenje prijestupne sekunde.

Broj verzije

Duljina - 3 bita, od broja verzije. Cijeli broj koji predstavlja verziju protokola.

Način rada

Duljina - 3 bita, iz Mode. Cijeli broj koji predstavlja mod. Vrijednosti su prikazane u tablici ispod.

Satni sloj

Duljina - 8 bita, iz Stratuma. Cijeli broj koji predstavlja sloj sata.

Interval anketiranja

Duljina - 8 bita, iz Poll. Cijeli broj s predznakom koji predstavlja maksimalni interval između uzastopnih poruka. Vrijednost je jednaka binarnom logaritmu sekundi. Zadana predložena ograničenja za minimalne i maksimalne ankete su 6 odnosno 10.

Točnost

Duljina - 8 bita, od Precision. Cijeli broj s predznakom koji predstavlja točnost sistemskog sata. Vrijednost je jednaka binarnom logaritmu sekundi. Na primjer, vrijednost od -18 će odgovarati točnosti od oko 1 µs.

Odgoditi

Duljina - 32 bita, od Root Delay. Ukupno vrijeme propagacije signala u oba smjera u kratkom NTP formatu.

Disperzija

Duljina - 32 bita, iz korijenske disperzije. Ukupna varijanca za izvor vremena u kratkom NTP formatu.

ID izvora

Duljina - 32 bita, iz referentnog ID-a. Izvorni kod sinkronizacije. Ovisi o vrijednosti u polju sloja sata. Za sloj 0- Ova četiri ASCII znaka, nazvana "kod poljupca", koriste se za otklanjanje pogrešaka i nadzor. Pogledajte dolje za sloj 1 je četiri okteta ASCII znakova, dopunjenih s lijeve strane nulama, dodijeljenih vremenskoj referenci. Donja tablica prikazuje popis koji održava IANA.
iskaznica Izvor
IDE Geostacionarni satelit za sustav praćenja i nadzora okoliša
GPS Globalni sustav pozicioniranja
GAL Galileo sustav za pozicioniranje
P.P.S. Opći radio signal s trajanjem impulsa od 1 sekunde
IRIG Grupa za standardizaciju telemetrije, SAD
WWVB Niskofrekventni radio odašiljač, 60 kHz, Fort Collins, Colorado, SAD
DCF Niskofrekventni radio odašiljač, 77,5 kHz, DCF77, Mainflingen, Njemačka
HBG Niskofrekventni radio odašiljač, 75 kHz, Prangins, Švicarska
MSF Niskofrekventni radio odašiljač, 60 kHz, Anthorn, UK
JJY Niskofrekventni radio odašiljač, 40 kHz, Fukushima, 60 kHz, Saga, Japan
LORC Srednjofrekventni radio odašiljač, 100 kHz, radio navigacija, LORAN-C
TDF Srednjofrekventni radio odašiljač, 162 kHz, Allouis, Francuska
CHU Visokofrekventni radio odašiljač, Ottawa, Ontario, Kanada
WWV Visokofrekventni radio odašiljač, Fort Collins, Colorado, SAD
WWVH Visokofrekventni radio odašiljač, Kauai, Havaji, SAD
NIST
DJELA NIST telefonski modem
USNO Telefonski modem US National Observatory
PTB Telefonski modem Nacionalnog mjeriteljskog instituta Njemačke
Za slojevi 2 i iznad je identifikator poslužitelja i može se koristiti za snimanje vremenskih petlji. Ako se koristi IPv4, identifikator su četiri okteta IP adrese. Ako se koristi IPv6, onda su to prva četiri okteta MD5 hash adrese. Vrijedno je napomenuti da kada koristite IPv6 adrese za poslužitelj s NTPv4 i klijenta s NTPv3, identifikator može uzeti nasumične vrijednosti, zbog čega se vremenske petlje možda neće bilježiti.

Vrijeme ažuriranja

Duljina - 64 bita, iz referentne vremenske oznake. Vrijeme kada je sustav zadnji put postavio ili prilagodio vrijeme. NTP format.

Vrijeme početka

Duljina - 64 bita, od vremenske oznake porijekla. Vrijeme klijenta kada je zahtjev poslan poslužitelju. NTP format.

Vrijeme prijema

Duljina - 64 bita, od vremenske oznake primanja. Vrijeme poslužitelja kada zahtjev dolazi od klijenta. NTP format.

Vrijeme otpreme

Duljina - 64 bita, iz vremenske oznake prijenosa. Vrijeme poslužitelja kada je zahtjev poslan klijentu. NTP format.

NTP poruka "Kiss-o"-Death"

Za sloj 0, koje se smatra nedefiniranim ili nevažećim poljem ID izvora može se koristiti za isporuku poruka koje služe kao informacije o stanju sustava i kontrola pristupa. Takve se poruke nazivaju "Kiss-o"-Death" (KoD), a ASCII podaci koje isporučuju nazivaju se "kodovi poljupca". Popis trenutno prihvaćenih kodova za "pomoć" prikazan je u tablici ispod.

Primatelji KoD poruka dužni su ih provjeriti i izvršiti sljedeće radnje:

  • Prilikom primanja kodnih kombinacija PORICI I RSTR klijent je dužan prekinuti virtualne veze s ovim poslužiteljem vremena i prestati slati poruke ovom poslužitelju.
  • Po primitku kodne kombinacije STOPA klijent mora odmah smanjiti svoj interval prozivanja za ovaj poslužitelj i nastaviti ga smanjivati ​​svaki put kada primi ovu kombinaciju koda.
  • Kada primite kombinaciju koda koja počinje ASCII znakom x, namijenjen eksperimentalnim istraživanjima i kasnijim poboljšanjima, treba ga zanemariti ako se ne prepozna.
  • Sve druge kombinacije kodova i KoD poruke koje nisu definirane ovim protokolom uništavaju se nakon provjere.
Kodovi pomoći
Kodirati Opis
ACST Virtualnu vezu uspostavio je unicast poslužitelj
AUTH Provjera autentičnosti poslužitelja nije uspjela
AUTO Autokey redoslijed nije točan
BCST Virtualnu vezu uspostavio poslužitelj za emitiranje
CRYP Kriptografska provjera autentičnosti ili identifikacija nije uspjela
PORICI Udaljeni poslužitelj je odbio pristup
PAD Gubitak udaljenog vremenskog poslužitelja u simetričnom načinu rada
RSTR Pristup odbijen zbog lokalne sigurnosne politike
U TOME Virtualna veza nije uspostavljena prvi put
MCST Virtualna veza za sinkronizaciju koju je uspostavio dinamički otkriveni poslužitelj
NKEY Ključ nije pronađen (ili nikada prije nije učitavan ili je nepouzdan)
STOPA Brzina je prekoračena. Poslužitelj je privremeno odbio pristup jer je klijent premašio prag brzine
RMOT Promjena virtualne veze s udaljenog IP glavnog računala izravno pomoću NTP protokola
KORAK Došlo je do iteracije za promjenu sistemskog vremena, virtualna veza za sinkronizaciju nije uspostavljena

Satni slojevi

Žute strelice označavaju hardversku vezu; crvene strelice označavaju mrežnu vezu.

NTP koristi hijerarhijsku mrežu gdje svaka razina ima svoj broj, koji se naziva sloj. Sloj 1- primarni poslužitelji koji se izravno sinkroniziraju s nacionalnim vremenskim službama putem satelita, radija ili telefonskog modema. sloj 2- sekundarni poslužitelji, sinkronizirani s primarnim poslužiteljima itd. Tipično, NTP klijenti i poslužitelji s relativno malim brojem klijenata nisu sinkronizirani s primarnim poslužiteljima. Postoji nekoliko stotina javnih sekundarnih poslužitelja koji rade na višim slojevima. Oni su preferirani izbor.

Vremenski format

Vrijeme je u NTP sustavu predstavljeno kao 64-bitni broj (8 bajtova), koji se sastoji od 32-bitnog sekundnog brojača i 32-bitnog frakcijskog sekundnog brojača, što omogućuje prijenos vremena u rasponu od 2-32 sekunde, s teorijska točnost od 2-32 sekunde. Budući da se vremenska ljestvica u NTP-u ponavlja svake 2 32 sekunde (136 godina), primatelj mora barem približno znati trenutno vrijeme (s točnošću od 68 godina). Također imajte na umu da se vrijeme mjeri od ponoći 1. siječnja 1900., a ne 1970., tako da se gotovo 70 godina (uključujući prijestupne godine) mora oduzeti od NTP vremena kako bi se točno uskladilo vrijeme sa Windows ili Unix sustavima.

Redovni format vremena
bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
0 sekundi
4 Djelić sekunde
Oblik datuma
bit 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
0 Broj ere
4 Era uvlačenje
8 Dionice
16

Već neko vrijeme sa zadatkom određivanja točnog vremena ne suočavaju se samo ljudi. Za mnoge sustave koje je on stvorio, da bi ispravno funkcionirali, potrebno je stalno imati na raspolaganju vrlo točne satove, a njihova točnost mora biti znatno veća od satova koje ljudi koriste u svakodnevnom životu. Osim stvarne točnosti sata, ne manje važna je i njegova sinkronizacija s univerzalnom vremenskom skalom. Uostalom, čak i na vagi UTC(Univerzalno koordinirano vrijeme je osnova građanskog vremena) povremeno se mijenjaju u obliku dodatne sekunde zbog odstupanja s atomskim vremenom (primjerice, u vrijeme kada su naš planet nastanjivali prvi dinosauri, duljina dana je bila u obliku dodatne sekunde). bilo oko 22 sata).

Kao upečatljive primjere sustava koji koriste vrlo točne i pouzdane metode za izračunavanje trenutnog vremena, uopće nije potrebno zamišljati komplekse koji kontroliraju kretanje svemirskih letjelica ili službe kontrole zračnog prometa - iako, naravno, zahtjevi za točnost satovi svih elemenata takvih sustava su na najvišoj razini. Stabilni satovi sinkronizirani s univerzalnim vremenom također su potrebni u sustavima koji obavljaju jednostavnije zadatke. To uključuje, primjerice, znanstvene i industrijske komplekse koji obrađuju podatke u stvarnom vremenu razne uređaje. Dodajte sve vezano uz financije - bankovne transakcije, sustave naplate operatera mobilna komunikacija i pružatelji internetskih usluga koji naplaćuju promet koji opslužuju. Sve su to primjeri sustava čija je implementacija nemoguća bez upotrebe satova sinkroniziranih i usklađenih s univerzalnim vremenom. U računalnim mrežama, protokol provjere autentičnosti klijenta također koristi usporedbu vremena poslužitelja sa satom klijenta.

Razvoj komunikacija u naše vrijeme uvelike je pojednostavio zadatak dobivanja točnog vremena. Sada imamo nekoliko desetaka satelita sustava globalnog pozicioniranja “nad našim glavama” (točnije, u orbiti oko Zemlje), čiji su ugrađeni satovi praktički vremenski standardi. Signali koje šalju mogu se koristiti za vrlo preciznu sinkronizaciju satova. U računalnim mrežama sinkronizacija se obično izvodi s poslužiteljima točnog vremena pomoću protokola NTP(Network Time Protocol) ili njegova "light" verzija - SNTP(Simple Network Time Protocol) u slučajevima kada nije potrebna maksimalna funkcionalnost korištenja punog NTP-a.

NTP protokol koristi hijerarhijski sustav razina ili slojeva. NTP poslužitelj ima najvišu razinu ( sloj 1) ako prima podatke izravno iz izvora vremena. Poslužitelji koji sinkroniziraju svoje satove s poslužiteljem 1. stratuma nalaze se na nižoj razini u ovom modelu (stratum 2) itd. NTP protokol, za razliku od SNTP-a, pruža veću točnost sinkronizacije koristeći složene algoritme za izračunavanje vremena prijenosa paketa na mreže i može izvršiti kontrolu pogrešaka i filtrirati UDP pakete.

Općenito govoreći, SNTP protokol radi prilično jednostavno i obično se odvija u tri faze:

  • Klijent koji treba dobiti vrijeme šalje UDP paket koji sadrži SNTP zahtjev na općeprihvaćeni port 123 NTP poslužitelja i prelazi u način čekanja odgovora. U ovom zahtjevu označava vremenski žig vlastitog sata.
  • Kada primi zahtjev, poslužitelj odgovara UDP paketom koji sadrži SNTP poruku, šaljući je klijentu s porta 123. Paket bilježi primljenu vremensku oznaku klijenta i vremensku oznaku samog poslužitelja.
  • Kada klijent primi odgovor, može upotrijebiti vremensku oznaku koju je stvorio kada je poslao zahtjev da potvrdi točnost odgovora, pokušavajući osigurati da je poslan posebno na zahtjev tog klijenta (ako je paket poslan na zahtjev od drugog izvora, vjerojatno je da sadrži istu vremensku oznaku stvaranja izuzetno nisku). Zatim izvlači vrijednost vremenske oznake prijenosa, pretvarajući je prema procijenjenoj latenciji uzrokovanoj putovanjem paketa kroz mrežu, i koristi rezultat za postavljanje vremena svog sistemskog sata.

Formati paketa za oba protokola su isti, što NTP poslužitelju omogućuje rad s NTP i SNTP klijentima.

Struktura NTP okvira

NTP poslužitelji u pravilu imaju samo jedan port otvoren prema van - UDP 123. U ovoj konfiguraciji administrator ne mora puno brinuti o sigurnosti poslužitelja, budući da je praktički neranjiv na napade zlonamjernih programa. Ipak, vrlo je važno osigurati dostupnost 1st Stratum poslužitelja za klijente, jer se u suprotnom gubi sam smisao njegovog rada. Glavni problem je broj zahtjeva koje NTP poslužitelj može poslužiti. Međutim, sami zahtjevi mogu biti generirani iz vrlo zanimljivih razloga.

Najpoznatiji slučajevi NTP vandalizma

Sredinom svibnja 2003. zaposlenici Sveučilišta u Madisonu otkrili su brzo rastući internetski promet koji je bio usmjeren na javne NTP poslužitelje sveučilišta. Promet se sastojao od zahtjeva NTP protokola, koji se sastoje od 76-bajtnih paketa koji su poslani na UDP priključak 123. Međutim, ti su paketi imali neobično svojstvo: unatoč činjenici da su dolazili iz različitih izvora, svi su bili poslani s porta broj 23457.

Radi zaštite poslužitelja promijenjena je konfiguracija usmjerivača, blokiran je samo ovaj dio dolaznih zahtjeva prema NTP poslužiteljima, a redovni zahtjevi nastavili su se normalno servisirati. Blokiran je samo sav UDP promet koji sadrži zahtjeve prema NTP poslužitelju poslane s porta 23457 na port 123. U tom trenutku osoblje je jednostavno mislilo da je suočeno s distribuiranim napadom uskraćivanja usluge ( DDoS napad, s engleskog Distributed Denial of Service, uskraćivanje usluge), organiziran s mnogo nasumičnih adresa, i tu stao, pretpostavljajući da će se poplava smiriti u roku od nekoliko sati, kao što to obično biva s napadima niske profesionalne razine.

Mjesec dana kasnije pokazalo se da je protok dolaznog NTP prometa značajno porastao, dosegnuvši enormne vrijednosti - 250 tisuća paketa u sekundi, s volumenom od preko 150 Mbit/s. Pažljivo deblokirajući pristup nekim sučeljima, osoblje je počelo ispitivati ​​UDP pakete, uključujući njihov sadržaj. Činilo se da su to valjani zahtjevi SNTP verzije 1, iako je njihov visoki intenzitet od svakog hosta bio nejasan. Na primjer, tijekom jednog razdoblja praćenja, mnogi klijenti uputili su približno jedan zahtjev u sekundi. To bi bilo krajnje čudno za SNTP klijent koji normalno funkcionira. Aplikacije koje koriste SNTP jednostavno postavljaju vlastiti sistemski sat na potrebnu preciznost tako da domaćin ima neku razumnu predodžbu o trenutnom vremenu.

Ispitivanje vremena svake sekunde jednostavno je smiješno i prilično daleko od normalnog ponašanja NTP klijenta. Ako vas slučajni prolaznik na ulici pita koliko je sati, to je normalno. Ali što ako svaki put odmah nakon vašeg odgovora počne pitati za vrijeme, a pridruže mu se još neki ljudi? Što ako ovo potraje tjednima? Postalo je jasno da je potrebno razumjeti razloge za ono što se događa.

Niti jedan od izvora zahtjeva nije bio prisutan lokalna mreža kompleks sveučilišnih zgrada. To je značilo da će za istraživanje uzroka incidenta biti potrebna pomoć administratora udaljenog poslužitelja. Od najaktivnijih IP adresa odabrana su dva klijenta koji se nalaze na mrežama drugih sveučilišta. Mrežnim administratorima poslano je pismo u kojem se opisuje problem i od njih se traži da saznaju koji OS i SNTP klijenti bi mogli biti pokrenuti na ovim hostovima i koje bi usluge mogle slati zahtjeve od njih koristeći UDP port 23457.

Dobiveni odgovori sadržavali su informaciju da su izvor prometa proizvodni usmjerivači Netgear(Jedan je posebno identificiran kao model MR814). Sada su događaji počeli imati nekog smisla. Velik broj hostova koji koriste isti port mogao bi se objasniti ugrađenim SNTP klijentom s programiranim brojem porta. Zaposlenici Sveučilišta u Madisonu počeli su prikupljati informacije o Netgear proizvodima koji su tvrdili da podržavaju NTP. Nakon pregleda koda, pokazalo se da je proizvođač jednostavno programirao informacije o NTP poslužiteljima u neke od njih. Osim IP adresa iz raspona rezerviranih za lokalne mreže, sadržavale su globalne IP adrese za usmjeravanje, uključujući javni NTP poslužitelj Sveučilišta Madison. Problem je pogoršan činjenicom da se od globalnih IP adresa navedenih u kodu samo sveučilišna pokazala kao pravi NTP poslužitelj, a ugrađeni klijent usmjerivača, koji nije dobio odgovor na SNTP zahtjev , počeo je generirati nove zahtjeve svake sekunde.

Nakon što su konačno identificirali uzroke NTP poplave, sveučilišno osoblje obratilo se proizvođaču usmjerivača. Netgear je morao priznati svoju pogrešku. Ispostavilo se da je do tada već prodano preko sedamsto tisuća takvih uređaja. Neki jednostavni izračuni pokazuju da su potencijalno bili sposobni generirati 426Mbps prometa (700.000 UDP paketa u sekundi, svaki 76 bajtova) usmjerenog na isti NTP poslužitelj.

Za rješavanje problema stvorena je skupina u kojoj su sudjelovali predstavnici sveučilišta, proizvođač i neovisni stručnjaci. Ispravljene verzije softvera brzo su objavljene za uređaje koji sadrže pogreške u kodu. Naravno, to nije riješilo sve probleme - uostalom, izdavanje nove verzije firmvera od strane proizvođača ne znači da će je zamijeniti svi korisnici, od kojih većina nije bila svjesna takvih problema. Međutim, sveučilište je odlučilo nastaviti servisirati neispravne Netgear uređaje pružajući im mogućnost sinkronizacije sistemskih satova (je li ova odluka povezana s 375.000 dolara koje je Netgear platio Sveučilištu Madison, za koje se kaže da su "za poboljšanje sigurnosti?" bežična mreža i razvoj mreže kompleksa sveučilišnih zgrada” autoru nije pouzdano poznato).

Iste godine sličan incident dogodio se u Australiji. Ovoga puta sudionici su bili Nacionalni mjerni laboratorij Znanstveno-istraživačke organizacije Commonwealtha Australije. CSIRO) i proizvođač mrežne opreme sa sjedištem u Kaliforniji SMC mreže. Maksimalno opterećenje CSIRO NTP poslužitelja (1. sloj, izvor - cezijevi satovi, inače zvani " atomski") procijenjena je na 200 kBit/s. Blokiranje prometa, čija je većina dolazila iz inozemstva, dovelo je do toga da su SMC uređaji, u nedostatku odgovora s NTP poslužitelja, počeli slati zahtjeve dva puta u minuti. Na kraju je CSIRO odlučio promijeniti adrese svojih vremenskih poslužitelja (nakon što je o tome obavijestio svoje partnere), a provajderi su jednostavno počeli blokirati zahtjeve iz izvora koji se nalaze izvan Australije.

Posljednji najpoznatiji problem ove vrste dogodio se 2005. godine i prvo je nazvan “ NTP vandalizam“, koja se kasnije ustalila kao opći pojam za označavanje slučajeva zlouporabe NTP poslužitelja. Tada je "crna oznaka" otišla na danski poslužitelj 1. Stratuma, spojen na nacionalnu mrežu Danish Internet Exchange (DIX). Poslužitelj je pripadao jednom od programera FreeBSD-a - Half-Hoening Kamp(Poul-Henning Kamp), a iako nije bila u vlasništvu državnih ili znanstvenih institucija, postojala je na neprofitnoj osnovi. U pravilima korištenja je izravno navedeno da ga za sinkronizaciju vremena mogu koristiti samo NTP poslužitelji drugog stratuma koji se nalaze u Danskoj i aplikacije čiji rad zahtijeva izuzetno točno vrijeme.

Koncern se ponašao vandalski D-Link. Vlasnik NTP poslužitelja procijenio je da između 75% i 90% zahtjeva generiraju usmjerivači koje proizvodi D-Link. Kada je broj takvih paketa premašio tri milijuna dnevno, pružatelj je zahtijevao da Kampa plati troškove uzrokovane značajnim povećanjem prometa u iznosu od 54.000 DKK (približno 8.800 USD) godišnje.

Baš kao iu slučaju Sveučilišta Madison, Kamp je kontaktirao D-Link u nadi da će riješiti problem i nadoknaditi financijske troškove koji su njime izazvani. Za razliku od Netgeara, D-Link je počeo negirati postojanje problema, kao odgovor optužujući Kampa za iznudu. Sukob je trajao gotovo šest mjeseci dok Kamp nije javno obznanio sve detalje incidenta. Konačno, u travnju 2006. strane su postigle mirovni sporazum. Navedeno je da će postojeći D-Link proizvodi dobiti ovlašteni pristup Kampa NTP poslužitelju, a sljedeći će ga prestati koristiti (financijska strana dogovora je nepoznata, ali prema nekim procjenama, održavanje vlastitih vremenskih poslužitelja sposobnih za servisiranje takav bi promet koštao D-Link Link košta oko 1000 USD mjesečno).

Tehnička rješenja

Svi ovi slučajevi natjerali su programere mrežnih protokola da razmisle o načinima, osim primjene različitih politika pristupa, za izbjegavanje sličnih problema u budućnosti. Jedno od rješenja bile su promjene u četvrtoj verziji NTP protokola, koja se pojavila početkom 2006. i opisana u RFC 4330. One uključuju proširenje semantike polja NTP paketa kako bi se poslužitelju omogućilo slanje posebnog kontrolnog paketa s romantično ime" poljubac smrti"(Kiss-o"-Death, KoD). U takvom paketu zaglavlja se popunjavaju na poseban način - polje prestupne sekunde sadrži vrijednost 3, polje koje označava stratum poslužitelja postavljeno je na 0, a identifikator veze sadrži 4-bajtni kod koji označava razlog za slanje (u praksi se do sada koristi samo RATE kod - prekoračenje učestalosti zahtjeva).

Slanje takvog paketa klijentu znači da je poslužitelj otkrio da je klijent prekršio pravila za pristup i usluga klijentu će biti prekinuta. Klijent, nakon što ga primi, treba prestati slati zahtjeve i pokušati, ako je potrebno, pronaći drugi NTP poslužitelj. Ako klijent ne može otkriti drugi dostupni NTP poslužitelj, mora smanjiti stopu zahtjeva prema prethodnom poslužitelju prema algoritmu eksponencijalnog opadanja.

Dokument također predstavlja preporučena načela, prema kojima bi „ispravan“ NTP klijent trebao formirati vremenske intervale koji određuju učestalost zahtjeva prema poslužitelju, te koristiti elemente mrežne infrastrukture (uključujući DNS i DHCP). Ako planirate navesti izravne adrese NTP poslužitelja u ugrađenom kodu uređaja, hitno Preporuča se to učiniti samo nakon dogovora s njihovim vlasnicima.

U načelu, takve su inovacije sasvim razumne, ali bilo kakva opipljiva korist od njih bit će moguća tek kada porazan broj NTP poslužitelja i klijenata u globalnoj mreži u potpunosti će zadovoljiti zahtjeve četvrte verzije NTP protokola. Nažalost, nema nade da će se događaji u bližoj budućnosti razvijati na ovaj način (usput, jedan od “tragova” zahvaljujući kojima je Kamp došao do zaključka da su izvor napada ruteri D-Linka bio je korištenje SNTP protokola verzije 1 od strane svih njih).

Kao tehničko rješenje koje može značajno smanjiti vršno opterećenje vremenskih poslužitelja, možemo istaknuti projekt pool.ntp.org. To je veliki virtualni klaster geografski raspoređenih NTP poslužitelja (u vrijeme pisanja uključuje 1742 poslužitelja sa svih kontinenata). Sam projekt pokrenut je 2003. godine, kao plod rasprave o značajnim troškovima potrebnim za održavanje i rad pouzdanih vremenskih poslužitelja sposobnih za stalno opsluživanje značajnog broja zahtjeva. Ideja na kojoj se temelji vrlo je slična rekurzivnom mehanizmu rada DNS poslužitelji. Ako je poslužitelj kao što je 0.pool.ntp.org jednostavno naveden kao poslužitelj koji pruža točno vrijeme, tada će pravi poslužitelj s kojim će se izvršiti sinkronizacija vremena biti odabran nasumično sa svakim zahtjevom klijenta s popisa poslužitelja uključenih u bazen. Međutim, korisnici bazena mogu samostalno odabrati regionalne poslužitelje točnog vremena, navodeći kontinentalnu zonu ili čak zonu određene zemlje (u pravilu, što je poslužitelj bliži, točnija je sinkronizacija), na primjer - 0.ru. pool.ntp.org za Rusiju. Mora se imati na umu da neke zemlje nisu zastupljene u bazenu, a neke su predstavljene s jednim ili dva poslužitelja (na primjer, Malezija). Korištenje bazena je besplatno, osim za servisne tvrtke koje proizvode opremu i softverski proizvodi, čiji se NTP zahtjevi planiraju poslužiti pomoću resursa pool.ntp.org.

Sama ideja o pokretanju javne usluge sinkronizacije s točnim satom bez osiguravanja njegove stabilnosti i pouzdanosti u uvjetima ekstremnog opterećenja teško da ima smisla. Povijest poznaje mnoge primjere mrtvih NTP poslužitelja s deklariranim 1. stratumom, koji su “prijavljivali” vrijeme koje se od stvarnog razlikovalo za desetke (!) sekundi ili su jednostavno postali nedostupni za zahtjeve. Usluga koja vam omogućuje sinkronizaciju sata s točnim izvorom vremena upravo je slučaj kada je pojam pouzdanosti jednako važan kao i točnost podataka. Evo ilustracije pravi posao Mobatime Systems NTP poslužitelji:


Statistika zahtjeva NTP poslužitelja Mobatime Systems

Ovo je prilično upečatljiv primjer NTP vandalizma - 1. travnja 2009. blokirano je 75 hostova koji su poslali više od 12 milijuna zahtjeva po danu. Sličan intenzitet napada trajao je 3 dana, a njegova se priroda teško može objasniti jednostavnim pogreškama u kodu uređaja ili njihovom pogrešnom konfiguracijom. Za zaštitu od takvih napada, Mobatime NTP poslužitelj koristi algoritme za filtriranje dolaznog prometa. Ovaj zaštitni mehanizam omogućuje zaustavljanje lavinskog toka "smeća" koji može dovesti sustav do potpunog kvara u kratkom vremenu.

Međutim, takva će zaštita postati praktički beskorisna ako se količina podataka u prijenosnom kanalu približi njegovoj propusnosti. S takvim opterećenjem slanje podataka legitimnim, deblokiranim klijentima jednostavno će postati nemoguće zbog iscrpljenosti resursa komunikacijskog kanala. Jedini izlaz iz situacije, koji jamči gotovo potpunu eliminaciju slučajeva NTP vandalizma, možda je stvaranje nejavnog poslužitelja točnog vremena s ograničenjima pristupa. Imajući na raspolaganju pouzdan izvor vremena (primjerice, prijemnik podataka koje prenosi GPS sustav), takav NTP poslužitelj bit će stabilan pružatelj usluge točnog vremena.

Popis materijala koji je korišten u pripremi publikacije (na engleskom):

  • RFC 4330, SNTP v4 Opis protokola
  • Flawed Routers Flood University of Wisconsin Internet Time Server - izvješće o incidentu na Sveučilištu Madison, koje je objavio njegov zaposlenik Dave Plonka.
  • Mrežni uređaji zamalo srušili atomski sat - članak o incidentu u CSIRO-u
  • Kada firmware napada! (DDoS by D-Link) - članak Richarda Claytona koji je sudjelovao u rasvjetljavanju okolnosti napada na NTP poslužitelj Paul-Heuning Kampa
  • Materijali s web stranice organizacije pool.ntp.org
  • Pomozite spasiti ugrožene vremenske poslužitelje - članak Andyja Lestera na pool.ntp.org

Ne znam! Samo želim da moje vrijeme bude na pravom putu! Molim te reci mi što da radim?


Možda bi bilo bolje točno postaviti vremensku zonu i na vrijeme primati ažuriranja (uključujući i ona vezana uz vrijeme)? Pa promijeni bateriju na mami, ako je stara... za svaki slučaj...
naučite postavljati pitanja.
Nikad nije dolazilo u pitanje :D

Zašto vam je potrebno točno vrijeme?

Kome uopće treba ovo točno vrijeme? Naravno da je nama korisnicima to potrebno da što manje kasnimo. Zamislimo modernu zračnu luku - za njezin rad stotine pilota i dispečera moraju koristiti sat koji nepogrešivo radi. Sustav evidentiranja robe u skladištima, bolnicama, željezničkim blagajnama i mnogim drugim institucijama zahtijeva da vrijeme na svim objektima sustava bude jednako u jednoj ili drugoj mjeri. Pogotovo računala. Pokreću mnoge usluge i programe za normalna operacija koji zahtijevaju točno vrijeme, i to u pravilu točnije od onoga što nama ljudima obično treba. Usluge sustava, komponente sigurnosnog sustava i samo aplikacijski programi može biti vrlo kritičan prema točnosti sata. Najistaknutiji primjer takvih usluga je Kerberos autentifikacijski protokol. Dakle, da bi radio, potrebno je da se na računalima kojima se pristupa ovim protokolom sistemsko vrijeme razlikuje najviše 5 minuta. Osim toga, točno vrijeme na svim računalima uvelike olakšava analizu sigurnosnih zapisa prilikom istraživanja incidenata na lokalnoj mreži.

NTP protokol

NTP (Network Time Protocol) je protokol dizajniran za sinkronizaciju vremena na mreži. To je skup prilično složenih algoritama dizajniranih da osiguraju visoku točnost (do nekoliko mikrosekundi) i otpornost na greške sustava za sinkronizaciju vremena. Dakle, protokol uključuje istovremenu sinkronizaciju s nekoliko poslužitelja.

Postoji nekoliko verzija ovog protokola, s nekim razlikama. Treća verzija ovog protokola standardizirana je kao RFC 1305 1992. Četvrta (zadnja ovaj trenutak) verzija donosi neka poboljšanja (automatska konfiguracija i autentifikacija, poboljšani algoritmi sinkronizacije) u usporedbi s trećom, ali još nije standardizirana u RFC-u.

Osim toga, uz NTP protokol postoji i SNTP (Simple Network Time Protocol). Na razini paketa, dva su protokola potpuno kompatibilna. Glavna razlika između njih je u tome što SNTP nema složene sustave filtriranja i višestupanjsko ispravljanje pogrešaka koje ima NTP. Stoga je SNTP pojednostavljena verzija NTP-a koju je lakše implementirati. Namijenjen je za korištenje u mrežama gdje nije potrebna vrlo visoka vremenska točnost, au Microsoftovoj implementaciji osigurava točnost unutar 20 sekundi unutar poduzeća i ne više od 2 sekunde unutar jednog mjesta. SNTP protokol standardiziran je kao RFC 1769 (verzija 3) i RFC 2030 (verzija 4).

NTP sinkronizacijski model pretpostavlja hijerarhijsku strukturu. Na prvoj razini hijerarhije nalaze se takozvani “primarni” poslužitelji vremena (First stratum). Nalaze se na različitim mjestima diljem svijeta i imaju najtočnije vrijeme. Relativno je malo takvih poslužitelja, budući da se točno vrijeme na njima održava pomoću skupe specijalizirane opreme (radio kanal, satelitski kanal). Poslužitelji druge razine (Second stratum) sinkronizirani su s poslužiteljima prve razine pomoću NTP protokola. Već ih je znatno više, ali su već pomalo neusklađeni (od 1 do 20 milisekundi) u odnosu na “primarne” poslužitelje. Sljedeći mogu biti poslužitelji treće, četvrte i sljedećih razina:

S prijelazom na svaku razinu, pogreška u odnosu na primarni poslužitelj se malo povećava, ali se povećava ukupan broj poslužitelja, a time i njihovo opterećenje smanjuje. Stoga se kao vanjski izvor sinkronizacije umjesto primarnih poslužitelja koji imaju najtočnije vrijeme preporuča koristiti sekundarne poslužitelje jer su manje opterećeni.

Za sinkronizaciju vremena u sustavu Windows 2000/XP/2003 koristi se SNTP protokol. Podrška za ovaj protokol implementirana je kao sustav Windows usluge Time, koji je dio operativnog sustava MS Windows 2000/XP/2003. Posebnost ove implementacije je da Windows Time usluga podržava autentifikaciju domene prilikom pristupa referentnom vremenskom poslužitelju, što je važno sa sigurnosne točke gledišta.

Postoji nekoliko opcija za rad SNTP usluge uključene u sustav Windows:

  • Hijerarhijski (NT5DS). Koristi se prema zadanim postavkama za sva računala pridružena domeni. Sinkronizacija vremena na radnim stanicama i domenskim poslužiteljima provodi se hijerarhijski. Dakle, radne stanice i poslužitelji članovi sinkronizirani su s kontrolerom domene koji je autentificirao prijavu, kontroleri domene sinkronizirani su s masterom operacije "PDC emulatora", koji je pak sinkroniziran s kontrolerom domene koji se nalazi na višoj razini hijerarhije. Treba imati na umu da se ovaj redoslijed sinkronizacije koristi "prema zadanim postavkama" i može se nadjačati ručno ili korištenjem pravila grupe. Kako to učiniti, raspravljat ćemo u nastavku.
  • Prisilna sinkronizacija s odabranim NTP poslužiteljem (NTP). U u ovom slučaju Referentni izvor vremena za uslugu Windows Time postavlja se ili ručno ili korištenjem pravila grupe.
  • Onemogući sinkronizaciju (NoSync). Ovaj način je potreban za mješovitu shemu upravljanja vremenom, u kojoj se proizvod treće strane koristi za sinkronizaciju s vanjskim izvorom, a Windows vrijeme se koristi za održavanje vremena unutar domene.

Dakle, u slučaju radna skupina Sinkronizacija vremena i dalje će se morati konfigurirati ručno. Na primjer, jedno od računala može se konfigurirati za sinkronizaciju s vanjskim poslužiteljem pomoću SNTP protokola, a ostala se mogu konfigurirati za sinkronizaciju s njim. Koraci potrebni za to bit će opisani u nastavku.

Za domenu se preporučuje korištenje hijerarhijske sinkronizacije pomoću SNTP protokola. U većini slučajeva pruža prihvatljivu točnost sistemskog vremena unutar šume domene. Osim toga, automatski osigurava sigurnost ažuriranja vremena podržavajući autentifikaciju s Aktivni direktorij. Za održavanje “točnog” vremena u domeni potrebno je sinkronizirati vršni kontroler domene koji posjeduje ulogu “PDC emulator” s vanjskim NTP poslužiteljem. U našem primjeru, uloga takvog poslužitelja bit će Linux stroj s pokrenutim ntpd demonom.

Postavljanje SNTP-a u sustavu Windows

Za konfiguriranje usluge Windows Time koriste se dva pomoćna programa:

  • Neto vrijeme
  • W32tm

Neto vrijeme se prvenstveno koristi za konfiguriranje vremenske usluge, a w32tm se koristi za praćenje i dijagnosticiranje rada. Međutim, u sustavu Windows XP/2003, uslužni program w32tm je pretrpio značajne promjene i može se koristiti za konfiguriranje vremenske usluge. NTP konfiguracija će se dalje provoditi koristeći Windows XP/2003 kao primjer.

Dakle, kako biste "ručno" odredili izvor sinkronizacije pomoću neto vremena, samo napišite u naredbeni redak:

et time /setsntp:list_of_time_servers_separated by_space

Za dobivanje informacija o trenutnom vremenskom poslužitelju:

neto vrijeme /querysntp

Možete saznati vrijeme na kontroleru domene ovako:

neto vrijeme /domena:ime_domene

I sinkronizirajte vrijeme s kontrolerom domene ovako:

Neto vrijeme /domena:ime_domene /set

Uslužni program sustava w32tm može učiniti sve isto, pa čak i više:

  • w32tm /resync - Koristeći ovu naredbu, možete prisiliti lokalno ili udaljeno računalo da sinkronizira svoj sistemski sat s vremenskim poslužiteljem koji koristi.
  • w32tm /config – Ova se naredba koristi za konfiguriranje usluge Windows Time. Uz njegovu pomoć možete odrediti popis vremenskih poslužitelja koji se koriste i vrstu sinkronizacije (hijerarhijska ili odabrana od strane poslužitelja).

Na primjer, za nadjačavanje zadanih vrijednosti i postavljanje vremenske sinkronizacije s vanjskim izvorom, možete upotrijebiti naredbu:

w32tm /config /syncfromflags:manual /manualpeerlist:PeerList

A kako bi Windows Time primijenio nove postavke, umjesto ponovnog pokretanja usluge, možete koristiti naredbu:

w32tm /config /update

Osim toga, w32tm pruža sljedeće opcije vezane uz praćenje vremena na računalima:

  • w32tm /monitor – pomoću ove opcije možete saznati kako se sistemsko vrijeme ovog računala razlikuje od vremena na kontroleru domene ili drugim računalima.
  • w32tm /stripchart – grafički prikazuje vremensku razliku između trenutnog i udaljenog računala.
  • w32tm /register – Registrira uslugu Windows Time kao uslugu na ovom računalu. Ova opcija može biti korisna na računalima koja nisu dio domene, jer je prema zadanim postavkama vremenska usluga na njima zaustavljena.

Detaljnije informacije o parametrima pomoćnih programa net time i w32tm mogu se dobiti pomoću tipke /?. ili otvaranjem odgovarajućeg odjeljka Centra za pomoć i podršku MS Windows XP/2003 sustava pomoći.

Lako je pogoditi da su postavke usluge Windows Time pohranjene u Windows registar pod HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\.

U korijenu odjeljka definirani su parametri rada samog servisa, u potključu Config – postavke vezane uz rad samog SNTP protokola, način sinkronizacije definiran je u potključu Parameters. Postavke SNTP klijenta i poslužitelja nalaze se u vezama TimeProviders\NtpClient i TimeProviders\NtpServer. Pogledajmo glavne vrijednosti koje određuju postavke NTP klijenta i poslužitelja:

  • Vrsta – određuje način rada NTP klijenta (NTDS5 – hijerarhijski, NTP – „ručno“, NoSync – ne sinkroniziraj, AllSync – dostupne su sve vrste sinkronizacije);
  • Omogućeno – određuje je li ova komponenta (klijent ili poslužitelj) omogućena;
  • CrossSiteSyncFlags – određuje je li moguće sinkronizirati vrijeme s izvorom koji se nalazi izvan domene ako se koristi hijerarhijska sinkronizacija (0 – nije moguće, 1 – samo s PDC emulatorom, 2 – sa svim);
  • EventLogFlags - određuje hoće li se poruke iz Windows vremena bilježiti ili ne (vrlo korisna značajka prilikom rada na otklanjanju pogrešaka).

Druga opcija za konfiguriranje usluge Windows Time je korištenje grupnih pravila. Postavke su definirane u objektu pravila grupe na sljedećoj adresi: “Konfiguracija računala –> Administrativni predlošci –> Sustav –> Windows Time Service”.

Ako imate instaliran Windows 2000 Server i niste pronašli takvu postavku, nemojte očajavati, samo trebate ažurirati "Administrativne predloške". Da biste to učinili, kopirajte iz sistemske mape system32\GroupPolicy\Adm bilo kojeg računala s instaliran Windows XP sve .adm datoteke na poslužitelj, koji je kontroler domene. Zatim, dok definirate GPO, desnom tipkom miša kliknite na “Administrative templates” i odaberite “Add/Remove templates...” Uklonite tamo navedene predloške i dodajte one kopirane. Nakon što kliknete gumb "U redu", predlošci će se ažurirati i možete konfigurirati vremensku uslugu pomoću pravila grupe:

Lako je vidjeti da se ovdje uglavnom navode sve postavke koje se mogu promijeniti u registru. U tome nema ničeg iznenađujućeg, jer većina grupnih politika radi upravo tako.

U sustavu Windows XP pojavio se još jedan način postavljanja vremenskog poslužitelja, što može biti vrlo zgodno za postavljanje sinkronizacije na kućnom računalu ili računalu koje je dio radne grupe:

NTP poslužitelj za Linux - vanjska sinkronizacija za Windows domenu

Kao što je gore spomenuto, NTP protokol je otporniji na pogreške, pa je bolje koristiti NTP poslužitelj kao izvor referentnog vremena za vanjsku sinkronizaciju. Osim toga, kontroler domene najviše razine nema uvijek pristup Internetu preko UDP porta 123, koji se koristi za NTP rad. Pristup može biti odbijen iz sigurnosnih razloga, što je uobičajena praksa za velike organizacije. U takvim slučajevima, da biste riješili ovaj problem, možete instalirati vlastiti vremenski poslužitelj u DMZ, konfiguriran za sinkronizaciju s vanjskim izvorom, i koristiti ga kao referentni vremenski izvor za sinkronizaciju kontrolera domene najviše razine. Bilo koje računalo, ne nužno moderno, s OS-om poput *nixa, na primjer, Linuxom, instaliranim u minimalnoj konfiguraciji, bez X poslužitelja i drugih potencijalno ranjivih stvari, sasvim je prikladno kao takvo računalo.

Postoji mnogo programa za sinkronizaciju vremena za Linux OS. Najpoznatiji su Xntpd (NTP verzija 3), ntpd (NTP verzija 4), Crony i ClockSpeed. U našem primjeru koristit ćemo ntpd ntp poslužitelj uključen u Redhat 9, isporučen u paketu ntp-4.1.2-0.rc1.2.i386.rpm.

Paket uključuje nekoliko programa dizajniranih za rad s NTP-om.

Evo glavnih:

  • Ntpd – ntp demon koji održava točno vrijeme u pozadini;
  • Ntpq je uslužni program dizajniran za anketiranje NTP poslužitelja koji podržavaju standardni protokol anketiranja NTP način rada 6. Uz njegovu pomoć možete saznati i promijeniti trenutno stanje poslužitelja, ako to njegove postavke dopuštaju;
  • Ntptdc – uslužni program s kojim možete ispitati ntpd demon i dobiti statistiku o njegovom radu;
  • Ntpdate je program za postavljanje trenutnog sistemskog vremena pomoću NTP protokola.

Standardna značajka NTP protokola je mogućnost provođenja provjere autentičnosti. U ovom slučaju mogu se koristiti i simetrični algoritmi (DES), koji su se pojavili u drugoj verziji protokola, i asimetrični algoritmi s javnim ključem, koji su inovacija u četvrtoj verziji.

U slučaju korištenja simetrične autentifikacijske sheme, klijent i poslužitelj odabiru proizvoljni identifikator i jedan od 65534 ključa definiranih standardom. Kod korištenja asimetričnih algoritama koristi se tzv. Autokey shema, razlikovna značajkašto je nepostojanje potrebe za prethodnom distribucijom javnih ključeva poslužitelja.

Za konfiguriranje autentifikacije u ntpd-u postoje uslužni programi ntp-genkeys, ntpq i ntpdc.

Sve NTP funkcije povezane s podrškom za točno vrijeme implementirane su u ntpd demonu. Konfiguracija se vrši na uobičajeni UNIX način - uređivanjem konfiguracijska datoteka ntp.conf, koji se nalazi u mapi /etc.

Postavimo sljedeće opcije za NTP poslužitelj.

Prvo naznačimo poslužitelje s kojima će se izvršiti sinkronizacija vremena:

poslužitelj ntp.nasa.gov # Poslužitelj sloja 1 na nasa.org
server ntp1.demos.net # Poslužitelj sloja 2 na demos.net

ograničiti ntp.research.gov masku 255.255.255.255 nomodify notrap noquery

Ovdje se maska ​​255.255.255.255 koristi za ograničavanje pristupa našem poslužitelju s poslužitelja ntp.nasa.gov. Sada definirajmo popis hostova na našoj lokalnoj mreži kojima želimo dopustiti pristup našem NTP poslužitelju kako bismo dobili vrijeme:

ograničiti 192.168.1.0 maska ​​255.255.255.0 nevjerovati nomodificirati notrap

Također zahtijevamo da Linux stroj ima puni pristup svojim resursima poslužitelja:

ograničiti 127.0.0.1

A sada ono najvažnije: moramo se pobrinuti da zadani deny, koji ima viši prioritet, bude komentiran:

#restrict zadano ignoriraj

Nakon spremanja datoteke ntp.conf konfiguracija se može smatrati dovršenom, no može se dogoditi da nakon pokretanja demona vrijeme još uvijek neće biti sinkronizirano. Činjenica je da je NTP protokol izvorno razvijen kao protokol za održavanje vremena, a ne za njegovo postavljanje. Stoga, ako je razlika između očitanja sata dovoljno velika (više od nekoliko minuta), sinkronizacija se neće dogoditi. U ovom slučaju ima smisla početno ručno postaviti vrijeme pomoću naredbe ntpdate (također možete dodati naredbu ntpdate u skripte za pokretanje stroja):

# ntpdate clock.vsu.ru
17. veljače 23:44:54 ntpdate: korak vrijeme poslužitelj 198.123.30.132 pomak 25.307598 sec

17. veljače 23:45:05 ntpdate: podesite vremenski poslužitelj 198.123.30.132 pomak 0,002181 sek
# ntpdate clock.vsu.ru

NTP demon se pokreće kroz inicijalizacijske skripte. Ako je program instaliran iz rpm paketa, tada su najvjerojatnije svi problemi vezani uz njegovo automatsko pokretanje već riješeni. Da biste to provjerili, možete koristiti naredbu:

# chkconfig -list ntpd
ntpd 0:uključeno 1:isključeno 2:isključeno 3:uključeno 4:isključeno 5:uključeno 6:isključeno

Ako ne vidite ovu liniju, to znači automatsko pokretanje ntpd nije konfiguriran. Da biste to popravili, upišite:

# chkconfig – razina 035 ntpd uključena

Za upravljanje NTP-om (pokretanje, pokretanje, ponovno pokretanje, status) koristi se standardna inicijalizacijska skripta:

# /etc/init.d/ntpd početak

Za pregled statistike sinkronizacije poslužitelja, možete koristiti sljedeću naredbu:

# ntpq -p
udaljeni refid st t kada anketa dosegne kašnjenje pomak podrhtavanje
==============================================================================
*štik.usnogps.na .USNO. 1 u 38 64 377 220,00 0,149 7,08
-navobs1.wustl.e.PSC. 1 u 55 64 377 193,47 6,857 4,81
-ntp-nasa.arc.na .GPS. 1 u 43 64 377 254,88 7,471 9,58
-ntp0.NL.net.GPS. 1 u 144 512 377 122,54 12,515 13,75
-ntp2.ien.it .IEN. 1 u 558 1024 377 133,94 14,594 41,99
+mjeritelj vremena.isi. .GPS. 1 u 13 64 377 245,30 3,454 15,08
+news-zero.demos ntp0.usno.navy. 2 u 16 64 377 37,51 -3,239 11,14
LOKALNO(0) LOKALNO(0) 10 l - 64 377 0,00 0,000 10,01

Načini rada NTP poslužitelja/klijenta

Klijent/poslužitelj

Ovaj način je daleko najčešće korišten na Internetu. Shema rada je klasična. Klijent šalje zahtjev, na koji poslužitelj šalje odgovor unutar nekog vremena. Klijent je konfiguriran korištenjem direktive poslužitelja u konfiguracijskoj datoteci, gdje je navedeno DNS ime vremenskog poslužitelja.

Simetrični aktivni/pasivni način rada

Ovaj način se koristi ako se vrši sinkronizacija vremena između veliki iznos jednaki strojevi. Osim što se svaki stroj sinkronizira s vanjskim izvorom, sinkronizira se i sa svojim susjedima (peerovima), djelujući im kao klijent i vremenski poslužitelj. Stoga, čak i ako automobil "izgubi" vanjski izvor, ipak će od susjeda moći dobiti točno vrijeme. Susjedi mogu raditi u dva načina - aktivno i pasivno. Radeći u aktivnom načinu rada, sam stroj prenosi svoje vrijeme svim susjednim strojevima navedenim u odjeljku peers konfiguracijske datoteke ntp.conf. Ako susjedi nisu navedeni u ovom odjeljku, tada se smatra da stroj radi u pasivnom načinu rada. Kako bi spriječili napadača da kompromitira druge strojeve predstavljajući se kao aktivni izvor, mora se koristiti autentifikacija.

Način emitiranja

Ovaj način se preporučuje za korištenje u slučajevima kada poslužuje mali broj poslužitelja veliki broj klijentima. Kada radi u ovom načinu rada, poslužitelj povremeno šalje pakete koristeći adresu emitiranja podmreže. Klijent konfiguriran za sinkronizaciju na ovaj način prima serverov paket emitiranja i sinkronizira se s poslužiteljem. Značajka ovog načina je da se vrijeme isporučuje unutar jedne podmreže (ograničavanje paketa emitiranja). Osim toga, autentifikacija se mora koristiti za zaštitu od napadača.

Multicast način rada

Ovaj je način rada na mnogo načina sličan emitiranju. Razlika je u tome što se za isporuku paketa koriste multicast adrese mreža klase D IP adresnog prostora. Za klijente i poslužitelje navedena je adresa multicast grupe koju koriste za vremensku sinkronizaciju. To omogućuje sinkronizaciju grupa strojeva koji se nalaze na različitim podmrežama, pod uvjetom da usmjerivači koji ih povezuju podržavaju IGMP protokol i da su konfigurirani za prijenos multicast prometa.

Manycast način rada

Ovaj način je inovacija u četvrtoj verziji NTP protokola. Uključuje klijentovo traženje manycast poslužitelja među svojim mrežnim susjedima, primanje vremenskih uzoraka od svakog od njih (koristeći kriptografiju) i, na temelju tih podataka, odabir tri "najbolja" manycast poslužitelja s kojima će se klijent sinkronizirati. Ako jedan od poslužitelja zakaže, klijent automatski ažurira svoj popis.

Za prijenos vremenskih uzoraka, klijenti i poslužitelji koji rade u multicast načinu rada koriste multicast grupne adrese (mreže klase D). Klijenti i poslužitelji koji koriste istu adresu čine istu asocijaciju. Broj asocijacija određen je brojem korištenih multicast adresa.

Često postavljana pitanja

Zašto se vrijeme ne sinkronizira nakon naredbe net time /setsntp:server?

Provjerite je li vrsta pokretanja usluge w32time postavljena na Automatski.
Provjerite je li dostupan UDP port 123 NTP poslužitelja koji koristite.
Pazite da vrijeme između klijenta i poslužitelja ne varira previše.

Može li se SNTP klijent sinkronizirati s NTP poslužiteljem?

Da, može, jer je SNTP protokol podskup NTP-a i potpuno je kompatibilan s njim.

Mogu li koristiti NTP poslužitelj treće strane u sustavu Windows 2000/XP/2003?

Da, možete koristiti bilo koji poslužitelj, plaćeni ili besplatni. Najprije morate onemogućiti odgovarajuće komponente (klijent ili poslužitelj) usluga Windows Time.

Zašto NTP klijent ne radi na računalu s instaliranim MS-om? SQL poslužitelj?

Najvjerojatnije je problem u tome što SQL Server nekako zauzima UDP port 123. Rješenje bi moglo biti pokretanje NTP klijenta prije MS SQL Servera.

ntpd demon, nakon pokretanja, radi 10-20 minuta, nakon čega se zaustavlja. Što bi mogao biti problem?

Pazite da se vremena klijenta i poslužitelja ne razlikuju previše (ne više od 5 minuta). U suprotnom, prisilite sinkronizaciju pomoću ntpdate.

Je li moguće sinkronizirati vrijeme u OS Windows NT4, 95, 98, Me?

Moguće je koristiti programe trećih strana, na primjer, NetTime, Automacahron, World Time5, ntpd Windows NT port.

Prilikom pokušaja prijave u Windows domenu pojavljuje se poruka da se vrijeme između kontrolera domene i radne stanice previše razlikuje, unatoč tome što je sinkronizacija precizno konfigurirana.

Najvjerojatnije je problem u tome što je vrijeme jako krivo (resetiranje CMOS-a, hakerska sabotaža) i usluga se ne može autentificirati pomoću Kerberos protokola. Da biste riješili ovaj problem, trebate ili ručno postaviti vrijeme ili ne koristiti ovu vrstu provjere autentičnosti prilikom ažuriranja vremena.

Odgovori na pitanja

26.09.2018

Teško za zamisliti moderni svijet nema točnog vremena. U mnogim područjima života potrebno je imati vrlo točne satove, a točnost često mora biti puno veća od točnosti satova koje ljudi koriste u svakodnevnom životu. Na primjer, zahtjevi točnosti za satove u kontrolnim tornjevima zračnog prometa, sustavima kontrole svemirskih letjelica ili vojnim sustavima su na najvišoj razini. Također, satovi visoke preciznosti potrebni su iu sustavima s jednostavnijim funkcijama – u sustavima naplate i tarifiranja mobilnih operatera i Internet provideri, u sustavima bankarskih transakcija, u sustavima mjenjačnica, u industrijskim i znanstvenim kompleksima. Na lokalnim mrežama, Kerberos protokol provjere autentičnosti korisnika također koristi usporedbu vremena kontrolera domene sa satom korisničkih radnih stanica. U računalnim mrežama sinkronizacija se obično izvodi s poslužiteljima točnog vremena pomoću protokola NTP ili njegova "light" verzija - SNTP. U ovom ćemo članku pogledati značajke, razlike i primjere primjene ovih protokola.

NTP(Engleski) Mreža Vrijeme Protokol– Network Time Protocol) – mrežni protokol za sinkronizaciju unutarnjeg sata računala pomoću mreža s promjenjivom propusnošću. Omogućuje visoku točnost sinkronizacije vremena zahvaljujući posebnom algoritmu koji vam omogućuje odabir najtočnijih izvora za procjenu točnog vremena. Ovaj vam algoritam omogućuje minimiziranje utjecaja podataka s očito neispravno konfiguriranih NTP poslužitelja na cjelokupni sustav. NTP protokol pruža mehanizme sinkronizacije s nanosekundnom preciznošću i sadrži mogućnosti za karakterizaciju i procjenu pogrešaka lokalnog sata i vremenskog poslužitelja koji izvodi sinkronizaciju. NTP protokol koristi hijerarhijski sustav razina ili slojeva. NTP poslužitelj je na najvišoj razini (stratum 1) ako prima podatke izravno iz izvora točnog vremena. Poslužitelji koji sinkroniziraju svoje satove s poslužiteljem sloja 1 nalaze se na razini ispod (stratum 2), itd.

SNTP(Engleski) Jednostavan Mreža Vrijeme Protokol– jednostavni mrežni vremenski protokol) – protokol za sinkronizaciju vremena računalna mreža. To je pojednostavljena implementacija NTP protokola; nedostaje mu složenost NTP algoritma. SNTP se koristi za mrežne hostove koji ne zahtijevaju punu NTP funkcionalnost. Uobičajena je praksa sinkronizirati satove nekoliko čvorova na lokalnoj mreži s drugim NTP čvorovima putem Interneta i koristiti te čvorove za vremensku sinkronizaciju usluga koje se pružaju drugim klijentima putem lokalne mreže. Ovaj slučaj upotrebe ne zahtijeva visoku preciznost vremenske sinkronizacije. SNTP protokol pruža mehanizme sinkronizacije s točnošću od 1 do 50 ms

Primjer korištenja NTP protokola: Banka N svojim klijentima nudi klijent-poslužiteljsku aplikaciju za trgovanje na burzi. Poslužitelji koji obrađuju informacije o kotacijama dionica moraju imati sat visoke preciznosti sinkroniziran s univerzalnom vremenskom skalom. U ovom slučaju, svaki trgovački poslužitelj burze banke N sinkroniziran je s najpreciznijim od poslužitelja točnog vremena ("stratum 1"), koji prima podatke izravno iz izvora točnog vremena. Najtočniji poslužitelj odabire se pomoću algoritma ugrađenog u NTP protokol. Približna arhitektura takvog rješenja prikazana je na donjem dijagramu:

Klasičan primjer korištenja SNTP-a je sinkronizacija vremena unutar domene. Kontroler domene prima vrijeme s globalnog interneta s javnih poslužitelja Stratuma 1 ili Stratuma 2. Preostali klijenti domene sinkroniziraju svoje satove s vremenom na kontroleru domene. Na dijagramu je prikazana približna arhitektura.