Сетевое время (network time)
Коротко: Единое время, синхронизируемое по сети, по которому устройства выравнивают свои локальные часы.
Подробнее: Обычно реализуется с помощью Network Time Protocol (NTP): устройства периодически опрашивают специальные серверы времени и соответственно подстраивают системные часы. Правильное, синхронизированное сетевое время важно, среди прочего, для проверки сертификатов TLS, упорядочивания журналов и одноразовых паролей на основе времени (TOTP/2FA).
Подробности
NTP работает иерархически по уровням «stratum»: устройства stratum-0 — высокоточные эталонные часы (атомные часы, GPS-приёмники), серверы stratum-1 напрямую подключены к ним, серверы stratum-2 синхронизируются с серверами stratum-1 и так далее. Большинство конечных устройств синхронизируются с общедоступными серверами stratum-2 или stratum-3 (например, pool.ntp.org) и обычно достигают точности на уровне миллисекунд.
Почему точное сетевое время важно не только для удобства:
- У сертификатов TLS есть окно действия (дата выдачи и истечения) — значительно сбитые системные часы могут ошибочно отклонять действительные сертификаты как истекшие или ещё не действующие.
- 2FA на основе TOTP (2FA; например, приложения-аутентификаторы) вычисляет одноразовые коды из текущего времени — если часы устройства сильно сбиты, коды сервера и клиента перестают совпадать.
- Журналы и аудиторские следы на нескольких серверах можно расположить в правильном порядке, только если все задействованные системы используют одну и ту же шкалу времени, — иначе выглядит так, будто более позднее событие произошло раньше более раннего.
См. также: 2FA