Sinkronisasi Waktu NTP di Ubuntu dengan Chrony, Jam Server Selalu Akurat

Jam server yang meleset beberapa detik saja bisa membuat log keamanan tidak bisa dipercaya. Ketika insiden terjadi dan kamu membandingkan log web server, log firewall, dan log aplikasi, semuanya harus bercerita dalam urutan waktu yang sama. Kalau satu server maju dua menit dan satu lagi mundur tiga menit, urutan kejadian jadi kabur dan investigasi berubah menjadi tebak-tebakan. Inilah alasan sinkronisasi waktu NTP Ubuntu bukan sekadar pengaturan kecil, melainkan fondasi keamanan server.

Di Ubuntu, sinkronisasi waktu ditangani oleh layanan NTP. Ubuntu 22.04 dan 24.04 memakai systemd-timesyncd sebagai bawaan, sementara Ubuntu 25.10 ke atas sudah memakai Chrony sebagai layanan waktu bawaan, lengkap dengan dukungan Network Time Security (NTS) yang mengenkripsi pertukaran waktu. Panduan ini memakai Chrony di Ubuntu 24.04 LTS, karena Chrony lebih akurat, lebih cepat menyesuaikan diri setelah koneksi terputus, dan bisa sekaligus menjadi server NTP lokal untuk mesin lain di jaringanmu.

Kenapa Sinkronisasi Waktu NTP Ubuntu Penting untuk Keamanan Server

Praktik ini dipersyaratkan oleh kontrol A.8.17 Clock Synchronisation di Annex A ISO/IEC 27001:2022. Inti kontrol ini sederhana dan bisa diringkas dengan kata-kata sendiri: semua jam pada sistem yang memproses informasi di organisasi harus berjalan mengikuti sumber waktu yang sudah disetujui, supaya catatan kejadian dari berbagai sistem bisa dibandingkan dan dipercaya.

Kontrol ini penting karena hampir semua bukti keamanan bergantung pada stempel waktu. Log yang menjadi bahan kontrol A.8.15 (pencatatan kejadian) dan A.8.16 (pemantauan aktivitas) hanya berguna bila jamnya benar. Sertifikat TLS bisa ditolak karena dianggap belum berlaku atau sudah kedaluwarsa, token autentikasi bisa gagal, dan jadwal cron bisa berjalan di waktu yang salah. Auditor biasanya memeriksa bukti seperti berkas konfigurasi layanan waktu, keluaran perintah status sinkronisasi, catatan pemantauan selisih jam dari waktu ke waktu, serta dokumen yang menyebutkan sumber waktu mana yang dipakai dan siapa yang bertanggung jawab bila sinkronisasi gagal.

Untuk konteks Indonesia, praktik yang sama juga selaras dengan Indeks KAMI dari BSSN yang menilai tata kelola keamanan informasi, termasuk pengelolaan log dan pemantauan. Jadi sekalipun kamu belum mengejar sertifikasi, mengatur sinkronisasi waktu dengan benar membuat servermu siap diaudit kapan saja.

Langkah 1, Cek Layanan Waktu yang Sedang Aktif di Server

Sebelum menginstal apa pun, periksa dulu layanan waktu apa yang sedang berjalan. Hanya boleh ada satu daemon waktu yang mengatur jam sistem, karena dua layanan yang berjalan bersamaan akan saling berebut dan justru membuat jam tidak stabil.

timedatectl status
systemctl is-active chrony systemd-timesyncd

Perintah pertama menampilkan zona waktu, status NTP, dan apakah jam sistem sudah tersinkronisasi. Perintah kedua menunjukkan layanan mana yang aktif. Di Ubuntu 24.04, biasanya systemd-timesyncd yang aktif, sedangkan di Ubuntu 25.10 ke atas Chrony yang aktif. Catat hasilnya sebagai kondisi awal sebelum kamu mengubah apa pun.

Langkah 2, Install Chrony untuk Sinkronisasi Waktu NTP Ubuntu

Chrony adalah implementasi NTP modern yang dipakai sebagai bawaan oleh banyak distribusi Linux. Versi stabil terbarunya, Chrony 4.8, dirilis pada 27 Agustus 2025 dan membawa perbaikan penanganan sumber yang tidak terjangkau. Instal dengan perintah berikut.

sudo apt update
sudo apt install -y chrony

Saat Chrony terinstal di Ubuntu 22.04 atau 24.04, systemd-timesyncd otomatis dinonaktifkan supaya tidak terjadi konflik. Periksa statusnya setelah instalasi selesai.

sudo systemctl status chrony
sudo systemctl is-enabled chrony

Layanan harus berstatus active dan enabled, yang artinya Chrony berjalan sekarang dan akan berjalan lagi setiap kali server reboot.

