Salah satu fitur Chromium menciptakan beban besar pada server DNS root

Salah satu fitur Chromium menciptakan beban besar pada server DNS root

Browser Chromium, induk sumber terbuka yang berkembang pesat dari Google Chrome dan Microsoft Edge baru, telah menerima perhatian negatif yang signifikan untuk fitur yang dimaksudkan dengan niat baik: fitur ini memeriksa apakah ISP pengguna "mencuri" hasil kueri domain yang tidak ada .

Detektor Pengalihan Intranet, yang membuat kueri palsu untuk "domain" acak yang secara statistik tidak mungkin ada, bertanggung jawab atas sekitar setengah dari total lalu lintas yang diterima oleh server DNS root di seluruh dunia. Insinyur Verisign, Matt Thomas, menulis panjang lebar pos di blog APNIC yang menjelaskan permasalahannya dan menilai skalanya.

Bagaimana resolusi DNS biasanya dilakukan

Salah satu fitur Chromium menciptakan beban besar pada server DNS root
Server-server ini adalah otoritas tertinggi yang harus Anda hubungi untuk menyelesaikan .com, .net, dll. sehingga mereka akan memberi tahu Anda bahwa frglxrtmpuf bukan domain tingkat atas (TLD).

DNS, atau Sistem Nama Domain, adalah sistem yang dengannya komputer dapat mengubah nama domain yang mudah diingat seperti arstechnica.com menjadi alamat IP yang kurang ramah pengguna seperti 3.128.236.93. Tanpa DNS, Internet tidak akan dapat digunakan oleh manusia, yang berarti beban yang tidak perlu pada infrastruktur tingkat atas merupakan masalah nyata.

Memuat satu halaman web modern memerlukan pencarian DNS dalam jumlah yang sangat banyak. Misalnya, saat kami menganalisis beranda ESPN, kami menghitung 93 nama domain terpisah, mulai dari a.espncdn.com hingga z.motads.com. Semuanya diperlukan agar halaman dapat dimuat sepenuhnya!

Untuk mengakomodasi jenis beban kerja mesin pencari yang perlu melayani seluruh dunia, DNS dirancang sebagai hierarki multi-level. Di bagian atas piramida ini terdapat server root - setiap domain tingkat atas, seperti .com, memiliki rangkaian servernya sendiri yang merupakan otoritas tertinggi untuk setiap domain di bawahnya. Satu langkah maju ini server adalah server root itu sendiri, dari a.root-servers.net untuk m.root-servers.net.

Seberapa sering ini terjadi?

Berkat hierarki caching multi-level pada infrastruktur DNS, persentase permintaan DNS dunia yang sangat kecil mencapai server root. Kebanyakan orang mendapatkan informasi penyelesai DNS langsung dari ISP mereka. Saat perangkat pengguna perlu mengetahui cara mengakses situs web tertentu, permintaan pertama dikirim ke server DNS yang dikelola oleh penyedia lokal tersebut. Jika server DNS lokal tidak mengetahui jawabannya, maka server tersebut akan meneruskan permintaan tersebut ke “forwarder” miliknya sendiri (jika ditentukan).

Jika server DNS penyedia lokal maupun “server penerusan” yang ditentukan dalam konfigurasinya tidak memiliki respons yang di-cache, permintaan akan diajukan langsung ke server domain otoritatif atas yang Anda coba konversi. Kapan домен.com ini berarti permintaan dikirim ke server resmi dari domain itu sendiri com, yang berlokasi di gtld-servers.net.

Sistem gtld-servers, tempat permintaan dibuat, merespons dengan daftar server nama otoritatif untuk domain domain.com, serta setidaknya satu catatan tautan yang berisi alamat IP dari salah satu server nama tersebut. Selanjutnya, respons berpindah ke bawah rantai - masing-masing penerus meneruskan respons ini ke server yang memintanya, hingga respons akhirnya mencapai server penyedia lokal dan komputer pengguna. Semuanya menyimpan respons ini agar tidak mengganggu sistem tingkat yang lebih tinggi.

Dalam kebanyakan kasus, server nama mencatat domain.com sudah di-cache di salah satu penerus ini, sehingga server root tidak akan diganggu. Namun, untuk saat ini kita berbicara tentang jenis URL yang kita kenal - URL yang diubah menjadi situs web biasa. Permintaan Chrome berada pada level yang sama atas ini, pada langkah cluster itu sendiri root-servers.net.

Pemeriksaan pencurian Chromium dan NXDomain

Salah satu fitur Chromium menciptakan beban besar pada server DNS root
Chromium memeriksa “apakah server DNS ini membodohi saya?” menyumbang hampir setengah dari seluruh lalu lintas yang mencapai cluster server DNS root Verisign.

Browser Chromium, proyek induk Google Chrome, Microsoft Edge baru, dan banyak browser lain yang kurang dikenal, ingin memberikan kemudahan penelusuran kepada pengguna dalam satu kotak, terkadang disebut "Omnibox". Dengan kata lain, pengguna memasukkan URL asli dan kueri mesin pencari ke dalam kolom teks yang sama di bagian atas jendela browser. Mengambil langkah lain menuju penyederhanaan, ini juga tidak memaksa pengguna untuk memasukkan bagian dari URL http:// или https://.

