Keamanan
Secara umum, cap waktu digunakan dalam berbagai protokol otentikasi untuk membantu mencegah serangan replay , di mana penyerang dapat menggunakan kembali token otentikasi yang dapat dicurinya (misalnya dengan mengendus jaringan).
Otentikasi Kerberos melakukan hal ini, misalnya. Dalam versi Kerberos yang digunakan di Windows, toleransi default adalah 5 menit.
Ini juga digunakan oleh berbagai protokol kata sandi satu kali yang digunakan untuk otentikasi dua faktor seperti Google Authenticator, RSA SecurID, dll. Dalam kasus ini toleransi biasanya sekitar 30-60 detik.
Tanpa waktu yang disinkronkan antara klien dan server, tidak mungkin menyelesaikan otentikasi. (Pembatasan ini dihapus dalam versi terbaru dari MIT Kerberos, dengan meminta pemohon dan KDC menentukan offset antara jam mereka selama otentikasi, tetapi perubahan ini terjadi setelah Windows Server 2012 R2 dan itu akan memakan waktu sebelum Anda melihatnya di Windows versi. Tetapi beberapa implementasi 2FA mungkin akan selalu membutuhkan jam yang disinkronkan.)
Administrasi
Memiliki jam dalam sinkronisasi membuatnya lebih mudah untuk bekerja dengan sistem yang berbeda. Misalnya, mengkorelasikan entri log dari beberapa server jauh lebih mudah jika semua sistem memiliki waktu yang sama. Dalam kasus ini, Anda biasanya dapat bekerja dengan toleransi 1 detik, yang NTP akan berikan, tetapi idealnya Anda ingin waktu disinkronkan semampu Anda. PTP, yang memberikan toleransi lebih ketat, bisa jauh lebih mahal untuk diterapkan.
make
juga menjadi bingung oleh skew jam antara klien / server NFS.Terutama, sehingga Anda dapat menghubungkan insiden dari log pada perangkat yang berbeda. Misalkan Anda memiliki insiden keamanan di mana seseorang mengakses database Anda melalui server web Anda - Anda ingin cap waktu pada firewall Anda, penyeimbang beban Anda, server web Anda dan server database Anda semua cocok sehingga Anda dapat menemukan log pada setiap perangkat yang berhubungan dengan kejadian itu. Idealnya, Anda ingin semuanya berada dalam beberapa milidetik. Dan itu harus disinkronkan dengan waktu eksternal yang sebenarnya, sehingga Anda juga dapat mengkorelasikan log Anda dengan log pihak ketiga jika itu menjadi perlu.
sumber
Bukan hanya itu penting dari perspektif administrasi, tetapi memiliki jam di sinkronisasi saya menjadi penting dari korelasi tingkat aplikasi juga. Ini tergantung pada bagaimana solusi dirancang, bagaimana aplikasi yang berjalan mendapatkan stempel waktu mereka untuk setiap transaksi yang mereka kerjakan. Saya telah melihat validasi transaksi gagal karena aplikasi berjalan di server dengan terlalu banyak offset (sekitar 20 detik di masa depan) dibandingkan dengan yang lain yang berinteraksi dengannya.
Juga jika virtualisasi misalnya server VMWare ESXi, dan waktu VM tidak sinkron dengan hypervisor, maka tindakan seperti vmotion dapat menyinkronkan kembali jam VM dengan hypervisor dan ini pada gilirannya dapat menyebabkan hasil yang tidak terduga. jika perbedaan waktunya cukup besar.
Saya tidak tahu apa toleransi yang sebenarnya, karena saya pikir itu sangat tergantung pada jenis sistem yang ada, tapi saya pikir secara umum dapat dicapai untuk menjaga server di pusat data memiliki kurang dari satu detik saling mengimbangi satu sama lain.
sumber
Karena Anda menyebutkan detik kabisat, harus dicatat bahwa mereka memerlukan penanganan yang sangat sulit.
Biasanya ditambahkan dengan menyuntikkan sedetik 23:59:60, ini bermasalah jika Anda memvalidasi stempel waktu sebagai 0-59 untuk bidang menit dan detik. Alternatif pengulangan 23:59:59 untuk membuatnya 2 detik tidak jauh lebih baik karena itu akan mengacaukan apa pun yang waktu sensitif ke tingkat per detik.
Google sebenarnya datang dengan solusi yang baik beberapa waktu lalu yang tampaknya belum banyak diadopsi. Solusi mereka adalah menerapkan lompatan "smear" dan membagi perubahan selama periode waktu tertentu, seluruh proses dikelola oleh server NTP. Mereka menerbitkan sebuah blog tentang hal itu pada tahun 2011, membuat bacaan yang menarik dan tampaknya relevan dengan pertanyaan ini.
sumber
Kapan pun cap waktu terlibat, perangkat yang tidak disinkronkan dapat membuat inkoherensi logis, seperti: A mengirimkan kueri ke B, dan balasan B datang dengan stempel waktu lebih awal dari kueri, mungkin menyebabkan A mengabaikannya.
sumber
Saya setuju dengan semua poin di atas. Saya ingin memberikan lebih banyak pemikiran.
Beberapa basis data seperti Cassendra sangat bergantung pada cap waktu . Itulah cara berurusan dengan konkurensi.
Stempel waktu yang berbeda akan mengacaukan basis data.
sumber