Konfigurasi NTP Server dan Client Debian 10

 


Network Time Protocol (NTP) adalah sebuah protokol yang digunakan untuk pengsinkronan waktu di dalam sebuah jaringan bisa pada jaringan LAN (Local Area Network) maupun pada jaringan internet dan untuk sinkronisasi jam-jam sistem komputer di atas paket-switching, variabel-latency jaringan data. Proses sinkronisasi ini dilakukan didalam jalur komunikasi data yang biasanya menggunakan protokol komunikasi TCP/IP. Sehingga proses ini sendiri dapat dilihat sebagai proses komunikasi data yang hanya melakukan pertukaran paket-paket data saja.

NTP menggunakan port komunikasi UDP nomor 123.

NTP (Network Time Protocol) merupakan sebuah protokol yang digunakan untuk mengsingkronkan waktu antar komputer. Singkronisasi waktu yang dilakukan oleh protokol ini sangat akurat dapat mencapai 10 milidetik untuk jaringan internet dan dapat mencapai 200 milidetik dalam jaringan lokal. NTP sendiri berada di 2 sisi yaitu sisi klien dan sisi server, kegunaan layanan di ntp adalah untuk mempaskan atau menyesuaikan waktu yang ada sesuai regional dimana mesin komputer itu berada.

NTP server pun tidak berdiri sendiri, tetapi ntp server juga saling bersikronisasi dengan server ntp lain nya, setiap server berada di level tertentu yang sering disebut dengan istilah stratum .Terdapat 15 stratum, semakin kecil nilai stratum semakin tinggi kedudukan atau level nya . Level stratum di hitung dari angka 0 hingga 14, dan stratum 0 bukan server namun stratum ini adalah peralatan waktu yang sangat presisi seperti jam atom yang terhubung langsung dengan server stratum 1.

I. TUJUAN :

                 1. Penjelasan tentang NTP Server.

                 2.    Konfigurasi NTP Server local pada Linux Debian.


II. ALAT DAN BAHAN :

            1.    PC / Laptop. 

            2.    OS Linux Debian 10.  

            3.    Charger. 

            4.    Materi.


III. KESELAMATAN KERJA :

            1.    Berdoa sebelum praktek

            2.    Memakai baju praktek

            3.    Membersihkan ruang praktek

            4.    Menggunakan alas karpet.

            5.    Mematuhi peraturan yang ada.

            6.    Mengikuti panduan dari guru pembimbing.

            7.    Berdoa setelah praktek


IV. TEORI PENDUKUNG :

Network Time Protocol (NTP) adalah protokol jaringan untuk sinkronisasi jam antara sistem komputer melalui jaringan data packet-switched, variable-latency. Beroperasi sejak sebelum 1985, NTP adalah salah satu protokol Internet tertua yang digunakan saat ini. NTP dirancang oleh David L. Mills dari University of Delaware. 

NTP dimaksudkan untuk menyinkronkan semua komputer yang berpartisipasi ke dalam beberapa milidetik Coordinated Universal Time (UTC). Menggunakan algoritma interseksi, versi modifikasi dari algoritma Marzullo, untuk memilih server waktu yang akurat dan dirancang untuk mengurangi efek dari latensi jaringan variabel. NTP biasanya dapat mempertahankan waktu hingga puluhan milidetik di Internet publik, dan dapat mencapai akurasi yang lebih baik dari satu milidetik di jaringan area lokal dalam kondisi ideal. Rute asimetris dan kemacetan jaringan dapat menyebabkan kesalahan 100 ms atau lebih. 

Protokol biasanya dijelaskan dalam bentuk model client-server, namun dapat dengan mudah digunakan dalam hubungan peer-to-peer dimana kedua rekan menganggap yang lain sebagai sumber waktu potensial. Implementasi mengirim dan menerima cap waktu menggunakan User Datagram Protocol (UDP) pada nomor port 123. Mereka juga dapat menggunakan penyiaran atau multicasting, di mana klien secara pasif mendengarkan update waktu setelah pertukaran kalibrasi round-trip awal. NTP memberi peringatan tentang penyesuaian lompatan kedua yang akan datang, namun tidak ada informasi tentang zona waktu lokal atau waktu siang hari yang ditransmisikan. 

