Dapatkah seseorang menggunakan server DNS yang sama dengan saya membajak domain saya?

48

Ketika saya mendaftarkan domain baru, saya mengirimkannya ke penyedia hosting saya dengan menugaskannya server nama domainnya dalam pengaturan pendaftar. Misalnya, dengan Digital Ocean, saya memasukkan yang berikut:

ns1.digitalocean.com
ns2.digitalocean.com
ns3.digitalocean.com

Saya kemudian menambahkan pengaturan domain di catatan A server saya. Terpikir oleh saya bahwa orang lain di penyedia hosting yang sama dapat menambahkan catatan A dengan domain yang saya miliki.

Adakah yang mencegah hal ini terjadi? jika 2 server berbeda yang menggunakan server nama domain yang sama mencoba untuk menetapkan domain untuk diri mereka sendiri melalui catatan A, di mana domain akan benar-benar menyelesaikan ketika Anda memasukkannya di browser? apa yang mencegah tabrakan nama domain pada server DNS yang sama?

Eran Galperin
sumber
7
Digital Ocean mencegahnya, untuk satu hal. Hanya mencoba memasuki record untuk domain Anda tidak sendiri.
Michael Hampton
4
Pertanyaannya adalah, bagaimana mereka tahu siapa pemilik domain? Apakah ini pertama kali datang, pertama dilayani? jadi siapa pun yang menambahkan catatan A terlebih dahulu, dapat menggunakan domain?
Eran Galperin
16
@EranGalperin Halo! Saya seorang karyawan DigitalOcean. Orang pertama yang menambahkan domain ke akun mereka dapat membuat catatan untuk itu, tetapi kami memiliki prosedur untuk menetapkan kepemilikan jika terjadi konflik.
Yakub
1
Masalah seperti ini adalah mengapa penyedia DNS yang lebih besar (seperti Network Solutions) juga merupakan pendaftar DNS. Mereka dapat menangani kedua langkah sekaligus, dan memastikan semuanya tersinkronisasi.
Barmar
Seperti yang dikatakan @Barmar di atas, kebanyakan pendaftar juga menyediakan hosting DNS, yang menghindari masalah yang Anda jelaskan, meskipun skenario sepertinya tidak mungkin dan sepele untuk diselesaikan.
Fred Thomsen

Jawaban:

60

Jangan pedulikan bagian komentar di bawah ini, dan jangan pedulikan jawaban sebelumnya di riwayat edit. Setelah sekitar satu jam bercakap-cakap dengan teman-teman (terima kasih @joeQwerty, @Iain, dan @JourneymanGeek), dan beberapa peretasan riang di sekitar kami sampai di bagian bawah baik pertanyaan Anda dan situasi secara keseluruhan. Maaf atas kesalahan dan kesalahpahaman situasi sepenuhnya pada awalnya.

Mari kita melangkah melalui proses:

  1. Anda membeli wesleyisaderp.comdi, katakanlah, NameCheap.com.
  2. Namecheap sebagai registrar Anda akan menjadi tempat Anda mengisi catatan NS Anda. Katakanlah Anda benar-benar ingin meng-host zona DNS di Digital Ocean.
  3. Anda mengarahkan catatan NS domain baru Anda yang mengkilap ke ns1.digitalocean.comdan ns2.digitalocean.com.
  4. Namun, katakanlah saya dapat menentukan bahwa Anda telah mendaftarkan domain itu, dan selanjutnya Anda telah mengubah catatan NS Anda menjadi Digital Ocean's . Lalu saya mengalahkan Anda ke akun Digital Ocean dan menambahkan zona wesleyisaderp.com ke akun saya.
  5. Anda mencoba menambahkan zona di * akun * Anda tetapi Digital Ocean mengatakan bahwa zona tersebut sudah ada di sistem mereka! Oh tidak!
  6. Saya CNAME wesleyisaderp.comuntuk wesleyisbetterthanyou.com.
  7. Hilaritas terjadi.

Beberapa teman dan saya baru saja memainkan skenario persis ini, dan ya itu berhasil. Jika @JoeQwerty membeli domain dan mengarahkannya ke server nama Digital Ocean, tetapi saya sudah menambahkan zona itu ke akun saya, maka saya adalah master zona dan dapat melakukan apa yang saya inginkan.

