2007年9月7日 星期五

名稱解析的錯誤(Error in DNS Server)-更正版

今天有一則微軟MSN首頁被轉址的新聞(雖然已經修復,但一般人還是有可能會連至錯誤的網頁),新聞上說這位署名為Julian的駭客說不會利用此漏洞來危害大眾

但是也給一心想往資安領域前進的微軟,重重的一擊(雖然這次應該算人為疏失)

不過,也喚醒了筆者自己對於年初去上課時,對於DNS的記憶,所以今天才會這麼晚才上來更新文章(因為跟DNS玩了一整天...),不過還是要分享一下對這件事的想法

DNS是一個別人要能夠透過xxx.xxx.com.tw能夠找到你的網站必備的一個核心服務,說穿了就是告訴電腦那個IP去找那個網站,反之亦然(例:xxx.xxx.com.tw <--> 123.45.6.7)

不過它的設定以及相關的應用,沒有親自玩過的人,應該很難體會其中的奧妙(用繁瑣可能更貼切),尤其是較大型的企業或服務網站,更是具有多台以上的DNS

例如:msn.com.tw 的DNS Server有4台;yahoo.com.tw則是5

先不論每一台的DNS所負責的是那一部份的名稱解析(大部份是為負載平衡),但是在設定的同時,幾乎是每個小地方都要留意(有時多一個或少一個"."就有極大的不同)

像這次事件,就是因為它們在重新設定DNS的時候,其中一台主機指向的網址設定錯誤,讓這位署名為Julian的仁兄順勢去申請了該網址,在順手把自己想要說的話留在上面(真是順手呀!= =+)

如果你剛好利用是利用MSN.COM.TW想連去該MSN首頁,經過負載平衡的分流,恰好被分到那個原先不存在的網址,你就有幸能夠看見Julian留的話!(老實說我也挺想看它原本的樣子!哈)

這種事情對於流量如此大的網站來說,真的是一件很嚴重的事情,這次僅是換了首頁,如果因內部設定錯誤造成更大的損失(釣魚網站),那就真的是很難收尾

除此之外,DNS有一個非常不即時的特性(除非你可以手動更新),不然...你就算已經在自己的DNS Server上設定好,以台灣的hixxx來說,該網站的說明上會說:最多要等24hrs後才會生效(因為不可能你一登錄就馬上可以成功)

所以就算MSN已經修正了該項錯誤,還是有人會連到原本設定錯誤的網址,主要是因ISP尚未完全同步更新(小聲說:看過Julian轉址畫面的人分享一下吧!)

更正啟示:原文提及批次ISP設定公司內部,經網友指正後的更改如下:

1. DNS應該是根據TTL(存活時間)來判斷,一般DNS的設定值會預設為86400(單位:秒),所以最晚都會需要24 hrs才能夠得完成DNS RECORD的更新,(根據網友bie的測試,大部份ISP業者僅需幾小時)

2. 筆者對於公司內部的DNS設定是指內部的DNS可以在Master和Slave之間,利用手動調整Refresh的時間長短,以及比較Serial的數值來快速的調整DNS的更新速度,但是DNS中原有的特性當然還是存在,我的用詞不慎,造成誤導的情況,還請各位見諒!

除了連錯網站之外,所有的服務都和DNS都綁在一塊(因為大多數人都是記網址、很少人會記IP吧!除了網路剛起步時...),這就可能會造成MAIL收不到(合約、廠商...等),連瑣反應會像雪球一般,越滾越大...

這個事告訴我們對於公司網站的DNS,設定或更新時一定要更加審慎的處理,盡可能在內部設定、測試無誤後再上線吧!(所以這件事算是人為失誤,不算資安漏洞啦!)

PS:DNS真的是個很重要的核心服務,但是...它繁雜的設定真是令人頭疼呀!下次再分享我測試的心得吧!...(今天玩了一天的心血 @_@|||泣)