Meskipun nyaman, pendekatan ini mengharuskan browser untuk memahami apa yang harus dianggap sebagai URL dan apa yang harus dianggap sebagai permintaan pencarian. Dalam sebagian besar kasus, hal ini cukup jelas - misalnya, string dengan spasi tidak boleh berupa URL. Namun segalanya menjadi lebih rumit jika Anda mempertimbangkan intranet—jaringan pribadi yang juga dapat menggunakan domain tingkat atas pribadi untuk menyelesaikan situs web sebenarnya.

Jika pengguna di intranet perusahaannya mengetik "pemasaran" dan intranet perusahaan tersebut memiliki situs web internal dengan nama yang sama, maka Chromium menampilkan kotak informasi yang menanyakan pengguna apakah mereka ingin mencari "pemasaran" atau membuka https://marketing. Hal ini mungkin tidak terjadi, namun banyak ISP dan penyedia Wi-Fi publik “membajak” setiap URL yang salah eja, mengarahkan pengguna ke halaman yang dipenuhi banner.

Generasi acak

Pengembang Chromium tidak ingin pengguna di jaringan biasa melihat kotak informasi yang menanyakan maksudnya setiap kali mereka menelusuri satu kata, jadi mereka menerapkan pengujian: Saat mereka meluncurkan browser atau mengganti jaringan, Chromium melakukan pencarian DNS di tiga "domain" tingkat atas yang dihasilkan secara acak, panjangnya tujuh hingga lima belas karakter. Jika dua permintaan ini kembali dengan alamat IP yang sama, maka Chromium berasumsi bahwa jaringan lokal "membajak" kesalahan tersebut NXDOMAIN, yang seharusnya diterima, sehingga browser menganggap semua kueri satu kata yang dimasukkan sebagai upaya penelusuran hingga pemberitahuan lebih lanjut.

Sayangnya, di jaringan itu tidak mencuri hasil permintaan DNS, ketiga operasi ini biasanya naik ke paling atas, sampai ke server nama root itu sendiri: server lokal tidak tahu cara menyelesaikannya qwajuixk, jadi teruskan permintaan ini ke penerusnya, yang melakukan hal yang sama, hingga akhirnya a.root-servers.net atau salah satu “saudara laki-lakinya” tidak akan dipaksa untuk mengatakan “Maaf, tapi ini bukan domain.”

Karena ada sekitar 1,67*10^21 kemungkinan nama domain palsu yang panjangnya berkisar antara tujuh hingga lima belas karakter, yang paling umum masing-masing dari pengujian yang dilakukan pada jaringan "jujur", ia sampai ke server root. Jumlahnya sama banyaknya setengah dari total beban pada DNS root, menurut statistik dari bagian cluster tersebut root-servers.net, yang dimiliki oleh Verisign.

Sejarah berulang

Ini bukan pertama kalinya sebuah proyek dibuat dengan niat terbaik gagal atau hampir membanjiri sumber daya publik dengan lalu lintas yang tidak perlu - ini segera mengingatkan kita pada sejarah panjang dan menyedihkan server NTP (Network Time Protocol) D-Link dan Poul-Henning Kamp di pertengahan tahun 2000-an.

Pada tahun 2005, pengembang FreeBSD Poul-Henning, yang juga memiliki satu-satunya server Protokol Waktu Jaringan Stratum 1 di Denmark, menerima tagihan yang tidak terduga dan besar untuk lalu lintas yang dikirimkan. Singkatnya, alasannya adalah pengembang D-Link menulis alamat server Stratum 1 NTP, termasuk server Kampa, ke dalam firmware lini switch, router, dan titik akses perusahaan. Hal ini langsung meningkatkan lalu lintas server Kampa sembilan kali lipat, menyebabkan Danish Internet Exchange (Denmark's Internet Exchange Point) mengubah tarifnya dari "Gratis" menjadi "$9 per tahun."

Masalahnya bukan karena terlalu banyak router D-Link, namun karena router tersebut “keluar jalur”. Sama seperti DNS, NTP harus beroperasi dalam bentuk hierarki - server Stratum 0 meneruskan informasi ke server Stratum 1, yang meneruskan informasi ke server Stratum 2, dan seterusnya di bawah hierarki. Router rumah, switch, atau titik akses seperti yang diprogram D-Link dengan alamat server NTP akan mengirimkan permintaan ke server Stratum 2 atau Stratum 3.

Proyek Chromium, mungkin dengan niat terbaik, mereplikasi masalah NTP dalam masalah DNS, memuat server root Internet dengan permintaan yang tidak pernah dimaksudkan untuk ditangani.

Ada harapan untuk solusi cepat

Proyek Chromium memiliki sumber terbuka serangga, yang memerlukan penonaktifan Detektor Pengalihan Intranet secara default untuk mengatasi masalah ini. Kita harus memberikan penghargaan kepada proyek Chromium: bug telah ditemukan sebelum itubagaimana Matt Thomas dari Verisign memberinya banyak perhatian dengan miliknya dengan puasa di blog APNIC. Bug tersebut ditemukan pada bulan Juni, namun tetap dilupakan sampai postingan Thomas; Usai berpuasa, ia mulai diawasi secara ketat.

Diharapkan masalah ini akan segera teratasi, dan server DNS root tidak lagi harus merespons sekitar 60 miliar permintaan palsu setiap hari.

Tentang Hak Periklanan

Server epik - Apakah VPS di Windows atau Linux dengan prosesor keluarga AMD EPYC yang kuat dan drive Intel NVMe yang sangat cepat. Segera pesan!

Salah satu fitur Chromium menciptakan beban besar pada server DNS root

Sumber: www.habr.com

Tambah komentar