Protokol saat ini adalah versi 4 (NTPv4), yang merupakan standar yang diusulkan seperti yang didokumentasikan di RFC 5905. Ini kompatibel dengan versi 3, yang ditentukan dalam RFC 1305.


Sejarah NTP 

Pada tahun 1979, teknologi sinkronisasi waktu jaringan digunakan dalam apa yang mungkin merupakan demonstrasi publik pertama layanan Internet yang berjalan di atas jaringan satelit transAtlantik, di Konferensi Komputer Nasional di New York. Teknologi ini kemudian dijelaskan pada Catatan Teknik Internet tahun 1981 (IEN) 173 dan sebuah protokol publik dikembangkan dari sana yang didokumentasikan di RFC 778. Teknologi ini pertama kali digunakan di jaringan area lokal sebagai bagian dari protokol routing Hello dan diimplementasikan di router Fuzzball, sebuah sistem operasi eksperimental yang digunakan dalam prototyping jaringan, di mana ia berlari selama bertahun-tahun. 

Alat jaringan terkait lainnya tersedia saat itu dan sekarang. Mereka termasuk protokol Daytime and Time untuk merekam waktu kejadian, serta pilihan ICMP Timestamp dan IP Timestamp (RFC 781). Sistem sinkronisasi yang lebih lengkap, walaupun tidak memiliki analisis data NTP dan algoritma pendisiplinan jam, termasuk dasmon Unix yang waktunya, yang menggunakan algoritma pemilihan untuk menunjuk server untuk semua klien dan Digital Time Synchronization Service (DTSS), yang menggunakan hirarki server yang mirip dengan model stratum NTP. 

Pada tahun 1985, NTP versi 0 (NTPv0) diimplementasikan di Fuzzball dan Unix, dan header paket NTP dan penundaan perjalanan pulang-pergi dan perhitungan offset, yang telah berlanjut ke NTPv4, didokumentasikan di RFC 958. Meskipun komputer dan jaringan yang relatif lambat tersedia pada saat itu, akurasi yang lebih baik dari 100 milidetik biasanya diperoleh pada jaringan sphere Atlantik, dengan akurasi puluhan milidetik pada jaringan Ethernet. 

Pada tahun 1988, spesifikasi protokol NTPv1 yang jauh lebih lengkap, dengan algoritma terkait, diterbitkan di RFC 1059. Ini menarik hasil eksperimen dan algoritma filter jam yang didokumentasikan di RFC 956 dan merupakan versi pertama yang menjelaskan client-server dan peer. -to-peer mode. Pada tahun 1991, arsitektur, protokol dan algoritma NTPv1 dibawa ke perhatian audiens teknik yang lebih luas dengan menerbitkan sebuah artikel oleh David L. Mills dalam IEEE Transactions on Communications. 

Pada tahun 1989, RFC 1119 diterbitkan mendefinisikan NTPv2 dengan menggunakan mesin negara, dengan pseudocode untuk menjelaskan operasinya. Ini memperkenalkan protokol manajemen dan skema otentikasi kriptografi yang keduanya bertahan ke NTPv4. Desain NTP dikritik karena kurang memiliki prinsip kebenaran formal oleh komunitas DTSS. Desain alternatif mereka termasuk algoritma Marzullo, versi modifikasi yang segera ditambahkan ke NTP. Sebagian besar algoritma dari era ini juga sebagian besar bertahan ke NTPv4. 

Pada tahun 1992, RFC 1305 mendefinisikan NTPv3. RFC memasukkan analisis semua sumber kesalahan, dari jam referensi sampai ke klien terakhir, yang memungkinkan perhitungan metrik yang membantu memilih server terbaik di mana beberapa kandidat tampaknya tidak setuju. Modus siaran diperkenalkan. 