Namun pertimbangkan bahwa seseorang harus terlebih dahulu menambahkan zona ke akun DNS mereka, dan kemudian Anda harus mengarahkan catatan NS Anda ke server nama dari host yang sama agar terjadi sesuatu yang jahat. Selain itu, sebagai pemilik domain, Anda dapat mengganti data NS kapan saja Anda inginkan dan memindahkan resolusi menjauh dari host zona buruk.

Kemungkinan ini terjadi agak rendah untuk sedikitnya. Dikatakan bahwa, secara statistik, Anda dapat mengocok setumpuk 52 kartu remi dan mendapatkan pemesanan yang tidak pernah didapatkan manusia lain, dan tidak ada manusia lain yang akan melakukannya. Saya pikir alasan yang sama ada di sini. Kemungkinan seseorang mengeksploitasi ini sangat rendah, dan ada jalan pintas yang lebih baik, yang mungkin tidak akan terjadi di alam liar secara tidak sengaja.

Selain itu, jika Anda memiliki domain di registrar dan seseorang yang telah membuat zona pada penyedia seperti Digital Ocean yang bertabrakan dengan Anda, saya yakin jika Anda memberikan bukti kepemilikan, mereka akan bertanya kepada orang yang membuat domain tersebut. zona di akun mereka untuk menghapusnya karena tidak ada alasan untuk itu ada karena mereka bukan pemilik nama domain.

Tapi bagaimana dengan catatan A

Orang pertama yang memiliki zona, misalnya Digital Ocean, akan menjadi orang yang mengendalikannya. Anda tidak dapat memiliki beberapa zona identik pada infrastruktur DNS yang sama. Jadi misalnya, menggunakan nama konyol di atas, jika saya memiliki wesleyisaderp.com sebagai zona di Digital Ocean, tidak ada orang lain di infrastruktur DNS Digital Ocean yang dapat menambahkannya ke akun mereka.

Inilah bagian yang menyenangkan: Saya sebenarnya telah menambahkan wesleyisaderp.com ke akun Digital Ocean saya! Silakan dan coba tambahkan ke dalam milik Anda. Itu tidak akan menyakiti apa pun.

Jadi sebagai hasilnya, Anda tidak dapat menambahkan catatan A ke wesleyisaderp.com. Semua milikku.

Tapi bagaimana dengan ...

Seperti yang ditunjukkan @ain di bawah ini, poin saya # 4 di atas sebenarnya terlalu bertele-tele. Saya tidak perlu menunggu atau merencanakan atau skema sama sekali. Saya hanya bisa membuat ribuan zona dalam akun dan kemudian duduk dan menunggu. Secara teknis. Jika saya membuat ribuan domain, dan kemudian menunggu mereka untuk didaftarkan, dan kemudian berharap mereka menggunakan host DNS yang telah saya atur zona saya ... mungkin saya bisa melakukan sesuatu yang agak buruk? Mungkin? Tapi mungkin tidak?

Permintaan maaf kepada Digital Ocean & NameCheap

Perhatikan bahwa Digital Ocean dan NameCheap tidak unik, dan tidak ada hubungannya dengan skenario ini. Ini adalah perilaku normal. Mereka tidak bersalah di semua lini. Saya hanya menggunakan mereka karena itu adalah contoh yang diberikan, dan mereka merek yang sangat terkenal.

Wesley
sumber
2
Saya kira jika Anda benar-benar ingin mengacaukan seseorang, Anda dapat mengatur misalnya RR Adan MXRR dengan TTL sangat panjang, menunjuk ke host yang Anda kontrol, dan memalu server DNS publik (seperti Google, mungkin?). Varian keracunan tembolok ...
CVn
4
Hal ini juga sepele untuk menunjukkan kepemilikan domain dengan mampu mengubah server mana yang ditunjukkan sehingga bahkan jika seseorang melakukannya, dapat diselesaikan dengan relatif cepat jika layanan pelanggan mereka baik.
JamesRyan
3
Catatan @JamesRyan TXT digunakan untuk membuktikan kepemilikan dalam kasus-kasus seperti ini.
user9517 mendukung GoFundMonica
4
@ Wesley Ini benar. Kami memiliki prosedur untuk menangani kasus konflik zona dengan layanan DNS kami.
Yakub
7
Situasi aneh di mana ini mungkin lebih mungkin adalah di mana domain sebelumnya terdaftar dan digunakan di Digital Ocean, dan kemudian murtad / tidak diperpanjang tetapi zona tidak dihapus dari digitalocean. Seseorang kemudian mengambilnya sebagai domain 'baru' (tidak menyadari bahwa itu sebelumnya dimiliki), kemudian mencoba membuat zona di Digital Ocean. Ini hanya bisa dicegah jika host DNS secara berkala membersihkan zona yang tidak lagi menjadi server nama. (tanpa metode resolusi konflik yang disebutkan sebelumnya)
Ashley
32

