Panggil anak-anak! Paman Andrey sekarang akan menceritakan kisah horor Natal tentang NTP (Network Time Protocol).
Hampir dua tahun lalu, pada hari Senin, 16 Januari 2017, tiket menarik dari orang luar memasuki sistem laporan bug kami,
BitFolk . Pengirim memperkenalkan dirinya sebagai insinyur perangkat lunak utama di NetThings UK Ltd.
Subjek: Permintaan NTP pada IP 85.119.80.232
Hai
Ini mungkin aneh, tetapi saya perlu mengkonfigurasi server NTP dengan alamat IP 85.119.80.232
.
Apa yang istimewa dari
85.119.80.232
? Ini adalah alamat IP dari salah satu server NTP untuk melayani pelanggan kami. Beberapa minggu sebelum tiket ini, server juga merupakan bagian dari proyek
NTP Pool .
Inilah kata penting "dulu". Pada akhir Desember 2016, saya mengambil server NTP BitFolk keluar dari kolam publik dan memblokirnya untuk orang luar.
Saya melakukan ini karena, karena
bug NTP Snapchat, sejumlah besar lalu lintas pergi ke mereka. Sebenarnya, ini tidak menyebabkan masalah besar, hanya volume lalu lintas seperti itu mendorong informasi berguna dari basis penyimpanan jaringan
Jump dengan ukuran tetap, dan saya tidak ingin berurusan dengan itu selama liburan, jadi saya hanya mematikan akses publik ke layanan.
NTP?
Artikel ini
muncul di Hacker News , dan di sana dalam beberapa komentar mereka meminta saya untuk menjelaskan secara singkat apa itu NTP, jadi saya menambahkan bagian non-teknis ini. Jika Anda tahu teknologinya, Anda bisa melewatkannya.
Network Time Protocol adalah sarana di mana komputer dapat menggunakan beberapa komputer lain, seringkali dari seluruh Internet pada jaringan yang sama sekali berbeda di bawah kendali administrator yang berbeda, untuk secara akurat menentukan waktu saat ini. Ketika menggunakan beberapa komputer yang berbeda, beberapa dari mereka memberikan hasil yang tidak akurat, beberapa mungkin rusak atau berperilaku bermusuhan, tetapi protokol dapat mengenali jam "salah" dan hanya memperhitungkan hasil dari mayoritas yang lebih akurat.
Diasumsikan bahwa NTP digunakan dalam urutan hirarkis: perangkat keras untuk menentukan waktu yang tepat terhubung langsung ke beberapa server: jam atom, GPS, dll. Mereka disebut server Stratum 1. Server tingkat kedua mengatur waktu mereka pada server Stratum 1, mereka melayani lebih banyak lagi pelanggan dan sebagainya.
Di masa lalu, sulit untuk menemukan server NTP yang terjangkau. Di perusahaan Anda sendiri, satu atau dua server ini dapat diinstal, tetapi pada kenyataannya Anda harus berkonsultasi setidaknya 3–7 server, dan lebih baik dari organisasi yang berbeda. Itu lebih mudah di lingkungan universitas: Anda bisa berbicara dengan kolega dan bertukar akses ke NTP. Tetapi ketika Internet tumbuh, jumlah pertanyaan bertambah, termasuk dari perusahaan komersial dan perorangan.
Proyek NTP Pool datang untuk menyelamatkan. Melalui antarmuka web yang sederhana, mereka yang ingin dapat menambahkan server NTP mereka sendiri ke pool: mereka secara kolektif dilayani di zona DNS bersama dengan beberapa cara dasar untuk menyeimbangkan beban. Seorang individu diizinkan untuk menentukan tiga nama dari kumpulan, dan ia menerima tiga server NTP yang berbeda (terus berubah) secara gratis.
Diasumsikan bahwa perusahaan komersial akan berlaku untuk "zona vendor" yang terpisah. Mereka mentransfer sedikit kontribusi ke proyek - dan mendapatkan zona DNS yang dialokasikan untuk produk mereka, sehingga lebih mudah bagi administrator kumpulan untuk mengarahkan lalu lintas.
Sayangnya, banyak perusahaan tidak repot-repot mempelajari seluk-beluk ini dan hanya menggunakan area kolam bersama. NetThings UK Ltd. melangkah lebih jauh ke arah yang sangat salah - dan mengambil alamat IP dari kolam, hanya menggunakannya secara langsung dan dengan asumsi bahwa itu akan selalu tersedia. Bahkan, layanan gratis ini disumbangkan ke kolam bersama oleh BitFolk, dan karena ketidaknyamanan sementara, layanan ini dinonaktifkan.
Kembali ke cerita kami ...
Mereka ingin ... apa?
Insinyur perangkat lunak terkemuka melanjutkan:
Baru-baru ini, layanan NTP dimatikan, dan saya tertarik untuk mengetahui apakah ada cara untuk memulai lagi di alamat IP yang ditentukan. Baik melalui pemilik alamat IP saat ini, atau melalui migrasi mesin saat ini ke alamat lain sehingga kami dapat menyewa 85.119.80.232
.
Hmm ...
Saya mengerti bahwa ini adalah permintaan yang aneh, tetapi saya dapat meyakinkan Anda bahwa itu adalah tulus.
Itu tidak akan berhasil
Jelas,
85.119.80.232
digunakan oleh semua klien kami sebagai resolver dan NTP server. Minta mereka semua untuk mengkonfigurasi ulang untuk menyewakan alamat ke NetThings UK Ltd. - ini bukan pilihan. Jadi saya baru saja menghapus firewall, jadi
85.119.80.232
mulai bekerja lagi untuk NetThings UK Ltd. hingga kami mengetahui apa yang bisa dilakukan.
Kemudian saya mengajukan beberapa pertanyaan terkait untuk menentukan ruang lingkup layanan yang harus disediakan:
- Berapa banyak klien yang Anda gunakan server ini?
- Apakah Anda tahu alamat IP mereka?
- Kapan mereka membutuhkan server NTP dan untuk berapa lama?
- Bisakah mereka dipaksa untuk menggunakan kolam dengan benar (melalui zona vendor)?
Lebih dalam ke Hutan
Jawaban atas beberapa pertanyaan sangat mengecewakan.
Server sebagian digunakan oleh sistem produksi kami, tempat RTC awalnya dipasang. Sayangnya, sejumlah besar peralatan (~ 500 unit dengan panggilan NTP mingguan) berfungsi pada roaming SIM GPRS. Saya tidak tahu apakah mungkin dalam hal ini untuk bergantung pada alamat IP asli APN untuk mengkonfigurasi firewall (saya akan periksa). Kami juga tidak dapat memperbarui firmware pada perangkat ini dari jarak jauh, karena mereka memiliki kuota lalu lintas 5 MB per bulan. Kami dapat memperbaruinya secara lokal, tetapi ini akan memakan waktu berbulan-bulan, bukan minggu.
Rupanya, NetThings UK Ltd memproduksi termostat yang dikendalikan dari jarak jauh, pengontrol pencahayaan untuk area ritel besar, dll. Tampaknya mereka menulis salah satu alamat IP BitFolk ke dalam firmware, dan perangkat ini tidak dapat diidentifikasi atau diperbarui dari jarak jauh.
Dan ya, dalam hal apa pun, tanpa sumber waktu eksternal, jam dari perangkat ini akan mulai bergeser secara nyata dalam dua minggu.
Ngomong-ngomong, mereka memecahkan masalah mereka dengan alamat IP hard-coded dengan
secara lokal meningkatkan alamat IP BitFolk secara lokal di pabrik mereka untuk menetapkan tanggal / waktu mulai.Saya akui, pada saat itu ada sedikit godaan untuk mengidentifikasi perangkat-perangkat ini, memberi mereka data yang sepenuhnya salah - dan melihat apakah beberapa toko mulai menyalakan dan mematikan lampu pada waktu yang aneh.
Setiap minggu ??
Panggilan NTP dari kami memulai mahkota mingguan tanpa load balancing di sisi klien. Ini menghasilkan aliran permintaan pada waktu yang sama setiap hari Minggu sekitar pukul 19:45.
Ya, mereka membuat setiap perangkat yang tidak dikenal mereka mengetuk alamat IP yang dikodekan untuk interval dua menit setiap Minggu malam.
Insinyur perangkat lunak utama sangat khawatir bahwa mereka menyebabkan kelebihan aliran yang saya sebutkan sebelumnya, tetapi saya meyakinkan bahwa ini pasti bug Snapchat. Bahkan, 500 perangkat mereka tidak pernah berbeda dari kebisingan latar belakang. Ternyata setengah ribu permintaan SNTP adalah beban yang cukup ringan. Mereka melakukan ini selama lebih dari dua tahun sebelum masalah muncul.
Tentu saja, saya mencatat keberuntungan mereka bahwa kami dengan cepat melihat masalah, kalau tidak semuanya bisa berakhir seperti dalam
kasus Netgear terhadap University of Wisconsin [ketika perangkat Netgear membanjiri server NTP universitas dengan permintaan - kira-kira. trans.].
Saya merasa sangat, sangat buruk karena ini. Saya sangat, sangat menyesal jika kami menyebabkan masalah Anda.
Dimaafkan Saya harus mencatat bahwa selama ini menyenangkan bekerja dengan seorang insinyur terkemuka.
Kami membuat kesepakatan
Faktanya, BitFolk menyediakan layanan NTP kepada para pelanggan, ini bukan layanan berbayar. Lagi pula, siapa yang akan membayar jika ada kolam renang umum? Adalah tepat bagi perusahaan komersial untuk memelihara kumpulan dengan berlangganan zona vendor.
Tapi NetThings UK Ltd. berada dalam situasi yang sulit, dan larangan akses ke server NTP akan menyebabkan mereka kerusakan keuangan yang serius. Secara potensial, saya dapat meminta banyak uang pada saat itu, tetapi saya merasa (tanpa ragu, merugikan saku saya) bahwa ini sama sekali salah.
Untuk mulai dengan, saya menawarkan untuk membayar saya selama dua jam konsultasi untuk menutupi pekerjaan yang telah dilakukan untuk membuat perubahan pada firewall.
Selain itu, saya menyarankan untuk membayar satu jam konsultasi per bulan selama 12 bulan untuk menutupi biaya melanjutkan pengoperasian server NTP. Tentu saja, saya tidak menghabiskan satu jam per bulan untuk meributkan NTP, tetapi penyimpangan yang tidak standar dari pekerjaan saya yang biasa membutuhkan biaya tertentu.
Saya benar-benar ingin mencatat bahwa ini tidak selamanya:
Akhirnya, ini baik-baik saja. Anda tampaknya berada dalam situasi yang sulit sekarang, dan ada godaan untuk menagih Anda jumlah maksimum (dalam hal apapun, jauh lebih dari £ 840 + PPN), tetapi tampaknya tidak adil bagi saya. Namun, menyediakan layanan NTP kepada pihak ketiga bukan bisnis kami, jadi kami berharap kontrak akan berakhir dalam 12 bulan. Jika pada akhirnya Anda harus memperpanjang layanan ini, itu berarti kami belum membebankan biaya yang cukup untuk Anda, dan kami akan menaikkan harganya.
Apakah itu masuk akal?
NetThings UK Ltd. dengan senang hati menyetujui tawaran tersebut.
Sekali lagi terima kasih atas informasi dan bantuannya. Anda menyelamatkan saya dari sejumlah besar pekerjaan bodoh dan tidak berguna. Kami punya cukup waktu untuk memperbaiki semuanya.
Benjolan di jalan
Di masa depan, saya hanya berbicara dengan insinyur perangkat lunak terkemuka sekali saja. Sisa korespondensi dengan staf keuangan, terutama karena NetThings UK Ltd. Saya tidak ingin membayar tagihan tepat waktu.
NetThings UK Ltd. Selama Tahun Ini membayar terlambat tiga dari empat tagihan. Dalam setiap kasus, saya mencoba menagih mereka denda keterlambatan pembayaran menurut undang-undang.
Hasil mengecewakan tahun ini
Ketika tahun 2017 berakhir, saya bertanya kepada insinyur perangkat lunak terkemuka, bagaimana situasi dengan alamat IP kami di firmware perangkat mereka, seberapa berhasil mereka menyelesaikan masalah?
Singkatnya, sebagian besar produk kami telah berhasil menyingkirkan penggunaan alamat IP tetap. Masih memperbarui proyek lain, setelah itu produksi unit baru dengan firmware tersebut akan sepenuhnya dihentikan. Tetapi kami masih memiliki sekitar 1.000 unit dalam produksi yang tidak mudah diperbarui: mereka akan terus mengirim permintaan NTP mingguan ke alamat IP tetap. Karena itu, jawab pertanyaan Anda: ya, kami masih membutuhkan layanan pada Januari 2018.
Agak menyedihkan, karena setahun yang lalu ada "sekitar 500" perangkat. Terlepas dari semua upaya sepanjang tahun, jumlahnya tampaknya telah dua kali lipat.
Ini saja sudah cukup untuk meningkatkan biaya, yang masih akan saya lakukan karena keterlambatan pembayaran pada bagian mereka. Selama dua bulan sebelumnya saya telah memberi tahu mereka bahwa harganya akan berlipat ganda.
Apakah Anda ingin berdebat?
Sekitar 15 minggu setelah melaporkan penggandaan harga, NetThings UK Ltd. CFO ditanya mengapa ini terjadi, sementara secara bersamaan melaporkan transfer salah satu pembayaran terlambat:
Tanggal: Rab, 21 Feb 2018 14:59:42 +0000
Sudah dibayar, tetapi bisakah Anda menjelaskan mengapa harga dua kali lipat?
Saya sangat senang menjelaskan lagi secara rinci mengapa dia berlipat ganda. Sebagai tanggapan, CFO mencoba menyepakati harga tetap untuk tahun itu, yang saya setujui, dapat dibayar di muka untuk tahun itu.
Alasan saya adalah bahwa kenaikan harga terutama disebabkan oleh keterlambatan pembayaran di pihak mereka: mereka mengambil terlalu banyak waktu, jadi jika saya menghemat pembayaran triwulanan, saya harus dapat menagih lebih banyak jika diperlukan. Jika mereka menginginkan jaminan, menurut saya, mereka harus membayarnya dengan melakukan satu pembayaran tahunan.
Tidak ada tanggapan, jadi pembayaran dilanjutkan setiap tiga bulan.
Itulah akhir dari kisah itu
20 November 2018 kami menerima surat dari
Deloitte :
Netthings Limited - Administrasi (“Perusahaan”)
Nomor Perusahaan: SC313913
[...]
Pengakhiran aktivitas
Perusahaan berhenti beroperasi pada 15 November 2018.
Investigasi
Sebagai bagian dari tanggung jawab Manajer Aset kami, kami sedang menyelidiki aset mana yang menjadi milik perusahaan dan dana apa yang dapat dikembalikan ke kreditor, dan bagaimana perusahaan itu dijalankan.
Dan kemudian 21 Desember:
Sesuai dengan paragraf 51 (1) (b) Undang-Undang Kebangkrutan dan Kepailitan 1986, Manajer Aset tidak diharuskan untuk mengadakan rapat para kreditor kecuali perusahaan memiliki dana yang cukup untuk didistribusikan kepada para kreditor tanpa jaminan atau jika pertemuan tersebut diharuskan oleh SADM_127 oleh kreditor tanpa jaminan dengan 10% atau lebih dari biaya hutang. Tidak ada dana untuk dibagikan kepada kreditor tanpa jaminan, oleh karena itu, pertemuan tidak akan diadakan.
Untungnya, satu-satunya tagihan mereka yang belum dibayar adalah untuk layanan sejak November, jadi semuanya dibayar.
Ini adalah kisah NetThings UK Ltd, seorang penakluk pemberani Internet, yang berpikir bahwa kumpulan NTP publik hanyalah bagian integral dari Internet dan semua orang dapat menggunakannya secara gratis, cukup pilih secara acak satu alamat IP dan lindungi di ribuan perangkatnya yang didistribusikan ke seluruh perangkat negara tanpa kemungkinan pembaruan jarak jauh.
Iman ini, dikombinasikan dengan keengganan inovatif untuk membayar tepat waktu untuk apa pun, sayangnya, tidak cukup untuk mempertahankan solvabilitas.