【正文】
是關(guān)鍵結(jié)構(gòu)組件(實(shí)際上是網(wǎng)段中的子網(wǎng))。管理控制臺是管理員訪問和操縱被管理系統(tǒng)的入口。示例站點(diǎn)簡介本示例站點(diǎn)力求通用,以說明核心結(jié)構(gòu)組件和基礎(chǔ)結(jié)構(gòu)。遺憾的是,站點(diǎn)復(fù)制的成本將超出構(gòu)建站點(diǎn)的兩倍,并且可能導(dǎo)致 Web 應(yīng)用程序的數(shù)據(jù)一致性問題。 Web 群集數(shù)量。特別是:域名服務(wù)器(DNS,圖 3 中沒有展示)提供了域名與一個(gè)或多個(gè) TCP/IP 地址之間的正向和反向映射。它們形成了由雙向箭頭描述的 DMZ(非軍事區(qū))邊界。SSL 服務(wù) (HTTPS) 同樣是從普通 HTTP 通信中隔離出來的。前端服務(wù)器則訪問位于后端群集文件共享服務(wù)器和后端群集 SQL 服務(wù)器上的站點(diǎn)內(nèi)容。 管理網(wǎng)絡(luò) — 支持管理和運(yùn)作功能。所有后端交換機(jī)共享公共網(wǎng)絡(luò),因此后端通信量負(fù)荷將成為主動站點(diǎn)的問題,特別是單獨(dú)的管理網(wǎng)絡(luò)不能進(jìn)行記錄并且其他前端管理網(wǎng)絡(luò)還在通信。群集內(nèi)的文件共享支持文件存儲服務(wù)。安全網(wǎng)絡(luò)又由一個(gè)專用網(wǎng)絡(luò)(本例中為 )、一對耦合的交換機(jī)、各種服務(wù)器和標(biāo)記為 VPN/路由器的設(shè)備組成,這個(gè)標(biāo)記為 VPN/路由器的設(shè)備提供了與內(nèi)部企業(yè)網(wǎng)的連接。以書店或銀行為例。同樣又是通過分區(qū)數(shù)據(jù)庫和添加群集,來實(shí)現(xiàn)可伸縮性。在這種情況下,VPN/路由器直接與企業(yè)網(wǎng)相連。相反,它們瓦解后端網(wǎng)絡(luò)上的管理通信。隨著獨(dú)特客戶數(shù)量的增加,配置用于支持增加的客戶庫的系統(tǒng)數(shù)量也將增加。而最上層的分類既有內(nèi)容還有事務(wù),而且許多業(yè)務(wù)處理邏輯完全集成在聯(lián)機(jī)處理中。在后端,文件服務(wù)器和 SQL Server 群集的數(shù)量有所增加,因此,邏輯需要包括在前端 Web 服務(wù)器中,才能將數(shù)據(jù)請求路由到正確的后端數(shù)據(jù)分區(qū)?;诜?wù)器的負(fù)荷平衡將一組服務(wù)器組成 NLBS 群集,然后令群集中的每個(gè)服務(wù)器根據(jù)源的 IP 地址決定是否處理該請求,來完成負(fù)荷平衡。 便以這種方式工作。使用“Secure Sockets Layer (SSL)”發(fā)送加密數(shù)據(jù)并驗(yàn)證服務(wù)器身份,就是一個(gè)主要示例。這種由數(shù)據(jù)決定的路由,需要運(yùn)行在 Web 服務(wù)器上的應(yīng)用程序軟件來完成。我們將在下面有關(guān)擴(kuò)展業(yè)務(wù)復(fù)雜性的章節(jié)里詳細(xì)討論它。所有 Web 服務(wù)和內(nèi)容服務(wù)器都來自 DMZ 內(nèi)部。為了支持傳統(tǒng)的交付通道,應(yīng)用程序系統(tǒng)和數(shù)據(jù)庫都要在內(nèi)部網(wǎng)絡(luò)上實(shí)現(xiàn)。從 DMZ 到內(nèi)部網(wǎng)絡(luò)的事務(wù)通訊是用標(biāo)準(zhǔn)同步通訊機(jī)制實(shí)現(xiàn)的。第一幅在前端系統(tǒng)和后端系統(tǒng)中具有某種高度的可用性。在“可伸縮性”一節(jié)中已闡明了基本的思想,以及附加的要求,即在克隆失敗或運(yùn)行于克隆體的 Web 服務(wù)器停止響應(yīng)時(shí),負(fù)載平衡系統(tǒng)必須從 Web 群集刪除克隆體直至其修復(fù)。這樣就消除了因斷線引起的站點(diǎn)故障 — 這種情況并不罕見。數(shù)據(jù)庫和 Web 內(nèi)容的數(shù)據(jù),都需要存儲在 RAID 磁盤陣列上進(jìn)一步保護(hù)。如果失敗,“Microsoft 群集服務(wù)”將轉(zhuǎn)移應(yīng)用程序資源,然后在另一臺服務(wù)器上重新啟動。保護(hù)站點(diǎn)的第一步是分析商業(yè)風(fēng)險(xiǎn)、被保護(hù)系統(tǒng)和數(shù)據(jù)的自然情況以及可用安全性機(jī)制的成本,然后確定最優(yōu)商業(yè)方案。在可行的場合盡可能實(shí)現(xiàn)基于策略的安全管理和配置自動化。MDZ 是在 Internet 和內(nèi)部系統(tǒng)資源之間提供多層保護(hù)的重要體系結(jié)構(gòu)元素。允許與公司或其他安全網(wǎng)絡(luò)進(jìn)行網(wǎng)絡(luò)連接的所有 Web 站點(diǎn),還應(yīng)該使用內(nèi)部防火墻,將 DMZ 與內(nèi)部網(wǎng)絡(luò)隔離。這種安全性路由器實(shí)際上經(jīng)常用作防火墻。不過防火墻不是萬能的。用于構(gòu)造防火墻的現(xiàn)用平臺(例如,Windows 2000 和 Checkpoint 的 Firewall1)必須是極其堅(jiān)固的。示例站點(diǎn)一節(jié)說明了網(wǎng)絡(luò)分段并進(jìn)行了一定的討論。 如示例站點(diǎn)中所述,為內(nèi)部 Web 站點(diǎn)網(wǎng)絡(luò)使用非路由的網(wǎng)絡(luò)地址。因此,標(biāo)準(zhǔn)的安全通信通道對于通過公共網(wǎng)絡(luò)傳遞敏感客戶信息的 Web 站點(diǎn)和其他應(yīng)用程序非常重要。對于其他用戶,出口加密軟件限制在 56 位。入侵檢測入侵檢測系統(tǒng) (IDS),如 Cisco 的 NetRanger 或 ISS 的 RealSecure,提供對網(wǎng)絡(luò)通信的實(shí)時(shí)監(jiān)控。 錯誤接受,錯誤拒絕 — IDS 從正常網(wǎng)絡(luò)通信中區(qū)分攻擊的能力正在提高,但還遠(yuǎn)遠(yuǎn)不夠。平臺保護(hù)加固組件加固是保護(hù)單獨(dú)服務(wù)器操作系統(tǒng)的另一個(gè)重要方式。Service Pack 4 for Windows NT 配發(fā)的“安全配置編輯器”(SCE) 是實(shí)現(xiàn)一致的、基于策略的控制的重要新工具。為了得知解密高手的最新本事和緊跟安全防衛(wèi)潮流所需的補(bǔ)丁程序,留心各方面的安全警示,如來自 CERT ()(英文)的,是必要的。Windows 2000 使用代碼簽名和 System File Checker(系統(tǒng)文件檢查器)驗(yàn)證重要系統(tǒng)模塊的完整性。支持到安全網(wǎng)絡(luò)和內(nèi)部服務(wù)器及其數(shù)據(jù)庫的身份驗(yàn)證,可能需要與內(nèi)部域的單向信任關(guān)系。必須做出的最有代價(jià)的和重要的決定之一為,是否在地理上復(fù)制站點(diǎn)系統(tǒng)和數(shù)據(jù)庫,或者采用可供選擇的可能計(jì)劃。 數(shù)據(jù)庫通常主要包含低敏感的數(shù)據(jù),但有一些數(shù)據(jù)必須加以保護(hù),如信用卡號。(由于系統(tǒng)管理員以明碼傳送的口令定義用戶登錄帳戶,因此不推薦 SQL Server 的身份驗(yàn)證模式。)匿名注冊常用于跟蹤廣告和客戶的個(gè)人化?!盎顒幽夸洝钡目蓴U(kuò)展構(gòu)架,可組成與 Windows 文件系統(tǒng)、IIS 和其他 Microsoft 產(chǎn)品良好結(jié)合的安全訪問控制基礎(chǔ)。對客戶的便利在于:通過 Microsoft 的伙伴 Wallet 服務(wù),簡化了對合作伙伴的站點(diǎn)的登錄訪問,并能進(jìn)行安全的、單擊方式的購物。保護(hù)機(jī)制可劃分為網(wǎng)絡(luò)安全、平臺安全和應(yīng)用程序安全(超出本文范圍)。良好的部署工具可使 Web 站點(diǎn)平穩(wěn)加速地成長。另外成套的 Microsoft 開發(fā)工具,使操作人員能夠自定義管理系統(tǒng),以更好地運(yùn)行站點(diǎn)。 提高管理系統(tǒng)可用性。使用后端網(wǎng)絡(luò)的管理(有時(shí)稱為帶內(nèi)管理)成本較低并易于運(yùn)作。因此,對于大型 Web 站點(diǎn),為可伸縮性、可用性和安全性起見,開發(fā)人員應(yīng)該建立分離的管理網(wǎng)絡(luò)。為了接受管理,每個(gè)設(shè)備 — 不論是 Windows NT 服務(wù)器還是簡單的網(wǎng)絡(luò)集線器 — 都必須有一個(gè)管理代理。其他,如 Windows NT 服務(wù)器,比較復(fù)雜而且包括多個(gè)使用不同協(xié)議的代理。要擴(kuò)展這樣的管理系統(tǒng),開發(fā)人員必須將其分布開來。Microsoft 為集中管理系統(tǒng)提供了豐富的工具和應(yīng)用程序,如 SMS、PerfMon、時(shí)間日志、Robocopy 和腳本工具。圖 14. 管理系統(tǒng)示例在本管理系統(tǒng)示例中,不同線條樣式、粗細(xì)和注釋分別表示管理 LAN、遠(yuǎn)程訪問和安裝在管理系統(tǒng)組件上的應(yīng)用程序。它們通常安裝了許多應(yīng)用程序:“系統(tǒng)管理服務(wù)器管理員控制臺”、“終端服務(wù) (TS) 客戶機(jī)”、Telnet、Internet Explorer 和 SNMP MIB 瀏覽器。沒有必要用單獨(dú)的計(jì)算機(jī)存儲管理數(shù)據(jù)。管理服務(wù)器擁有的管理應(yīng)用程序,提供了站點(diǎn)所需的系統(tǒng)和網(wǎng)絡(luò)管理功能。分布管理服務(wù)器并將它們分區(qū)、使它們只管理有限數(shù)量的節(jié)點(diǎn),將允許人們: RAS 撥入管理網(wǎng)絡(luò)(細(xì)實(shí)線)。 管理系統(tǒng)示例我們的示例站點(diǎn)使用在單獨(dú) LAN 上實(shí)現(xiàn)的分布式管理系統(tǒng)。為了解決可伸縮性和可用性問題,管理系統(tǒng)應(yīng)按下面方法分布:單個(gè)中央管理實(shí)體控制著全部管理系統(tǒng),這就是集中管理系統(tǒng)的特征。小型站點(diǎn)可用非常簡單的管理系統(tǒng)管理,這種管理系統(tǒng)通常使用后端網(wǎng)絡(luò)。 提供配置和調(diào)整被管理節(jié)點(diǎn)資源的工具。 管理服務(wù)器管理服務(wù)器是管理系統(tǒng)的主力。管理控制臺負(fù)責(zé): 盡可能使任務(wù)自動化。 消除單個(gè)故障點(diǎn)。大型站點(diǎn)經(jīng)常從提供網(wǎng)絡(luò)基礎(chǔ)結(jié)構(gòu)、服務(wù)和工具的 Web 宿主公司購買網(wǎng)絡(luò)管理(例如,排除故障和解決點(diǎn)小問題,還有對服務(wù)器、骨干路徑、路由器、電源系統(tǒng)的全天候監(jiān)控,還有其他影響站點(diǎn)內(nèi)容向全世界傳播的一切)。為了減少上外地工作的出差成本,管理網(wǎng)絡(luò)必須提供遠(yuǎn)程部署、供給、監(jiān)控和為地域上十分分散的站點(diǎn)排除故障的能力。LDAP 協(xié)議支持訪問控制功能?!白o(hù)照”使用廣泛應(yīng)用瀏覽器 cookie 的 Kerberos 樣式的身份驗(yàn)證?!俺蓡T”的可擴(kuò)展構(gòu)架,在對象、甚至屬性級上支持站點(diǎn)專用的、真正的 ACL。已有的第三方方法還是專用的。大型站點(diǎn)的身份驗(yàn)證可與匿名客戶瀏覽器的 cookie 表示一樣簡單。常用的方法有:應(yīng)逐個(gè)類型理解未授權(quán)訪問(機(jī)密性/秘密性)和未授權(quán)破壞或修改(完整性)的影響。Windows 域結(jié)構(gòu)站點(diǎn)區(qū)由多類服務(wù)器組成,每一類都包含大量的設(shè)備??稍?(英文) 找到一個(gè)配置 Windows NT / IIS Server 的出色而完整的安全校驗(yàn)表。由于這些模板應(yīng)實(shí)施產(chǎn)品計(jì)算機(jī)的緊密防范,所以最好另外構(gòu)建一套模板用于維護(hù)和診斷。.TCP/IP 協(xié)議堆棧應(yīng)該在可行的地方使用過濾器。還有些其他技術(shù)可用于入侵檢測 — 例如,將 telnet 端口通信路由到某一陷阱或?qū)S玫姆?wù)器。這些傳感器與管理控制臺通信,將在本文后面的“管理與運(yùn)作”一節(jié)講述。其次,加密/解密對 Web 服務(wù)器是高強(qiáng)度計(jì)算,可能沒有足夠的處理器周期在軟件中支持這個(gè)功能。對用戶來講知道與正確的站點(diǎn)而不是別人偽裝的站點(diǎn)進(jìn)行通信很明顯是重要的。還應(yīng)將強(qiáng)大的管理功能限制為管理網(wǎng)絡(luò)而不能穿越服務(wù)網(wǎng)絡(luò)。得以訪問內(nèi)部網(wǎng)絡(luò)是解密高手的首要目標(biāo)。遺憾的是,這種本事比想象的更為普遍。通過維護(hù)通訊狀態(tài),數(shù)據(jù)包屏蔽或帶狀態(tài)的防火墻提供完全的網(wǎng)絡(luò)層隔離。性能方面的考慮也許增強(qiáng)了將敏感數(shù)據(jù)復(fù)制到 DMZ 的需要。 DMZ 中支持所需服務(wù)的特殊功能和高度安全性(加固的)組件,如 Web 或電子郵件服務(wù)。在本節(jié)的其余部分,我們將討論多種保護(hù)機(jī)制,包括網(wǎng)絡(luò)和平臺保護(hù)。通過把這些復(fù)雜的站點(diǎn)分隔為安全域,可以有選擇地實(shí)現(xiàn)最高安全性保護(hù),這可能是昂貴的。安全域概念,如“體系結(jié)構(gòu)概述”中所述,對于保證策略一致性和最經(jīng)濟(jì)的安全性控制應(yīng)用程序是無價(jià)的。如果某一臺服務(wù)器檢測到心跳網(wǎng)絡(luò)通訊故障,它將請求群集狀態(tài)確認(rèn)。最后,如在“管理與運(yùn)作”一節(jié)中所述,單獨(dú)的管理網(wǎng)絡(luò)和帶外網(wǎng)絡(luò),對于各種網(wǎng)絡(luò)基礎(chǔ)結(jié)構(gòu)故障情況下的管理性能和恢復(fù)功能很重要。Microsoft 的 HTTPMon 或第三方工具如 NetIQ () 都能編寫腳本完成這個(gè)工作。圖 12. 使用完全冗余的大型站點(diǎn)在使用完全冗余的大型站點(diǎn)中,不僅有多個(gè) Web 群集,而且每個(gè)服務(wù)器都配置為使用“Microsoft 群集服務(wù)”的故障轉(zhuǎn)移群集。例如,購物籃只能用 DMZ 內(nèi)部的交互來擴(kuò)大,而且只能在客戶請求之后;實(shí)際的購買應(yīng)當(dāng)使用內(nèi)部系統(tǒng)。批量處理請求也是分?jǐn)偨o內(nèi)部網(wǎng)絡(luò)發(fā)送消息的成本的另一個(gè)成功技術(shù)。本模型同“內(nèi)容提供商”模型類似,但附加了對內(nèi)部網(wǎng)絡(luò)上已有業(yè)務(wù)應(yīng)用程序的脫機(jī)事務(wù)處理訪問。最大系統(tǒng)容量 — 系統(tǒng)設(shè)計(jì)能否隨著業(yè)務(wù)增長而平穩(wěn)迅速增長 — 通常是任何站點(diǎn)最為關(guān)注的。幸運(yùn)的是,如前所述,許多站點(diǎn)服務(wù)按對象分區(qū)相對簡單?;谶@一點(diǎn),通過對其服務(wù)的數(shù)據(jù)或提供的邏輯服務(wù)進(jìn)行分區(qū),來擴(kuò)展后端系統(tǒng),是十分必要的。最好是將客戶機(jī)狀態(tài)存儲在數(shù)據(jù)存儲器中,并在需要時(shí),根據(jù) URL 編碼數(shù)據(jù)或客戶機(jī) cookie,對每個(gè)客戶機(jī)請求檢索客戶機(jī)狀態(tài)。將 RRDNS 與 NLBS 組合可產(chǎn)生更好的擴(kuò)展和可用的配置。RRDNS 是配置“域名服務(wù)器 (DNS)”的一種方法,以使 DNS 對主機(jī)名的查詢在一系列提供相同服務(wù)的 IP 地址中順序分布。除增加 IIS Web 服務(wù)器的數(shù)量外,優(yōu)化 Web 服務(wù)器執(zhí)行的 Web 應(yīng)用程序代碼也很重要(這超出了本文檔的范圍)。擴(kuò)展客戶和內(nèi)容接下來的圖 5 和圖 6 兩個(gè)圖例,說明了前端系統(tǒng)的數(shù)量如何變化,以滿足客戶不斷增長的需求,以及如何增加分區(qū)的數(shù)據(jù)存儲的數(shù)量來擴(kuò)展聯(lián)機(jī)內(nèi)容。當(dāng)然,在它們之間還有許多變種。這并不表示不需要它們。管理網(wǎng)絡(luò)連通性我們以管理網(wǎng)絡(luò)的討論來結(jié)束我們的教程,管理網(wǎng)絡(luò)提供了監(jiān)控和管理站點(diǎn)的基本功能。企業(yè)網(wǎng)連通性示為 VPN/路由器的、將站點(diǎn)與企業(yè)網(wǎng)相連的設(shè)備實(shí)際上是個(gè)路由器,如果需要,它可以和 VPN 安全性功能結(jié)合,來簽署和加密通信。它們提供了高度可用性、身份驗(yàn)證數(shù)據(jù)庫的永久存儲、長期事務(wù)存儲,并保證客戶信息和帳戶數(shù)據(jù)的機(jī)密性。有多種可能的處理方法,然后在安全性數(shù)據(jù)存儲與內(nèi)部系統(tǒng)之間傳輸事務(wù)性數(shù)據(jù)。加強(qiáng) DMZ 實(shí)用程序 DC 的服務(wù)器支持所有 DMZ 服務(wù)器的本地域帳戶、本地 DHCP 和名稱服務(wù)(WINS,或最好為 DNS)以及本地實(shí)用程序文件服務(wù)。這些服務(wù)器使用了 Windows 2000 上的“Microsoft 群集服務(wù)”,實(shí)現(xiàn)了帶故障轉(zhuǎn)移能力的高度可用性。這些網(wǎng)絡(luò)之間的 IP 轉(zhuǎn)發(fā)也已禁用。 前端網(wǎng)絡(luò) — Internet 訪問。每個(gè)克隆體在每個(gè)發(fā)布相同內(nèi)容的 NLBS Web 群集中有相同的配置。與路由器/防火墻的交叉連接為在 ISP 連接失效時(shí),或路徑上任何組件失效時(shí),提供了另一條路徑。但是這并不非常嚴(yán)重,因?yàn)橛脩糁恍枵埱笾剌d Web 頁。本節(jié)的其他內(nèi)容將提供示例站點(diǎn)的教程,從 Internet 開始經(jīng) DMZ 直到安全網(wǎng)絡(luò),包括企業(yè)網(wǎng)和管理網(wǎng)絡(luò)。 前端組件,如防火墻。沒有很高數(shù)據(jù)庫安全性的站點(diǎn)可以在安全網(wǎng)絡(luò)中刪除安全 SQL 群集。它是一個(gè)高度可用系統(tǒng):緊急服務(wù)可拯救大部分故障模式,減輕重大災(zāi)難。當(dāng)系統(tǒng)達(dá)到一定的規(guī)模和變化率時(shí),Web 站點(diǎn)的管理和運(yùn)作成為關(guān)鍵因素。管理系統(tǒng)使用單獨(dú)網(wǎng)絡(luò),還可以減輕管理通信量的后端網(wǎng)絡(luò)的負(fù)荷,從而提高整體性能和響應(yīng)時(shí)間。與此類似,商務(wù)站點(diǎn)通過提供附加的防火墻和內(nèi)部網(wǎng)絡(luò),保護(hù)著非常敏感的數(shù)據(jù)。根據(jù)這個(gè)城堡模型,用于保護(hù) Web 站點(diǎn)的關(guān)鍵結(jié)構(gòu)元素是在其周圍構(gòu)筑城墻,有重兵把守的主城門禁止閑雜的人進(jìn)入。復(fù)雜系統(tǒng)(如大型商務(wù)站點(diǎn)及其環(huán)境)可劃分為多個(gè)安全域。對于只讀內(nèi)容該方法已足夠。在最高級別有兩種復(fù)制的站點(diǎn)類型。稱其為帶狀態(tài)的原因是,根據(jù)客戶機(jī)狀態(tài)或請求中的狀態(tài)才能決定將請求路由至何方。甚至在分布請求時(shí)也要避免出現(xiàn)熱點(diǎn)(一個(gè)分區(qū)接收的請求數(shù)量不成比例),這對設(shè)計(jì)數(shù)據(jù)分區(qū)也很重要。當(dāng)一個(gè)節(jié)點(diǎn)上的服務(wù)失敗時(shí),另一個(gè)節(jié)點(diǎn)將接管分區(qū)并提供服務(wù)。前端可用性當(dāng)在這些前端服務(wù)器上運(yùn)行應(yīng)用程序代碼時(shí),無論是用 Microsoft Visual Basic(R) 或 C++ 等高級語言還是用腳本編寫,