Langkah 3, Atur Sumber Waktu yang Tepercaya untuk Sinkronisasi Waktu NTP Ubuntu

Sumber waktu adalah bagian yang paling penting dari konfigurasi ini. Gunakan minimal dua sumber yang berbeda dan bisa dipertanggungjawabkan. Ubuntu sudah menyediakan pool NTP sendiri, dan kamu bisa menambahkan sumber yang mendukung NTS agar pertukaran waktu terotentikasi secara kriptografis.

Buka berkas konfigurasi utama Chrony yang di Ubuntu terletak di /etc/chrony/chrony.conf. Jangan menghapus isi bawaannya; tambahkan atau sesuaikan baris sumber waktunya seperti contoh berikut.

pool 0.ubuntu.pool.ntp.org iburst maxsources 2
pool 1.ubuntu.pool.ntp.org iburst maxsources 2
server time.cloudflare.com iburst nts
driftfile /var/lib/chrony/chrony.drift
makestep 1.0 3
rtcsync

Arti tiap barisnya adalah sebagai berikut. Opsi iburst membuat Chrony mengirim beberapa permintaan sekaligus saat pertama kali berjalan, sehingga sinkronisasi pertama terjadi lebih cepat. Opsi nts mengaktifkan Network Time Security pada server yang mendukungnya. Baris driftfile menyimpan catatan penyimpangan frekuensi jam, supaya setelah reboot Chrony bisa kembali akurat dengan cepat. Baris makestep 1.0 3 mengizinkan Chrony melompatkan jam bila selisihnya lebih dari satu detik, tetapi hanya pada tiga pembaruan pertama setelah layanan dimulai. Baris rtcsync membuat jam perangkat keras ikut diperbarui mengikuti jam sistem.

Jangan mencampur sumber yang memakai leap smearing seperti time.google.com dengan sumber biasa, karena keduanya menghitung detik kabisat dengan cara berbeda dan hasilnya bisa saling bertentangan. Pilih satu pendekatan dan konsistenlah.

Langkah 4, Terapkan Zona Waktu UTC dan Restart Layanan

Server sebaiknya memakai zona waktu UTC, bukan zona waktu lokal. UTC tidak mengenal daylight saving time, sehingga stempel waktu di log tetap konsisten sepanjang tahun dan mudah dibandingkan dengan log dari server di negara lain.

sudo timedatectl set-timezone UTC
sudo timedatectl set-local-rtc 0
sudo systemctl restart chrony

Perintah kedua memastikan jam perangkat keras (RTC) juga disimpan dalam UTC. Setelah restart, beri Chrony waktu sekitar satu menit untuk melakukan pengukuran awal terhadap sumber waktunya.

Langkah 5, Verifikasi Sinkronisasi Waktu NTP Ubuntu

Perintah yang dijalankan tanpa galat belum membuktikan apa pun. Buktikan sinkronisasi benar-benar bekerja dengan tiga pemeriksaan berikut.

chronyc tracking
chronyc sources -v
timedatectl status

Pada keluaran chronyc tracking, perhatikan tiga hal. Reference ID harus terisi nama atau alamat sumber waktu yang sedang dipakai. Leap status harus Normal, yang artinya tidak ada peringatan lompatan waktu. System time harus menunjukkan selisih yang sangat kecil, idealnya di bawah satu milidetik pada server yang sehat dan di bawah beberapa milidetik pada VPS biasa.

Pada keluaran chronyc sources -v, setidaknya satu sumber harus bertanda ^* yang menandakan sumber tersebut sedang dipilih sebagai acuan, dan kolom Reach tidak boleh 0. Kolom Reach yang menunjukkan 377 berarti delapan polling terakhir semuanya berhasil dijawab.

Terakhir, timedatectl status harus menampilkan baris System clock synchronized: yes dan NTP service: active. Bila ketiganya lolos, sinkronisasi waktu NTP Ubuntu di servermu sudah berjalan dengan benar.

Langkah 6, Jadikan Server sebagai Server NTP Lokal Bila Perlu

Langkah ini opsional dan hanya diperlukan bila kamu punya beberapa server atau perangkat di jaringan yang sama dan ingin semuanya memakai satu sumber waktu internal yang konsisten. Tambahkan direktif allow pada konfigurasi Chrony untuk subnet yang boleh mengambil waktu dari server ini.

sudo nano /etc/chrony/conf.d/local-ntp-server.conf

Isi berkas tersebut dengan subnet jaringan lokalmu, misalnya seperti berikut untuk jaringan 192.168.1.0/24.

allow 192.168.1.0/24

Simpan, restart Chrony, lalu buka port NTP di firewall. NTP memakai UDP port 123.

sudo systemctl restart chrony
sudo ufw allow 123/udp

