• 2

問一個有關dns的安全問題

Alvin38 wrote:
假設A君5年前在name...(恕刪)


godaddy域名dns託管都會先做 "域名擁有權審核驗證" ,

既然過了這一關,那之前godaddy內的同域名阿貓阿狗舊資料應該會跟著刪除或失效才對。
Alvin38 wrote:
假設A君5年前在name.com申請一個網址a.com,並託管在godaddy,2年前網址到期沒續約,但也沒動託管的資料

現在b君去pchome買了同樣的網址a.com,並且同樣在godaddy託管,

這樣DNS 會指到指到a的網站,還是b的網站呢?..(恕刪)


答案:b

Alvin38 wrote:
甚至有可能出現C君,看這網域流量大,又查到該網域經godaddy托管,所以也去godaddy托管同一個網域,

這樣不是會造成混亂嗎?


已經被其它人註冊去的 網域名稱(Domain Name),是無法再次註冊的,除非註冊期限過期,或者那個人轉讓擁有權。


網域名稱 有「唯一性」。

可以想像類似電子郵件,當你註冊一個 e-mail 的時候,是不是要取名稱,已經有人取過的名稱,就無法再取。除非那個人個帳號被刪除了,名稱空下來。

或想像是一個電話號碼,電話號碼都是唯一的,不能重複。別人已經挑選並使用的號碼,自己無法選。除非那個人電話沒繳費,被停用,號碼被電信商回收,才能讓別人去選那個號碼。


****************************

網域名稱(Domain Name) 是一種「樹狀結構」,

一層一層解析的,可以看作是「地址倒寫」

例如:1號.忠孝東路.信義區.台北市.台灣.

假設你寄一封國際信件,郵局如何處理?

首先寄到台灣總郵局,然後運給台北市的郵局處理,台北市郵局交給負責信義區那邊的郵局,然後底下郵差再去看哪條路幾號,送信件。


全球有 13 台 根網域名稱伺服器(root name server),分佈在世界各國。

根網域名稱伺服器 - WIKI

這 13台 "根網域名稱伺服器",是最頂層的,負責解析"一級"(頂層網域)。

一級網域,就是國家域名,比方:.tw .cn .jp .....等等這種最頂級的。代表哪個國家的。

美國比較特殊,因為 DNS 系統是美國發明的,所以沒有 .usa 這種一級域名。.com .org .....什麼的,後面沒有國家域名的,都屬於美國。


比方說:.tw
這個就是台灣的,之後的都屬於 二級網域。

台灣有一個組織叫做 TWNIC,專門負責 .tw 底下的"二級"網域解析。TWNIC 可以看作台灣的 DNS 總郵局。


而 TWNIC 這間台灣的 DNS 總郵局(二級網域名稱),並不提供"網域名稱註冊" 的服務。

他們只管二級網域總伺服器,網域名稱 註冊的零售服務,是批發給其他商家去做的,可以看作是:總盤商。總盤商不零售,只批發。

PCHOME 買網址、中華電信.....等等的,那些都是中盤商。面向消費者,零售網域名稱註冊的,然後再提供資料給 TWNIC 去設定,從中間賺取服務費。

那些 中盤商、經銷商,所謂的「代管」,是管三級之後的網域。這本來是使用者要自己架設 DNS 伺服器的,他們幫管。


舉例:假設你註冊一個 我的網域.tw,這要對應到什麼 IP。

首先會去問 全球的13台根網域名稱伺服器,找出 .tw 是誰管的,然後 .tw 是 TWNIC 管的。

再去問 TWNIC, .我的網域.,是誰管的。這通常是使用者 自己架設 DNS伺服器 自己管,或者託給經銷商代管。

然後底下可能
www.我的網域.tw
bbs.我的網域.tw
ftp.我的網域.tw
.....
什麼的,那都是自己架設的 DNS 負責回報 IP,或者給 經銷商的代管。


如果對 DNS 的歷史、架構、原理 有興趣
可以看網路上的教學:
http://linux.vbird.org/linux_server/0350dns.php


**********************************

前面提到 .com .org .cc.....什麼的,最頂層沒有國家域名的,都屬於美國。

