ISP kami juga menyelenggarakan DNS eksternal kami. Secara default mereka memasukkan entri untuk localhost.
Misalnya: localhost.example.com. 86400 DALAM A 127.0.0.1
Ketika saya meminta mereka untuk menghapusnya, mereka memberi saya waktu yang sulit dan mengatakan bahwa itulah cara Bind bekerja.
Saya sudah mencoba melakukan penelitian tentang mengapa saya ingin memasukkan itu tetapi saya tidak bisa menemukan banyak. Saya memang menemukan setidaknya satu tempat yang mengira itu kemungkinan serangan vektor XSS. Tampaknya cukup umum sehingga saya melakukan pencarian di 20 domain situs web teratas dari alexa dan sebagian besar tidak memiliki entri seperti itu tetapi beberapa melakukannya. Beberapa orang lain memiliki entri tetapi alih-alih menunjuk ke 127.0.0.1 mereka menunjuk ke alamat IP lain yang mampu rute dunia.
Jadi, mengapa saya ingin memiliki locahost di zona untuk domain saya? Apakah ada masalah dengan tidak memilikinya? Apakah ada praktik terbaik mengenai hal ini? Apakah itu memang hal Bind default yang saya tidak sadari?
Terima kasih
sumber
Jawaban:
localhost.example.com
kadang-kadang disertakan pada server DNS internal untuk mencegah permintaan "localhost" bocor ke internet (untuk kasus di mana John Smith mengetikhttp://localhost/
di browser-nya & untuk alasan apa pun resolvernya tidak terlihat di file host, ditambahkan jalur pencariannya (example.com
) & mulai menanyakan server nama apa yang dipecahkan).Anda tidak harus memiliki entri localhost (dan jika ISP Anda berpikir itu "cara BIND bekerja" mereka salah arah atau idiot: BIND melayani apa yang ada di file zona, dan jika mereka menghapus
localhost
baris itu akan berhenti melayani itu merekam). Sebagai contoh gratis,localhost.google.com
tidak menyelesaikan, dan saya bertaruh NS untuk domain itu menjalankan BIND.Vektor XSS adalah sesuatu yang tidak pernah saya pikirkan, tetapi ini adalah sesuatu yang memprihatinkan: memiliki
localhost
entri dalam DNS publik Anda berarti setiap mesin yang diretas dapat "di domain Anda" (dengan menjalankan server web pada 127.0.0.1) dan berpotensi melakukan segala macam hal buruk. Mungkin alasan yang cukup bagus untuk menyingkirkan entri.sumber
localhost.some.test
hanyalah korban dari tidak mendapatkan titik akhir yang tepat. Alasan di balik memilikilocalhost.
(perhatikan titik!) Jelas, tetapi titik sering dilupakan di zona DNS. Kemudian ia muncul untuk memiliki kehidupan misteriusnya sendiri.localhost.
adalah sesuatu yang seharusnya kita miliki, tetapi praktik memilikilocalhost
catatan di setiap zona yang kita layani telah gagal nikmat. (Pertanyaan ini benar-benar membawa saya ke lubang kelinci RFC 5 tahun yang lalu, mungkin saya akan memperbarui jawaban saya dengan RFC baru & pemikiran dari utas komentar nanti :))Dengan asumsi bahwa resolusi nama internal Anda menangani resolusi nama dengan benar, setiap permintaan DNS untuk localhost tidak boleh pergi ke penyedia DNS eksternal Anda, dan karenanya ini seharusnya tidak menjadi masalah sama sekali.
Salah satu alasan mengapa seseorang melakukan hal ini, yang dapat saya pikirkan dari atas kepala saya, adalah jika seseorang pernah menggunakan alat pembuat web yang mengacaukan referensi absolut ke http: // localhost , tetapi itu mengasumsikan bahwa Anda ISP juga hosting di kotak DNS mereka dan merupakan kesempatan besar.
Namun, RFC 1537 tidak menentukan:
Jadi, sepertinya ISP Anda benar untuk memasukkan localhost, tetapi salah menggunakan nama yang sepenuhnya memenuhi syarat.
sumber
Note that ...
bahasa (saya kira sebagai tanggapan terhadap masalah XSS potensial yang kita akan mulai sadari pada tahun 1996 :) 1537 Menjelaskan mengapa itu ada dalam template BIND.localhost
zona tersebut seharusnya ada di server (jadi jika mendapat permintaan hanya "localhost", itu tidak meneruskannya ke rantai ke server berikutnya), itu adalah jauh dari memasukkan zonalocalhost
sayexample.com
(penciptaanlocalhost.example.com
), yang juga sama eksplisitnya dengan mengatakan Anda tidak boleh melakukannya karena kemungkinan efek samping yang tidak diinginkan. Harapannya adalah agar "localhost" menjadi domain khusus, ajaib, dan berkualifikasi penuh.Saya tidak yakin apa gunanya ... Secara default, alamat eksternal akan ditunggangi oleh file hosts, yang hampir selalu memetakan localhost ke 127.0.0.1.
File zona BIND default tidak termasuk zona host lokal. Tidak pernah benar-benar memikirkannya.
sumber