天天看點

使用 Microsoft Windows DNA 平台建構 Web 站點的藍圖使用 Microsoft Windows DNA 平台建構 Web 站點的藍圖執行摘要體系結構概述示例站點可伸縮性可用性安全性管理與運作摘要

http://www.microsoft.com/china/MSDN/library/archives/technic/voiCEs/DNAblueprint.asp

使用 Microsoft Windows DNA 平台建構 Web 站點的藍圖

草圖,.9 版

Microsoft Corporation

2000 年 1 月

使用 Microsoft Windows DNA 平台建構 Web 站點的藍圖使用 Microsoft Windows DNA 平台建構 Web 站點的藍圖執行摘要體系結構概述示例站點可伸縮性可用性安全性管理與運作摘要

用自解壓縮的可執行檔案下載下傳本文檔的 Microsoft Word 版本。(177K)

摘要:

關于用 Microsoft Windows DNA 技術建構複雜的 Web 站點的教育訓練技術資料,對象為工程師和決策者。

目錄

執行摘要

體系結構概述

示例站點

可伸縮性

可用性

安全性

管理與運作

摘要

執行摘要

商務正迅速發展為标準的、基于 Web 的計算模型,其特征為重複且針對任務的系統的松散連接配接層。很大比例的商務 Web 站點 — 提供聯機服務的伺服器、應用程式和資料的集合 — 都是用當今的 Microsoft Windows DNA 平台建構的,成為該計算模型的基礎。本文檔定義了建構 Windows DNA 站點的體系結構。讀者可以借用這些資訊,設計和建構當今基于 Windows DNA 的站點。

本文檔集中讨論如何使用 Microsoft 技術,特别是 Windows DNA 平台,以盡可能有效利用财力和時間的方法,建構可伸縮、可用、安全和可管理的站點的基礎結構。強調保持 Web 站點簡便靈活的運作和應用程式設計,以及“.com”如何能夠成功地以必要而有效的可伸縮性、可用性、安全性和可管理性來部署和運作站點。其次強調目前文檔齊全的工具和建構 Web 應用程式元件的方法。另外還從宏觀層次檢查 Microsoft Windows DNA 解決方案(使用 Microsoft(R) Windows NT(R) 4.0 和/或 Windows 2000)的優點,并逐級進入,以定義如何使用 Microsoft 産品建立站點體系結構中的每一層次。最後,将讨論使用 Microsoft 工具和技術管理 Web 站點。

盡管隻是個概述,本文檔還是檢查了一個成功使用部署的體系結構的示例 Web 站點,它可作為使用 Windows DNA 平台建構的站點的模型。本文檔不涉及(除了與可伸縮性、可用性、安全性和可管理性相關時)諸如應用程式設計、開發工具或資料庫設計等主題;但是提供涵蓋這些領域的相應文檔的指針。

“體系結構概述”介紹一些對于大型 Web 站點很重要的體系結構概念。在“示例站點”描述了一個具有代表性的站點并解釋了它使用的基礎結構和各層。其餘章節讨論了站點的四個關鍵屬性 — “可伸縮性”、“可用性”、“安全性”和“可管理性” — 并使用示例站點來說明這些問題。對相關文檔的引用貫穿整個文檔。

體系結構概述

簡介

大型商務站點為動态變化的模型:它們通常一開始很小,但随着需求的增長而指數增長。不僅在支援的獨特使用者的數量上不斷增加,這種增長非常迅速,而且在提供的使用者服務的複雜性和內建性方面也不斷增長。經投資者的檢查,許多站點啟動的商務計劃的可伸縮性為 10-100 倍,這個資料是可信的。成功的商務站點,通過不斷增加向客戶機提供邏輯服務的伺服器數量(即通過伺服器提供其自身的多個執行個體(克隆)或通過在自身之間均衡工作負荷),以及建立與已有計算機系統相內建的服務來管理這種增長和變化。這種增長的基礎為支援高度可用性的堅實的體系結構、安全基礎結構和管理基礎結構。

體系結構目标

本文檔描述的體系結構力圖達到四個目标:

  • 線性可伸縮性 — 可持續增長以滿足使用者需求和業務複雜性。
  • 持續的服務可用性 — 使用備援和功能專業化來提高容錯能力。
  • 資料和基礎結構的安全性 — 保護資料和基礎結構免受惡意攻擊或盜用。
  • 管理的簡便性和完整性 — 確定運作能夠滿足增長的需求。

可伸縮性

為了可以擴充,商務 Web 站點将其體系結構分為兩部分:前端(客戶機可通路的)系統和存儲長期永久資料的或商務處理系統所在的後端系統。負荷平衡系統用于将工作配置設定到每一層的系統中。前端系統通常不保留長期狀态。也就是說,前端系統中每次請求的環境通常是暫時的。這種體系結構,通過克隆或複制與無狀态負荷平衡系統(使負荷在可用的克隆體之間配置設定)相耦合的前端系統,擴充其支援的獨特使用者的數量。我們将克隆體集合中的 IIS 伺服器集合稱為 Web 群集。在多個後端系統之間分區聯機内容同樣可以擴充。帶狀态的或内容敏感的負荷平衡系統則将請求路由到正确的後端系統。通過功能專業化,業務邏輯複雜性以可管理的方式增長。專用的伺服器負責專門的服務,包括與遺留或脫機系統的內建。克隆與分區,和功能專業化服務一起,通過單獨增長每個服務而使得這些系統具有極大的可伸縮性。

可用性

通過使用多個克隆伺服器(所有伺服器均為其客戶機提供唯一的位址)使得前端系統具有高度可用性和可伸縮性。負荷平衡用于在克隆體之間配置設定負荷。将故障檢測功能置入負荷平衡系統提高了服務的可用性。不再提供服務的克隆體将自動從負荷平衡集合中删除,而剩下的克隆體将繼續提供服務。使後端系統具有高度可用性更具挑戰性,主要是因為它們維護着資料或狀态。它們通過對每個分區使用故障轉移群集 (failover clustering) 來實作高度可用。故障轉移群集假定應用程式能夠在可以通路故障系統的磁盤子系統的其他計算機上繼續運作。分割故障轉移發生在支援分區請求的主節點故障時,此時分區請求自動切換到二級節點。二級節點必須有權通路與故障節點同樣的資料存儲,該資料存儲也應該是複制的。複制品還可通過在遠端位置上成為可用,來提高站點的可用性。可用性在很大程度上還取決于企業級 IT 規則,包括更改控制、嚴格測試和快速更新以及回報機制。

安全性

安全性 — 通過為資訊的機密性、保密性、完整性和可用性提供充分的保護來管理風險 — 是任何商務站點成功的基本要素。商務站點使用多個安全域,其中包括具有不同安全性需求的系統,每個域均受到網絡過濾器或防火牆保護。有三種主要的域,互相用防火牆隔離,它們是:公共網絡;DMZ(由軍事術語“非軍事區域”派生而來),是前端和内容伺服器所在之處;以及安全網絡,是建立或使用内容的地方,也是管理和存儲安全資料的地方。

管理

管理和運作廣泛涉及維護商務站點及其服務正常工作所需的基礎結構、工具以及管理者和技術人員。許多站點均位于常稱作宿主環境的地方。也就是說,這些系統配置有“Internet 服務提供商 (ISP)”或專家宿主服務,這裡可提供豐富的 Internet 連通性。是以,系統的管理和監控必須遠端完成。在這種體系結構中,我們将描述這種管理網絡和網絡必須支援的管理功能類型。

體系結構元素

本節要突出的商務 Web 站點的關鍵體系結構元素包括:客戶機系統;負荷平衡的、克隆的前端系統(客戶機系統可用通路的);負荷平衡的、分區的後端系統(前端系統可用通路這裡的永久存儲);以及三種拱形體系結構考慮:災難承受能力、安全域及管理和運作。

大型商務 Web 站點的原理

圖 1 展示了商務 Web 站點的概念和基本原理,這些内容将在本節的以下部分詳細說明。

使用 Microsoft Windows DNA 平台建構 Web 站點的藍圖使用 Microsoft Windows DNA 平台建構 Web 站點的藍圖執行摘要體系結構概述示例站點可伸縮性可用性安全性管理與運作摘要
圖 1. 體系結構的原理

圖 1 顯示了前端、後端和負荷平衡層的劃分,正如本文檔所述。防火牆和網段分區為安全原理的關鍵。

客戶機

在這種站點體系結構中,客戶機向某服務名稱發送請求,該服務名稱代表提供給客戶機的應用程式。最終使用者和客戶機軟體不知道提供服務的系統的内部運作方式。通常,最終使用者鍵入第一個 URL,例如,

http://www.thebiz.com/

,然後單擊超級連結或完成 Web 頁上的表單以便向站點深處導航。

對于範圍廣泛的 Web 站點,一個重要的決定就是是否在浏覽器中支援功能的最低公共集,或是否為不同的浏覽器版本提供不同的内容。目前,盡管還有更舊的浏覽器在使用,但 HTML 3.2 通常為所支援的最低版本。例如,浏覽器可如此分類:支援 HTML 3.2 的,如 Microsoft Internet Explorer 3.0;支援動态 HTML (DHTML) 的,如 Internet Explorer 4.0;以及支援 Extensible Markup Language (XML) 的,如 Internet Explorer 5.0。然後為每個類提供不同的内容。IIS 和工具,能夠建立可動态呈現給不同浏覽器的頁面。

前端系統

前端系統由向 Web 客戶機提供核心 Web 服務(如 HTTP/HTTPS、LDAP 和 FTP)的伺服器組成。開發人員通常将這些前端系統分為一系列稱作克隆體的相同系統的集。它們運作相同的軟體,并通過内容複制或高度可用的檔案共享通路相同的 Web 内容、HTML 檔案、ASP、腳本等。通過克隆體之間的負荷平衡請求,以及通過檢測故障克隆體并将其從工作的克隆體中删除,可實作高度可伸縮性和可用性。

克隆體(無狀态前端)

克隆是為 Web 站點增加處理能力、網絡帶寬和存儲帶寬的良好手段。由于每個克隆體在本地複制存儲,是以,所有更新必須應用到所有克隆體上。但是,由于與負荷平衡、故障檢測和消除客戶機狀态的耦合,克隆的确是擴充站點和提高可用性的良好方法。

無狀态負荷平衡

負荷平衡層向使用者提供一個服務名稱并将客戶機負荷配置設定給多個 Web 伺服器。這将為伺服器集提供可用性、可伸縮性和某種程度的可管理性。負荷平衡手段有多種,包括“Round Robin 域名伺服器 (RRDNS)”及各種基于網絡的和基于主機的負荷平衡技術。

維護客戶機狀态

我們不希望在克隆前端系統中維護客戶機狀态,因為這與透明客戶機故障轉移和負荷平衡相抵觸。在會話間維護客戶機狀态的基本方法有兩種。一種是将客戶機狀态存儲在分區的後端伺服器中。(由于客戶機狀态可以完全分區,是以也易于擴充。但是,需要對每個客戶機請求檢索該狀态)。在會話間維護客戶機狀态的另一種方法是使用 cookie 和/或 URL。Cookie 是由客戶機 Web 浏覽器管理的小檔案。它們無益于減小帶狀态伺服器的負荷和增加無狀态前端系統的實用性。資料還可以存儲在 URL 中,并在使用者單擊顯示的 Web 頁上的連結時傳回。

