相明瓊,魏媛,趙中輝,李月
域名系統DNS(Domain Name System)是現代各行各業使用最為廣泛的IT基礎服務之一,它作為可以將域名和IP地址相互映射的一個分布式數據庫,能夠使互聯網用戶、企業內部員工更方便的訪問企業的任何信息系統 ,而不用去記住能夠被機器直接讀取的 IP地址。作為企業ICT(信息通信技術)基礎設施,域名服務系統是影響互聯網各項應用性能的重要環節,穩定的域名解析服務是確保互聯網業務、企業內部業務系統正常運行的基礎。域名解析的流程采取分布式樹形結構,高效的實現數據的管理、更新、一致性具有一定的難度。因此,構建企業高可用域名解析服務,需要深入結合企業現有的網絡布線情況,制定出完善的域名解析容災和恢復機制,提升可控性和高效性。
目前,企業搭建域名解析服務分為兩種方式:自建DNS平臺和第三方托管。自建DNS服務平臺存在因基礎設施、技術力量及帶寬資源投入有限而無法抵御 DDOS攻擊等問題;第三方托管用戶范圍廣,群體復雜,易成為攻擊目標,且第三方的托管平臺經常暴漏出安全和故障問題。目前,國內大多數企業采用自建 DNS平臺的方式,但由于微傳統DNS技術較為復雜,加之技術人員匱乏,DNS系統通常需要借助人工手段實現解析數據的一致性,費時費力,管理效率低;大型企業在不同地域的分支機構DNS平臺復雜多樣,存在較多的安全漏洞,難以實現一致的DNS響應能力,直接影響用戶的體驗和系統的推廣;IT資源重復建設,浪費嚴重,且無法實現全網的智能災備,存在DNS不可用風險。
集中式部署:集中式部署的特點是管理簡單,但解析質量受企業內部網絡互連互通影響,存在網絡擁塞、單點故障、解析延時等風險,例如某企業在全國三十幾個省級行政區均有分支機構,這些分支機構與總部的網絡互通情況受網絡運營商、網絡帶寬、網絡延遲等多因素影響,與總部的 DNS互通情況并不理想,導致解析效率減慢、系統登陸不穩定等情況。另外,集中部署還存在單點故障的風險,一旦部署節點網絡不可達或出現故障,整個企業依賴于域名解析的生產、辦公業務都面臨中斷的風險。
傳統分布式部署:企業的主DNS服務器部署在企業總部,同時在位于三十幾個省級行政區的分支機構部署本地化服務節點,與集中式部署相比,可有效提高業務可用性及性能,但是大大的增加了成本,且存在安全風險,如分支機構缺乏專業的技術人員,導致管理風險。分布式部署采用主、輔更新方式,所有分支機構DNS的數據來自于主DNS,但缺乏反饋機制,存在如下隱患:
(1)數據同步效率低:主、輔DNS都需經過不斷的交互來保證數據最新,效率較低,且在網絡不暢的情況下,會出現數據丟幀,造成數據不一致。
(2)全網故障:輔DNS數據過期后,向主DNS申請更新,如果主DNS發生故障或網絡不可達,輔DNS將停止服務,導致局部或者全網DNS不可用。
DNS作為網絡翻譯官,其作用至關重要,同時黑客掌握了對DNS造成安全威脅的種種手段,比如DDos攻擊、DNS緩存投毒、域名劫持等,2014年1月21日,全國大范圍出現DNS故障,下午15時20分左右,中國頂級域名根服務器出現故障,大部分網站受影響,試想如果企業內部 DNS出現故障,將導致內部系統域名無法解析,對外業務無法辦理,近而嚴重影響盈利能力和公眾形象。網絡安全和管理解決方案頂級研究公司Arbor Networks統計的網絡攻擊數據,如圖1所示:

圖1 Arbor Networks統計的網絡攻擊數據
近年來針對DNS基礎設施攻擊增長迅猛,2014年達到200%,被攻擊對象中企業占42%,其中金融業占13%,其遭受的損失排在第一位。從圖中可以看出,DNS攻擊僅此于http攻擊,成為黑客的重點攻擊目標,因此,企業應用安全、高效的DNS架構已迫在眉睫。
隨著經濟全球化發展,各企事業單位需要跨地域部署DNS服務器,對服務架構的可擴展性、網絡服務安全性和高可用性有較高的要求,下面提出一種分布式部署機制,可以為企事業單位關鍵業務和支撐環境提供不間斷的DNS服務。分布式部署由DNS中央管理設備和節點服務設備組成,設備之間相互配合,數據共享,其實也單位在各個地域具有多個營業點,管理方式各異,有的采用總部統一管理,有的總部只管理二級機構,由二級機構分管下屬企業,對于以上情況,均可通過分布式部署機制實現。各區域管理設備可使用各個策略和配置來控制節點服務設備,中央管理設備可提供對各個區域管理設備的完全可見性,如圖2所示:

圖2 DNS的分布機構圖
例如,新節點服務設備安裝或者故障設備替換時,區域管理設備自動同步設備配置信息和數據信息至新設備,短時間內自動實現與被替換設備完全相同的部署,接管所有本地服務。另一方面,為了確保設備操作的安全性及故障可追溯性,中央管理設備、區域管理設備均需配備三個角色,分別為權限管理員、DNS管理員、審查員,權限管理員負責分配DNS管理員和審查員所擁有的操作權限,DNS管理員執行日常管理、配置操作,審查員負責定期檢查DNS管理員的操作是否合規,如圖1所示:
基于高可用分布式部署機制的各DNS服務器之間需要有智能、高效的數據同步機制,此機制采用基于消息總線的工業級分布式數據通信框架,利用實時的動態更新機制,使得所有共享資源能得到實時更新,保證了網絡數據一致性,比主輔配置機制更加簡便、安全。DNS節點服務設備和中央管理設備之間具有加密的雙向配置同步功能,同時也能夠交換報告信息和統計數據,如圖3所示:

圖3 DNS節點服務設備運行
當管理員對一個DNS服務設備或一組設備進行配置或策略變更時,中央管理設備自動將變更傳播到所管理的每個服務設備。節點服務設備具有消息隊列,保證服務設備即使在網絡中斷恢復后,也能收到消息,處于不可用狀態、無法接收更新數據的DNS設備將在下次恢復使用時接收更新數據。下圖描述了此機制的運行原理:
2.2.1 網絡和節點正常,新增、刪除或變更的數據由中央管理設備加密同步傳輸至目標節點設備,目標節點設備反饋同步情況。
2.2.2 網絡或節點故障,新增、刪除或變更的數據無法完成同步,中央管理設備會在每次發動數據同步時自動生成消息隊列,將所需同步的數據存放在消息隊列中。
2.2.3 網絡或節點設備恢復,中央管理服務器將消息隊列中的數據重新同步至目標節點設備,目標節點設備反饋同步情況。
隨著信息技術的不斷發展,連接企業網絡的終端設備類別日益豐富,連接企業網絡的人群也不斷細分,出于安全需要,針對不同角色的權限控制急需加強,本文以“智能化、便捷化”為基礎,應用輕量級協議LDAP和“指紋”識別技術,提出一種實現DHCP業務的方法,如圖4所示:

圖4 DHCP的實現過程
LDAP(Lightweight Directory Access Protocol)即輕量目錄訪問協議,以樹狀的層次結構來存儲數據,存儲結構類似于DNS樹及UNIX文件目錄樹,對比傳統數據庫,LDAP的架構和優化主要是針對讀取而不是寫入,作為一個統一認證的解決方案,主要優點在于能夠快速、高效的響應用戶的查找需求。以實現“用戶認證”為例,如果用數據庫來實現,由于數據庫結構分成了各個表,每次都需要搜索數據庫并合成過濾,可能產生大量的并發。LDAP只是一張表,只需要用戶名和口令,便可通過樹形結構模式查找不同用戶的訪問權限,有“搭建便捷、容易維護、使用高效”等特點。“指紋”識別技術可智能顯示 上網設備所使用的系統類別及版本號,如“Windows”、“Mac”“Redhat”、“Android”等;可只能識別網絡設備品牌型號,如“Cisco”、“Huawei”、“H3C”等;可智能識別移動終端品牌型號,如“BlackBerry”、“Ipad Air2”、“Ipad Mini”、“IPhone 6”、“Samsung s6 edge”等詳細信息。
2.3.1 前端認證系統登記新用戶、修改用戶信息,數據記入數據庫。
2.3.2 用戶信息中與開通入網權限相關的屬性由數據庫寫入LDAP,例如用戶MAC,身份證號、用戶名等。
2.3.3 當數據庫中的用戶數據與LDAP中不一致時,自動執行從數據庫到LDAP的同步過程。
2.3.4 用戶使用各種終端開機入網,終端向DNS服務器發出DHCP請求。DNS服務器通過指紋識別功能識別設備詳細信息,并根據用戶設備信息(MAC)查詢LDAP,LDAP服務器檢查這個MAC對應的屬性,確定用戶是否存在和狀態是否開通,如果用戶存在并且狀態為開通,那么將client-class-name傳送給DNS的DHCP服務器,client-class中包括scope-selection-tag,通過這個標記使用這個MAC的設備對應的scope和相應的policy,獲得相應的地址空間,支持靜態IP地址分配和動態IP地址分配等多種分配方式,可實現MAC和IP地址的臨時和永久綁定;如果用戶不存在或者狀態為不開通,那么DNS將使用默認的配置。
本文以國內外通用DNS服務架構為基礎,提出分布式部署機制、工業級數據同步機制、智能DHCP實現等技術并搭建模擬環境進行測試,取得了良好效果,暫未發現數據同步失敗、網絡服務失效等問題,保持了較高的服務效率,可供大型企事業單位參考使用。
[1] 蔣劍鳴.互聯網域名與商標沖突研究.[M]北京:中國人民公安大學出版社,2011,4.
[2] Cricket Liu Paul Albitz.DNS與BIND(第5版) [M],北京:人民郵電出版社,2014,1.
[3] 伊藤直也,張毅.服務器/基礎設施核心技術 [M],北京:人民郵電出版社,2015,1.
[4] 段鋼.加密與解密(第3版) [M],北京:電子工業出版社,2008,7.
[5] 王珊.數據庫系統概論(第4版) [M],北京:高等教育出版社, 2008,6.