Pada tahun-tahun berikutnya, saat fitur baru ditambahkan dan perbaikan algoritma dilakukan, menjadi jelas bahwa dibutuhkan versi protokol baru. Pada tahun 2010, RFC 5905 diterbitkan yang berisi spesifikasi yang diusulkan untuk NTPv4, namun protokol tersebut telah beralih secara signifikan sejak saat itu, dan pada tahun 2014, RFC yang diperbarui belum dipublikasikan. Setelah pensiun dari Mills dari University of Delaware, implementasi referensi saat ini dipertahankan sebagai proyek open source yang dipimpin oleh Harlan Stenn. 


Strata Jam Pada NTP 

NTP menggunakan sistem sumber waktu tempur hierarkis dan semi-layer. Setiap tingkat hirarki ini disebut "strata" dan diberi nomor yang dimulai dengan nol di atas. Server yang disinkronkan ke server stratum n akan berjalan di stratum n + 1. Angka tersebut mewakili jarak dari referensi dan digunakan untuk mencegah dependensi siklis dalam hirarki. Stratum tidak selalu merupakan indikasi kualitas atau keandalan; Adalah umum untuk menemukan strata 3 sumber waktu yang berkualitas lebih tinggi dari pada strata 2 sumber waktu lainnya. (Sistem telekomunikasi menggunakan definisi yang berbeda untuk strata jam.) Penjelasan singkat tentang strata 0, 1, 2 dan 3 tersedia di bawah ini. 

Stratum 0 Ini adalah perangkat ketepatan waktu presisi tinggi seperti jam atom (cesium, rubidium), jam GPS atau jam radio lainnya. Mereka menghasilkan sinyal per detik per detik yang sangat akurat yang memicu interupsi dan timestamp pada komputer yang terhubung. Perangkat Stratum 0 juga dikenal sebagai referensi jam.

Stratum 1 Ini adalah komputer yang jam sistemnya disinkronkan ke dalam beberapa mikrodetik perangkat strata 0 yang terpasang. Server Stratum 1 dapat mengintip lapisan 1 server lainnya untuk pengecekan dan backup kewarasan. Mereka juga disebut sebagai server waktu primer.

Stratum 2 Ini adalah komputer yang disinkronisasi melalui jaringan ke strata 1 server. Seringkali sebuah komputer kelas 2 akan menanyakan beberapa strata 1 server. Komputer Stratum 2 juga dapat mengintip lapisan komputer 2 lainnya untuk memberikan waktu yang lebih stabil dan kokoh untuk semua perangkat di kelompok sebaya.

Stratum 3 Ini adalah komputer yang disinkronisasi ke strata 2 server. Mereka menggunakan algoritma yang sama untuk mengintip dan pengambilan sampel data sebagai strata 2, dan dapat bertindak sebagai server untuk stratum 4 komputer, dan sebagainya. 

Batas atas untuk strata adalah stratum 16 digunakan untuk menunjukkan bahwa perangkat tidak sinkron. Algoritma NTP pada masing-masing komputer berinteraksi untuk membangun pohon rentang Bellman-Ford yang paling pendek, untuk meminimalkan akumulasi perjalanan pulang pergi ke server stratum 1 untuk semua klien. 


Timestamp pada NTP 

Timestamp 64-bit yang digunakan oleh NTP terdiri dari bagian 32-bit untuk detik dan bagian 32-bit untuk pecahan kedua, memberikan skala waktu yang berguling setiap 232 detik (136 tahun) dan resolusi teoritis 2-32 detik (233 picosekon). NTP menggunakan sebuah periode 1 Januari 1900 sehingga putaran pertama akan dimulai pada tanggal 7 Februari 2036. 

Versi masa depan NTP dapat memperpanjang representasi waktu menjadi 128 bit: 64 bit untuk yang kedua dan 64 bit untuk pecahan detik. Format NTPv4 saat ini telah mendukung Era Number dan Era Offset, yang bila digunakan dengan benar seharusnya membantu memperbaiki masalah rollover tanggal. Menurut Mills, "nilai 64 bit untuk pecahan cukup untuk menyelesaikan jumlah waktu yang dibutuhkan foton untuk melewatkan sebuah elektron pada kecepatan cahaya. Nilai kedua 64 bit sudah cukup untuk memberikan representasi waktu yang jelas sampai alam semesta berlangsung. redup." 