前端可用性

當在這些前端伺服器上運作應用程式代碼時,無論是用 Microsoft Visual Basic(R) 或 C++ 等進階語言還是用腳本編寫,從不同的 Web 應用程式隔離程式設計錯誤是非常重要的。使應用程式代碼在 Web 伺服器的程序外運作,是互相隔離程式設計錯誤和避免 Web 伺服器故障的最佳方法。

後端系統

後端系統是維護應用程式資料的資料存儲,也是啟用與其他維護資料資源的系統的連通性的資料存儲。資料可以存儲在普通檔案、資料庫系統(如 Microsoft SQL Server(TM))或其他應用程式中,如下表所示。

表 1. 資料存儲的不同類型
檔案系統 資料庫

其他

應用程式

示例 檔案共享 SQL Ad insertion、SAP、Siebel
資料 HTML、圖像、可執行檔案、腳本、COM 對象 類别、使用者資訊、日志、帳單資訊、價格表 庫存目錄/庫存、智語廣告、帳目資訊

使後端系統擴充和具有高度可用性更具挑戰性,主要因為它們必須維護資料和狀态。一旦單一系統的可伸縮性已經達到,就必須分區資料并使用多台伺服器。是以,持續的可伸縮性是通過資料分區和将邏輯資料映射到正确的實體分區的資料相關路由層或帶狀态負荷平衡系統來實作的。

對于提高的可用性,群集 — 通常由兩個通路公共的、複制的或 RAID (獨立盤的備援數組)保護的存儲器的節點組成 — 将支援每個分區。當一個節點上的服務失敗時,另一個節點将接管分區并提供服務。

分區(帶狀态的後端系統)

通過複制硬體和軟體及在各節點之間劃分資料,分區增強了服務能力。通常,資料是按對象分區的,如郵箱、使用者帳戶或生産線等。在某些應用程式中分區是按時間進行的,例如按天或按季度。也可能用随機分區的方法分布對象。拆分和合并分區需要工具,最好是聯機的(不用中斷服務),符合系統變化的需要。增加宿主分區的伺服器數量,提高了服務的可伸縮性。不過,分區的選擇将決定通路模式及其産生的負荷。甚至在分布請求時也要避免出現熱點(一個分區接收的請求數量不成比例),這對設計資料分區也很重要。有時這很難避免,而且必須有大型多處理器系統宿主分區。分區故障轉移,即服務自動切換到二級節點(退回未完成的事務),可提供持續的分區可用性。

帶狀态負荷平衡

如果資料按多個資料伺服器分區,或開發提供專用功能的伺服器來處理特定類型的 Web 請求,必須編寫相應的軟體将請求路由到相應的資料分區或專用伺服器。通常,該應用程式邏輯是由 Web 伺服器運作的。其編制目的是确定相關資料的位置,并且根據客戶機請求的内容、客戶機 ID 或客戶機提供的 cookie 将請求路由到資料分區所在的相應伺服器。它還知道提供專用功能的伺服器位置并将請求發送到那裡進行處理。該應用程式軟體完成帶狀态負荷平衡。稱其為帶狀态的原因是,根據客戶機狀态或請求中的狀态才能決定将請求路由至何方。

後端服務的可用性

除了使用故障轉移和群集提高可用性外,整個系統體系結構的一個重要因素,就是站點提供某些有限程度服務的能力,甚至在多種服務失效的情況下。例如,使用者應該總能通過使用者憑據的複制登入至聯機郵件服務,然後使用克隆的“簡單郵件傳輸協定 (SMTP)”路由器發送郵件,即使使用者的郵件檔案是無效的。相類似,在商務站點中使用者應該可以浏覽目錄,即使暫時不能處理事務。這要求系統體系結構設計者要設計出“當個别部件發生故障時工作可靠但性能下降”的服務,以避免由于局部故障而使終端使用者感覺為整個站點故障。

災難承受能力

某些商務 Web 站點需要持續的服務可用性,即使在災難發生時:他們的全球商務活動依賴于可用的服務。災難可能是自然災害(地震、火災或洪水),也可能是惡意操作(如恐怖活動或心懷不滿的員工)的結果。災難承受系統要求将站點的副本或部分副本放在離主站點足夠遠的地方,這樣,在整個災難中失去多個站點的機率會小到可承受的程度。在最進階别有兩種複制的站點類型。主動站點分擔部分負荷。被動站點在發生災難後才提供服務。在需要快速故障轉移的場合通常使用主動站點。被動站點可能隻是由租用伺服器和遠端的、位于備份錄音帶所在地的連接配接組成,這些連接配接可在需要時應用于上述伺服器。像這種最小限度的規劃應該為任何商務考慮之列。

更新複制的站點,使它們的内容保持一緻是很具挑戰性的。此處的基本方法是:将内容從中央更新伺服器複制到遠端站點的更新伺服器,更新每個站點的内容。對于隻讀内容該方法已足夠。但是,對于更多的執行事務的進階站點,還需要保持資料庫為最新。資料庫複制和日志轉移通常用于将對資料庫的事務性更新轉移到遠端站點的地方。典型情況下,資料庫将出現幾分鐘不同步。但是,這比站點完全失效要好。

安全域

安全性機制用于保護敏感資訊的保密性和機密性,使其免受未經許可的通路;通過防止未經許可的修改或破壞,保護系統和資料的完整性;并通過防止拒絕服務攻擊和提供意外或災難計劃,來幫助確定可用性。

安全域是一緻的安全性區域,區域之間有定義明确的保護接口。這一概念的應用程式有助于確定在正确的場合應用正确的保護級别。複雜系統(如大型商務站點及其環境)可劃分為多個安全域。區域表示任何所希望的劃分 — 例如,按地域、按組織、按實體網絡或者伺服器或按資料類型。對于商務站點,主要的劃分方式可适當按照 Internet、站點的 DMZ、安全性、企業和管理網絡。域還可能互相交叉或重疊。例如資料庫中的信用卡号碼可能需要附加保護。附加的安全性控制,如卡号的加密,可提供這種保護。

下面的比喻有助于形象說明安全域。Internet 好象中世紀的城堡及其周邊環境:在其城牆之外,很少有法律限制并有各種不拘一格的個性。根據這個城堡模型,用于保護 Web 站點的關鍵結構元素是在其周圍構築城牆,有重兵把守的主城門禁止閑雜的人進入。需要建構的城牆及城門等效于維護給定安全級的标準。當然,不會有沒有保護的後門!對于大型商務站點,城牆稱為站點的邊界。在網絡術語中,表示站點的内部通信裝置是專用的并與 Internet 隔離,指定的入口除外。站點的主城門稱作防火牆。防火牆将檢測每一通信包,確定隻允許希望的資訊進入。繼續這個比喻,城堡中的要塞保護着皇冠寶石。附加的圍牆和加鎖的門或牆中牆,提供了附加保護。與此類似,商務站點通過提供附加的防火牆和内部網絡,保護着非常敏感的資料。

使用 Microsoft Windows DNA 平台建構 Web 站點的藍圖使用 Microsoft Windows DNA 平台建構 Web 站點的藍圖執行摘要體系結構概述示例站點可伸縮性可用性安全性管理與運作摘要
圖 2. 防火牆/DMZ

防火牆是一種控制網絡中處于不同可信級别的兩部分之間的資料流的機制。防火牆的範圍可以從資料包過濾器(隻允許指定 IP 端口和/或一系列 IP 位址之間的資料通信)到應用程式級防火牆(實際檢查資料的内容并決定是否讓其通過)。站點通常将過濾資料包的外向防火牆和過濾協定和端口層資料的内向防火牆結合使用。

保護站點的安全性很複雜,但防火牆/DMZ 是關鍵結構元件(實際上是網段中的子網)。對于保證期望的站點保護級别,它是必要但絕不充分的安全性機制。本文檔的“安全性”章節專門叙述如何保護站點的安全。

管理基礎結構

站點管理系統通常建構在單獨的網絡上,以確定高度可用。管理系統使用單獨網絡,還可以減輕管理通信量的後端網絡的負荷,進而提高整體性能和響應時間。管理和運作有時也使用後端網絡,但對于大型的、高可用度的站點,不建議這樣做。

管理系統的核心結構元件為管理控制台、管理伺服器和管理代理。所有核心元件均可獨立擴充。管理控制台是管理者通路和操縱被管理系統的入口。管理伺服器時刻監控着所管理的系統、接收報警和通知、記錄事件和性能資料,并作為響應預定事件的第一防線。管理代理為在其駐留的裝置内部執行主要管理功能的程式。管理代理與管理伺服器使用标準的或專用的協定互相通信。

當系統達到一定的規模和變化率時,Web 站點的管理和運作成為關鍵因素。管理的簡便性、易于配置、持續的健康監控和故障檢測可能比添加應用程式功能或新服務更為重要。是以,應用程式工程師必須十分熟悉部署和運作應用程式的操作環境。另外,操作人員還必須十分熟悉克隆和分區方案、管理工具和安全機制,以維持持續可用的、基于 Internet 的服務。

示例站點

簡介

本示例站點力求通用,以說明核心結構元件和基礎結構。但是,它是我們曾讨論過的許多運作站點的關鍵結構特性的代表。出于競争和安全原因,站點所有者通常不願展示其站點的實際詳細内幕。

我們的示例以一個大型站點為例,并展示了拓撲結構群組件備援。它是一個高度可用系統:緊急服務可拯救大部分故障模式,減輕重大災難。從 ISP 1 到 ISP N 的每個分組中的伺服器均支援所有站點緊急處理功能,是以,即使失去一個 ISP 也不會使站點癱瘓。在大部分災難情況下,提供不間斷的服務需要在多個地理位置 (geoplex) 上複制整個站點。Cisco 的“分布式控制器”通常用于支援 geoplex。遺憾的是,站點複制的成本将超出建構站點的兩倍,并且可能導緻 Web 應用程式的資料一緻性問題。

從該示例可派生出較小的和大得多的站點。較小站點可能不需要在每個群集中有如此多的伺服器。不需要很高可用性的站點隻要删除備援的元素,特别是圖中從 Internet ISP 1 開始的整個上半部分。沒有很高資料庫安全性的站點可以在安全網絡中删除安全 SQL 群集。另一方面,非常大的站點可以添加下列内容充分地擴充:

  • 每個 IIS Web 群集的克隆體。
  • Web 群集數量。
  • Internet 連接配接通路點。
  • 前端元件,如防火牆。

更進一步,随着網絡通信量和要管理的裝置數量的增加,管理網絡也必須增加規模和複雜性。

圖 3 展示了示例站點的體系結構。

使用 Microsoft Windows DNA 平台建構 Web 站點的藍圖使用 Microsoft Windows DNA 平台建構 Web 站點的藍圖執行摘要體系結構概述示例站點可伸縮性可用性安全性管理與運作摘要
圖 3. 大型 Web 站點網絡拓撲結構示例