Di sisi klien, arahkan Chrony atau systemd-timesyncd ke alamat IP server lokal ini sebagai sumber waktunya. Batasi direktif allow hanya untuk subnet yang kamu kelola, karena server NTP yang terbuka ke internet bisa disalahgunakan untuk serangan amplifikasi.

Langkah 7, Pantau Drift Sinkronisasi Waktu NTP Ubuntu dan Simpan Bukti untuk Audit

Sinkronisasi waktu adalah kontrol yang harus berjalan terus-menerus, bukan sekali pasang lalu dilupakan. Buatlah pemantauan sederhana supaya drift yang membesar ketahuan sebelum menjadi masalah. Perintah berikut bisa dijalankan berkala atau dijadwalkan lewat cron dan hasilnya disimpan sebagai bukti.

chronyc tracking >> /var/log/chrony-tracking.log
journalctl -u chrony --since "7 days ago" | grep -i "system clock" | tail -20

Selain itu, simpan tiga artefak berikut di tempat yang aman. Pertama, salinan berkas konfigurasi Chrony beserta tanggal perubahannya. Kedua, tangkapan keluaran chronyc tracking secara berkala yang menunjukkan selisih jam tetap kecil. Ketiga, catatan singkat yang menyebutkan sumber waktu yang dipakai, penanggung jawabnya, dan apa yang dilakukan bila sinkronisasi gagal. Ketiga artefak ini adalah bukti yang biasanya diminta auditor untuk kontrol A.8.17, dan semuanya bisa kamu hasilkan dari perintah yang sudah ada di panduan ini.

Bila kamu sedang mengeraskan server baru, gabungkan panduan ini dengan langkah mengamankan VPS Ubuntu baru supaya fondasi keamanannya lengkap. Log yang dihasilkan server yang jamnya akurat juga lebih mudah diolah, misalnya dengan mengatur rotasi log Docker agar disk tidak penuh diam-diam.

Pertanyaan yang Sering Diajukan tentang Sinkronisasi Waktu NTP Ubuntu

Apakah systemd-timesyncd saja sudah cukup untuk server?

Untuk satu server dengan kebutuhan biasa, systemd-timesyncd sudah cukup karena ringan dan mudah dipakai. Namun Chrony lebih akurat, lebih cepat pulih setelah koneksi terputus, dan satu-satunya pilihan bila kamu ingin servermu sekaligus melayani waktu untuk mesin lain. Itulah alasan panduan ini memakai Chrony.

Berapa besar selisih jam yang masih dianggap normal?

Pada VPS yang sehat, selisih di bawah beberapa milidetik adalah kondisi normal. Selisih yang terus membesar hingga puluhan milidetik atau lebih menandakan ada masalah, misalnya sumber waktu tidak terjangkau, firewall memblokir UDP port 123, atau ada layanan waktu lain yang berjalan bersamaan.

Apakah Chrony harus diinstal di Ubuntu 25.10 ke atas?

Tidak perlu. Sejak Ubuntu 25.10, Chrony sudah terinstal sebagai layanan waktu bawaan. Kamu cukup memeriksa statusnya dengan chronyc tracking dan menyesuaikan sumber waktunya bila perlu.

Referensi

Artikel ini adalah panduan implementasi teknis yang ditulis secara independen dan bukan merupakan dokumen resmi, afiliasi, atau dukungan dari ISO maupun BSN. Untuk kebutuhan audit formal, selalu mengacu ke dokumen standar ISO/IEC 27001:2022 resmi yang diterbitkan oleh ISO.

Suka Menulis

You might also like
Cara Menambah Swap di VPS Ubuntu agar RAM Kecil Tidak Cepat Habis

Cara Menambah Swap di VPS Ubuntu agar RAM Kecil Tidak Cepat Habis

Amankan VPS Ubuntu Baru dalam 30 Menit, 8 Langkah Anti Bobol untuk Pemula

Amankan VPS Ubuntu Baru dalam 30 Menit, 8 Langkah Anti Bobol untuk Pemula

Pesan dengan Border Radius

Informasi


Saya bisa membantu instalasi Server seperti: LAMP atau LEMP Stack, Control Panel VPS, Instalasi WebApp, Mail Server, atau sekedar tanya tutorial di web ini. Untuk itu, silahkan hubungi saya melalui kontak yang telah tersedia.

OrangeVPS VPS Murah
Most Populer
Cara Install Armbian Linux 25.05.0 di STB HG680P
Review dan Bencmark STB HG680P Armbian Linux 24.11
Cara Mengaktifkan WiFi di Armbian STB HG680P
Apa Itu Armbian ? Penjelasan Lengkap Armbian Linux Ubuntu Debian Based
Cara Konfigurasi IP Statis Armbian Linux 24.10 di STB HG680P