Algoritma Penyingkornisasian Jam pada NTP

Klien NTP yang tipikal secara teratur akan memilah-milah tiga atau lebih server di beragam jaringan. Untuk menyinkronkan jamnya, klien harus menghitung waktu offset dan delay round-trip mereka. Time offset θ didefinisikan oleh 

dan penundaan perjalanan pulang pergi δ oleh

δ = (t3-t0) – (t2-t1)

Dimana : 

t0 adalah timestamp klien dari transmisi paket permintaan 

t1 adalah cap waktu server dari penerimaan paket permintaan, 

t2 adalah timestamp server dari transmisi paket respon dan

t3 adalah timestamp klien dari penerimaan paket tanggapan.

Nilai untuk θ dan δ dilewatkan melalui filter dan dikenai analisis statistik. Outlier dibuang dan perkiraan offset waktu diperoleh dari tiga kandidat terbaik yang tersisa. Frekuensi clock kemudian disesuaikan untuk mengurangi offset secara bertahap, menciptakan loop umpan balik. 

Sinkronisasi benar ketika kedua rute masuk dan keluar antara klien dan server memiliki penundaan nominal simetris. Jika rute tidak memiliki penundaan nominal yang sama, akan ada bias sistematis setengah perbedaan antara waktu perjalanan ke depan dan ke belakang.


Software yang mengimplementasikan NTP 

1. Reference implementation 

Reference implementation NTP, bersamaan dengan protokolnya, telah terus dikembangkan selama lebih dari 20 tahun. Kompatibilitas mundur telah dipertahankan karena fitur baru telah ditambahkan. Ini berisi beberapa algoritma sensitif, terutama untuk mendisiplinkan jam, yang bisa salah saat disinkronkan ke server yang menggunakan algoritma yang berbeda. Perangkat lunak ini telah di porting ke hampir semua platform komputasi, termasuk komputer pribadi. Ini berjalan sebagai daemon yang disebut ntpd di bawah Unix atau sebagai layanan di bawah Windows. Jam referensi didukung dan offset mereka disaring dan dianalisis dengan cara yang sama seperti server remote, meskipun biasanya lebih sering disurvei. 

2. SNTP 

Implementasi NTP yang kurang kompleks, menggunakan protokol yang sama namun tanpa memerlukan penyimpanan status selama periode waktu yang lama, dikenal sebagai Simple Network Time Protocol (SNTP). Ini digunakan pada beberapa perangkat embedded dan aplikasi dimana kemampuan NTP penuh tidak diperlukan. 

3. Windows Time service 

Semua versi Microsoft Windows sejak Windows 2000 menyertakan layanan Windows Time ("W32Time"), yang memiliki kemampuan untuk menyinkronkan jam komputer ke server NTP. 

Layanan W32Time pada awalnya diimplementasikan untuk protokol otentikasi Kerberos versi 5, yang memerlukan waktu dalam waktu 5 menit dari nilai yang benar untuk mencegah serangan replay. Versi pada Windows 2000 dan Windows XP hanya menerapkan SNTP, dan melanggar beberapa aspek standar NTP versi 3. Dimulai dengan Windows Server 2003 dan Windows Vista, implementasi penuh NTP penuh disertakan. Microsoft mengatakan bahwa layanan W32Time tidak dapat dipercaya menjaga waktu sinkronisasi sampai kisaran 1 sampai 2 detik. Jika akurasi yang lebih tinggi diinginkan, Microsoft merekomendasikan penggunaan implementasi NTP yang berbeda. 

Windows Server 2016 sekarang mendukung akurasi waktu 1 ms di bawah kondisi operasi tertentu.  

4. OpenNTPD 