在圖 3 中,不同的線形、粗細和注釋顯示了網絡不同部分的 IP 位址和連接配接。特别是:

  • 外部(面向 Internet)網絡(細)。
  • DMZ 網絡(中)。
  • 安全(内部)網絡(粗)。
  • 管理網絡(細虛線)。
  • 群集核心專用網絡(細 — 每個群集本地專用)。
  • 與企業網的連接配接(閃電狀)。

本節的其他内容将提供示例站點的教程,從 Internet 開始經 DMZ 直到安全網絡,包括企業網和管理網絡。

Internet

教程從連接配接一個或多個“Internet 服務提供商 (ISP)”開始。我們的示例列舉了多個标記為 ISP 1 - ISP N 的備援連接配接。這些連接配接應該來自不同(實體上獨立)的網絡。域名伺服器(DNS,圖 3 中沒有展示)提供了域名與一個或多個 TCP/IP 位址之間的正向和反向映射。例如,http://www.microsoft.com/ 目前映射下列位址,每組位址均為一個群集。

207.46.130.14      207.46.131.28
207.46.130.149    207.46.131.30
207.46.130.150    207.46.131.137

如果有多個 IP 位址,DNS 将浏覽位址清單來處理對 www.microsoft.com IP 位址的不斷查詢 — 是以,得名為“Round Robin DNS (RRDNS)”。RRDNS 的缺點是不能檢測出 ISP 連接配接的消失而繼續為不再工作的 IP 位址提供服務。但是這并不非常嚴重,因為使用者隻需請求重載 Web 頁。第三方解決方案,如 Cisco 的 Local Director或 F5 Networks 的 BigIP 提供了動态路由連接配接的更好解決方案。

DMZ

前端網絡上的伺服器是面向 Internet 的。防火牆是基本的安全性元件,通過按資料包類型、源和目的位址過濾資料通信量,來提供網絡隔離。它們形成了由雙向箭頭描述的 DMZ(非軍事區)邊界。

防火牆