Selain jawaban Wesley yang luar biasa, saya ingin menambahkan bahwa sudah ada solusi untuk mencegah hal ini. Ini disebut DNSSEC.

Dasar-dasarnya adalah ini:

  • Anda mendaftarkan domain Anda (saya akan pergi dengan nama terkemuka di wesleyisaderp.comsini, hanya karena.)
  • Anda mendaftarkan server nama Anda dengan registrar Anda, biasanya melalui antarmuka web yang Anda otentikasi dengan kombo nama pengguna / kata sandi.
  • Anda juga membuat pasangan kunci publik / pribadi, dan Anda mengunggah kunci publik Anda ke registrar Anda dalam bentuk catatan DNSKEY. (Begitulah pendaftar dapat mengatur rantai kepercayaan ke server root untuk domain tingkat atas - dalam hal ini, server root untuk .com.) Sekali lagi, Anda mengunggah ini ketika Anda login dengan nama pengguna / kata sandi Anda sendiri kombo, jadi terhubung ke domain Anda dan bukan ke domain orang lain.
  • Anda pergi ke server nama, Anda memasukkan catatan Anda dan Anda menandatangani file zona yang dihasilkan dengan kunci pribadi Anda. Atau, jika Anda memiliki antarmuka web ke layanan hosting DNS Anda, Anda mengunggah kunci pribadi kepada mereka sehingga mereka dapat menandatangani file zona untuk mereka.
  • Ketika Wesley dengan kasar mencoba untuk membajak domain Anda dan CNAME melakukannya wesleyisbetterthanyou.com, catatannya tidak akan diterima oleh server domain root .com karena mereka tidak masuk dengan kunci yang tepat. Jika penyedia hosting DNS Anda pintar, mereka akan memeriksa itu langsung dan bahkan tidak akan mengizinkannya untuk mencoba menambahkan catatan ke domain itu kecuali dia punya kunci pribadi yang tepat.
  • Saat Anda memasukkan catatan Anda sendiri, mereka akan ditandatangani oleh kunci yang tepat, sehingga akan bekerja.
  • Anda sekarang bisa duduk dan menertawakan Wesley.

(Dalam kasus aslinya, yang dijelaskan Wesley, kesalahan utamanya adalah Digital Ocean tidak memverifikasi kepemilikan suatu domain sebelum mengizinkan seseorang untuk mengatur catatan DNS untuknya. Sayangnya, mereka tidak sendirian dalam hal ini; saya tahu dari setidaknya satu pendaftar Swedia dengan masalah yang sama.)

Jenny D kata Reinstate Monica
sumber
1
Penasaran, bagaimana penyedia hosting zona DNSSEC non-DNS memverifikasi kepemilikan sebelum mengizinkan zona dibuat? Saya juga mencoba ini menggunakan Amazon Route53 dan saya dapat membuat zona yang saya inginkan.
Wesley
Mereka mungkin tidak mau, itu akan membutuhkan percobaan dan pengecekan yang ditangguhkan. Hanya menebak, delete-on-error masih mungkin dengan beberapa trik ux (layar asap).
Sampo Sarrala
@ Wesley saya belum mempertimbangkan mekanik. Tetapi setidaknya, semacam cek pada catatan whois, atau jenis cek yang sama dengan yang dimiliki oleh penjual sertifikat SSL murah akan berfungsi. Jika mereka bisa melakukannya, mengapa tidak bisa meng-hosting perusahaan?
Jenny D mengatakan Reinstate Monica
1
@JennyD Kenyamanan, kebanyakan! Jenis pembajakan domain ini cukup langka dan cukup mudah dideteksi sehingga lebih mudah untuk memperbaikinya saat terjadi daripada membuat setiap pengguna yang sah melompat melalui lingkaran untuk mencegahnya.
duskwuff
@duskwuff Ketika kenyamanan dan konflik keamanan, kenyamanan biasanya menang ... Saya setuju bahwa pembajakan domain cenderung jarang terjadi - tetapi bagaimana dengan kesalahan sederhana, tanpa niat jahat? IMAO, itu sembrono host DNS untuk tidak melakukan segala bentuk pemeriksaan.
Jenny D mengatakan Reinstate Monica
6