Pada tahun 2004, Henning Brauer mempresentasikan OpenNTPD, sebuah implementasi NTP dengan fokus pada keamanan dan mencakup suatu rancangan yang dipisahkan oleh hak istimewa. Meskipun ditujukan lebih dekat pada kebutuhan generik pengguna OpenBSD yang lebih sederhana, namun juga mencakup beberapa perbaikan keamanan protokol sementara masih kompatibel dengan server NTP yang ada. Ini awalnya dirancang untuk OpenBSD namun memiliki versi portabel yang tersedia dan telah tersedia sebagai paket di repositori paket Linux. 

5. Ntimed 

Klien NTP baru, ntimed, dimulai oleh Kamp Poul-Henning pada tahun 2014. Implementasi baru ini disponsori oleh Linux Foundation sebagai pengganti implementasi referensi, karena hal ini ditentukan untuk mempermudah penulisan implementasi baru dari nol daripada memperbaiki masalah yang ada dengan basis kode yang ada. Sampai Juni 2015, belum ada rilis resmi yang dilakukan, namun ntimed dapat menyinkronkan jam dengan andal. ntimed bekerja di bawah Debian dan FreeBSD, namun tetap di porting ke Windows dan macOS. 

6. NTPsec  

NTPsec adalah garpu dari implementasi referensi yang secara sistematis mengeras keamanan. Titik garpu pada bulan Juni 2015 dan merupakan respons terhadap ruam kompromi pada tahun 2014; Pada tahun 2017, perangkat lunak ini dalam pengujian beta. Antara penghapusan fitur yang tidak aman, penghapusan dukungan untuk perangkat keras usang, dan penghapusan dukungan untuk varian Unix usang, NTPsec telah mampu mengurangi 60% basis kode asli, membuat sisanya lebih dapat diaudit 

7. Lompatan Detik pada NTP 

Pada hari kejadian lompatan detik, ntpd menerima pemberitahuan dari file konfigurasi, jam referensi terlampir, atau server jarak jauh. Karena kebutuhan waktu itu nampaknya akan meningkat secara monoton, lompatan kedua disisipkan dengan urutan 23:59:59, 23:59:60, 00:00:00. Meskipun jam sebenarnya terhenti selama acara berlangsung, setiap proses yang menanyakan waktu sistem menyebabkannya meningkat dalam jumlah kecil, melestarikan urutan kejadian. Jika lompatan negatif kedua harus menjadi perlu, itu akan dihapus dengan urutan 23:59:58, 00:00:00, skipping 23:59:59. 


Keamanan pada NTP 

Beberapa masalah keamanan muncul pada akhir 2014. Sebelumnya, para periset menyadari bahwa server NTP dapat rentan terhadap serangan man-in-the-middle kecuali paket-paket ditandatangani secara kriptografis untuk otentikasi. Beban komputasi yang terlibat dapat membuat hal ini tidak praktis pada server yang sibuk, terutama selama penolakan serangan layanan. Spoofing pesan NTP dapat digunakan untuk memindahkan jam pada komputer klien dan memungkinkan sejumlah serangan berdasarkan melewati batas akhir kriptografi. Beberapa layanan yang terpengaruh oleh pesan NTP palsu yang diidentifikasi adalah TLS, DNSSEC, berbagai skema caching (seperti cache DNS), BGP, Bitcoin dan sejumlah skema login yang terus-menerus. 

Hanya beberapa masalah keamanan lainnya yang telah diidentifikasi dalam penyusunan referensi basis kode NTP dalam 25+ tahun sejarahnya, namun yang baru-baru ini muncul menimbulkan kekhawatiran yang signifikan. Protokol ini telah menjalani revisi dan peninjauan ulang sepanjang sejarahnya. Sampai Januari 2011, tidak ada revisi keamanan dalam spesifikasi NTP dan tidak ada laporan di CERT. [38] Basis kode saat ini untuk implementasi referensi telah menjalani audit keamanan dari beberapa sumber selama beberapa tahun sekarang, dan tidak ada kerentanan berisiko tinggi yang diketahui dalam perangkat lunak yang diluncurkan saat ini. 

Beberapa penyalahgunaan NTP server dan praktik penyalahgunaan ada yang menyebabkan kerusakan atau degradasi ke server Network Time Protocol (NTP). 