路徑中的第一個元件就是路由器/防火牆,它們的功能是截然不同的或組合在一個裝置中。面向 Internet 的路由器支援“邊界網關協定”(http://www.ietf.org/rfc/rfc1654.txt)。高速前端交換機支援到前端 Web 群集中的每台伺服器的連接配接。與路由器/防火牆的交叉連接配接為在 ISP 連接配接失效時,或路徑上任何元件失效時,提供了另一條路徑。

前端網絡

前端提供核心 Web 服務,如 HTTP/HTTPS,使用 Microsoft Internet Information Server (IIS) 提供 HTML 和 ASP 頁面服務,使用 LDAP(Lightweight Directory Access Protocol)進行使用者身份驗證。還可以将“站點伺服器商業版”裝載到前端伺服器上,以提供附加的資料庫驅動的服務。

前端伺服器按服務和功能分組 — 例如 http://www.microsoft.com/、http://search.microsoft.com/、SMTP(電子郵件)或 FTP(下載下傳)。SSL 服務 (HTTPS) 同樣是從普通 HTTP 通信中隔離出來的。這使得經過特殊配置的、帶有高成本的硬體安全加速器子產品的伺服器,可支援高速加密功能。更進一步,SSL 會話繼承了帶狀态性,并可能需要特殊的故障轉移處理。

在示例站點中運作 Windows 2000 的每個 Web 群集均使用 NLBS(網絡負荷平衡服務 — 在 Windows NT 中也稱為 Windows 負荷平衡服務)。每個克隆體在每個釋出相同内容的 NLBS Web 群集中有相同的配置。這将為無狀态 Web 應用程式提供透明的故障轉移,與單個伺服器相比從根本上提高了服務能力。Web 群集通過添加克隆體分擔群集的負荷來支援廣闊的可伸縮性。

客戶機向使用虛拟 IP 位址的每個 Web 群集提出請求,該虛拟 IP 位址是 NLBS 群集中的所有前端伺服器均可以響應的。前端伺服器則通路位于後端群集檔案共享伺服器和後端群集 SQL 伺服器上的站點内容。

提供 Web 服務所需的所有 COM 對象,包括從 ASP 頁調用的對象,均安裝并注冊在每個前端伺服器上。該站點的 ASP 頁可以裝載在前端伺服器的本地磁盤上,也可以保持在後端群集檔案共享伺服器上。

每個前端伺服器均特殊加強了安全性并連接配接到三個網絡:

  • 前端網絡 — Internet 通路。
  • 後端網絡 — 通路 DMZ 伺服器,并通過内部防火牆通路安全網絡。
  • 管理網絡 — 支援管理和運作功能。

這種網絡隔離,在提高總體可用帶寬和備援的同時提高了安全性。

注意該站點中任何伺服器上唯一可公共通路的 IP 位址為 NLBS 虛拟 IP 位址,隻有前端伺服器才可以響應的這個位址。用于面向 Internet 的 NIC(網絡接口卡)的 IP 過濾,可確定隻有被支援的功能的正确通信類型和源,才能進入前端伺服器。這些網絡之間的 IP 轉發也已禁用。

後端網絡

後端網絡通過使用高速、私用的 10.10.1.x LAN 支援所有 DMZ 伺服器。這種體系結構可防止從 Internet 直接通路 DMZ 伺服器,即使防火牆被突破,因為不允許 Internet 路由器轉發指定的 IP 位址範圍(請參閱 http://www.ietf.org/rfc/rfc1918.txt 上的 Address Allocation for Private Internets(專用 Internet 的位址配置設定)),包括範圍 10.x.x.x。當使用前端網絡時,備援交換機可提供對所有前端和後端伺服器的通路。所有後端交換機共享公共網絡,是以後端通信量負荷将成為主動站點的問題,特别是單獨的管理網絡不能進行記錄并且其他前端管理網絡還在通信。

後端網絡的主要元件為加強了安全性的伺服器群集,它們提供對 Web 内容和臨時永久狀态,如會話内事務性資料(例如購物推車内容),的存儲服務。由于所有永久資料随處可得,是以沒有必要提供備份工具。通過添加群集和分區資料庫可實作可伸縮性。

這些伺服器使用了 Windows 2000 上的“Microsoft 群集服務”,實作了帶故障轉移能力的高度可用性。一個伺服器失效不會導緻資料服務的失效甚至服務的中斷。當失效的伺服器恢複聯機時,可以繼續資料服務。由于硬碟的确會失效,是以使用 RAID 驅動器陣列可提供必要的資料備援保護。

群集内的檔案共享支援檔案存儲服務。群集上運作的 Microsoft SQL Server 提供資料庫服務。每個群集伺服器至少使用了四個 NIC:一個用于每個交換機、一個用于專用核心 LAN(應該使用其他專用網絡位址,如 192.168.10.x)、一個用于管理 LAN。除伺服器實體位址外,群集還具有多個虛拟 IP 位址,以支援群集本身和每個群集服務位址對(用于備援)。

加強 DMZ 實用程式 DC 的伺服器支援所有 DMZ 伺服器的本地域帳戶、本地 DHCP 和名稱服務(WINS,或最好為 DNS)以及本地實用程式檔案服務。對内部企業域的單向信任關系,提供了對安全的内部系統的身份驗證式通路。

安全網絡

另一道防火牆形成了 DMZ 的内部邊界,并将所謂的安全網絡與後端網絡隔離開。防火牆配置成隻允許端口與源/目的對之間所要求的通信。安全網絡又由一個專用網絡(本例中為 10.10.2.0)、一對耦合的交換機、各種伺服器和标記為 VPN/路由器的裝置組成,這個标記為 VPN/路由器的裝置提供了與内部企業網的連接配接。安全網絡在邏輯上為企業網的一部分。安全網絡上的伺服器通常也是内部企業域的成員,是以域控制器和位址及名稱伺服器也假定是内部的。

為了支援其他功能,在本節中可能還需要其他伺服器。有多種可能的處理方法,然後在安全性資料存儲與内部系統之間傳輸事務性資料。事務的範圍是從傳統的同步 (MTS — Microsoft Transaction Service) 到異步 (MSMQ - Microsoft Message Queue) 乃至基于批處理或基于電子郵件的存儲和轉寄。這些内容已超出本文檔的範圍。

但請注意,對于許多組織來說,Internet 是許多通道中唯一提供使用者服務的傳送通道,這很重要。以書店或銀行為例。大部分業務邏輯和處理發生在内部的現有系統内。Internet 解決方案必須與這些現有系統協作并為其提供服務。

安全資料存儲

安全 SQL 群集是可選的,并隻為更複雜的事務性站點中所需。它們提供了高度可用性、身份驗證資料庫的永久存儲、長期事務存儲,并保證客戶資訊和帳戶資料的機密性。與 DMZ 中的伺服器群集不同,這些伺服器必須備份,既可以使用直接連接配接的可移動儲存設備,也可以通過企業網進行備份。其他功能與 DMZ 群集類似。為了備援,每個伺服器将重複連接配接到安全網絡的兩個交換機上。同樣又是通過分區資料庫和添加群集,來實作可伸縮性。

更新伺服器

更新伺服器出現在安全網絡部分,盡管它們可能位于企業網或甚至位于 DMZ 中。它們接受和更新來自企業網或外部内容提供商的内容,然後将内容部署到 Web 伺服器,以使站點保持一緻狀态。通常有很多機制可用,包括 Microsoft Content Replication(Microsoft 内容複制系統)和諸如 RoboCopy 等工具。

企業網連通性

示為 VPN/路由器的、将站點與企業網相連的裝置實際上是個路由器,如果需要,它可以和 VPN 安全性功能結合,來簽署和加密通信。另外,使用 Windows 2000 内置 IPSec 特性也可添加 VPN 功能。這将在根據需求的基礎上支援端對端的安全性,這樣可以節約 VPN 硬體支援的成本。

就企業資料中心中宿主的站點而言,連接配接企業網易如反掌。在這種情況下,VPN/路由器直接與企業網相連。

大型商務站點經常由遠端的企業資料中心宿主。專用熱線經常用來連接配接站點與企業網,特别是在需要高性能、低響應時間的情況。另外,Internet 本身也可能用于傳輸,這種情況下使用 VPN 技術確定所有通信的安全非常重要。

管理網絡連通性

我們以管理網絡的讨論來結束我們的教程,管理網絡提供了監控和管理站點的基本功能。為簡單起見,我們隻示範用 LAN 連接配接單獨管理網絡的計算機。這些是用單獨的 NIC 實作的。某些站點沒有使用單獨的管理網絡。相反,它們瓦解後端網絡上的管理通信。為安全性、網絡負荷和管理起見,我們不建議這樣做。

與路由器、交換機和防火牆的管理連接配接沒有顯示。用于緊急帶外 (OOB) 通路的序列槽撥接上網也沒有顯示。這并不表示不需要它們。當管理網絡(或用于管理的後端網絡)不可用時,仍然可以通過這種設定通路每個主機。

摘要

下面章節使用前例的模型,詳細讨論本文檔所描述的體系結構如何滿足這四個目标:

  • 線性可伸縮性 — 可持續增長以滿足使用者需求和業務複雜性。
  • 持續服務可用性 — 使用備援和功能專業化來提高容錯能力。
  • 資料和基礎結構的安全性 — 保護資料和基礎結構免受惡意攻擊或盜用。
  • 管理的簡便性和完整性 — 確定運作能夠滿足增長的需求。

可伸縮性

簡介

圖 4 例舉了站點可伸縮性的兩個不同次元。第一個次元,即水準軸,表示在有代表性的一天,通路站點的獨特客戶機的數量。随着獨特客戶數量的增加,配置用于支援增加的客戶庫的系統數量也将增加。典型情況下,支援客戶庫所需的站點上的内容也必須增加。

第二個次元,即垂直軸,表示站點的業務複雜性程度。我們已經辨別了三個主要類别。當然,在它們之間還有許多變種。類别之間通常通過包含下級分類的功能而互為基礎。最底層分類,和在業務邏輯複雜方面最簡單的,是内容提供商類。上一層的分類,除來内容外還有事務處理,但許多業務處理是脫機完成的。而最上層的分類既有内容還有事務,而且許多業務處理邏輯完全內建在聯機進行中。

随着站點在圖中從左到右、從下向上移動,站點的運作和應用程式部署的難度明顯增加。

使用 Microsoft Windows DNA 平台建構 Web 站點的藍圖使用 Microsoft Windows DNA 平台建構 Web 站點的藍圖執行摘要體系結構概述示例站點可伸縮性可用性安全性管理與運作摘要
圖 4. 擴充次元

在本節的其餘部分,我們考慮圖 4 環境中的可伸縮性。首先,我們關注擴充獨特客戶和内容,然後再看業務複雜性的增加。

擴充客戶和内容

接下來的圖 5 和圖 6 兩個圖例,說明了前端系統的數量如何變化,以滿足客戶不斷增長的需求,以及如何增加分區的資料存儲的數量來擴充聯機内容。

(如果您的浏覽器不支援inline frames,請點選這裡在單獨的頁面觀看此圖)

圖 5. 小型站點

上圖表示了具有一個 IIS Web 伺服器,一個檔案或 SQL Server 和一個在 DMZ 内的實用程式伺服器的基本站點,它連接配接安全 SQL Server 或檔案伺服器和安全更新伺服器。下圖表示,如圖 5 所示的小型站點,應如何擴大才能支援更多客戶和更多内容。

(如果您的浏覽器不支援inline frames,請點選這裡在單獨的頁面觀看此圖)

圖 6. 擴大的站點

在前端,IIS Web 伺服器的數量和這些伺服器的 Web 群集的數量有所增加,并使用 NLBS 在它們之間平衡了負荷。在後端,檔案伺服器和 SQL Server 群集的數量有所增加,是以,邏輯需要包括在前端 Web 伺服器中,才能将資料請求路由到正确的後端資料分區。我們下一步再說明這兩種技術。

擴充前端系統

增加克隆的 IIS Web 伺服器的數量、将其分組為 Web 群集和使用負荷平衡系統,是增加支援的獨特客戶數量的主要技術。但請注意,這涉及重要的應用程式狀态考慮,我們将在後面讨論。

除增加 IIS Web 伺服器的數量外,優化 Web 伺服器執行的 Web 應用程式代碼也很重要(這超出了本文檔的範圍)。

針對可伸縮性的 Web 前端負荷平衡

負荷平衡以虛拟 IP 位址的形式,向客戶機提供了單一的服務名稱,然後将客戶機分布于提供該服務的伺服器集上。

進行負荷平衡有三種主要技術:

  • Round Robin DNS (RRDNS)。
  • 帶有專用的第三方外挂盒的智能 IP 負荷平衡。
  • 伺服器内部使用 Windows 2000 的 NLBS 的智能 IP 負荷平衡。

RRDNS 是配置“域名伺服器 (DNS)”的一種方法,以使 DNS 對主機名的查詢在一系列提供相同服務的 IP 位址中順序分布。這是負荷平衡的基本形式。該方法的優點是:無成本、易于實作,并且不需要變動伺服器。缺點是:沒有關于單個伺服器負荷或可用性的回報機制,并且由于 DNS 更改的傳播延遲導緻将請求繼續發往故障的伺服器,進而沒有辦法從可用的伺服器集中快速删除故障的伺服器。

基于伺服器的負荷平衡将一組伺服器組成 NLBS 群集,然後令群集中的每個伺服器根據源的 IP 位址決定是否處理該請求,來完成負荷平衡。如果群集中的一個伺服器故障,則群集中的其他成員重新分組并調整源 IP 位址範圍的分區。NLBS 的優點是低成本(NLBS 是 Windows 2000 作業系統的一部分),不需要特殊硬體或更改網絡基礎結構,而且沒有單個故障點。目前的限制是伺服器不能動态調整負荷,重組是根據伺服器故障進行的而不是根據應用程式失效進行的(盡管第三方工具,如 NetIQ 和 Microsoft 的 HTTPMon,可用于削弱這些限制)。

将 RRDNS 與 NLBS 組合可産生更好的擴充和可用的配置。NLBS 群集中的所有節點必須在同一 LAN 子網上,并響應同一 IP 位址。配置不同子網上的多個 NLBS 群集,并将 DNS 配置為在多個 NBLS 群集順序分布請求,是可能的。這增強了 NLBS 的可伸縮性并避免了 RRDNS 的缺點,因為有多台計算機可用于響應發往每個 NLBS 群集的每個請求。Microsoft.com 便以這種方式工作。

使用 Microsoft Windows DNA 平台建構 Web 站點的藍圖使用 Microsoft Windows DNA 平台建構 Web 站點的藍圖執行摘要體系結構概述示例站點可伸縮性可用性安全性管理與運作摘要
圖 7. RRDNS & NLBS:三個獨立 LAN 網段,一個域名 應用程式狀态考慮

為了向客戶機屏蔽伺服器故障,請不要将應用程式客戶機狀态存儲在 IIS Web 伺服器上。不能動态平衡客戶機請求的負荷。最好是将客戶機狀态存儲在資料存儲器中,并在需要時,根據 URL 編碼資料或客戶機 cookie,對每個客戶機請求檢索客戶機狀态。帶客戶機高速緩存的 cookie 也是一種很有效的擴充方法,該方法在每個客戶機系統中存儲各自客戶機的資訊,在每個客戶機請求中向 Web 伺服器發送該資訊,并使用該資料将内容專用化或采用其他客戶機指定的操作。RFC 2109(“HTTP State Management Mechanism”(HTTP 狀态管理機制),可從 www.ietf.org/rfc/rfc2109.txt 中找到)描述了 HTTP cookie 協定。

但是,某些應用程式和協定要求長期的從客戶機到伺服器的連接配接。使用“Secure Sockets Layer (SSL)”發送加密資料并驗證伺服器身份,就是一個主要示例。大部分 IP 負荷平衡産品支援允許應用程式或協定維持與同一伺服器的連接配接機制,以便它們正常工作,盡管沒有故障透明性。

擴充後端系統

增加多處理器系統的記憶體和處理器可擴充後端系統。Windows 2000 Advanced Server 作業系統支援多達 8 CPU 和 8 GB 記憶體。但是,在某些情況這不再可能,或不希望對單個系統的可用性有如此大的資料依賴性。基于這一點,通過對其服務的資料或提供的邏輯服務進行分區,來擴充後端系統,是十分必要的。我們将此稱為分區。與用于擴充前端系統的克隆(複制硬體、軟體和資料)不同,分區隻複制硬體和軟體,而将資料分布在各個節點。對特定資料對象的請求則需要路由到存儲相應資料的正确分區。這種由資料決定的路由,需要運作在 Web 伺服器上的應用程式軟體來完成。可将由資料決定的路由層視為:與無狀态負荷平衡相對的帶狀态負荷平衡,前者用于克隆前端系統的擴充。還需要開發管理分區的拆分和合并的軟體,以使負荷均勻分散在所有分區之上,這樣可避免任何單個分區成為熱點。

但是,這種責任通常落在應用程式工程師頭上,他們将資料分散在業務對象上,而随着資料大小和工作量的不斷增長,業務對象也将均勻分布在數量不斷增加的伺服器上。幸運的是,如前所述,許多站點服務按對象分區相對簡單。但是,分區對象尺度選擇在站點部署完成後很難更改,這使得更新設計決斷尤為重要。

擴充的另一個方法是将後端系統提供的服務,分區為向客戶機提供服務的功能專業化系統。這通常稱為 n 層模型。我們将在下面有關擴充業務複雜性的章節裡詳細讨論它。

擴充網絡基礎結構

随着站點通信量(包括從 Internet 和 DMZ 内的内部通信,到企業網絡的)的增加,網絡基礎結構也必須改進。為了支援這種增長的需求,必須增加連結帶寬、将集線器更新為交換機以及安裝附加網絡(例如,增設專用的管理網絡,以減輕後端網絡的負荷)。

擴充業務複雜性

下圖說明了随着內建到系統的業務過程數量的增長和業務過程聯機性的增長,對系統安全性和數量的需求也随之增長。最大系統容量 — 系統設計能否随着業務增長而平穩迅速增長 — 通常是任何站點最為關注的。

站點複雜性的三種模型是:“内容提供商”、“脫機事務處理”和“聯機事務處理”。

内容提供商

。在這個模型中,不需要通路内部網絡的事務處理。所有 Web 服務和内容伺服器都來自 DMZ 内部。所有内容先裝配在更新伺服器上,然後再通過複制推入 DMZ 伺服器。如前一節所述,通過增加 Web 群集、增加 Web 群集的克隆、增加後端群集伺服器,可擴充該模型。

(如果您的浏覽器不支援inline frames,請點選這裡在單獨的頁面觀看此圖)

圖 8. “内容提供商”模型 脫機事務處理

。本模型同“内容提供商”模型類似,但附加了對内部網絡上已有業務應用程式的脫機事務處理通路。在“内容提供商”模型中,複制用于從更新伺服器更新 DMZ 伺服器内容。為了支援脫機(非實時)事務處理,需要将事務資料從 DMZ 異步傳輸到内部網絡。“Microsoft 消息隊列 (MSMQ)”服務可用于可靠傳輸這些脫機事務。為了支援傳統的傳遞通道,應用程式系統和資料庫都要在内部網絡上實作。标記為“其他傳遞通道”的裝置代表傳統的表達裝置,如客戶工作站、互動式語音應答單元 (IVRU) 或專用輸入裝置,如銷售點終端或 ATM。該模型的複雜性,随着與内部防火牆後面的内部網絡中後端伺服器互動數量的增加而增加。MSMQ 既能支援異步通訊又能保證消息可靠傳遞,是以對這種類型的互動很有用。批量處理請求也是分攤給内部網絡發送消息的成本的另一個成功技術。

(如果您的浏覽器不支援inline frames,請點選這裡在單獨的頁面觀看此圖)

圖 9. “脫機事務處理”模型 聯機事務處理。

在此模型中,Web 浏覽器真正聯機通路駐留在内部網絡上的傳統應用程式。業務應用程式的功能是在内部網絡上實作的,它通常支援多個傳遞通道。從 DMZ 到内部網絡的事務通訊是用标準同步通訊機制實作的。在連接配接客戶機時,與聯機業務應用程式內建的需求,大大增加了該模型的複雜性。本模型最為複雜并且難于擴充,因為與内部系統的互動必須同步操作,或至少在客戶正與聯機服務互動時。這些互動類型需要認真設計,并且盡量減少其數量。例如,購物籃隻能用 DMZ 内部的互動來擴大,而且隻能在客戶請求之後;實際的購買應當使用内部系統。

(如果您的浏覽器不支援inline frames,請點選這裡在單獨的頁面觀看此圖)

圖 10. “聯機事務處理”模型

可用性

簡介

增加站點可用性的主要技術是增加備援元件。這些備援元件可用于建立多個通信路徑、多個提供相同服務的伺服器、以及在事件中替代故障伺服器的備用伺服器。

考慮下面兩圖。第一幅在前端系統和後端系統中具有某種高度的可用性。而第二幅具有所有元件和網絡鍊路的備援。

(如果您的浏覽器不支援inline frames,請點選這裡在單獨的頁面觀看此圖)

圖 11. 使用某些備援的中型站點

在圖 11 中,我們有兩個 Web 群集,每個都有多個伺服器,并且我們有兩個伺服器群集,每個均配置為使用“Microsoft 群集服務”的故障轉移群集。我們在下面的章節中讨論增加服務可用性的基礎構件。

(如果您的浏覽器不支援inline frames,請點選這裡在單獨的頁面觀看此圖)

圖 12. 使用完全備援的大型站點

在使用完全備援的大型站點中,不僅有多個 Web 群集,而且每個伺服器都配置為使用“Microsoft 群集服務”的故障轉移群集。另外,還有與多個 ISP 的連接配接和獨立的管理網絡。

前端系統的可用性

如第四節中關于可伸縮性的描述指出的那樣,當克隆技術與 NLBS 負載平衡和無狀态 Web 伺服器的使用相耦合時,克隆技術可用于提供高度可用的前端 Web 服務。如前所述,如果用 Round Robin DNS 配置多個 NLBS Web 群集,還可使 Web 伺服器從網絡基礎結構故障中恢複。

在“可伸縮性”一節中已闡明了基本的思想,以及附加的要求,即在克隆失敗或運作于克隆體的 Web 伺服器停止響應時,負載平衡系統必須從 Web 群集删除克隆體直至其修複。NLBS 自動跟蹤 Web 群集的運作成員并在其中的某個出現故障時重組。當 Windows 2000 上的 IIS Web 伺服器故障時,将自動重新啟動。但是當 IIS Web 伺服器挂起時,則必須通過監控工具檢測。Microsoft 的 HTTPMon 或第三方工具如 NetIQ (http://www.netiq.com/) 都能編寫腳本完成這個工作。

網絡基礎結構的可用性

網絡基礎結構和站點與 Internet 連接配接的持續可用至關重要。如示例站點所示,首要技術是通過多個 ISP 擁有多個 Internet 連接配接。連接配接應該是不同的;即,從提供者到使用者所在地通信工具應使用實體上獨立的路徑。這樣就消除了因斷線引起的站點故障 — 這種情況并不罕見。

為獲得最大的可用性,還應考慮使用不同的電源和餘富的不間斷電源。基礎結構中的多樣性常常是宿主站點的一個主要魅力,其便利在于專門提供了配以多家 ISP 的宿主服務。

在站點内,交換機和路由器應以這樣的方式互相連接配接,即每個服務總有多條路徑與之連接配接。最後,如在“管理與運作”一節中所述,單獨的管理網絡和帶外網絡,對于各種網絡基礎結構故障情況下的管理性能和恢複功能很重要。

後端系統的可用性

通過 “Microsoft 群集服務”可使後端系統高度可用,該服務是為群集上運作的服務提供資料層備援和故障轉移功能的核心技術。“Microsoft 群集服務”使多個 SQL 資料庫和檔案共享可共享 RAID 裝置,這樣如果主檔案或資料庫伺服器故障,将有備份伺服器自動線上以替代其地位。如 NLBS 一樣,利用該系統級服務不需要專門的程式設計。

資料庫和 Web 内容的資料,都需要存儲在 RAID 磁盤陣列上進一步保護。如果硬碟發生故障,資料将持續可用,并且運作的硬碟可在不中斷服務的情況下和磁盤陣列進行熱交換。

後端伺服器之間将定期發送稱為心跳的消息,來檢測故障應用程式或伺服器。心跳在專用網絡(如群集心跳網絡所示)上通過專用 NIC 發送。如果某一台伺服器檢測到心跳網絡通訊故障,它将請求群集狀态确認。如果另一台伺服器沒有響應,則自動将故障伺服器的資源(如磁盤裝置和 IP 位址)的所有權轉移給幸存伺服器。然後,在幸存伺服器上重新啟動故障伺服器的工作。如果個别應用程式故障(不是伺服器故障),“Microsoft 群集服務”通常将在同一伺服器上重新啟動該應用程式。如果失敗,“Microsoft 群集服務”将轉移應用程式資源,然後在另一台伺服器上重新啟動。

安全性

簡介

安全性即通過充分保護資訊的機密性、秘密性、完整性和可用性來管理風險。安全性機制和服務,如加密、身份驗證、授權、責任和管理,都支援這個目标。由于保護機制永遠不會是完美的,是以檢測機制(監控和稽核)将在可能的入侵發生時産生報警或觸發響應(糾正操作)。

安全域概念,如“體系結構概述”中所述,對于保證政策一緻性和最經濟的安全性控制應用程式是無價的。在域中,安全性如同一條鍊子,它的力量與其不牢固的連結一樣。在整個域的應用一緻的控制是必要的,整個域可能包含網絡、平台和應用程式層以及域中所有功能群組件。需要在低安全性的域的邊界補償控制将安全性提高到需要的程度。

保護站點的第一步是分析商業風險、被保護系統和資料的自然情況以及可用安全性機制的成本,然後确定最優商業方案。

通常,商業站點應該比隻用于浏覽的資訊站點具有更高的保護。許多商業站點包括多個有不同安全性需要的功能。沒有必要對整個站點應用最高安全性的保護。通過把這些複雜的站點分隔為安全域,可以有選擇地實作最高安全性保護,這可能是昂貴的。

安全性政策和實體的安全性程式是有效的安全性程式的重要方面。此外,盡管大型站點固有的複雜性或由安全控制附加的複雜性,實作最簡單的使用者和管理接口是很重要的。複雜性引起錯誤配置和避免。在可行的場合盡可能實作基于政策的安全管理和配置自動化。由于本文的重點是關于安全的體系結構和技術,是以我們不會進一步講述這個問題。但是,重要的是注意到有效的安全性不隻是一個人和方法問題。如果人們沒有意識到安全性需求或認為無關緊要,那麼最好的技術也是沒有用的。

在本節的其餘部分,我們将讨論多種保護機制,包括網絡和平台保護。(應用程式保護超出了本文的範圍。)接下來我們考慮複雜的 Web 應用程式所需的客戶身份驗證和授權。

網絡保護

DMZ 結構

示例站點說明了防火牆和 DMZ 的應用。MDZ 是在 Internet 和内部系統資源之間提供多層保護的重要體系結構元素。它包含:

  • 面向 Internet 的防火牆,它過濾 Internet 通信并将其從 DMZ 中的網絡通信分離。
  • DMZ 中支援所需服務的特殊功能和高度安全性(加強的)元件,如 Web 或電子郵件服務。
  • 面向内部的防火牆,它從安全的内部網絡中分離出 DMZ 通信,同時對這些網絡中有限數量的加強系統和服務提供可控制的通路。

面向 Internet 的防火牆在實際中廣為使用(盡管常以安全性路由器的形式)。允許與公司或其他安全網絡進行網絡連接配接的所有 Web 站點,還應該使用内部防火牆,将 DMZ 與内部網絡隔離。

對于保護站點 DMZ 是必要的,但在自身内部并不是足夠的。DMZ 中的任何元件一旦被突破,均可用于攻擊整個站點。敏感的客戶和帳戶資訊以及身份驗證/授權資料庫,不應放置在 DMZ 中,而應放在安全的内部網絡加以保護。性能方面的考慮也許增強了将敏感資料複制到 DMZ 的需要。如“平台保護”一節讨論的,利用其他機制提高資料安全性是必要的。

防火牆類型

防火牆通常在網絡協定層發揮功能,并将許可的源/目的 IP 位址和端口(協定,如 HTTP 或 SMTP)之外的所有網絡通信排除在外。

最簡單的方式是,可從配置了正确的“通路控制清單 (ACL)”的網絡路由器建立防火牆。這種安全性路由器實際上經常用作防火牆。它們能過濾不想要的通信(根據協定類型和源及目的位址),并保護 DMZ 不受部分 — 而非全部 — 服務拒絕的攻擊。某些站點由于性能原因使用路由器,因為非常複雜的防火牆不能支援所需的吞吐量(有時在每秒上千兆的範圍)。低風險站點也可能由于成本原因選擇配置安全性路由器。

通過維護通訊狀态,資料包屏蔽或帶狀态的防火牆提供完全的網絡層隔離。它們能檢測已知的服務拒絕的攻擊,并提供附加的安全功能,如網絡位址轉換(NAT,它完全隐藏内部裝置)以及 FTP(動态選擇資料傳輸端口)。常用的防火牆包括 Cisco 的 PIX 或 Check Point 的 Firewall-1。這些裝置現在都能支援每秒超過 150 兆的吞吐量。

不過防火牆不是萬能的。由于它們一般都在網絡層發揮功能,是以不能防止較高協定層的攻擊。例如,在不能正确檢查進來的字元串的 DMZ 内,應用程式或 Web 伺服器很容易受到緩沖區溢出的攻擊。這會導緻服務的崩潰或惡化,會讓解密高手得以控制元件。遺憾的是,這種本事比想象的更為普遍。

防火牆配置

面向 Internet 的防火牆,應該隻許通路支援 Web 站點商業功能所需的服務,典型的如 HTTP 和 LDAP,以及不常用的 FTP 和 SMTP 郵件。支援有限的商業對商業或其他遠端服務的虛拟專用網絡 (VPN) 也可能是需要的。認真審查并禁止開放通路所有的端口,除非有強烈的商業要求必須如此。用于構造防火牆的現用平台(例如,Windows 2000 和 Checkpoint 的 Firewall-1)必須是極其堅固的。

根據支援通路内部資料和系統資源,以及支援和管理 DMZ 元件所需的協定和服務,面向内部的防火牆同樣應該對通信進行限制。如果解密高手設法穿過 DMZ,内部防火牆則是保護内部網絡的關鍵資訊資源的重要手段。穿越内部防火牆所需的端口和位址的數量及種類,往往比外部防火牆的還多,尤其是通過 DMZ 後端網絡來支援管理功能。得以通路内部網絡是解密高手的首要目标。限制為隻能通路極有限的幾組必要端口和目标主機非常重要,這樣才能確定 DMZ 中的洩密系統隻有有限的機會攻擊内部網絡。

網絡隔離

出于安全性,DMZ 中的内部資料網應該隔離,同時增加帶寬。通常每台計算機裝配了兩塊以上網絡接口卡 (NIC)。示例站點一節說明了網絡分段并進行了一定的讨論。關鍵原則是:

  • 将不同 Internet 通信類型隔離為不同的 Web 群集 — 例如,HTTP、HTTPS 和 FTP。然後,每個群集可配置為拒絕傳輸服務所需的類型以外的資料。
  • 将 Internet 通信與後端通信隔離。這樣防止從 Internet 直接通路内部網絡,并且允許為每個 NIC 配置過濾器,進而将通信限制為隻适合伺服器所需的類型。
  • 如示例站點中所述,為内部 Web 站點網絡使用非路由的網絡位址。
  • 為了将管理通信與所有其他通信隔離,我們采用了管理網絡。也可配置 NIC 過濾器,以限制隻适用于 NIC 的通信。還應将強大的管理功能限制為管理網絡而不能穿越服務網絡。它還消除了管理通信穿越防火牆,這大大減少了弱點。管理 LAN 本身的安全至關緊要。

HTTPS — 用于加密的 SSL

在 Internet 上發送資料如同通過郵政發送明信片:沿途的任何人都能截取。是以,标準的安全通信通道對于通過公共網絡傳遞敏感客戶資訊的 Web 站點和其他應用程式非常重要。Secure Sockets Layer (SSL) 與 HTTPS 協定和伺服器認證相結合,提供所需的加密功能以及 Web 伺服器身份驗證。很重要的一點是,了解 SSL 隻能保護傳輸中的通信而不能替代其他站點安全機制。

伺服器身份驗證對用戶端是透明的,因為目前使用的大部分 Web 浏覽器可自動驗證所有主要認證權威機構頒發的認證。對使用者來講知道與正确的站點而不是别人僞裝的站點進行通信很明顯是重要的。

SSL 加密為傳輸資料提供機密性和完整性,這對保護使用者密碼和信用卡資訊尤其重要。由于美國商業部 (DOC) 施加的出口限制,目前有兩個加密版本。使用 128 位密鑰的較強版本,可在美國和國際上指定行業(如銀行業和健康衛生行業)自由使用。對于其他使用者,出口加密軟體限制在 56 位。

SSL 的确存在問題。首先,SSL 是帶狀态的。在安全會話的建立和過程中必須維護狀态,這增加了前端負載平衡系統的會話相關性需求。其次,加密/解密對 Web 伺服器是高強度計算,可能沒有足夠的處理器周期在軟體中支援這個功能。硬體加速器可減輕伺服器負載,但成本很高,而且隻部署在有限的前端伺服器。換句話說,HTTPS 通常從 HTTP 隔離出來,并由特殊的前端伺服器支援。由于這些原因,SSL 的使用限制在那些确實需要這一級保護的通信中。

入侵檢測

入侵檢測系統 (IDS),如 Cisco 的 NetRanger 或 ISS 的 RealSecure,提供對網絡通信的實時監控。IDS 能檢測廣泛的敵對攻擊簽名(模式),能産生報警警告操作人員,并在某些情況下使路由器停止與敵對源的通信。

部署某些入侵檢測形式對于高度安全的環境很重要,這與在“安全性,簡介”一節讨論的通過“預防、檢測和反抗”實作安全的方法一緻。IDS 傳感器應該安裝在每個不同的網絡,甚至在防火牆或邊界路由器之前。這些傳感器與管理控制台通信,将在本文後面的“管理與運作”一節講述。

遺憾的是,有幾個原因導緻 IDS 仍未普遍使用:

  • 性能 — 對非常高性能的網絡進行實時監控仍不可行。
  • 錯誤接受,錯誤拒絕 — IDS 從正常網絡通信中區分攻擊的能力正在提高,但還遠遠不夠。IDS 管理器由于低信噪比而淹沒在記錄中。
  • 成本 — IDS 的實作和運作的成本很高。

還有些其他技術可用于入侵檢測 — 例如,将 telnet 端口通信路由到某一陷阱或專用的伺服器。雖然可能來不及防止它們了,但使用第三方伺服器日志分析工具可提供有關入侵資訊。Cisco 在其某些可用于檢測網絡入侵的路由器上提供了 NetFlows 功能,但目前沒有很好的分析工具支援。遺憾的是入侵檢測技巧的狀态還沒有很好開發。

平台保護

加強元件

加強是保護單獨伺服器作業系統的另一個重要方式。所有的 DMZ 及其與之通信的内部系統都需要加強。這包括嚴密限定和配置所有使用 ACL 資源(例如,檔案和注冊項)的通路權限,取消支援業務功能及計算機管理不需要的協定、服務和實用工具。必須嚴加注意安全和審查的設定。

TCP/IP 協定堆棧應該在可行的地方使用過濾器。Windows 2000 中的 IPSec(IP 安全)實作有很多成熟完善的過濾政策,即使每有使用其完整性和加密功能。無需重新啟動,按 IP 位址/子網進行有選擇的端口防範是可行的。所有的過濾都在底層進行,是以諸如 IIS 之類的服務根本看不到資訊包。

Service Pack 4 for Windows NT 4.0 配發的“安全配置編輯器”(SCE) 是實作一緻的、基于政策的控制的重要新工具。Windows 2000 增加了“組政策編輯器”(GPE),它将該功能(及更多功能)擴充到域、活動目錄組織機關甚至計算機組。現在,大多數作業系統的安全配置設定可在政策模闆集中定義。這些模闆可針對各類機器構造,并對站點内所有的計算機系統地實作。由于這些模闆應實施産品計算機的緊密防範,是以最好另外建構一套模闆用于維護和診斷。相關的分析功能允許對伺服器的目前安全配置按政策進行分析和驗證,這是驗證持續符合政策的重要方法。

第三方網絡和系統安全掃描工具,是保證站點伺服器的有效安全配置的另一個重要的輔助内容。廠商提供的著名産品如 Internet Security System (ISS — http://www.iss.net/)(英文)和 Network Associates (http://www.nai.com/)(英文)包括廣泛的攻擊情形,以提供對網絡和系統弱點的評估。

為了得知解密高手的最新本事和緊跟安全防衛潮流所需的更新檔程式,留心各方面的安全警示,如來自 CERT (http://www.cert.org/)(英文)的,是必要的。Microsoft 為其産品提供電子郵件安全公告。(管理者可以在 http://www.microsoft.com/security/(英文) 上注冊該服務。)

關鍵服務元件,如域控制器、域名服務、Internet 資訊伺服器和 Microsoft SQL Server 都有特殊的附加需求。可在 http://www.microsoft.com/security/(英文) 找到一個配置 Windows NT 4.0 / IIS 4.0 Server 的出色而完整的安全校驗表。許多 Windows NT 配置項同樣可應用于 Windows 2000 和其他 DMZ 主機。

監控

必須定期監控(審查)平台,以保證配置和政策不會偏離最初的安全配置。許多日志和工具都提供了這一功能,包括 Windows 2000 事件日志、IIS 日志、安全配置和分析以及 sysdiff(NT 資源工具包)。Windows 2000 使用代碼簽名和 System File Checker(系統檔案檢查器)驗證重要系統子產品的完整性。大量的第三方工具都支援完整性檢查,包括不同來源的防病毒掃描器和 Tripwire 的 tripwire (http://www.tripwiresecurity.com/)(英文),其驗證所選的檔案和注冊設定。

為保證通路權限根據站點政策隻可用于有授權的人,定期審查管理者、組和服務帳戶也很重要。對隻有相對少量帳戶的站點而言,這不過是個簡單的手動過程。

Windows 域結構

站點區由多類伺服器組成,每一類都包含大量的裝置。特大型的站點可能包含上千的伺服器。單獨的後端網絡通常支援 DMZ 内的所有伺服器。由于支援站點所需的管理和服務帳戶很少,是以單域結構适于管理所有 DMZ 伺服器帳戶。支援到安全網絡和内部伺服器及其資料庫的身份驗證,可能需要與内部域的單向信任關系。Windows 2000 通過企業的活動目錄提供靈活站點帳戶內建,同時支援站點的高度安全需要。

保護站點資料的安全

保護資料完整性和機密性的安全機制包括,網絡和系統通路控制、加密和核查或監控工具。

首先需要對站點的可用資料進行分類,如程式和 HTML 代碼;客戶資訊包括密碼或其他身份驗證/授權;廣告;産品目錄和其他内容。應逐個類型了解未授權通路(機密性/秘密性)和未授權破壞或修改(完整性)的影響。例如,大多數靜态 HTML 頁面是公開的而不需要通路保護。另一方面,這些頁面的破環行為會嚴重降低使用者對站點的信心。

了解了資料特征、評估了相關風險并确定了保護控制的成本後,可靠的商業判斷應确定所需的保護。

必須做出的最有代價的和重要的決定之一為,是否在地理上複制站點系統和資料庫,或者采用可供選擇的可能計劃。自然災難、火災、恐怖分子攻擊和主網絡中斷不太可能,但總有站點不能運作的潛在可能。

經過認真規劃、實作和維護的 DMZ 是相當安全的。不過,高度敏感的資料通常值得額外的保護。常用的方法有:

  • 敏感資料應存儲在内部防火牆之内(例如,示例站點的安全網絡)。由于某些通路路徑必須通過防火牆開放才能合法通路資料,是以這個解決方案并非萬能的,并可能将性能降低到無法接受的程度。
  • 資料庫通常主要包含低敏感的資料,但有一些資料必須加以保護,如信用卡号。如果此類資料在 DMZ 内,應在資料庫中加密并在需要使用時解密。
  • 密碼隻有經過單向算法轉換後才能存儲,從不以明碼存儲。
  • 需要特别注意用于客戶身份驗證的目錄,因為該子系統的突破會暴露所有的客戶資料。

Microsoft 的 SQL Server 7.0 關系型資料庫加強了 ANSI/ISO SQL 标準,它指定使用者不能檢視或修改資料,除非資料的擁有者授予其許可。為確定嚴格而安全的身份驗證,在 Windows NT 身份驗證模式下運作 SQL Server 非常重要。(由于系統管理者以明碼傳送的密碼定義使用者登入帳戶,是以不推薦 SQL Server 的身份驗證模式。)保護 SQL Server 一般在本文的範圍之外。有關詳細資訊,請參閱 MSDN 提供的 SQL Server 7.0 Books Online。

客戶(成員)通路控制

客戶通路控制包括驗證客戶身份的身份驗證機制,以及指定所驗證使用者可通路的資源的授權機制。

大型站點的身份驗證可與匿名客戶浏覽器的 cookie 表示一樣簡單。(客戶的 cookie 還廣泛用于維護客戶身份驗證和授權的狀态。為了防止篡改,Web 伺服器應使用密鑰來标記 cookie。還應該對 cookie 中的敏感資料加密。)匿名注冊常用于跟蹤廣告和客戶的個人化。

對于使用者的網站應用程式,使用最廣泛的身份驗證機制是基于窗體的登入,它将使用者 ID 和密碼組合在加密的 SSL 會話中。盡管 X.509 客戶驗證正進一步應用于商業應用程式,但還不可能在近期内面向使用者的站點流行。

身份驗證苦于行業标準的整體匮乏。已有的第三方方法還是專用的。從傳統上看,大多數身份驗證函數硬性編寫在商業邏輯中,是以開發和維護的成本很高。

基于 LDAP 的目錄伺服器 — 通常為可伸縮性和可用性而克隆的 — 位于 DMZ 中用于支援身份驗證,有時也用于授權。本身已提供 LDAP 的“Windows 2000 活動目錄”可支援框圍以外的上百萬使用者。“活動目錄”的可擴充構架,可組成與 Windows 檔案系統、IIS 和其他 Microsoft 産品良好結合的安全通路控制基礎。

Microsoft 的“站點伺服器 3.0”和“站點伺服器 3.0 商業版”可擴充為虛拟支援無限的使用者數量。“站點伺服器”可在本機 Windows 目錄服務和 — 對大型站點很重要的 — SQL Server 資料庫上實作 LDAP 協定。與 IIS 結合的“站點伺服器成員”支援身份驗證和授權,包括使用者、組、憑據、權限、角色和首選項。“成員”的可擴充構架,在對象、甚至屬性級上支援站點專用的、真正的 ACL。“站點伺服器成員”可大大減輕與客戶通路功能相關的負擔,同時提供強大而完全內建的内置功能。

Microsoft 的“護照”服務 (http://www.passport.com/) 提供了另一種進階的客戶身份驗證方法。“護照”是通用的登入服務,合作夥伴可以将其內建在自己站點内。對客戶的便利在于:通過 Microsoft 的夥伴 Wallet 服務,簡化了對合作夥伴的站點的登入通路,并能進行安全的、單擊方式的購物。由于身份驗證功能下放給了“護照”,是以減輕了合作夥伴站點上開發和支援這種功能的負擔。合作夥伴也能共享客戶配置檔案資訊,并有權通路存儲在 Wallet 中的安全信用卡資料。合作夥伴必須在其站點上安裝“護照”管理器來代理“護照”登入、管理 cookie 和轉換 wallet 資料。“護照”使用廣泛應用浏覽器 cookie 的 Kerberos 樣式的身份驗證。

要點

站點安全并非附加的特性。預先規劃安全,并根據它評估實作期望的保護的風險和成本,是非常重要的。安全域模型是保證在站點上實作充分的、節省成本的安全性的重要工具。

保護機制可劃分為網絡安全、平台安全和應用程式安全(超出本文範圍)。網絡安全的關鍵元素是防火牆/DMZ、網絡分段和 SSL 加密。平台安全由強化的作業系統和服務組成,還包括實作稽核功能和監控工具。

電子商務和顧客個人化支援需要客戶身份驗證和授權。LDAP 協定支援通路控制功能。保密的顧客資訊,特别是密碼和帳戶資訊,應該存放在内部防火牆之中。

管理與運作

簡介

站點對網絡和不間斷服務的依賴,向保證正在運作的服務的可用性、健壯性和性能的操作人員,施加了相當壓力。設計精良的管理系統,是成功管理和運作大型商務站點的關鍵。良好的部署工具可使 Web 站點平穩加速地成長。良好的監控和疑難解答工具可使操作人員在商務受到影響之前,迅速解決元件和服務出現的問題。管理系統本身必須能夠確定系統不間斷地運作。

許多大型站點在地理上與操作人員相隔甚遠,而且常駐在接近高容量 Internet 帶寬的被管理的資料中心之中。為了減少上外地工作的出差成本,管理網絡必須提供遠端部署、供給、監控和為地域上十分分散的站點排除故障的能力。

站點系統的管理和運作系統是非常複雜和困難的。運作人員在部署、調整和運作 Web 站點系統方面面臨挑戰。Microsoft 和許多第三方廠商提供了大量 Windows NT 系統的管理産品。另外成套的 Microsoft 開發工具,使操作人員能夠自定義管理系統,以更好地運作站點。

站點的管理應結合系統和網絡管理。Microsoft 的“系統管理伺服器”可用于系統管理任務,如計劃、部署及更改和配置管理。Microsoft 的工具和服務包,如“性能螢幕”、“SNMP 服務”、WMI、事件日志和備份工具,可用于事件管理、性能管理和存儲管理(操作管理)。

大型站點經常從提供網絡基礎結構、服務和工具的 Web 宿主公司購買網絡管理(例如,排除故障和解決點小問題,還有對伺服器、骨幹路徑、路由器、電源系統的全天候監控,還有其他影響站點内容向全世界傳播的一切)。本節專門讨論系統和運作管理,而将網絡管理留給 Web 宿主提供商,并說明如何使用 Microsoft 的産品和技術建立可靠而強大的管理系統。

本節中要解決的主要内容:

  • 為提高可用性和增強安全性,而将管理網絡與服務網絡分開。
  • 分布管理網絡元件來:
    • 消除或減少性能瓶頸。
    • 消除單個故障點。
    • 允許獨立擴充。
    • 提高管理系統可用性。
  • 盡可能使用 Microsoft 工具和産品,獲得因與底層平台緊密結合而帶來的更高的性能。
  • 盡可能使任務自動化。
  • 監控能改進基礎結構的每一件事情,并在問題發生前先識别它們。

 管理基礎結構

管理網絡

管理和運作可以共享後端網絡,也可以存在于單獨的 LAN 之上。使用後端網絡的管理(有時稱為帶内管理)成本較低并易于運作。但是由于下面的原因,這種方式可能不适合管理全天候服務:

  • 帶内管理妨礙了服務網絡的性能。與管理相關的通知,如 SNMP 陷阱,可能會布滿網絡,産生并/或擴大性能瓶頸的影響。
  • 服務網絡癱瘓時,不可能産生故障通知。
  • 安全的含義。

是以,對于大型 Web 站點,為可伸縮性、可用性和安全性起見,開發人員應該建立分離的管理網絡。

管理系統元件

通常,管理系統是由管理控制台、管理伺服器和管理代理組成的。

使用 Microsoft Windows DNA 平台建構 Web 站點的藍圖使用 Microsoft Windows DNA 平台建構 Web 站點的藍圖執行摘要體系結構概述示例站點可伸縮性可用性安全性管理與運作摘要
圖 13. 管理系統元件

圖 13 是個簡圖,它說明了核心管理系統元件以及它們之間的通信。

管理控制台

管理系統是通過管理控制台與使用者的接口。管理控制台負責:

  • 使用者登入和身份驗證(網絡操作員、管理者)。
  • 提供對所有管理伺服器的通路:一旦通路了某個管理伺服器,使用者可根據該伺服器的權限,檢視所有被管理節點的狀态、釋出在這些節點上更新軟體和配置的指令。
  • 提供對使用者釋出的指令的響應。

許多目前的解決方案實作了管理控制台和管理伺服器,它們本應視作兩個邏輯層,但為節省成本和友善使用起見,被實作在單一層中。但有時因為可用性、可伸縮性和被管理的網絡遠離操作中心等原因,希望或需要解除這兩層之間的耦合。

管理伺服器

管理伺服器是管理系統的主力。管理伺服器通過專用的或标準的協定,與被管理的節點(Windows NT 伺服器、Cisco 路由器和其他網絡裝置)通信。管理伺服器負責:

  • 在其權限内接受、過濾和關聯來自被管理節點的事件。
  • 收集、存儲和分析性能資訊。
  • 在被管理節點上分布和安裝軟體。
  • 更新被管理節點上的配置參數。

因為管理伺服器收集大量資訊(每天資料多達數千兆),是以該資訊通常存儲在單獨的計算機,即後端伺服器上。

管理代理

管理代理是駐留在被管理節點上的程式。為了接受管理,每個裝置 — 不論是 Windows NT 伺服器還是簡單的網絡集線器 — 都必須有一個管理代理。管理代理主要執行以下功能:

  • 監控被管理裝置的資源并接收資源主動發送的通知和事件。
  • 提供配置和調整被管理節點資源的工具。
  • 按需查詢被管理裝置的資源,檢視它們目前的配置、狀态和性能資料。

某些節點可能隻有一個代理,如 SNMP 管理的網絡路由器。其他,如 Windows NT 伺服器,比較複雜而且包括多個使用不同協定的代理。代理和伺服器使用标準的和專用的協定通信。

擴充管理基礎結構

為了保護最初投資,管理系統必須能從小做起并與其管理的站點一起擴大。當某個站點擴充并新添了裝置和服務後,管理系統必須充分擴充。

小型站點可用非常簡單的管理系統管理,這種管理系統通常使用後端網絡。最簡單的管理系統是集中系統:少量裝有管理伺服器和控制台軟體的計算機。每台計算機都能管理整個站點。下面介紹集中管理系統。要擴充這樣的管理系統,開發人員必須将其分布開來。接着,我們要介紹分布式管理系統所需的步驟。最後,給大家一個分布式管理系統的示例。

集中管理系統

管理系統既可以集中也可以分布。單個中央管理實體控制着全部管理系統,這就是集中管理系統的特征。集中管理是由一台(或多台)強大的計算機實作的,這(些)計算機允許通路該站點系統的所有元件,監控所有裝置并接受來自所有被管理元素的報警和通知。中央管理通常是由主服務網絡完成的。

由于集中管理系統簡單、低成本和容易管理,是以它在小型環境(如隻有幾個伺服器的啟動站點)中很受歡迎。Microsoft 為集中管理系統提供了豐富的工具和應用程式,如 SMS、PerfMon、時間日志、Robocopy 和腳本工具。第三方廠商還提供了其他應用程式和工具。

分布式管理系統

随着 Web 站點的快速增長,集中管理系統被證明是低效率的。集中在一台或兩台計算機上的集中管理系統存在嚴重問題:缺乏可伸縮性,産生性能瓶頸,并且具有單個故障點。這些問題使集中管理系統不适用于管理非常大的、迅速擴充的和高度可用的站點。為了解決可伸縮性和可用性問題,管理系統應按下面方法分布:

  • 将管理控制台從管理伺服器分離。
  • 添加更多的伺服器,使每一個伺服器管理較少的節點。
  • 添加更多的控制台,允許通路更多的管理者和技術員。
  • 在伺服器之間,按地域或管理功能劃分工作量。
管理系統示例

我們的示例站點使用在單獨 LAN 上實作的分布式管理系統。

圖 14 描繪了示例站點所用的管理系統。因為本章的主題是管理系統,是以我們把被管理的系統 — 站點本身 — 表示為雲狀。有關示例站點體系結構的詳細内容,請參閱圖 3。

使用 Microsoft Windows DNA 平台建構 Web 站點的藍圖使用 Microsoft Windows DNA 平台建構 Web 站點的藍圖執行摘要體系結構概述示例站點可伸縮性可用性安全性管理與運作摘要
圖 14. 管理系統示例

在本管理系統示例中,不同線條樣式、粗細和注釋分别表示管理 LAN、遠端通路和安裝在管理系統元件上的應用程式。主要有:

  • 管理網絡(粗實線)。
  • RAS 撥入管理網絡(細實線)。
管理控制台

在本示例管理網絡中,管理控制台是與管理伺服器分離的,這樣可将其集中在(高度安全的)“網絡操作中心”。必須仔細選擇管理工具和應用程式,以遠端提供幾乎所有的管理功能。

管理控制台可以運作 Windows NT 伺服器,工作站或專業版。它們通常安裝了許多應用程式:“系統管理伺服器管理者控制台”、“終端服務 (TS) 客戶機”、Telnet、Internet Explorer 和 SNMP MIB 浏覽器。這些工具全都提供遠端管理功能,是以能被旅行中的技術人員用于漫遊的環境中。

管理伺服器

在分布系統中,每個管理伺服器隻能為其管轄範圍内的被管理節點服務 — 如,一個區或一個分區、一層樓、一幢大樓、一個校園、一座城市等等。例如,本地的管理伺服器可以運作在歐洲和北美的每個辦公室中,管理着本地的事件和網絡。分布管理伺服器并将它們分區、使它們隻管理有限數量的節點,将允許人們:

  • 将管理伺服器鎖在保險櫃中。
  • 減少或消除網絡擁堵(就是說,亞洲的 Windows NT 伺服器由東京的管理伺服器更新,而用不着紐澤西的伺服器)。
  • 消除單個故障點。

同一管理伺服器不與其他區域的被管理節點互動(但是,也不排除這樣做)。

我們建議管理伺服器運作 Windows NT 4.0 伺服器版或 Windows 2000 伺服器版,以保證更好的系統穩定性,并提供僅在伺服器版本中可用的附加服務。管理伺服器擁有的管理應用程式,提供了站點所需的系統和網絡管理功能。Microsoft 提供的服務和應用程式應安裝在管理伺服器上(“性能螢幕”、“系統管理服務 (SMS)”和“事件日志”)。SNMP 陷阱管理器或陷阱接收器也應安裝在管理伺服器上。

後端伺服器 (BES)

後端伺服器是具有大容量硬碟的計算機,用于長期存放管理伺服器收集的資訊。沒有必要用單獨的計算機存儲管理資料。但是,最大的商務站點每天要記錄數以千兆計的資料(為了日後的資料采集和利用),是以用單獨的計算機來存儲這些資訊。大型資料庫常用于存儲被管理節點記錄的事件、性能計數器和統計資料。SMS 資料庫也可放在 BES 上。後端伺服器還可宿主操縱資料庫中所存資料的實用程式和工具:收集程式、分析程式等。這樣使許多顧客能夠使用自己的高度自定義的或傳統的工具。

分布式與集中的

分布式管理系統比集中管理系統有許多重要的優點。它們提供了更好的可伸縮性和可用性,并且減少或消除了性能瓶頸和故障單點。但是,分布式管理系統也有一些不足之處,如較高成本(與添加更多的裝置和管理有關)并越來越複雜。在為站點設計管理系統時,請仔細權衡使用集中的或分布式管理方法的利弊。

管理系統需求

部署和安裝

要成功地部署新服務和裝置,管理系統必須提供部署和安裝工具。開發包括安裝和配置新裝置,以及将站點内容和資料複制到新機器上。下面的工具和技術經常用于配置新服務和機器。

無人值守的/自動的伺服器安裝

為了部署新伺服器,請使用腳本建立伺服器的黃金(或理想的)版本。然後,使用諸如 Norton Ghost 和 Ghost Walker (http://www.ghost.com/)(英文)的工具,捕獲黃金伺服器系統盤的映像副本,再使用此黃金映像建構新伺服器。

SysPrep (Windows 2000)

SysPrep 是在多台機器上完全安裝 Windows 2000 的工具(可以從“Windows 2000 的資源大全”中得到)。完成了單台系統上的初始安裝步驟之後,管理者可以運作 SysPrep,準備好用于複制的示例計算機。通常站點區域中的 Web 伺服器都基于相同的映像,隻是次要的配置有所不同(如名稱和 IP 位址)。另外,SysPrep 與 winnt.sif 應答檔案的組合,提供了對每台計算機進行次要配置的工具。

内容複制

“内容複制服務”和 Robocopy 經常用于内容複制。“内容複制服務”是“Microsoft 站點伺服器”産品系列的一個(http://www.microsoft.com/siteserver/site/(英文))。 Robocopy 是個 32 位 Windows 指令行應用程式,該程式簡化了在多處維護檔案夾樹的同一副本的任務。Robocopy 可在“Windows NT/2000 資源大全”中得到。

更改和配置

“系統管理伺服器”提供了站點伺服器的更改和配置管理所需的全部工具。SMS 使許多更改和配置管理任務自動化,如硬體清單/軟體清單、産品一緻性、軟體分布/安裝和軟體度量。

有關“Microsoft 系統管理伺服器”的詳細内容,位于 http://www.microsoft.com/smsmgmt/(英文)。其他來自第三方的工具,位于 http://www.microsoft.com/ntserver/management/exec/vendor/ThrdPrty.asp(英文)。

性能監控

持續監控對于運作站點的 24x7 服務很重要。許多站點廣泛利用日志和基于計數器的監控,以及盡可能多的遠端管理,來保證持續的可用性并提供改進其基礎結構的資料。用于監控站點伺服器性能的工具包括 Performance Monitor(英文)、SNMP MIB 浏覽器和 HTTPMon。

事件管理

事件管理需要監控站點系統的健康狀況和狀态(通常是實時的),警告管理者出現的問題,以及為便于管理在同一地點合并事件日志。事件監控工具可以跟蹤各伺服器或網絡元件,還可以關注應用程式服務,如電子郵件、事務處理或 Web 服務。對于有上百台機器的站點,要從背景噪音中過濾出重要的事件,事件過濾、警告和顯示工具是絕對必要的。諸如事件日志、SNMP 代理和 SMS(用于事件到 SNMP 陷阱地轉化)等工具可用于事件管理。

帶外緊急恢複

在管理網絡本身癱瘓時修複故障節點,是一個很難管理的問題。當帶内的幹涉不可能時,可通過帶外 (OOB) 管理支援。

OOB 管理指對管理的節點提供技術通路的産品,這些技術通路利用的是撥号電話線或串行電纜,而非管理網絡。是以,每個被管理節點上必須有用于帶外通路的序列槽。使用 OOB 管理可使故障的服務或節點成為聯機,以進行帶内修複、分析故障原因等。

OOB 需求

OOB 管理應該提供下面的全部或部分功能:

作業系統和服務控制

  • 重新啟動故障服務或節點。
  • 使故障服務或節點脫機。(這很重要,因為故障節點可使網絡充斥故障通知。)
  • 設定和控制固件。
  • 更改固件配置。
  • 設定作業系統和服務。

BIOS 和“啟動裝置控制”

  • 硬體電源管理。
  • BIOS 配置和硬體診斷。
  • 遠端控制台輸入和輸出。
OOB 解決方案

有許多解決方案可完成上面描述的任務。表 2 彙總了使用最廣泛的來自 Microsoft 和第三方廠商的解決方案。

表 2. 帶外解決方案
功能 名稱 廠商
終端伺服器

可用于 Windows NT 4.0 終端伺服器版或 2000 伺服器版

TermServ

Microsoft

Seattle Labs

設定和安裝

無人值守作業系統和後期作業系統的外殼腳本

Ghost

IC3

遠端安裝服務(僅限 Windows 2000)

Microsoft

Norton

ImageCast

Microsoft

BIOS 配置和硬體診斷

內建遠端控制台 (IRC)

遠端監視闆 (RIB)

顯現遠端伺服器通路

Compaq

Compaq

Apex

硬體電源管理

內建遠端控制台 (IRC)

遠端監視闆 (RIB)

遠端電源控制

Compaq

Compaq

Baytech

OOB 安全

撥号進入控制台端口即顯露要通路的網絡。保護 OOB 操作可防止這種情況出現。起碼需要對管理人員進行嚴格的身份驗證,一般使用由安全令牌提供的一次性(問答)密碼。管理者都有基于硬體或軟體的令牌,用它們與目标場所的通路伺服器協商。這打開了與終端伺服器的連接配接,伺服器輪流提供對某一主機的序列槽通路。理想情況下,還使用連結加密,防止入侵者造成的竊聽和可能的洩密。日益流行的解決方案是,用基于 VPN(虛拟專用網絡)的公共密鑰提供嚴格的身份驗證和加密。

管理任務的自動化

管理系統的設計應允許自動操作的執行,如停止或啟動服務或整個節點,在某個事件發生時運作腳本或批處理檔案,或者在管理網絡不可用時嘗試帶外恢複。設計得好的系統會利用電子郵件、電話、尋呼機或行動電話,自動通知 IT 技術人員出現的事件或問題。

多種工具和應用程式可自動化管理任務:

  • 性能監控器 的“報警視窗”中的計數器上設定一個報警值,這樣,當所選計數器的值等于、大于或小于指定的設定時,即觸發一條消息的發送、一個程式的運作,或一個日志的啟動。
  • SNMP 管理器 提供自動化工具,在收到某一陷阱時,産生通知,然後運作一個程式、批處理或腳本。
  • BackOffice 元件(如 Microsoft Exchange 和 SQL Server)可在與服務相關的事件發生時(例如,遠端郵件伺服器在預定義的時間間隔内沒有應答消息),觸發例外。例如 Microsoft Exchange 伺服器可發送電子郵件、在螢幕上顯示報警,或向外部應用程式發送通知。
  • 使用 Windows 腳本主機 (WSH) 或任一其他腳本機制編寫靈活的腳本,使其監控系統,并在需要時産生消息或觸發自動任務。

還有許多實作自動化的第三方解決方案可用,它們列在:http://www.microsoft.com/ntserver/management/exec/vendor/ThrdPrty.asp(英文)。

安全

管理基礎結構的安全是極為重要的,因為該子系統的洩密會使整個站點的其他每個元件的洩密。在讨論安全體系結構的前一節中讨論的所有安全元素,在此都用到了。

盡管用得十分廣泛,但最流行的管理協定之一 — SNMP — 從安全的角度看尚有欠缺。SNMP 共有字串是非常脆弱的密碼。雖然它不允許使用者登入,卻允許某人控制節點。請仔細選擇并嚴密控制每個站點的管理協定。

摘要

在這篇文章中,我們講述了如何使用 Microsoft Windows 平台和其他 Microsoft 技術,建立可擴充的、可用的、安全的和易于管理的站點基礎結構。我們強調了保持大型站點的操作和設計的簡單和靈活,并着重講述“.com”如何根據體系結構的以下四個目标,成功地部署和運作站點:

  • 線性可伸縮性 — 持續增長以滿足使用者需求和業務複雜性。
  • 持續服務可用性 — 使用備援和功能專業化來提高容錯能力。
  • 資料和基礎結構的安全性 — 保護資料和基礎結構免受惡意攻擊或盜用。
  • 管理的簡便性和完整性 — 確定操作能夠滿足增長的需求。

我們預計,這是衆多文章中的第一篇,全面而深入涉及用 Microsoft 産品和技術設計、開發、配置和運作大型商業網站。

繼續閱讀