早期,DNS 的架構是希望各個國家,把他們國內的伺服器,掛在國家域名底下,比方:.tw。這樣才容易分辨這個網站,或者這台伺服器是在哪個國家。

還有就是分散,不然一堆人都註冊 *****.com 的,名稱都被取光了。

但互聯網本身就是國際互通的,國家這種觀念很薄弱。且伺服器可以租用別國的主機,光看網域根本無法分辨伺服器在哪個國家。

又有的國家,電腦資訊產業落後,網域名稱註冊費昂貴,台灣就屬於這樣子。

所以有些人就會想,為何後面就一定要 .tw。

買 .tw 的一年費用要將近千元。

買美國網域名稱 .com 那種的,一年不到1百,甚至用送的。

價差 6~10 倍。傻了才買貴的。
而且美國網域名稱,也沒限制別國的人不能註冊啊。

所以現在網路上愈來愈多頂級域名是 .com ....什麼的網站,沒有國家域名的,其實那原先是美國的網域名稱,但現在已經很難講了,世界各國都有。

YAWPYNG wrote:
godaddy域名dns託管都會先做 "域名擁有權審核驗證"


不會,例如,我才剛把udn.com加入託管。

fedora wrote:
已經被其它人註冊去的 網域名稱(Domain Name),是無法再次註冊的,除非註冊期限過期,或者那個人轉讓擁有權。


他是問DNS託管,跟註冊完全無關......
這個要說明的話,需從 DNS(named)設定檔說起

所謂的「託管」,實際就是 A 紀錄


一個典型的 DNS 設定檔,長這個樣子

假設註冊的網域為:xxx.com



xxx.com 這個網域名稱,
ns(DNS主機)
網域名稱本身
mail 主機
www 主機
.....都指向 11.22.33.44


然後最後有一條 A紀錄

把 und.com 指向 55.66.77.88

虛擬主機商、賣網域名稱的商家,所謂的「託管」,就是這個 A紀錄。

但這個 A 紀錄,並不是完整的網域名稱。它只是「主機名稱」

實際組合起來是:und.com.xxx.com.


用通俗一點白話說明:

台北市 有個 中山路,
台中市 也有 中山路,
高雄市 也有 中山路
......
怎麼到處都有中山路,這並不違反地址規則

註冊網域名稱,
好比你註冊一個屬於你的城市,姑且稱作 xxx市
凡是寄到 xxx市的信件,統轄由你接管

然後你想在你的城市中,也命名一條 中山路,甚至 台灣大道、凱達格蘭大道........只要爽、高興,隨便怎麼命名。

但這個 凱達格蘭大道,是 凱達格蘭大道.xxx市。

是掛在 xxx市 底下的,和別的城市無關。


網域名稱之所以是倒寫的,因為那是美國人發明的,美國的地址就是倒寫的。

比方:no.100 .富豪街 .比彿力山莊區 .洛杉磯市 .加州 .美國

英語系國家,地址是倒寫的。


假設你註冊一個 xxx.com 的網域名稱(相當於一個城市)

然後你指定要在裡面有個 udn.com(相當於一個路名)

全部組合起來的網址是:und.com.xxx.com.
(主機名稱.網域名稱.)

※ 雖然這樣的網址,看起來好像不倫不類,但實際上是可以使用的,會通。

並不是 und.com.

fedora wrote:
這個要說明的話,需從...(恕刪)


你明顯不懂主機代管跟DNS託管的差異,才會一直答非所問。
先這樣說吧,有錯請各位前輩大大們指正。

有人向 hinet 註冊個 aaa.com.tw ,並向 godaddy 申請代管,但他也必須向 hinet 設定好代管者 godaddy 的 IP 才算完成。
使用者查詢時 會先向 root 查詢,然後指向 tw 管理單位,再找到 com.tw 管理單位,最後找到由 hinet 陳送上去的該單位 ns 管理 godaddy 的 IP,才由 godaddy 的代管紀錄中找到資料。

