有人可以使用與我相同的 DNS 伺服器劫持我的域嗎?
當我註冊一個新域時,我通過在註冊商的設置中為其分配域名伺服器,將其發送給我的託管服務提供商。例如,使用 Digital Ocean,我輸入以下內容:
ns1.digitalocean.com ns2.digitalocean.com ns3.digitalocean.com
然後我在我的伺服器的 A 記錄中添加域設置。我突然想到,同一託管服務提供商上的任何其他人都可以使用我擁有的域添加 A 記錄。
有什麼可以防止這種情況發生嗎?如果使用相同域名伺服器的 2 個不同的伺服器嘗試通過 A 記錄為自己分配一個域,那麼當您在瀏覽器中輸入域時,該域實際上會在哪裡解析?什麼可以防止同一 DNS 伺服器上的域名衝突?
別介意下面的評論部分,也別介意編輯歷史中以前的答案。在與朋友進行了大約一個小時的交談(感謝@joeQwerty、@Iain 和@JourneymanGeek)以及一些愉快的黑客攻擊之後,我們對您的問題和整體情況進行了調查。很抱歉一開始的粗魯和完全誤解了情況。
讓我們逐步完成該過程:
- 比如說,您
wesleyisaderp.com
在 NameCheap.com 上購買。- Namecheap 作為您的註冊商將是您填充 NS 記錄的地方。假設您實際上想在 Digital Ocean 上託管 DNS 區域。
- 您將閃亮的新域的 NS 記錄指向
ns1.digitalocean.com
和ns2.digitalocean.com
。- 但是,假設我能夠確定您已註冊該域,並且您已將 NS 記錄更改為 Digital Ocean 的. 然後我把你打到了一個 Digital Ocean 帳戶,並將 wesleyisaderp.com 區域添加到我自己的帳戶中。
- 您嘗試在your帳戶中添加該區域,但 Digital Ocean 說該區域已存在於他們的系統中!哦不!
- 我 CNAME
wesleyisaderp.com
到wesleyisbetterthanyou.com
.- 歡鬧隨之而來。
我和一些朋友剛剛玩了這個確切的場景,是的,它有效。如果@JoeQwerty 購買了一個域並將其指向 Digital Ocean 名稱伺服器,但我已經將該區域添加到我的帳戶中,那麼我就是區域管理員,可以隨心所欲地使用它。
但是考慮到有人必須首先將區域添加到他們的 DNS 帳戶,然後您必須將您的 NS 記錄指向同一主機的名稱伺服器,以防萬一發生。此外,作為域所有者,您可以隨時切換 NS 記錄並將解析度從壞區域主機移開。
至少可以說,這種情況發生的可能性有點低。據說,從統計學上講,你可以洗一副 52 張撲克牌,得到一個其他人從未得到過的排序,也沒有其他人會得到的排序。我認為這裡存在相同的推理。有人利用它的可能性非常低,並且存在更好的捷徑,它可能不會偶然發生在野外。
此外,如果您在註冊商處擁有一個域,並且有人碰巧在您與之發生衝突的 Digital Ocean 等提供商上創建了一個區域,我敢肯定,如果您提供所有權證明,他們會詢問製作該域名的人zone 在他們的帳戶中刪除它,因為沒有理由存在它,因為他們不是域名所有者。
但是A記錄呢
第一個擁有區域的人,例如數字海洋,將是控制它的人。在同一個 DNS 基礎設施上不能有多個相同的區域。例如,使用上面這些愚蠢的名稱,如果我將 wesleyisaderp.com 作為 Digital Ocean 上的一個區域,那麼 Digital Ocean 的 DNS 基礎設施上的其他任何人都無法將其添加到他們的帳戶中。
這是有趣的部分:我實際上已經將 wesleyisaderp.com 添加到我的 Digital Ocean 帳戶中!繼續嘗試將其添加到您的中。它不會傷害任何東西。
因此,您無法將 A 記錄添加到 wesleyisaderp.com。都是我的。
但是關於…
正如@Iain 在下面指出的那樣,我上面的第 4 點實際上太冗長了。我根本不需要等待、策劃或計劃。我可以在一個帳戶中創建數千個區域,然後坐下來等待。從技術上講。如果我創建了數千個域,然後等待他們註冊,然後希望他們使用我設置區域的 DNS 主機……也許我可以做點壞事?也許?但可能不是?
向 Digital Ocean 和 NameCheap 道歉
請注意,Digital Ocean 和 NameCheap 不是唯一的,與此場景無關。這是正常行為。他們在所有方面都無可指責。我只是使用它們,因為那是給出的例子,它們是非常知名的品牌。