NTP telah digunakan dalam serangan penolakan layanan terdistribusi (DDoS). Permintaan kecil dikirim ke server NTP dengan alamat pengirim palsu sebagai alamat target. Serupa dengan serangan amplifikasi DNS, server merespons dengan balasan yang jauh lebih besar sehingga memungkinkan penyerang untuk secara substansial meningkatkan jumlah data yang dikirim ke target. Agar tidak berpartisipasi dalam serangan, server dapat dikonfigurasi untuk mengabaikan kueri eksternal, atau dapat ditingkatkan ke versi 4.2.7p26 atau yang lebih baru. 

Pelepasan buffer overflow berbasis stack ditemukan dan patch tersedia pada tanggal 19 Desember 2014. Ini mencakup semua rilis NTP Version 4 sebelum versi 4.2.8. Apple cukup khawatir bahwa ia menggunakan kemampuan auto-update untuk pertama kalinya, meskipun hanya untuk versi terbaru dari macOS. Dalam kasus versi 10.6.8 ada perbaikan manual untuk versi server, dan pengguna "klien" normal hanya dapat menonaktifkan pembaruan waktu otomatis dalam Preferensi Sistem untuk Tanggal & Waktu. Peneliti Percaya bahwa desain protokolnya sangat bagus dan kekurangannya muncul dalam implementasi protokol. Beberapa kesalahan dasar, seperti pernyataan pengembalian yang hilang dalam rutinitas, yang dapat menyebabkan akses tak terbatas ke sistem yang menjalankan beberapa versi NTP di daemon akar. Sistem yang tidak menggunakan daemon akar, seperti BSD, tidak mengalami kekurangan ini.


V. LANGKAH KERJA :

1. Install paket ntp & ntpdate dengan command > apt install ntp ntpdate


2. Konfigurasi file ntp.conf  dengan command  > nano /etc/ntp.conf


3. Cari baris yang bertuliskan pool 0.debian.pool.ntp.org iburst 


4. Beri tanda (#) pagar di depannya, seperti gambar dibawah ini


5. Tambahkan syntax dibawah #pool 3.debian.pool.ntp.org iburst seperti berikut:

server 127.127.1.0

fudge 127.127.1.0 stratum 1


6. Cari baris yang bertuliskan #restrict 192.168.123.0 mask 255.255.255.0 notrust,kemudian tambahkan syntax dibawahnya seperti berikut :

resctrict 192.168.25.0 mask 255.255.255.0 nomodify notrap

192.168.25.0 =  IP Network  

7. Kemudian Save lalu restart ntp dengan command > /etc/init.d/ntp restart


8. Setelah direstart, untuk melakukan pengecekan, ketik command > ntpq -p

NB : Jika tampilan seperti diatas maka ntp sudah berhasil.

9. Update waktu ntp pada debian dengan mengetikkan command > ntpdate -u 192.168.25.1

192.168.25.1 = IP Debian

NB : Jika berhasil, maka akan muncul seperti gambar diatas.

10. Kemudian buka control panel


11.  Masuk menu Date And Time


12.  Lalu pilih tab Internet Time.


13. Kemudian pilih Change Setting,Centang Synchronize with an Internet time server dan isikan alamat ip debian(server) kalian dan klik update now

NB : Jika sukses maka ada tulisan the clock was succesfully …

14. Cek waktu di Debian 10 menggunakan command  > date –R


15. Cek waktu di Windows apakah sudah sama dengan debian 


VI. KESIMPULAN :

Pada penjelasan kali ini dapat disimpulkan bahwa NTP Server adalah sebuah server yang mensinkronkan waktunya terhadap sumber waktu akurat dan mentransmisikan aset informasi waktu kepada komputer client yang meminta.Dalam praktek kerjanya menggunakan dua operasi sistem yaitu Linux sebagai server dan Windows sebagai client. 


#REZA HENRY-SMKN 1 KEDIRI




Komentar

Postingan populer dari blog ini

Membuat Server Repository Debian 10