樓主的問題是,原來申請者逾期未繳費被撤銷,此時 aaa.com.tw 的 NS 紀錄應該是空白的,此時我向 hinet 註冊 aaa.com.tw ,hinet 查看這個域名目前無人使用,因此我取得這個域名,而我不巧地又向 godaddy 申請代管,同時也向 hinet 登記我的 NS 的代管單位 godaddy 的 IP。 這時其他的查詢者會查到舊有的資料還是我新設定的資料?

假設 godaddy 的 SOA 紀錄是唯一性,那自然由我新產生的序號紀錄來取代舊有序號紀錄。
架設 godaddy 允許多個相同的 SOA,那代表這個 DNS 的設定有大問題,也不可靠。

你若發現 nslookup 查到的資料不對,只要將 ns 代管者換個主機就好了,不會有影響。
受到影響的部分,只有那些將 dns 查詢指向 godaddy 的使用者而已。

就像我,也可將 google.com 和 facebook.com 的 NS 紀錄設定在我的 DNS 紀錄內,但這只是 自嗨 而已,影響範圍只有把 DNS 查詢的 IP 設定在我這邊的人而已,對於去 8.8.8.8 和 168.95.1.1 和其他 DNS 查詢的人,根本沒有影響,因為由上往下找的路徑,再如何找也不會認為我是 google 和 facebook 的域名合法代管單位。

有些公司就利用這種作法,管制自家員工對外的連接,但對於那些會去改網路設定的人,根本無效。

有興趣的 可以去看看 防火長城 這個大陸對於 root dns 進行的干擾動作,相當有趣。這也是因為大陸有 root 鏡像伺服器,為了分流而不幸被轉到該伺服器的使用者,才會受到影響。

a19560714 wrote:
樓主的問題是,原來申請者逾期未繳費被撤銷,此時 aaa.com.tw 的 NS 紀錄應該是空白的,此時我向 hinet 註冊 aaa.com.tw ,hinet 查看這個域名目前無人使用,因此我取得這個域名,而我不巧地又向 godaddy 申請代管,同時也向 hinet 登記我的 NS 的代管單位 godaddy 的 IP。 這時其他的查詢者會查到舊有的資料還是我新設定的資料?..(恕刪)


hinet 並無權控管 "二級網域",就是 .tw 底下的,比方:xxxx.tw.、xxx.com.tw.

那個是 twnic 控管的。
(財團法人 TWNIC,台灣的一家組織單位)


樹狀結構 查詢

一級網域是 國家域名,比如:.tw .jp .cn ...等等,是全球 13台 root 控管的。

第一步 查得國家域名(一級網域)屬於誰管之後,會繼續和 二級網域 的主管者(台灣是 twnic),查詢 三級網域屬於誰管

一層一層的查下去。

三級網域通常就是面向消費者了,註冊者自架 dns 伺服器,或者託管於一些商家(比方 hinet 的 dns 伺服器)

每個國家的二級網域,都有唯一的主管單位,以確保 dns 系統可以順利運作,不會出現混亂的情況。


快取

理論上 DNS 系統,是一層一層查詢(樹狀結構)

但實務上,這非常沒有效率。最頂層的 一級網域 root ,還有每個國家的 二級網域負責單位,伺服器若是每秒要應付全球數十億連線的查詢,一定負載不了。

所有的 DNS 伺服器(包含使用者自架的,ISP、各別商家、學校提供的.....下層的伺服器),都有一個快取機制。

快取機制,就是伺服器會把:經過一連串樹狀結構查詢過的 正解,記憶在它本身的快取裡

下次再有人和同一台伺服器查詢的時候,不再往上層伺服器調資料,而是由它的內部快取直接提供。

但 DNS 正解資料,會一直改變。

所以 DNS 伺服器的快取資料,有一個 "壽命時間" TTL,是由架設者指定的,通常一般都設 24H (24小時)。也可以設更短,使正解改變的反應速度更快。

這就是為何有些託管的,會說更動 DNS 正解資料(A紀錄)後,要 24小時才會生效。

因為其它大部分的 DNS 伺服器,軟體設定若無更改,快取壽命預設值就是 24H。

這意思就是說:突然的正解IP更動,不會立即反應,可能要等 24H 後,才會反應出來。因為很多 DNS 伺服器 快取還沒消滅。



