Как синхронизация Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ стала бСзопасной

Как синхронизация Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ стала бСзопасной
Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ врСмя 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 Π³. появилась новая вСрсия ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π°. Π’ цСлях скомпромСтированного названия Ρ€Π΅ΡˆΠΈΠ»ΠΈ провСсти Ρ€Π΅Π±Ρ€Π΅Π½Π΄ΠΈΠ½Π³, Ρ‚Π°ΠΊ Autokey v.2 окрСстили Network Time Security.

ΠŸΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» 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.

Π Π°Π±ΠΎΡ‡ΡƒΡŽ Π³Ρ€ΡƒΠΏΠΏΡƒ Π²ΠΎΠ·Π³Π»Π°Π²ΠΈΠ» Π½Π΅ Π°Π±Ρ‹ ΠΊΡ‚ΠΎ, Π° Π­Ρ€ΠΈΠΊ Π‘Ρ‚ΠΈΠ²Π΅Π½ Π Π΅ΠΉΠΌΠΎΠ½Π΄ β€” ΠΎΠ΄ΠΈΠ½ ΠΈΠ· основатСлСй ΠΈ столпов сообщСства Open Source ΠΈ Π°Π²Ρ‚ΠΎΡ€ ΠΊΠ½ΠΈΠ³ΠΈ Π‘ΠΎΠ±ΠΎΡ€ ΠΈ Π‘Π°Π·Π°Ρ€. ΠŸΠ΅Ρ€Π²Ρ‹ΠΌ Π΄Π΅Π»ΠΎΠΌ Π­Ρ€ΠΈΠΊ со Ρ‚ΠΎΠ²Π°Ρ€ΠΈΡ‰ΠΈ ΠΏΠΎΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Π»ΠΈ пСрСнСсти ΠΊΠΎΠ΄ NTP ΠΈΠ· ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ BitKeeper Π½Π° git, Π½ΠΎ Π½Π΅ Ρ‚ΡƒΡ‚-Ρ‚ΠΎ Π±Ρ‹Π»ΠΎ. Π›ΠΈΠ΄Π΅Ρ€ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Harlan Stenn Π±Ρ‹Π» ΠΏΡ€ΠΎΡ‚ΠΈΠ² этого Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΈ ΠΏΠ΅Ρ€Π΅Π³ΠΎΠ²ΠΎΡ€Ρ‹ зашли Π² Ρ‚ΡƒΠΏΠΈΠΊ. Π’ΠΎΠ³Π΄Π° Π±Ρ‹Π»ΠΎ Ρ€Π΅ΡˆΠ΅Π½ΠΎ Ρ„ΠΎΡ€ΠΊΠ½ΡƒΡ‚ΡŒ ΠΊΠΎΠ΄ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, Ρ‚Π°ΠΊ Π²ΠΎΠ·Π½ΠΈΠΊ NTPSec.

Π‘ΠΎΠ»ΠΈΠ΄Π½Ρ‹ΠΉ ΠΎΠΏΡ‹Ρ‚, Π² Ρ‚ΠΎΠΌ числС Ρ€Π°Π±ΠΎΡ‚Π° Π½Π°Π΄ GPSD, матСматичСский бэкграунд ΠΈ магичСский Π½Π°Π²Ρ‹ΠΊ чтСния Π΄Ρ€Π΅Π²Π½Π΅Π³ΠΎ ΠΊΠΎΠ΄Π° β€” Π­Ρ€ΠΈΠΊ Π Π΅ΠΉΠΌΠΎΠ½Π΄ Π±Ρ‹Π» ΠΈΠΌΠ΅Π½Π½ΠΎ Ρ‚Π΅ΠΌ Ρ…Π°ΠΊΠ΅Ρ€ΠΎΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠ³ Π²Ρ‹Ρ‚Π°Ρ‰ΠΈΡ‚ΡŒ Ρ‚Π°ΠΊΠΎΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚. Π’ ΠΊΠΎΠΌΠ°Π½Π΄Π΅ нашСлся спСциалист ΠΏΠΎ ΠΌΠΈΠ³Ρ€Π°Ρ†ΠΈΠΈ ΠΊΠΎΠ΄Π° ΠΈ всСго Π·Π° 10 нСдСль NTP обосновалсяна GitLab-Π΅. Π Π°Π±ΠΎΡ‚Π° Π·Π°ΠΊΠΈΠΏΠ΅Π»Π°.

Команда Π­Ρ€ΠΈΠΊΠ° Π Π°ΠΉΠΌΠΎΠ½Π΄Π° взялась Π·Π° Π΄Π΅Π»ΠΎ Ρ‚Π°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ ΠžΠ³ΡŽΡΡ‚ Π ΠΎΠ΄Π΅Π½ ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с Π³Π»Ρ‹Π±ΠΎΠΉ камня. Π£Π΄Π°Π»ΠΈΠ² 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 ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ chrony Π² качСствС слуТбы синхронизации Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ. ΠŸΠ°ΠΊΠ΅Ρ‚ Ρ‚Π°ΠΊΠΆΠ΅ доступСн для ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Ρ… дистрибутивов Linux. ПослСдняя ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½Π°Ρ вСрсия 3.5, готовится ΠΊ Π²Ρ‹Ρ…ΠΎΠ΄Ρƒ v4.0.

(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