Anda akan baik-baik saja selama Anda mengklaim kepemilikan domain di DigitalOcean (yaitu kaitkan dengan akun Anda) sebelum Anda memberi tahu pendaftar untuk menggunakan server nama mereka.

Jika seseorang telah mengaitkan domain Anda dengan akun mereka, Anda akan mengetahuinya sebelum server nama DigitalOcean menjadi berwibawa. Dan jika itu terjadi, bicarakan dengan DigitalOcean tentang mengeluarkan orang itu dari akunnya.

Sejalan dengan praktik terbaik, {ns1, ns2, ns3} .DigitalOcean.com tidak bertindak sebagai penyelesai rekursif untuk domain yang dihosting di tempat lain. Jika mereka melakukannya, dan jika server yang di-host oleh DigitalOcean menggunakan server-server itu sebagai penyelesai tujuan umum, maka akan ada masalah yang jauh lebih besar. Untuk semua ini dikenal sebagai praktik buruk, mungkin tidak sulit untuk menemukan penyedia hosting yang salah, yang membuka kemungkinan penyalahgunaan.

mc0e
sumber
Jadi jika DigitalOcean belum memiliki otorisasi untuk domain dan beberapa pelanggan potensial keduanya mengklaim memiliki domain, bagaimana DigitalOcean tahu mana dari pelanggan potensial yang mengatakan yang sebenarnya? Apakah mereka akan memberikan yang pertama akses untuk membuat catatan dan tenggat waktu untuk memperbarui catatan NS untuk membuktikan kontrol atas domain? Atau apakah mereka akan memberikan masing-masing pelanggan potensial subset berbeda dari server otoritatif untuk dimasukkan ke dalam catatan NS?
kasperd
2
@kasperd pemilik sah suatu titik catatan NS di mana pun mereka inginkan dan kemudian mengkonfigurasi misalnya catatan TXT yang membuktikan mereka adalah pemilik karena berisi informasi unik yang diberikan penyedia layanan kepada mereka. Diakui sedikit palaver tetapi untuk kesempatan langka bahwa ini mungkin terjadi itu agak lebih mudah daripada memiliki semua orang membuktikan kepemilikan sebelum membawa mereka ke atas.
user9517 mendukung GoFundMonica
@kasperd Seringkali catatan whois mengidentifikasi pemilik yang sah, meskipun orang terkadang memiliki alasan untuk mengaburkan informasi tersebut. Dalam kasus apa pun, jika Anda memberi tahu DO untuk mengaitkan domain dengan akun Anda sehingga Anda dapat membuatnya berwibawa, DO mungkin memberi penipu waktu untuk memperbarui registrar, atau melepaskan asosiasi domain di DO. Pemilik yang sah mungkin harus menunggu sedikit, itu saja.
mc0e
0

Saya pikir masalah ini berarti bahwa tidak ada yang harus menggunakan nameserver tersebut (seperti Digital Ocean's) sebagai resolvers mereka, karena siapa pun dapat membuat nameserver untuk domain yang ada pada mereka. Pertarungan untuk mengendalikan domain tidak relevan karena kepemilikan domain dapat dibuktikan dengan mudah, tetapi kenyataan bahwa seseorang dapat misalnya mengarahkan domain yang sudah ada yang TIDAK di-host di Digital Ocean, ke mana pun mereka inginkan.

Intinya: jangan percaya server DNS dari layanan hosting apa pun yang tidak memerlukan bukti kepemilikan domain (mudah dan cepat dilakukan misalnya dengan metode yang disarankan di atas: dengan menambahkan catatan TXT dengan nilai tertentu pada domain terlebih dahulu , inilah yang dilakukan oleh Microsoft O365 dan Google misalnya).

Banyak lagi yang buruk
sumber