ΠΠ°ΠΊ ΡΠ΄Π΅Π»Π°ΡΡ ΡΠ°ΠΊ, ΡΡΠΎΠ±Ρ Π²ΡΠ΅ΠΌΡ per se Π½Π΅ Π²ΡΠ°Π»ΠΎ, Π΅ΡΠ»ΠΈ Ρ Π²Π°Ρ Π΅ΡΡΡ ΠΌΠΈΠ»Π»ΠΈΠΎΠ½ Π±ΠΎΠ»ΡΡΠΈΡ
ΠΈ ΠΌΠ°Π»ΡΡ
ΡΡΡΡΠΎΠΉΡΡΠ², Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΡΡΡΠΈΡ
ΠΏΠΎ TCP/IP? ΠΠ΅Π΄Ρ Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΈΠ· Π½ΠΈΡ
Π΅ΡΡΡ ΡΠ°ΡΡ, Π° Π²ΡΠ΅ΠΌΡ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ Π²Π΅ΡΠ½ΡΠΌ Π½Π° Π²ΡΠ΅Ρ
. ΠΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Π±Π΅Π· ntp Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±ΠΎΠΉΡΠΈ.
ΠΡΠ΅Π΄ΡΡΠ°Π²ΠΈΠΌ ΡΠ΅Π±Π΅ Π½Π° ΠΎΠ΄Π½Ρ ΠΌΠΈΠ½ΡΡΡ, ΡΡΠΎ Π² ΠΎΠ΄Π½ΠΎΠΌ ΡΠ΅Π³ΠΌΠ΅Π½ΡΠ΅ ΠΏΡΠΎΠΌΡΡΠ»Π΅Π½Π½ΠΎΠΉ ΠΠ’ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΡ Π²ΠΎΠ·Π½ΠΈΠΊΠ»ΠΈ ΡΡΡΠ΄Π½ΠΎΡΡΠΈ Ρ ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΠ΅ΠΉ ΡΠ΅ΡΠ²ΠΈΡΠΎΠ² ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ. ΠΠ΅ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ Π½Π°ΡΠΈΠ½Π°Π΅Ρ ΡΠ±ΠΎΠΈΡΡ ΠΊΠ»Π°ΡΡΠ΅ΡΠ½ΡΠΉ ΡΡΠ΅ΠΊ Enterprise ΠΠ, ΡΠ°ΡΠΏΠ°Π΄Π°ΡΡΡΡ Π΄ΠΎΠΌΠ΅Π½Ρ, ΠΌΠ°ΡΡΠ΅ΡΠ° ΠΈ Standby ΡΠ·Π»Ρ Π±Π΅Π·ΡΡΠΏΠ΅ΡΠ½ΠΎ ΡΡΡΠ΅ΠΌΡΡΡΡ Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ status quo.
ΠΠΎΠ·ΠΌΠΎΠΆΠ½Π° ΡΠ°ΠΊΠΆΠ΅ ΡΠΈΡΡΠ°ΡΠΈΡ, ΠΊΠΎΠ³Π΄Π° Π·Π»ΠΎΡΠΌΡΡΠ»Π΅Π½Π½ΠΈΠΊ Π½Π°ΠΌΠ΅ΡΠ΅Π½Π½ΠΎ ΡΡΠ°ΡΠ°Π΅ΡΡΡ ΡΠ±ΠΈΡΡ Π²ΡΠ΅ΠΌΡ ΡΠ΅ΡΠ΅Π· MiTM, ΠΈΠ»ΠΈ DDOS Π°ΡΠ°ΠΊΡ. Π ΡΠ°ΠΊΠΎΠΉ ΡΠΈΡΡΠ°ΡΠΈΠΈ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΎΠΈΠ·ΠΎΠΉΡΠΈ Π²ΡΠ΅ ΡΡΠΎ ΡΠ³ΠΎΠ΄Π½ΠΎ:
- ΠΈΡΡΠ΅ΡΠ΅Ρ ΡΡΠΎΠΊ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ ΠΏΠ°ΡΠΎΠ»Π΅ΠΉ ΡΡΠ΅ΡΠ½ΡΡ Π·Π°ΠΏΠΈΡΠ΅ΠΉ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ;
- ΠΈΡΡΠ΅ΡΠ΅Ρ ΡΡΠΎΠΊ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ X.509 ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠΎΠ²;
- Π΄Π²ΡΡ ΡΠ°ΠΊΡΠΎΡΠ½Π°Ρ Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ TOTP ΠΏΠ΅ΡΠ΅ΡΡΠ°Π½Π΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ;
- Π±ΡΠΊΠ°ΠΏΡ Β«ΡΡΡΠ°ΡΠ΅ΡΡΒ» ΠΈ ΡΠΈΡΡΠ΅ΠΌΠ° ΡΠ΄Π°Π»ΠΈΡ ΠΈΡ ;
- ΡΠ»ΠΎΠΌΠ°Π΅ΡΡΡ DNSSec.
ΠΠΎΠ½ΡΡΠ½ΠΎ, ΡΡΠΎ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΏΠ΅ΡΠ²ΡΠΉ Π΄Π΅ΠΏΠ°ΡΡΠ°ΠΌΠ΅Π½Ρ ΠΠ’ Π·Π°ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠΎΠ²Π°Π½ Π² Π½Π°Π΄Π΅ΠΆΠ½ΠΎΠΉ ΡΠ°Π±ΠΎΡΠ΅ ΡΠ»ΡΠΆΠ± ΡΠΈΠ½Ρ
ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΠΈ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ, ΠΈ Ρ
ΠΎΡΠΎΡΠΎ Π±Ρ ΠΎΠ½ΠΈ Π±ΡΠ»ΠΈ Π½Π°Π΄Π΅ΠΆΠ½Ρ ΠΈ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½Ρ Π² ΠΏΡΠΎΠΌΡΡΠ»Π΅Π½Π½ΠΎΠΉ ΡΠΊΡΠΏΠ»ΡΠ°ΡΠ°ΡΠΈΠΈ.
Π‘Π»ΠΎΠΌΠ°ΡΡ NTP Π·Π° 25 ΠΌΠΈΠ½ΡΡ
Π‘Π΅ΡΠ΅Π²ΡΠ΅ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Ρ β ΠΌΠΈΠ»Π»Π΅Π½Π½ΠΈΠ°Π»Ρ ΠΈΠΌΠ΅ΡΡ ΠΎΠ΄Π½Ρ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΡ, ΠΎΠ½ΠΈ Π΄Π°Π²Π½ΠΎ
ΠΡΠ½ΠΎΠ²Π½Π°Ρ ΠΏΡΠ΅ΡΠ΅Π½Π·ΠΈΡ ΠΊ ΠΊΠ»Π°ΡΡΠΈΡΠ΅ΡΠΊΠΎΠΌΡ NTP Π² ΠΎΡΡΡΡΡΡΠ²ΠΈΠΈ Π½Π°Π΄Π΅ΠΆΠ½ΡΡ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠΎΠ² Π·Π°ΡΠΈΡΡ ΠΎΡ Π°ΡΠ°ΠΊ Π·Π»ΠΎΡΠΌΡΡΠ»Π΅Π½Π½ΠΈΠΊΠΎΠ². ΠΡΠ΅Π΄ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π»ΠΈΡΡ ΡΠ°Π·Π½ΠΎΠΎΠ±ΡΠ°Π·Π½ΡΠ΅ ΠΏΠΎΠΏΡΡΠΊΠΈ ΡΠ΅ΡΠΈΡΡ ΡΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΡΠ½Π°ΡΠ°Π»Π° Π²Π½Π΅Π΄ΡΠΈΠ»ΠΈ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ Π·Π°ΡΠ°Π½Π΅Π΅ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΡΡ ΠΊΠ»ΡΡΠ΅ΠΉ (PSK) Π΄Π»Ρ ΠΎΠ±ΠΌΠ΅Π½Π° ΡΠΈΠΌΠΌΠ΅ΡΡΠΈΡΠ½ΡΠΌΠΈ ΠΊΠ»ΡΡΠ°ΠΌΠΈ.
Π ΡΠΎΠΆΠ°Π»Π΅Π½ΠΈΡ ΡΡΠΎΡ ΡΠΏΠΎΡΠΎΠ± ΡΠ΅Π±Ρ Π½Π΅ ΠΎΠΏΡΠ°Π²Π΄Π°Π» Π² ΡΠΈΠ΄Ρ ΠΏΡΠΎΡΡΠΎΠΉ ΠΏΡΠΈΡΠΈΠ½Ρ β ΠΎΠ½ ΠΏΠ»ΠΎΡ ΠΎ ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΡΠ΅ΡΡΡ. ΠΡΠΆΠ½Π° ΡΡΡΠ½Π°Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠ° Π½Π° ΡΡΠΎΡΠΎΠ½Π΅ ΠΊΠ»ΠΈΠ΅Π½ΡΠ° Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΡΠ΅ΡΠ²Π΅ΡΠ°. ΠΡΠΎ Π·Π½Π°ΡΠΈΡ, ΡΡΠΎ Π²ΠΎΡ ΡΠ°ΠΊ Π²ΠΎΡ ΠΏΡΠΎΡΡΠΎ Π½Π΅Π»ΡΠ·Ρ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π΅ΡΠ΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠ»ΠΈΠ΅Π½ΡΠ°. ΠΡΠ»ΠΈ Π½Π° ΡΠ΅ΡΠ²Π΅ΡΠ΅ NTP ΡΡΠΎ-ΡΠΎ ΠΌΠ΅Π½ΡΠ΅ΡΡΡ, Π½Π°Π΄ΠΎ ΠΏΠ΅ΡΠ΅Π½Π°ΡΡΡΠ°ΠΈΠ²Π°ΡΡ Π²ΡΠ΅ ΠΊΠ»ΠΈΠ΅Π½ΡΡ.
Π’ΠΎΠ³Π΄Π° ΠΏΡΠΈΠ΄ΡΠΌΠ°Π»ΠΈ AutoKey, Π½ΠΎ ΡΡΠ°Π·Ρ ΠΆΠ΅ Π² Π½Π΅ΠΌ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΠ»ΠΈ ΡΡΠ΄ ΡΠ΅ΡΡΠ΅Π·Π½ΡΡ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠ΅ΠΉ Π² ΡΠ°ΠΌΠΎΠΌ Π΄ΠΈΠ·Π°ΠΉΠ½Π΅ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° ΠΈ ΠΎΡ Π½Π΅Π³ΠΎ ΠΏΡΠΈΡΠ»ΠΎΡΡ ΠΎΡΠΊΠ°Π·Π°ΡΡΡΡ. ΠΡΠ΅ Π΄Π΅Π»ΠΎ Π² ΡΠΎΠΌ, ΡΡΠΎ Π½Π°ΡΠ°Π»ΡΠ½ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ (seed) ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π²ΡΠ΅Π³ΠΎ Π»ΠΈΡΡ 32-Π±ΠΈΡΠ°, ΠΎΠ½ΠΎ ΡΠ»ΠΈΡΠΊΠΎΠΌ ΠΌΠ°Π»ΠΎ ΠΈ Π½Π΅ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π²ΡΡΠΈΡΠ»ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΠΈ Π΄Π»Ρ Π»ΠΎΠ±ΠΎΠ²ΠΎΠΉ Π°ΡΠ°ΠΊΠΈ.
- Key ID β ΡΠΈΠΌΠΌΠ΅ΡΡΠΈΡΠ½ΡΠΉ 32-Π±ΠΈΡΠ½ΡΠΉ ΠΊΠ»ΡΡ;
- MAC (message authentication code) β ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½Π°Ρ ΡΡΠΌΠΌΠ° NTP ΠΏΠ°ΠΊΠ΅ΡΠ°;
Autokey ΡΠ°ΡΡΡΠΈΡΡΠ²Π°Π΅ΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ.
Autokey=H(Sender-IP||Receiver-IP||KeyID||Cookie)
ΠΠ΄Π΅ H() β ΠΊΡΠΈΠΏΡΠΎΠ³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠ°Ρ Ρ ΡΡ ΡΡΠ½ΠΊΡΠΈΡ.
ΠΠ»Ρ ΡΠ°ΡΡΠ΅ΡΠ° ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½ΠΎΠΉ ΡΡΠΌΠΌΡ ΠΏΠ°ΠΊΠ΅ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΠ° ΠΆΠ΅ ΡΡΠ½ΠΊΡΠΈΡ.
MAC=H(Autokey||NTP packet)
Π’Π°ΠΊ ΠΏΠΎΠ»ΡΡΠ°Π΅ΡΡΡ, ΡΡΠΎ Π²ΡΡ ΡΠ΅Π»ΠΎΡΡΠ½ΠΎΡΡΡ ΠΏΡΠΎΠ²Π΅ΡΠΎΠΊ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² Π΄Π΅ΡΠΆΠΈΡΡΡ Π½Π° Π°ΡΡΠ΅Π½ΡΠΈΡΠ½ΠΎΡΡΠΈ ΠΊΡΠΊΠΈΡ. ΠΠ°Π²Π»Π°Π΄Π΅Π² ΠΈΠΌΠΈ, ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ autokey ΠΈ Π·Π°ΡΠ΅ΠΌ ΠΏΠΎΠ΄Π΄Π΅Π»Π°ΡΡ MAC. ΠΠ΄Π½Π°ΠΊΠΎ ΡΠ΅ΡΠ²Π΅Ρ NTP ΠΏΡΠΈ ΠΈΡ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ Π½Π°ΡΠ°Π»ΡΠ½ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ (seed). ΠΠΌΠ΅Π½Π½ΠΎ ΡΡΡ ΠΊΡΠΎΠ΅ΡΡΡ ΠΏΠΎΠ΄Π²ΠΎΡ .
Cookie=MSB_32(H(Client IP||Server IP||0||Server Seed))
Π€ΡΠ½ΠΊΡΠΈΡ MSB_32 ΠΎΡΡΠ΅Π·Π°Π΅Ρ ΠΎΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ° Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ md5 Ρ ΡΡΠ° 32 ΡΡΠ°ΡΡΠΈΡ Π±ΠΈΡΠ°. ΠΠ»ΠΈΠ΅Π½ΡΡΠΊΠΈΠΉ ΠΊΡΠΊΠΈ Π½Π΅ ΠΌΠ΅Π½ΡΠ΅ΡΡΡ Π΄ΠΎ ΡΠ΅Ρ ΠΏΠΎΡ, ΠΏΠΎΠΊΠ° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΡΠ΅ΡΠ²Π΅ΡΠ° Π½Π΅ΠΈΠ·ΠΌΠ΅Π½Π½Ρ. ΠΠ°Π»ΡΡΠ΅ Π·Π»ΠΎΡΠΌΡΡΠ»Π΅Π½Π½ΠΈΠΊΡ ΠΎΡΡΠ°Π΅ΡΡΡ Π»ΠΈΡΡ Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π½Π°ΡΠ°Π»ΡΠ½ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ ΠΈ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ Π³Π΅Π½Π΅ΡΠΈΡΡ ΠΊΡΠΊΠΈ.
ΠΠ»Ρ Π½Π°ΡΠ°Π»Π° ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΡΡΡ ΠΊ ΡΠ΅ΡΠ²Π΅ΡΡ NTP Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΊΠ»ΠΈΠ΅Π½ΡΠ° ΠΈ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΊΡΠΊΠΈ. ΠΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠΌ ΠΏΠ΅ΡΠ΅Π±ΠΎΡΠ° Π·Π»ΠΎΡΠΌΡΡΠ»Π΅Π½Π½ΠΈΠΊ Π²ΠΎΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ Π½Π°ΡΠ°Π»ΡΠ½ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ ΡΠ»Π΅Π΄ΡΡ ΠΏΡΠΎΡΡΠΎΠΌΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΡ.
ΠΠ»Π³ΠΎΡΠΈΡΠΌ Π°ΡΠ°ΠΊΠΈ Π½Π° Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΠ΅ Π½Π°ΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠΈΡΠ»Π° ΠΌΠ΅ΡΠΎΠ΄ΠΎΠΌ ΠΏΠ΅ΡΠ΅Π±ΠΎΡΠ°.
for i=0:2^32 β 1 do
Ci=H(Server-IP||Client-IP||0||i)
if Ci=Cookie then
return i
end if
end for
IP Π°Π΄ΡΠ΅ΡΠ° ΠΈΠ·Π²Π΅ΡΡΠ½Ρ, ΡΠ°ΠΊ ΡΡΠΎ ΠΎΡΡΠ°Π΅ΡΡΡ Π»ΠΈΡΡ ΡΠΎΠ·Π΄Π°ΡΡ 2^32 Ρ ΡΡΠ° Π΄ΠΎ ΡΠ΅Ρ ΠΏΠΎΡ ΠΏΠΎΠΊΠ° ΡΠΎΠ·Π΄Π°Π½Π½ΡΠΉ ΠΊΡΠΊΠΈ Π½Π΅ ΡΠΎΠ²ΠΏΠ°Π΄Π΅Ρ Ρ ΡΠ΅ΠΌ, ΡΡΠΎ ΠΏΠΎΠ»ΡΡΠ΅Π½ ΠΎΡ NTP ΡΠ΅ΡΠ²Π΅ΡΠ°. ΠΠ° ΠΎΠ±ΡΡΠ½ΠΎΠΉ Π΄ΠΎΠΌΠ°ΡΠ½Π΅ΠΉ ΡΡΠ°Π½ΡΠΈΠΈ Ρ Intel Core i5 Π½Π° ΡΡΠΎ ΡΠΉΠ΄Π΅Ρ 25 ΠΌΠΈΠ½.
NTS β Π½ΠΎΠ²ΡΠΉ Autokey
ΠΠΈΡΠΈΡΡΡΡ Ρ ΡΠ°ΠΊΠΈΠΌΠΈ Π΄ΡΡΠ°ΠΌΠΈ Π² Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ Autokey Π±ΡΠ»ΠΎ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΈ Π² 2012 Π³. ΠΏΠΎΡΠ²ΠΈΠ»Π°ΡΡ
ΠΡΠΎΡΠΎΠΊΠΎΠ» NTS ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ΠΌ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ NTP ΠΈ Π² Π½Π°ΡΡΠΎΡΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ Π»ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ°Π΄ΡΠ΅ΡΠ½ΡΠΉ ΡΠ΅ΠΆΠΈΠΌ (unicast). ΠΠ½ Π΄Π°Π΅Ρ Π½Π°Π΄Π΅ΠΆΠ½ΡΡ ΠΊΡΠΈΠΏΡΠΎΠ³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΡΡ Π·Π°ΡΠΈΡΡ ΠΎΡ ΠΌΠ°Π½ΠΈΠΏΡΠ»ΡΡΠΈΠΉ ΠΏΠ°ΠΊΠ΅ΡΠ°ΠΌΠΈ, ΠΏΡΠ΅Π΄ΠΎΡΠ²ΡΠ°ΡΠ°Π΅Ρ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΠ΅, Ρ ΠΎΡΠΎΡΠΎ ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΡΠ΅ΡΡΡ, ΡΡΡΠΎΠΉΡΠΈΠ² ΠΊ ΠΏΠΎΡΠ΅ΡΠ΅ ΡΠ΅ΡΠ΅Π²ΡΡ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² ΠΈ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ ΠΊ Π½Π°ΠΈΠΌΠ΅Π½ΡΡΠΈΠΌ ΠΏΠΎΡΠ΅ΡΡΠΌ ΡΠΎΡΠ½ΠΎΡΡΠΈ, Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡΡΠΈΠΌ Π² ΠΏΡΠΎΡΠ΅ΡΡΠ΅ Π·Π°ΡΠΈΡΡ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ.
NTS ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· Π΄Π²ΡΡ ΡΡΠ°ΠΏΠΎΠ², Π² ΠΊΠΎΡΠΎΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Ρ Π½ΠΈΠΆΠ½Π΅Π³ΠΎ ΡΡΠΎΠ²Π½Ρ. ΠΠ° ΠΏΠ΅ΡΠ²ΠΎΠΌ ΡΡΠ°ΠΏΠ΅ ΠΊΠ»ΠΈΠ΅Π½Ρ ΠΈ ΡΠ΅ΡΠ²Π΅Ρ Π΄ΠΎΠ³ΠΎΠ²Π°ΡΠΈΠ²Π°ΡΡΡΡ ΠΎ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°Ρ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ ΠΈ ΠΎΠ±ΠΌΠ΅Π½ΠΈΠ²Π°ΡΡΡΡ ΠΊΡΠΊΠΈ, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠΌΠΈ ΠΊΠ»ΡΡΠΈ ΡΠΎ Π²ΡΠ΅ΠΌ ΡΠΎΠΏΡΡΡΡΠ²ΡΡΡΠΈΠΌ Π½Π°Π±ΠΎΡΠΎΠΌ Π΄Π°Π½Π½ΡΡ . ΠΠ° Π²ΡΠΎΡΠΎΠΌ ΡΡΠ°ΠΏΠ΅ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎ Π·Π°ΡΠΈΡΠ΅Π½Π½ΡΠΉ NTS ΡΠ΅Π°Π½Ρ ΠΌΠ΅ΠΆΠ΄Ρ ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠΌ ΠΈ ΡΠ΅ΡΠ²Π΅ΡΠΎΠΌ NTP.
NTS ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· Π΄Π²ΡΡ
ΠΏΡΠΎΡΠΎΠΊΠΎΠ»ΠΎΠ² Π½ΠΈΠΆΠ½Π΅Π³ΠΎ ΡΡΠΎΠ²Π½Ρ: Network Time Security Key Exchange (NTS-KE), ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΠ³ΠΎ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ ΠΏΠΎΠ²Π΅ΡΡ
TLS, ΠΈ NTPv4 β ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΉ ΠΈΠ½ΠΊΠ°ΡΠ½Π°ΡΠΈΠΈ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π° NTP. Π§ΡΡΡ ΠΏΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅ ΠΎΠ± ΡΡΠΎΠΌ Π½ΠΈΠΆΠ΅.
ΠΠ΅ΡΠ²ΡΠΉ ΡΡΠ°ΠΏ β NTS KE
ΠΠ° Π΄Π°Π½Π½ΠΎΠΌ ΡΡΠ°ΠΏΠ΅ NTP ΠΊΠ»ΠΈΠ΅Π½Ρ ΠΈΠ½ΠΈΡΠΈΠΈΡΡΠ΅Ρ TLS 1.2/1.3 ΡΠ΅Π°Π½Ρ ΠΏΠΎ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠΌΡ TCP ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ Ρ ΡΠ΅ΡΠ²Π΅ΡΠΎΠΌ NTS KE. ΠΠΎ Π²ΡΠ΅ΠΌΡ ΡΡΠΎΠΉ ΡΠ΅ΡΡΠΈΠΈ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅.
- Π‘ΡΠΎΡΠΎΠ½Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ
AEAD Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° Π΄Π»Ρ Π²ΡΠΎΡΠΎΠ³ΠΎ ΡΡΠ°ΠΏΠ°. - Π‘ΡΠΎΡΠΎΠ½Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ Π²ΡΠΎΡΠΎΠΉ ΠΏΡΠΎΡΠΎΠΊΠΎΠ» Π½ΠΈΠΆΠ½Π΅Π³ΠΎ ΡΡΠΎΠ²Π½Ρ, Π½ΠΎ Π½Π° Π΄Π°Π½Π½ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ Π»ΠΈΡΡ NTPv4ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ.
- Π‘ΡΠΎΡΠΎΠ½Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ IP Π°Π΄ΡΠ΅Ρ ΠΈ ΠΏΠΎΡΡ NTP ΡΠ΅ΡΠ²Π΅ΡΠ°.
- NTS KE ΡΠ΅ΡΠ²Π΅Ρ Π²ΡΠ΄Π°Π΅Ρ ΠΊΡΠΊΠΈ ΠΏΠΎΠ΄ NTPv4.
- Π‘ΡΠΎΡΠΎΠ½Ρ ΠΈΠ·Π²Π»Π΅ΠΊΠ°ΡΡ ΠΈΠ· ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»Π° ΠΊΡΠΊΠΈ ΠΏΠ°ΡΡ ΡΠΈΠΌΠΌΠ΅ΡΡΠΈΡΠ½ΡΡ ΠΊΠ»ΡΡΠ΅ΠΉ (C2S ΠΈ S2C).
Π’Π°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ ΠΈΠΌΠ΅Π΅Ρ Π±ΠΎΠ»ΡΡΠΎΠ΅ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²ΠΎ Π² ΡΠΎΠΌ, ΡΡΠΎ Π²ΡΡ Π½Π°Π³ΡΡΠ·ΠΊΠ° ΠΏΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠ΅ ΡΠ΅ΠΊΡΠ΅ΡΠ½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ Π»ΠΎΠΆΠΈΡΡΡ Π½Π° ΠΏΡΠΎΠ²Π΅ΡΠ΅Π½Π½ΡΠΉ ΠΈ Π½Π°Π΄Π΅ΠΆΠ½ΡΠΉ ΠΏΡΠΎΡΠΎΠΊΠΎΠ» TLS. Π’Π΅ΠΌ ΡΠ°ΠΌΡΠΌ ΠΎΡΠΏΠ°Π΄Π°Π΅Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΡ ΠΈΠ·ΠΎΠ±ΡΠ΅ΡΠ°ΡΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠΉ Π²Π΅Π»ΠΎΡΠΈΠΏΠ΅Π΄ Π΄Π»Ρ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΠ³ΠΎ NTP ΡΡΠΊΠΎΠΏΠΎΠΆΠ°ΡΠΈΡ.
ΠΡΠΎΡΠΎΠΉ ΡΡΠ°ΠΏ β NTP ΠΏΠΎΠ΄ Π·Π°ΡΠΈΡΠΎΠΉ NTS
ΠΠ° Π²ΡΠΎΡΠΎΠΌ ΡΡΠ°ΠΏΠ΅ ΠΊΠ»ΠΈΠ΅Π½Ρ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎ ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·ΠΈΡΡΠ΅Ρ Π²ΡΠ΅ΠΌΡ Ρ NTP ΡΠ΅ΡΠ²Π΅ΡΠΎΠΌ. ΠΠ»Ρ ΡΡΠΎΠΉ ΡΠ΅Π»ΠΈ ΠΎΠ½ ΠΏΠ΅ΡΠ΅Π΄Π°Π΅Ρ ΡΠ΅ΡΡΡΠ΅ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΡ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ (extension field) Π² ΡΡΡΡΠΊΡΡΡΠ΅ NTPv4 ΠΏΠ°ΠΊΠ΅ΡΠ°.
- Unique Identifier Extension ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΠ»ΡΡΠ°ΠΉΠ½ΡΠΉ nonce Π΄Π»Ρ ΠΏΡΠ΅Π΄ΠΎΡΠ²ΡΠ°ΡΠ΅Π½ΠΈΡ Π°ΡΠ°ΠΊ ΠΏΡΡΠ΅ΠΌ ΠΏΠΎΠ²ΡΠΎΡΠ°.
- NTS Cookie Extension ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΠΈΠΌΠ΅ΡΡΠΈΡ ΡΡ Π² Π½Π°Π»ΠΈΡΠΈΠ΅ Ρ ΠΊΠ»ΠΈΠ΅Π½ΡΠ° NTP ΠΊΡΠΊΠΈ. ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΊΠ»ΠΈΠ΅Π½Ρ ΡΠ°ΡΠΏΠΎΠ»Π°Π³Π°Π΅Ρ ΡΠΈΠΌΠΌΠ΅ΡΡΠΈΡΠ½ΡΠΌΠΈ AAED ΠΊΠ»ΡΡΠ°ΠΌΠΈ C2S ΠΈ S2C, ΡΠ΅ΡΠ²Π΅Ρ NTP Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΈΠ·Π²Π»Π΅ΡΡ ΠΈΡ ΠΈΠ· ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»Π° ΠΊΡΠΊΠΈ.
- NTS Cookie Placeholder Extension ΡΠΏΠΎΡΠΎΠ± Π΄Π»Ρ ΠΊΠ»ΠΈΠ΅Π½ΡΠ° Π·Π°ΠΏΡΠΎΡΠΈΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΊΡΠΊΠΈ Ρ ΡΠ΅ΡΠ²Π΅ΡΠ°. ΠΡΠΎ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ, ΡΡΠΎΠ±Ρ ΠΎΡΠ²Π΅Ρ ΡΠ΅ΡΠ²Π΅ΡΠ° NTP Π½Π΅ Π±ΡΠ» Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ Π΄Π»ΠΈΠ½Π½Π΅Π΅, ΡΠ΅ΠΌ Π·Π°ΠΏΡΠΎΡ. ΠΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΡΠ΅Π΄ΠΎΡΠ²ΡΠ°ΡΠΈΡΡ Π°ΡΠ°ΠΊΠΈ ΡΡΠΈΠ»Π΅Π½ΠΈΡ.
- NTS Authenticator and Encrypted Extension Fields Extension ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΠΈΡΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° AAED Ρ C2S ΠΊΠ»ΡΡΠ΅ΠΌ, Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΎΠΌ NTP, Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΌΠΈ ΠΎΡΠΌΠ΅ΡΠΊΠ°ΠΌΠΈ, ΠΈ ΡΠΏΠΎΠΌΡΠ½ΡΡΡΠΌΠΈ Π²ΡΡΠ΅ EF Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΠΎΠΏΡΡΡΡΠ²ΡΡΡΠΈΡ Π΄Π°Π½Π½ΡΡ . ΠΠ΅Π· ΡΡΠΎΠ³ΠΎ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ΄Π΄Π΅Π»Π°ΡΡ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΎΡΠΌΠ΅ΡΠΊΠΈ.
ΠΠΎΠ»ΡΡΠΈΠ² Π·Π°ΠΏΡΠΎΡ ΠΎΡ ΠΊΠ»ΠΈΠ΅Π½ΡΠ°, ΡΠ΅ΡΠ²Π΅Ρ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅Ρ ΠΏΠΎΠ΄Π»ΠΈΠ½Π½ΠΎΡΡΡ NTP ΠΏΠ°ΠΊΠ΅ΡΠ°. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΠΎΠ½ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠ°ΡΡΠΈΡΡΠΎΠ²Π°ΡΡ ΠΊΡΠΊΠΈ, ΠΈΠ·Π²Π»Π΅ΡΡ Π°Π»Π³ΠΎΡΠΈΡΠΌ AAED ΠΈ ΠΊΠ»ΡΡΠΈ. ΠΠΎΡΠ»Π΅ ΡΡΠΏΠ΅ΡΠ½ΠΎΠΉ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ NTP ΠΏΠ°ΠΊΠ΅ΡΠ° Π½Π° Π²Π°Π»ΠΈΠ΄Π½ΠΎΡΡΡ ΡΠ΅ΡΠ²Π΅Ρ ΠΎΡΠ²Π΅ΡΠ°Π΅Ρ ΠΊΠ»ΠΈΠ΅Π½ΡΡ Π² ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΡΠΎΡΠΌΠ°ΡΠ΅.
- Unique Identifier Extension Π·Π΅ΡΠΊΠ°Π»ΡΠ½Π°Ρ ΠΊΠΎΠΏΠΈΡ ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΎΠ³ΠΎ Π·Π°ΠΏΡΠΎΡΠ°, ΠΌΠ΅ΡΠ° ΠΏΡΠΎΡΠΈΠ² Π°ΡΠ°ΠΊ ΠΏΡΡΠ΅ΠΌ ΠΏΠΎΠ²ΡΠΎΡΠ°.
- NTS Cookie Extension Π±ΠΎΠ»ΡΡΠ΅ ΠΊΡΠΊΠΈ Π΄Π»Ρ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ΅Π½ΠΈΡ ΡΠ΅Π°Π½ΡΠ°.
- NTS Authenticator and Encrypted Extension Fields Extension ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΠΈΡΡ AEAD Ρ S2C ΠΊΠ»ΡΡΠ΅ΠΌ.
ΠΡΠΎΡΠΎΠ΅ ΡΡΠΊΠΎΠΏΠΎΠΆΠ°ΡΠΈΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ²ΡΠΎΡΠΈΡΡ ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ°Π·, ΠΌΠΈΠ½ΡΡ ΠΏΠ΅ΡΠ²ΡΠΉ ΡΡΠ°ΠΏ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΊΠ°ΠΆΠ΄ΡΠΉ Π·Π°ΠΏΡΠΎΡ ΠΈ ΠΎΡΠ²Π΅Ρ Π΄Π°Π΅Ρ ΠΊΠ»ΠΈΠ΅Π½ΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΊΡΠΊΠΈ. ΠΡΠΎ Π΄Π°Π΅Ρ ΡΠΎ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²ΠΎ, ΡΡΠΎ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠ΅ΡΡΡΡΠΎΠ΅ΠΌΠΊΠΈΠ΅ TLS ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ ΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ PKI Π΄Π°Π½Π½ΡΡ Π΄Π΅Π»ΡΡΡΡ Π½Π° ΡΠΈΡΠ»ΠΎ ΠΏΠΎΠ²ΡΠΎΡΠ½ΡΡ Π·Π°ΠΏΡΠΎΡΠΎΠ². ΠΡΠΎ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ ΡΠ΄ΠΎΠ±Π½ΠΎ Π΄Π»Ρ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΡ FPGA Ρ ΡΠΎΠ½ΠΎΠΌΠ΅ΡΡΠΎΠ², ΠΊΠΎΠ³Π΄Π° Π²Π΅ΡΡ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π» ΠΌΠΎΠΆΠ½ΠΎ ΡΠΏΠ°ΠΊΠΎΠ²Π°ΡΡ Π² Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΡΠ½ΠΊΡΠΈΠΉ ΠΈΠ· ΠΎΠ±Π»Π°ΡΡΠΈ ΡΠΈΠΌΠΌΠ΅ΡΡΠΈΡΠ½ΠΎΠΉ ΠΊΡΠΈΠΏΡΠΎΠ³ΡΠ°ΡΠΈΠΈ, ΠΏΠ΅ΡΠ΅Π΄Π°Π² Π²Π΅ΡΡ TLS ΡΡΠ΅ΠΊ Π½Π° Π΄ΡΡΠ³ΠΎΠ΅ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ.
NTPSec
Π ΡΠ΅ΠΌ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΡ NTP? ΠΠ΅ΡΠΌΠΎΡΡΡ Π½Π° ΡΠΎ, ΡΡΠΎ Π°Π²ΡΠΎΡ ΠΏΡΠΎΠ΅ΠΊΡΠ° Dave Mills ΡΡΠ°ΡΠ°Π»ΡΡ ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ Π»ΡΡΡΠ΅ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠ²ΠΎΠΉ ΠΊΠΎΠ΄, ΡΠ΅Π΄ΠΊΠΈΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡ ΡΡΠΌΠ΅Π΅Ρ ΡΠ°Π·ΠΎΠ±ΡΠ°ΡΡΡΡ Π² Ρ ΠΈΡΡΠΎΡΠΏΠ»Π΅ΡΠ΅Π½ΠΈΡΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠ² ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΠΈ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ 35-Π΄Π΅ΡΠ½Π΅ΠΉ Π΄Π°Π²Π½ΠΎΡΡΠΈ. Π§Π°ΡΡΡ ΠΊΠΎΠ΄Π° Π½Π°ΠΏΠΈΡΠ°Π½Π° Π΄ΠΎ ΡΠΏΠΎΡ ΠΈ POSIX, Π° Unix API ΡΠΎΠ³Π΄Π° ΡΠΈΠ»ΡΠ½ΠΎ ΠΎΡΠ»ΠΈΡΠ°Π»ΡΡ ΠΎΡ ΡΠΎΠ³ΠΎ, ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π² Π½Π°ΡΠΈ Π΄Π½ΠΈ. ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, Π½ΡΠΆΠ½Ρ Π·Π½Π°Π½ΠΈΡ ΠΏΠΎ ΡΡΠ°ΡΠΈΡΡΠΈΠΊΠ΅, ΡΡΠΎΠ±Ρ ΠΎΡΠΈΡΡΠΈΡΡ ΡΠΈΠ³Π½Π°Π»Π° ΠΎΡ ΠΏΠΎΠΌΠ΅Ρ Π½Π° ΡΡΠΌΠ½ΡΡ Π»ΠΈΠ½ΠΈΡΡ .
NTS Π±ΡΠ»Π° Π½Π΅ ΠΏΠ΅ΡΠ²ΠΎΠΉ ΠΏΠΎΠΏΡΡΠΊΠΎΠΉ ΠΏΠΎΡΠΈΠ½ΠΈΡΡ NTP. ΠΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π·Π»ΠΎΡΠΌΡΡΠ»Π΅Π½Π½ΠΈΠΊΠΈ Π½Π°ΡΡΠΈΠ»ΠΈΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈ NTP Π΄Π»Ρ ΡΡΠΈΠ»Π΅Π½ΠΈΡ DDoS Π°ΡΠ°ΠΊ, ΡΡΠ°Π»ΠΎ ΡΡΠ½ΠΎ, ΡΡΠΎ Π½ΡΠΆΠ½Ρ ΡΠ°Π΄ΠΈΠΊΠ°Π»ΡΠ½ΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Ρ. Π ΠΏΠΎΠΊΠ° Π³ΠΎΡΠΎΠ²ΠΈΠ»ΠΈΡΡ ΠΈ Π΄ΠΎΠ²ΠΎΠ΄ΠΈΠ»ΠΈΡΡ Π΄ΠΎ ΡΠΌΠ° ΡΠ΅ΡΠ½ΠΎΠ²ΠΈΠΊΠΈ NTS, National Science Foundation Π‘Π¨Π Π² ΠΊΠΎΠ½ΡΠ΅ 2014 Π³. ΡΡΠΎΡΠ½ΠΎ Π²ΡΠ΄Π΅Π»ΠΈΠ» Π³ΡΠ°Π½Ρ Π½Π° ΠΌΠΎΠ΄Π΅ΡΠ½ΠΈΠ·Π°ΡΠΈΡ NTP.
Π Π°Π±ΠΎΡΡΡ Π³ΡΡΠΏΠΏΡ Π²ΠΎΠ·Π³Π»Π°Π²ΠΈΠ» Π½Π΅ Π°Π±Ρ ΠΊΡΠΎ, Π°
Π‘ΠΎΠ»ΠΈΠ΄Π½ΡΠΉ ΠΎΠΏΡΡ, Π² ΡΠΎΠΌ ΡΠΈΡΠ»Π΅ ΡΠ°Π±ΠΎΡΠ° Π½Π°Π΄ GPSD, ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ Π±ΡΠΊΠ³ΡΠ°ΡΠ½Π΄ ΠΈ ΠΌΠ°Π³ΠΈΡΠ΅ΡΠΊΠΈΠΉ Π½Π°Π²ΡΠΊ ΡΡΠ΅Π½ΠΈΡ Π΄ΡΠ΅Π²Π½Π΅Π³ΠΎ ΠΊΠΎΠ΄Π° β ΠΡΠΈΠΊ Π Π΅ΠΉΠΌΠΎΠ½Π΄ Π±ΡΠ» ΠΈΠΌΠ΅Π½Π½ΠΎ ΡΠ΅ΠΌ Ρ
Π°ΠΊΠ΅ΡΠΎΠΌ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠ³ Π²ΡΡΠ°ΡΠΈΡΡ ΡΠ°ΠΊΠΎΠΉ ΠΏΡΠΎΠ΅ΠΊΡ. Π ΠΊΠΎΠΌΠ°Π½Π΄Π΅ Π½Π°ΡΠ΅Π»ΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΡΡ ΠΏΠΎ ΠΌΠΈΠ³ΡΠ°ΡΠΈΠΈ ΠΊΠΎΠ΄Π° ΠΈ Π²ΡΠ΅Π³ΠΎ Π·Π° 10 Π½Π΅Π΄Π΅Π»Ρ NTP
ΠΠΎΠΌΠ°Π½Π΄Π° ΠΡΠΈΠΊΠ° Π Π°ΠΉΠΌΠΎΠ½Π΄Π° Π²Π·ΡΠ»Π°ΡΡ Π·Π° Π΄Π΅Π»ΠΎ ΡΠ°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΠ³ΡΡΡ Π ΠΎΠ΄Π΅Π½ ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ Ρ Π³Π»ΡΠ±ΠΎΠΉ ΠΊΠ°ΠΌΠ½Ρ. Π£Π΄Π°Π»ΠΈΠ² 175 KLOC ΡΡΠ°ΡΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°, ΠΈΠΌ ΡΠ΄Π°Π»ΠΎΡΡ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠΎΠΊΡΠ°ΡΠΈΡΡ ΠΏΠ»ΠΎΡΠ°Π΄Ρ Π°ΡΠ°ΠΊΠΈ, Π·Π°ΠΊΡΡΠ² ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ Π΄ΡΡ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ.
ΠΠΎΡ Π½Π΅ΠΏΠΎΠ»Π½ΡΠΉ ΡΠΏΠΈΡΠΎΠΊ ΠΏΠΎΠΏΠ°Π²ΡΠΈΡ ΠΏΠΎΠ΄ ΡΠ°Π·Π΄Π°ΡΡ:
- ΠΠ΅Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅, ΡΡΡΠ°ΡΠ΅Π²ΡΠΈΠ΅, ΡΡΡΠ°ΡΠ΅Π²ΡΠΈΠ΅ ΠΈΠ»ΠΈ ΡΠ»ΠΎΠΌΠ°Π½Π½ΡΠ΅ refclock.
- ΠΠ΅ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΠ°Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° ICS.
- libopts/autogen.
- Π‘ΡΠ°ΡΡΠΉ ΠΊΠΎΠ΄ Π΄Π»Ρ Windows.
- ntpdc.
- Autokey.
- C ΠΊΠΎΠ΄ ntpq ΠΏΠ΅ΡΠ΅ΠΏΠΈΡΠ°Π½ Π½Π° Python.
- C ΠΊΠΎΠ΄ sntp/ntpdig ΠΏΠ΅ΡΠ΅ΠΏΠΈΡΠ°Π½ Π½Π° Python.
ΠΠΎΠΌΠΈΠΌΠΎ ΠΎΡΠΈΡΡΠΊΠΈ ΠΊΠΎΠ΄Π° Π±ΡΠ»ΠΈ ΠΈ Ρ ΠΏΡΠΎΠ΅ΠΊΡΠ° Π±ΡΠ»ΠΈ ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ Π·Π°Π΄Π°ΡΠΈ. ΠΠΎΡ Π½Π΅ΠΏΠΎΠ»Π½ΡΠΉ ΡΠΏΠΈΡΠΎΠΊ Π΄ΠΎΡΡΠΈΠΆΠ΅Π½ΠΈΠΉ:
- ΠΠ½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΡΠΈΠ»Π΅Π½Π° Π·Π°ΡΠΈΡΠ° ΠΊΠΎΠ΄Π° ΠΎΡ ΠΏΠ΅ΡΠ΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π±ΡΡΠ΅ΡΠ°. Π§ΡΠΎΠ±Ρ ΠΏΡΠ΅Π΄ΠΎΡΠ²ΡΠ°ΡΠΈΡΡ ΠΏΠ΅ΡΠ΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π±ΡΡΠ΅ΡΠ°, Π²ΡΠ΅ Π½Π΅Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΡΠ΅ ΡΡΡΠΎΠΊΠΎΠ²ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ (strcpy / strcat / strtok / sprintf / vsprintf / gets) Π·Π°ΠΌΠ΅Π½ΠΈΠ»ΠΈ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΡΠΌΠΈ Π²Π΅ΡΡΠΈΡΠΌΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ΅Π°Π»ΠΈΠ·ΡΡΡ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅ ΡΠ°Π·ΠΌΠ΅ΡΠ° Π±ΡΡΠ΅ΡΠ°.
- ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° NTS.
- ΠΠ΅ΡΡΡΠΈΠΊΡΠ°ΡΠ½ΠΎ ΠΏΠΎΠ²ΡΡΠΈΠ»ΠΈ ΡΠΎΡΠ½ΠΎΡΡΡ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ ΡΠ°Π³Π° Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΏΡΠΈΠ²ΡΠ·ΠΊΠΈ ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΎΠ±ΠΎΡΡΠ΄ΠΎΠ²Π°Π½ΠΈΡ. ΠΡΠΎ ΡΠ²ΡΠ·Π°Π½ΠΎ Ρ ΡΠ΅ΠΌ, ΡΡΠΎ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ½ΡΠ΅ ΡΠ°ΡΡ ΡΡΠ°Π»ΠΈ Π³ΠΎΡΠ°Π·Π΄ΠΎ ΡΠΎΡΠ½Π΅Π΅ ΡΠ΅Ρ , ΡΡΠΎ Π±ΡΠ»ΠΈ Π² ΠΌΠΎΠΌΠ΅Π½Ρ Π·Π°ΡΠΎΠΆΠ΄Π΅Π½ΠΈΡ NTP. ΠΠΎΠ»ΡΡΠ΅ Π²ΡΠ΅Ρ ΠΎΡ ΡΡΠΎΠ³ΠΎ Π²ΡΠΈΠ³ΡΠ°Π»ΠΈ GPSDO ΠΈ Π²ΡΠ΄Π΅Π»Π΅Π½Π½ΡΠ΅ ΡΠ°Π΄ΠΈΠΎΡΡΠ°Π½ΡΠΈΠΈ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ.
- ΠΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ·ΡΠΊΠΎΠ² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠΎΠΊΡΠ°ΡΠΈΠ»ΠΎΡΡ Π΄ΠΎ Π΄Π²ΡΡ . ΠΠΌΠ΅ΡΡΠΎ ΡΠΊΡΠΈΠΏΡΠΎΠ² Perl, awk ΠΈ Π΄Π°ΠΆΠ΅ S, ΡΠ΅ΠΏΠ΅ΡΡ ΡΠΏΠ»ΠΎΡΠ½ΠΎΠΉ Python. ΠΠ° ΡΡΠ΅Ρ ΡΡΠΎΠ³ΠΎ Π±ΠΎΠ»ΡΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΊΠΎΠ΄Π°.
- ΠΠΌΠ΅ΡΡΠΎ Π»Π°ΠΏΡΠΈ ΡΠΊΡΠΈΠΏΡΠΎΠ² autotools ΠΏΡΠΎΠ΅ΠΊΡ ΡΡΠ°Π» ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΈΡΡΠ΅ΠΌΡ ΡΠ±ΠΎΡΠΊΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ
waf . - ΠΠ±Π½ΠΎΠ²ΠΈΠ»ΠΈ ΠΈ ΡΠ΅ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΎΠ²Π°Π»ΠΈ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠ°. ΠΠ· ΠΏΡΠΎΡΠΈΠ²ΠΎΡΠ΅ΡΠΈΠ²ΠΎΠΉ, ΠΈ ΠΌΠ΅ΡΡΠ°ΠΌΠΈ Π°ΡΡ Π°ΠΈΡΠ½ΠΎΠΉ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΎΠ² ΡΠΎΠ·Π΄Π°Π»ΠΈ Π²ΠΏΠΎΠ»Π½Π΅ ΡΠ½ΠΎΡΠ½ΡΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ. ΠΠ°ΠΆΠ΄ΡΠΉ ΠΊΠ»ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ ΠΈ ΠΊΠ°ΠΆΠ΄Π°Ρ ΡΡΡΠ½ΠΎΡΡΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ ΡΠ΅ΠΏΠ΅ΡΡ ΠΈΠΌΠ΅ΡΡ Π΅Π΄ΠΈΠ½ΡΡ Π²Π΅ΡΡΠΈΡ ΠΏΡΠ°Π²Π΄Ρ. ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, ΡΡΡΠ°Π½ΠΈΡΡ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²Π° ΠΈ Π²Π΅Π± Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ ΡΠ΅ΠΏΠ΅ΡΡ ΡΠΎΠ·Π΄Π°ΡΡΡΡ ΠΈΠ· ΠΎΠ΄Π½ΠΈΡ ΠΈ ΡΠ΅Ρ ΠΆΠ΅ ΠΎΡΠ½ΠΎΠ²Π½ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ².
NTPSec Π΄ΠΎΡΡΡΠΏΠ΅Π½ Π΄Π»Ρ ΡΡΠ΄Π° Linux Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²ΠΎΠ². Π Π΄Π°Π½Π½ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ ΠΏΠΎΡΠ»Π΅Π΄Π½ΡΡ ΡΡΠ°Π±ΠΈΠ»ΡΠ½Π°Ρ Π²Π΅ΡΡΠΈΡ 1.1.8, Π΄Π»Ρ Gentoo Linux β ΠΏΡΠ΅Π΄ΠΏΠΎΡΠ»Π΅Π΄Π½ΡΡ.
(1:696)$ sudo emerge -av ntpsec
These are the packages that would be merged, in order:
Calculating dependencies... done!
[ebuild R ] net-misc/ntpsec-1.1.7-r1::gentoo USE="samba seccomp -debug -doc -early -gdb -heat -libbsd -nist -ntpviz -rclock_arbiter -rclock_generic -rclock_gpsd -rclock_hpgps -rclock_jjy -rclock_local -rclock_modem -rclock_neoclock -rclock_nmea -rclock_oncore -rclock_pps -rclock_shm -rclock_spectracom -rclock_trimble -rclock_truetime -rclock_zyfer -smear -tests" PYTHON_TARGETS="python3_6" 0 KiB
Total: 1 package (1 reinstall), Size of downloads: 0 KiB
Would you like to merge these packages? [Yes/No]
Chrony
ΠΡΠ»Π° Π΅ΡΠ΅ ΠΎΠ΄Π½Π° ΠΏΠΎΠΏΡΡΠΊΠ° Π·Π°ΠΌΠ΅Π½ΠΈΡΡ ΡΡΠ°ΡΡΠΉ NTP Π±ΠΎΠ»Π΅Π΅ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΡΠΉ Π°Π½Π°Π»ΠΎΠ³. Chrony Π² ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ NTPSec Π½Π°ΠΏΠΈΡΠ°Π½ Ρ Π½ΡΠ»Ρ ΠΈ ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½ Π΄Π»Ρ Π½Π°Π΄Π΅ΠΆΠ½ΠΎΠΉ ΡΠ°Π±ΠΎΡΡ Π² ΡΠΈΡΠΎΠΊΠΎΠΌ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ ΡΡΠ»ΠΎΠ²ΠΈΠΉ, Π²ΠΊΠ»ΡΡΠ°Ρ Π½Π΅ΡΡΠ°Π±ΠΈΠ»ΡΠ½ΡΠ΅ ΡΠ΅ΡΠ΅Π²ΡΠ΅ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ, ΡΠ°ΡΡΠΈΡΠ½Π°Ρ Π΄ΠΎΡΡΡΠΏΠ½ΠΎΡΡΡ ΠΈΠ»ΠΈ ΠΏΠ΅ΡΠ΅Π³ΡΡΠ·ΠΊΠΈ ΡΠ΅ΡΠΈ ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠ΅ΠΌΠΏΠ΅ΡΠ°ΡΡΡΡ. ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ chrony ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ ΠΈ Π΄ΡΡΠ³ΠΈΠΌΠΈ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π°ΠΌΠΈ:
- chrony ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡΡΠ΅Π΅ ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠ΅ ΡΠ°ΡΡ Ρ Π±ΠΎΠ»ΡΡΠ΅ΠΉ ΡΠΎΡΠ½ΠΎΡΡΡΡ;
- chrony ΠΌΠ΅Π½ΡΡΠ΅, ΠΏΠΎΡΡΠ΅Π±Π»ΡΠ΅Ρ ΠΌΠ΅Π½ΡΡΠ΅ ΠΏΠ°ΠΌΡΡΠΈ ΠΈ ΠΎΠ±ΡΠ°ΡΠ°Π΅ΡΡΡ ΠΊ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΠΎΠ³Π΄Π°, ΠΊΠΎΠ³Π΄Π° ΡΡΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ. ΠΠ»Ρ ΡΠΊΠΎΠ½ΠΎΠΌΠΈΠΈ ΡΠ΅ΡΡΡΡΠΎΠ² ΠΈ ΡΠ½Π΅ΡΠ³ΠΈΠΈ ΡΡΠΎ Π±ΠΎΠ»ΡΡΠΎΠΉ ΠΏΠ»Ρc;
- chrony ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΠΌΠ΅ΡΠΊΠΈ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π½Π° Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΠΎΠΌ ΡΡΠΎΠ²Π½Π΅ Π² Linux, ΡΡΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ ΡΡΠ΅Π·Π²ΡΡΠ°ΠΉΠ½ΠΎ ΡΠΎΡΠ½ΡΡ ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΡ Π² Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ ΡΠ΅ΡΡΡ .
ΠΠΏΡΠΎΡΠ΅ΠΌ, Π² chrony ΠΎΡΡΡΡΡΡΠ²ΡΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΡΡΠ°ΡΠΎΠ³ΠΎ NTP ΡΠ°ΠΊΠΈΠ΅, ΠΊΠ°ΠΊ ΡΠΈΡΠΎΠΊΠΎΠ²Π΅ΡΠ°ΡΠ΅Π»ΡΠ½ΡΠΉ ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠ°Π΄ΡΠ΅ΡΠ½ΡΠΉ (multicast) ΠΊΠ»ΠΈΠ΅Π½Ρ / ΡΠ΅ΡΠ²Π΅Ρ. Π Π΄ΠΎΠ±Π°Π²ΠΎΠΊ ΠΊΠ»Π°ΡΡΠΈΡΠ΅ΡΠΊΠΈΠΉ NTP ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ Π±ΠΎΠ»ΡΡΠ΅Π΅ ΡΠΈΡΠ»ΠΎ ΠΠ‘ ΠΈ ΠΏΠ»Π°ΡΡΠΎΡΠΌ.
ΠΠ»Ρ ΠΎΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΠΈ ΡΠ΅ΡΠ²Π΅ΡΠ° ΠΈ NTP Π·Π°ΠΏΡΠΎΡΠΎΠ² ΠΊ ΠΏΡΠΎΡΠ΅ΡΡΡ chronyd Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΏΡΠΎΠΏΠΈΡΠ°ΡΡ port 0 Π² ΡΠ°ΠΉΠ» chrony.conf. ΠΡΠΎ Π΄Π΅Π»Π°Π΅ΡΡΡ Π² ΡΠ΅Ρ ΡΠ»ΡΡΠ°ΡΡ , ΠΊΠΎΠ³Π΄Π° Π½Π΅Ρ Π½ΡΠΆΠ΄Ρ ΠΎΠ±ΡΠ»ΡΠΆΠΈΠ²Π°ΡΡ Π²ΡΠ΅ΠΌΡ Π΄Π»Ρ NTP ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠ² ΠΈΠ»ΠΈ ΠΎΠ΄Π½ΠΎΡΠ°Π½Π³ΠΎΠ²ΡΡ ΡΠ·Π»ΠΎΠ². ΠΠ°ΡΠΈΠ½Π°Ρ Ρ Π²Π΅ΡΡΠΈΠΈ 2.0, ΠΏΠΎΡΡ ΡΠ΅ΡΠ²Π΅ΡΠ° NTP ΠΎΡΠΊΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π² ΡΠ΅Ρ ΡΠ»ΡΡΠ°ΡΡ , ΠΊΠΎΠ³Π΄Π° Π΄ΠΎΡΡΡΠΏ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²ΠΎΠΉ allow ΠΈΠ»ΠΈ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ, Π»ΠΈΠ±ΠΎ ΠΆΠ΅ Π½Π°ΡΡΡΠΎΠ΅Π½ ΠΎΠ΄Π½ΠΎΡΠ°Π½Π³ΠΎΠ²ΡΠΉ ΡΠ·Π΅Π» NTP, ΠΈΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Π° broadcast.
ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· Π΄Π²ΡΡ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ.
- chronyd β ΡΠ΅ΡΠ²ΠΈΡ, ΡΠ°Π±ΠΎΡΠ°ΡΡΠΈΠΉ Π² ΡΠΎΠ½ΠΎΠ²ΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅. ΠΠ½ ΠΏΠΎΠ»ΡΡΠ°Π΅Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΡΠ°Π·Π½ΠΈΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΡ ΡΠ°ΡΠΎΠ² Ρ Π²Π½Π΅ΡΠ½ΠΈΠΌ ΡΠ΅ΡΠ²Π΅ΡΠΎΠΌ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΈ ΠΊΠΎΡΡΠ΅ΠΊΡΠΈΡΡΠ΅Ρ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ. ΠΠ½ ΡΠ°ΠΊΠΆΠ΅ ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅Ρ ΠΏΡΠΎΡΠΎΠΊΠΎΠ» NTP ΠΈ ΠΌΠΎΠΆΠ΅Ρ Π²ΡΡΡΡΠΏΠ°ΡΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΊΠ»ΠΈΠ΅Π½ΡΠ° ΠΈΠ»ΠΈ ΡΠ΅ΡΠ²Π΅ΡΠ°.
- chronyc β ΡΡΠΈΠ»ΠΈΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ Π΄Π»Ρ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π° ΠΈ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. ΠΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΡΠΎΠ½ΠΊΠΎΠΉ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΡΠ΅ΡΠ²ΠΈΡΠ°, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ ΠΈΠ»ΠΈ ΡΠ΄Π°Π»ΡΡΡ ΡΠ΅ΡΠ²Π΅ΡΡ NTP Π² ΡΠΎ Π²ΡΠ΅ΠΌΡ, ΠΊΠ°ΠΊ chronyd ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ.
ΠΠ°ΡΠΈΠ½Π°Ρ Ρ 7-ΠΉ Π²Π΅ΡΡΠΈΠΈ RedHat Linux
(1:712)$ sudo emerge -av chrony
These are the packages that would be merged, in order:
Calculating dependencies... done!
[binary N ] net-misc/chrony-3.5-r2::gentoo USE="adns caps cmdmon ipv6 ntp phc readline refclock rtc seccomp (-html) -libedit -pps (-selinux)" 246 KiB
Total: 1 package (1 new, 1 binary), Size of downloads: 246 KiB
Would you like to merge these packages? [Yes/No]
ΠΠ°ΠΊ Π½Π°ΡΡΡΠΎΠΈΡΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠΉ ΡΠ΄Π°Π»Π΅Π½Π½ΡΠΉ ΡΠ΅ΡΠ²Π΅Ρ chrony Π² ΠΈΠ½ΡΠ΅ΡΠ½Π΅ΡΠ΅ Π΄Π»Ρ ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΠΈ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π² ΠΎΡΠΈΡΠ½ΠΎΠΉ ΡΠ΅ΡΠΈ. ΠΠ°Π»Π΅Π΅ ΠΏΡΠΈΠΌΠ΅Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ Π½Π° VPS.
ΠΡΠΈΠΌΠ΅Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ Chrony Π½Π° RHEL / CentOS Π½Π° VPS
ΠΠ°Π²Π°ΠΉΡΠ΅ ΡΠ΅ΠΏΠ΅ΡΡ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΡΡΠ΅Π½ΠΈΡΡΠ΅ΠΌΡΡ ΠΈ ΠΏΠΎΠ΄Π½ΠΈΠΌΠ΅ΠΌ ΡΠ²ΠΎΠΉ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠΉ NTP ΡΠ΅ΡΠ²Π΅Ρ Π½Π° VPS. ΠΡΠΎ ΠΎΡΠ΅Π½Ρ ΠΏΡΠΎΡΡΠΎ, Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π²ΡΠ±ΡΠ°ΡΡ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡΠΈΠΉ ΡΠ°ΡΠΈΡ Π½Π° ΡΠ°ΠΉΡΠ΅ RuVDS, ΠΏΠΎΠ»ΡΡΠΈΡΡ Π³ΠΎΡΠΎΠ²ΡΠΉ ΡΠ΅ΡΠ²Π΅Ρ ΠΈ Π½Π°Π±ΡΠ°ΡΡ Ρ Π΄Π΅ΡΡΡΠΎΠΊ Π½Π΅ΡΠ»ΠΎΠΆΠ½ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄. ΠΠ»Ρ Π½Π°ΡΠΈΡ ΡΠ΅Π»Π΅ΠΉ Π²ΠΏΠΎΠ»Π½Π΅ ΠΏΠΎΠ΄ΠΎΠΉΠ΄Π΅Ρ ΡΠ°ΠΊΠΎΠΉ Π²Π°ΡΠΈΠ°Π½Ρ.
ΠΠ΅ΡΠ΅Ρ
ΠΎΠ΄ΠΈΠΌ ΠΊ Π½Π°ΡΡΡΠΎΠΉΠΊΠ΅ ΡΠ΅ΡΠ²ΠΈΡΠ° ΠΈ ΠΏΠ΅ΡΠ²ΡΠΌ Π΄Π΅Π»ΠΎΠΌ ΡΡΠ°Π²ΠΈΠΌ ΠΏΠ°ΠΊΠ΅Ρ chrony.
[root@server ~]$ yum install chrony
RHEL 8 / CentOS 8 ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ Π΄ΡΡΠ³ΠΎΠΉ ΠΏΠ°ΠΊΠ΅ΡΠ½ΡΠΉ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ.
[root@server ~]$ dnf install chrony
ΠΠΎΡΠ»Π΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ chrony Π½ΡΠΆΠ½ΠΎ Π·Π°ΠΏΡΡΡΠΈΡΡ ΠΈ Π°ΠΊΡΠΈΠ²ΠΈΡΠΎΠ²Π°ΡΡ ΡΠ΅ΡΠ²ΠΈΡ.
[root@server ~]$ systemctl enable chrony --now
ΠΡΠΈ ΠΆΠ΅Π»Π°Π½ΠΈΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π²Π½Π΅ΡΡΠΈ ΠΏΡΠ°Π²ΠΊΠΈ Π² /etc/chrony.conf, Π·Π°ΠΌΠ΅Π½ΠΈΠ² ΡΠ΅ΡΠ²Π΅ΡΠ° NPT Π½Π° Π±Π»ΠΈΠΆΠ°ΠΉΡΠΈΠ΅ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠ΅ Π΄Π»Ρ ΡΠΎΠΊΡΠ°ΡΠ΅Π½ΠΈΡ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΎΡΠΊΠ»ΠΈΠΊΠ°.
# Use public servers from the pool.ntp.org project.
# Please consider joining the pool (http://www.pool.ntp.org/join.html).
server 0.ru.pool.ntp.org iburst
server 1.ru.pool.ntp.org iburst
server 2.ru.pool.ntp.org iburst
server 3.ru.pool.ntp.org iburst
ΠΠ°Π»Π΅Π΅ Π½Π°ΡΡΡΠ°ΠΈΠ²Π°Π΅ΠΌ ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΡ NTP ΡΠ΅ΡΠ²Π΅ΡΠ° Ρ ΡΠ·Π»Π°ΠΌΠΈ ΠΈΠ· ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΡΠ»Π°.
[root@server ~]$ timedatectl set-ntp true
[root@server ~]$ systemctl restart chronyd.service
ΠΠ΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ°ΠΊΠΆΠ΅ ΠΎΡΠΊΡΡΡΡ Π½Π°ΡΡΠΆΡ NTP ΠΏΠΎΡΡ, ΠΈΠ½Π°ΡΠ΅ ΠΌΠ΅ΠΆΡΠ΅ΡΠ΅Π²ΠΎΠΉ ΡΠΊΡΠ°Π½ Π±ΡΠ΄Π΅Ρ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²Π°ΡΡ Π²Ρ ΠΎΠ΄ΡΡΠΈΠ΅ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ ΠΎΡ ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΈΡ ΡΠ·Π»ΠΎΠ².
[root@server ~]$ firewall-cmd --add-service=ntp --permanent
[root@server ~]$ firewall-cmd --reload
ΠΠ° ΡΡΠΎΡΠΎΠ½Π΅ ΠΊΠ»ΠΈΠ΅Π½ΡΠ° Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ Π²ΡΡΡΠ°Π²ΠΈΡΡ ΡΠ°ΡΠΎΠ²ΠΎΠΉ ΠΏΠΎΡΡ.
[root@client ~]$ timedatectl set-timezone Europe/Moscow
Π ΡΠ°ΠΉΠ»Π΅ /etc/chrony.conf ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ IP ΠΈΠ»ΠΈ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ Ρ ΠΎΡΡΠ° Π½Π°ΡΠ΅Π³ΠΎ VPS ΡΠ΅ΡΠ²Π΅ΡΠ°, Π½Π° ΠΊΠΎΡΠΎΡΠΎΠΌ Π·Π°ΠΏΡΡΠ΅Π½ NTP server chrony.
server my.vps.server
Π Π½Π°ΠΊΠΎΠ½Π΅Ρ Π·Π°ΠΏΡΡΠΊ ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΠΈ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π½Π° ΠΊΠ»ΠΈΠ΅Π½ΡΠ΅.
[root@client ~]$ systemctl enable --now chronyd
[root@client ~]$ timedatectl set-ntp true
Π ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΡΠ°Π· ΡΠ°ΡΡΠΊΠ°ΠΆΡ, ΠΊΠ°ΠΊΠΈΠ΅ Π΅ΡΡΡ Π²Π°ΡΠΈΠ°Π½ΡΡ ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΠΈ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π±Π΅Π· ΠΈΠ½ΡΠ΅ΡΠ½Π΅ΡΠ°.
ΠΡΡΠΎΡΠ½ΠΈΠΊ: habr.com