假設 godaddy 的 SOA 紀錄是唯一性,那自然由我新產生的序號紀錄來取代舊有序號紀錄。
架設 godaddy 允許多個相同的 SOA,那代表這個 DNS 的設定有大問題,也不可靠。

你若發現 nslookup 查到的資料不對,只要將 ns 代管者換個主機就好了,不會有影響。
受到影響的部分,只有那些將 dns 查詢指向 godaddy 的使用者而已
..(恕刪)


美國的 二級網域,並不是 Godaddy 管的。

是 ICANN 管的(美國的一家機構)

Godaddy 只是一家虛擬主機商,雖然有它有 ICANN認證,允許開辦代理註冊,但二級網域的正解資料,是在 ICANN 的 DNS 伺服器。

就像 .tw 二級網域,是 twnic 管的。hinet 、pchome買網址.....都只是經過 twnic認證,允許開辦代理註冊業務的。但二級網域的正解資料,是在 twnic 的伺服器裡。

Godaddy 託管的,和使用者自架是一樣的。是屬於三級之後的網域名稱。


假設註冊一個 aaa.com,過期沒繳費,aaa.com的使用權已經失去了(ICANN 把那筆資料抹去了)

雖然 Godaddy 那邊的託管資料沒有抹去,也查不到 aaa.com 的正解資料了。

因為 DNS 系統是 樹狀結構 查詢的,
以美國的網域來說,
root ---> ICANN ---> 使用者自架或 Godday 什麼的

查到 aaa.com 那邊,因為 ICANN 的正解資料已經抹去,就會查不到了。即便是把 DNS 設為 Godaddy 的人。

但 DNS 有快取機制,所以可能 24H 內查詢仍有反應,24H 過後,就完全查不到了。


Godaddy 是可以在 DNS 伺服器中,也把二級網域兜進去,但這違反 DNS 準則。

它有 ICANN 的認證,自然不會這樣做。若這樣做,搞亂整個 DNS 系統,它的認證就會被取消,不再有代理註冊的資格,就沒錢賺了。



就像我,也可將 google.com 和 facebook.com 的 NS 紀錄設定在我的 DNS 紀錄內,但這只是 自嗨 而已,影響範圍只有把 DNS 查詢的 IP 設定在我這邊的人而已,對於去 8.8.8.8 和 168.95.1.1 和其他 DNS 查詢的人,根本沒有影響,因為由上往下找的路徑,再如何找也不會認為我是 google 和 facebook 的域名合法代管單位。

有些公司就利用這種作法,管制自家員工對外的連接,但對於那些會去改網路設定的人,根本無效。
..(恕刪)


這個就是 "DNS挾持"

利用虛偽的 DNS伺服器,提供 假的正解資料。

如果一般瀏覽者,電腦 DNS 設定,被偷改成這種 虛偽的DNS伺服器,網址就會查出假的IP資料,連去了不是正版的釣魚網站。


一般在架設 DNS 伺服器 ,設定時不會把二級網域甚至一級網域兜進去。

首先是因為沒意義,那都有專門機構負責的,除非瀏覽者是把 DNS 設成你的 DNS 伺服器。

再來是這樣會破壞 DNS 系統的架構。使資料混亂。

對私人而言。私人沒有規則束縛,可以任意違規,可以這樣做,只是意義不大。因為除非別人把 DNS 設成你的 DNS伺服器,不然這樣的確就只是自嗨而已。

而對代管商而言,比方 Godaddy、hinet..... 什麼的。都是上面機構授權的,他們才能販賣代理註冊,它們就不能違規,不能破壞 DNS 系統,不然授權被取消,他們就不能再販賣代理註冊了。

a19560714 wrote:
而我不巧地又向 godaddy 申請代管



godaddy不會受理你的申請,所以根本沒問題。

如果在godaddy沒受理的狀況下,你還在hinet那邊設定godaddy代管,那就是你自己的問題。
  • 2
內文搜尋
X
評分
評分
複製連結
Mobile01提醒您
您目前瀏覽的是行動版網頁
是否切換到電腦版網頁呢?