基于本地解析的安全dns系統(tǒng)和dns安全解析方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明屬于網(wǎng)絡(luò)技術(shù)、DNS技術(shù)領(lǐng)域,具體涉及一種基于本地解析的安全DNS系統(tǒng)和DNS安全解析方法。
【背景技術(shù)】
[0002]在互聯(lián)網(wǎng)開始出現(xiàn)的時候,網(wǎng)絡(luò)的規(guī)模比較小,主機之間的通信直接使用IP地址,隨著網(wǎng)絡(luò)規(guī)模的發(fā)展,直接使用IP地址非常不便記憶,業(yè)界逐漸使用主機名和IP的映射來解決這一問題,通過主機名,最終得到該主機名對應(yīng)的IP地址的過程叫做域名解析。最早的域名解析依靠查詢本機文件(host文件)獲得映射關(guān)系,各個主機分別維護自身的host文件,在網(wǎng)絡(luò)規(guī)模指數(shù)增長后,受當時的硬件和網(wǎng)絡(luò)限制,改由專門的結(jié)構(gòu)化的域名系統(tǒng)提供域名解析。
[0003]當前的域名系統(tǒng)(Domain Name System,DNS)已經(jīng)成為一項基礎(chǔ)的網(wǎng)絡(luò)服務(wù),它的主要作用是完成域名和IP地址之間的翻譯轉(zhuǎn)換,負責(zé)實現(xiàn)互聯(lián)網(wǎng)絕大多數(shù)應(yīng)用的尋址過程。DNS通過提供分布式的數(shù)據(jù)管理,負責(zé)處理用戶查詢服務(wù),涉及到全部的互聯(lián)網(wǎng)應(yīng)用過程。域名系統(tǒng)聯(lián)結(jié)著互聯(lián)網(wǎng)的網(wǎng)絡(luò)層和應(yīng)用層,有著重要的作用。
[0004]目前,域名解析系統(tǒng)的實現(xiàn)分為四個層次,包含根域名服務(wù)系統(tǒng)、頂級域名服務(wù)系統(tǒng)、二級及二級以下權(quán)威域名服務(wù)系統(tǒng)、遞歸域名服務(wù)系統(tǒng)。遞歸域名服務(wù)器負責(zé)處理上網(wǎng)用戶的查詢請求,幫助互聯(lián)網(wǎng)用戶從權(quán)威域名服務(wù)系統(tǒng)獲取相關(guān)信息,權(quán)威域名系統(tǒng)從上一級的頂級域名系統(tǒng)獲得數(shù)據(jù),根域名系統(tǒng)涵蓋所有域名數(shù)據(jù)。依次形成樹狀解析結(jié)構(gòu)。解析系統(tǒng)如圖1所示。用戶通過向域名系統(tǒng)發(fā)送解析請求,獲取域名和IP的對應(yīng)關(guān)系,再向?qū)?yīng)的IP地址發(fā)送數(shù)據(jù)請求,實現(xiàn)網(wǎng)絡(luò)訪問。一般來說,絕大多數(shù)的網(wǎng)絡(luò)訪問行為都會使用到DNS服務(wù)。如果域名系統(tǒng)出現(xiàn)故障,那么包括瀏覽網(wǎng)站、發(fā)送郵件、下載文件等等互聯(lián)網(wǎng)應(yīng)用將受到影響。
[0005]當前,針對DNS系統(tǒng)攻擊類型非常多,如域名劫持,DDos攻擊等。黑客通過更改域名與IP的對應(yīng)關(guān)系,將用戶引導(dǎo)至非法網(wǎng)站,欺騙用戶謀取非法收益;或者攻擊DNS系統(tǒng),使其無法提供正常的解析。這些都會給用戶帶來巨大損失。對普通用戶而言,需求非常簡單,只是希望輸入的域名能對應(yīng)到正確的IP地址。如何保障這一過程不受黑客干擾,同時高效快捷完成訪問,是一個非常有挑戰(zhàn)的問題。
[0006]目前,解決DNS安全,主要依賴對DNS服務(wù)器做安全防護,部署DNS相關(guān)的安全設(shè)備,防止域名劫持和攻擊。主要手段有部署DNSSEC、部署抗攻擊設(shè)備,以提高DNS服務(wù)器安全能力為主。
[0007]DNSSEC (Domain Name System Security Extens1ns)是 DNS 的一種安全擴展,是由IETF提供的一系列DNS安全認證的機制(可參考RFC2535)。它是對DNS提供給DNS客戶端(解析器)的DNS數(shù)據(jù)來源進行認證,并驗證不存在性和校驗數(shù)據(jù)完整性驗證,但不提供或機密性和可用性。DNSSEC通過對數(shù)據(jù)進行數(shù)字“簽名”來抵御攻擊,從而使用戶確信數(shù)據(jù)有效。但是,為了從互聯(lián)網(wǎng)中消除該漏洞,必須在從根區(qū)域到最終域名的查找過程中的每一步都部署該項技術(shù)。該技術(shù)并不對數(shù)據(jù)進行加密。它只是驗證用戶所訪問的站點地址是否有效。完全部署DNSSEC可以確保最終用戶連接到與特定域名相對應(yīng)的實際網(wǎng)站或其他服務(wù),起到了保護了互聯(lián)網(wǎng)的關(guān)鍵部分的作用。目前僅部署在.0rg域名和.gov (美國政府域名)以及部分國家和地區(qū)頂級域(ccTLD),如:.se (瑞典域名)。
[0008]目前的方案,需要大范圍部署各型設(shè)備,才能保證用戶的安全訪問,對用戶而言,除了被動等待網(wǎng)絡(luò)設(shè)備商部署設(shè)備外,缺乏別的有效手段。用戶的安全完全取決于網(wǎng)絡(luò)提供商的保障程度。大規(guī)模部署設(shè)備的成本較高,且持續(xù)時間長,覆蓋不到的地區(qū),用戶依然暴露在風(fēng)險之下。而且由于可能的解析過程較長,造成可攻擊的環(huán)節(jié)增多,暴露更多的風(fēng)險。
[0009]當前,用戶更多地關(guān)心:我如何做能保證自身的上網(wǎng)安全。因此從用戶側(cè)出發(fā)考慮如何解決這一問題,更為現(xiàn)實和直接。
【發(fā)明內(nèi)容】
[0010]本發(fā)明針對當前DNS解析過程中存在的安全問題,尤其是域名劫持等問題,提出一種普通用戶能快速實現(xiàn)的DNS安全解析方案,用戶無需等待網(wǎng)絡(luò)提供商大規(guī)模部署安全設(shè)備,將安全問題掌控在用戶自身手中。
[0011]為實現(xiàn)上述目的,本發(fā)明采用如下技術(shù)方案:
[0012]一種基于本地解析的安全DNS系統(tǒng),包括用戶端模塊和服務(wù)器端模塊,用戶端模塊部署在用戶自身的主機上,服務(wù)器端模塊部署在服務(wù)提供商,用戶端模塊和服務(wù)器端模塊通過私有加密協(xié)議進行通信;
[0013]所述用戶端模塊包含:
[0014]加密通信模塊,負責(zé)通過私有加密協(xié)議將數(shù)據(jù)加密,與服務(wù)器端建立通信關(guān)系,通過私有協(xié)議集中傳遞數(shù)據(jù);
[0015]固定數(shù)據(jù)模塊,負責(zé)存儲無需更新的數(shù)據(jù);
[0016]可更新數(shù)據(jù)模塊,負責(zé)存儲服務(wù)器端下發(fā)的DNS數(shù)據(jù),為用戶提供常用的DNS信息;
[0017]更新策略模塊,負責(zé)根據(jù)根據(jù)用戶訪問的情況向服務(wù)器端提交更新需求;
[0018]所述服務(wù)器端模塊包含:
[0019]加密通信模塊,負責(zé)通過私有加密協(xié)議將數(shù)據(jù)加密,與用戶端模塊建立通信關(guān)系,通過私有協(xié)議集中傳遞數(shù)據(jù);
[0020]數(shù)據(jù)收集模塊,負責(zé)從DNS系統(tǒng)獲取可靠的DNS數(shù)據(jù);
[0021]數(shù)據(jù)處理模塊,負責(zé)處理收集到的DNS數(shù)據(jù),根據(jù)用戶反饋的信息,生成更新數(shù)據(jù)包;
[0022]數(shù)據(jù)下發(fā)模塊,負責(zé)下發(fā)更新數(shù)據(jù)包,根據(jù)任務(wù)調(diào)度模塊指令,將更新數(shù)據(jù)定期包分發(fā)給用戶端模塊;
[0023]任務(wù)調(diào)度模塊,負責(zé)收集用戶的請求信息,判斷用戶類型,匹配相應(yīng)的更新數(shù)據(jù)包,調(diào)度分發(fā)任務(wù)。
[0024]進一步地,所述固定數(shù)據(jù)模塊存儲的無需更新的數(shù)據(jù)包括:服務(wù)器端的IP地址,常用IP地址庫。
[0025]進一步地,所述固定數(shù)據(jù)模塊設(shè)置為只讀,不可更改;所述可更新數(shù)據(jù)模塊設(shè)為只讀,不可更改,只有與服務(wù)器端模塊進行更新任務(wù)時,通過密鑰驗證后,才可寫入數(shù)據(jù)。
[0026]進一步地,如果用戶期望訪問的網(wǎng)址在固定數(shù)據(jù)模塊和可更新數(shù)據(jù)模塊中均不存在,則在數(shù)據(jù)更新時通過所述更新策略模塊向服務(wù)器端模塊提出請求;所述更新策略模塊在不與服務(wù)器端通訊時,整理用戶訪問數(shù)據(jù),生成更新序列;所述更新策略模塊的啟用需要用戶認可。
[0027]進一步地,所述數(shù)據(jù)收集模塊具備良好的安全防護策略,部署DNSSEC,只從獲得認可的數(shù)據(jù)源獲取數(shù)據(jù),保證數(shù)據(jù)的可靠性。
[0028]一種采用上述系統(tǒng)的DNS安全解析方法,包括用戶端模塊的處理步驟和服務(wù)器端模塊的處理步驟;
[0029]所述用戶端模塊處理步驟包括:
[0030]第一步,接收用戶指令,判斷指令類型,如果是DNS請求,轉(zhuǎn)第二步;如果是更新請求轉(zhuǎn)第四步;
[0031]第二步,查詢固定數(shù)據(jù)模塊,如果匹配,返回查詢結(jié)果;如果不匹配,轉(zhuǎn)第三步;
[0032]第三步,查詢可更新數(shù)據(jù)模塊,如果匹配,返回查詢結(jié)果;如果不匹配,返回查詢失敗信息;
[0033]第四步,更新策略模塊開啟更新進程,向服務(wù)器端發(fā)送更新請求,并監(jiān)測是否收到回饋信息,如果收到回饋信息,轉(zhuǎn)第五步;如果沒有收到回饋信息,等待直至超時,向用戶反饋更新失敗信息;
[0034]第五步,與服務(wù)器端模塊建立加密連接,并從服務(wù)器端模塊下載更新數(shù)據(jù)包;
[0035]第六步,利用下載的更新數(shù)據(jù)包對可更新數(shù)據(jù)模塊進行數(shù)據(jù)更新處理。
[0036]所述服務(wù)器端模塊處理步驟包括:
[0037]第一步,接收系統(tǒng)指令,判斷任務(wù)類型,如果是DNS數(shù)據(jù)處理任務(wù),轉(zhuǎn)第二步,如果是用戶更新請求,轉(zhuǎn)第六步;
[0038]第二步,調(diào)用數(shù)據(jù)收集模塊,根據(jù)用戶需求獲取可靠DNS數(shù)據(jù);
[0039]第三步,調(diào)用數(shù)據(jù)處理模塊,對獲取的DNS數(shù)據(jù)進行分類存儲;
[0040]第四步,依據(jù)用戶類型,分類生成更新數(shù)據(jù)包,供數(shù)據(jù)下發(fā)模塊使用;
[0041]第五步,匹配用戶類型,確定對應(yīng)的更新數(shù)據(jù)包;
[0042]第六步,與用戶端模塊建立加密連接;
[0043]第七步,調(diào)用數(shù)據(jù)下發(fā)模塊,根據(jù)任務(wù)調(diào)度模塊指令,向用戶端模塊分發(fā)對應(yīng)的更新數(shù)據(jù)包。
[0044]與現(xiàn)有技術(shù)相比,本發(fā)明的有益效果如下:
[0045]1.用戶可以通過自主部署完成安全級別的提升,無需等待網(wǎng)絡(luò)設(shè)備的升級;
[0046]2.用戶大部分的DNS請求可以在本地完成,解析速度更快;
[0047]3.用戶可以獲得高等級的DNS安全防護,避免絕大部分的域名劫持可能性。
【附圖說明】
[0048]圖1是現(xiàn)有的域名解析系統(tǒng)示意圖。
[0049]圖2是本發(fā)明的模塊組成示意圖。
[0050]圖3是本發(fā)明的模塊關(guān)系圖。
[0051]圖4是本發(fā)明的用戶端模塊處理流程圖。
[0052]圖5是本發(fā)明的服務(wù)器端模塊處理流程圖。
【具體實施方式】
[0053]為使本發(fā)明的上述目的、特征和優(yōu)點能夠更加明顯易懂,下面通過具體實施例和附圖,對本發(fā)明做進一步說明。
[0054]本發(fā)明方案提出一種便捷的DNS安全解析方案,如圖2所示,包含兩個模塊:用戶端模塊,服務(wù)器端模塊。用戶端模塊部署在用戶自身的主機上,服務(wù)器端模塊部署在該解決方案的提供商。用戶端模塊和服務(wù)器端模塊,通過私有加密協(xié)議通信。
[0055]用戶端模塊包含多個子模塊,加密通信模塊,固定數(shù)據(jù)模塊,可更新數(shù)據(jù)模塊,更新策略模塊。
[0056]加密通信模塊,負責(zé)通過私有加密協(xié)議將數(shù)據(jù)加密,與服務(wù)器端建立通信關(guān)系,通過私有協(xié)議集中傳遞數(shù)據(jù)。
[0057]固定數(shù)據(jù)模塊,負責(zé)存儲無需更新的數(shù)據(jù),包括服務(wù)器端的IP地址,常用IP地址庫,該數(shù)據(jù)模塊