以下各節(jié)將詳細(xì)講述除來賓訪問之外的所有這些 MSCMS 安全設(shè)置。有關(guān)“來賓訪問”的信息,請參見“驗證用戶身份”一節(jié)。
控制對虛擬 Web 站點的訪問
MSCMS 站點上的每個虛擬站點各代表 Web 服務(wù)器的一個不同的入口點。因此,控制對這些站點的訪問對服務(wù)器安全很重要。
管理員可以為每個虛擬 Web 站點從三種不同的安全設(shè)置中選擇一種:
MSCMS Authoring is allowed(允許 MSCMS 創(chuàng)作)。此設(shè)置授予用戶訪問和修改 Web 站點內(nèi)容的權(quán)限。
MSCMS Authoring is not allowed(不允許 MSCMS 創(chuàng)作)。啟用此設(shè)置時站點是只讀的。這意味著通過此站點登錄的客戶端都不能修改內(nèi)容。例如,在不允許 MSCMS 創(chuàng)作的站點上,Site Builder 是不可訪問的。
MSCMS is disabled(禁用 MSCMS)。當(dāng) MSCMS 不支持某個站點時,將不映射或者將移除虛擬目錄,因而從此站點請求的任何頁面都將被報告為“未找到”。
對于高安全性站點,管理員可能想將系統(tǒng)配置為只有一個服務(wù)器的一個虛擬 Web 站點支持創(chuàng)作功能。此虛擬 Web 服務(wù)器的地址可由防火墻或 IP 訪問隱藏,這樣任何外部用戶都不能訪問或讀取它。除提供高安全性外,此配置還可提高性能,因為 MSCMS 使用效率更高的腳本來呈現(xiàn)運行時 Web 頁。
MSCMS 2001 系統(tǒng)帳戶
使用一個系統(tǒng)帳戶,MSCMS 可訪問網(wǎng)絡(luò)上的資源,并可在使用了 Active Directory 時連接到 Active Directory。此帳戶充當(dāng)所有已驗證身份的用戶的代理,從而使管理員不必分別向每個已驗證身份的用戶授予對受保護(hù)資源的訪問權(quán)。系統(tǒng)帳戶必須有權(quán)枚舉或瀏覽 MSCMS 中支持的組織單元、域、容器、組和用戶。
在設(shè)置系統(tǒng)帳戶時,請注意以下幾點:
■ 建立系統(tǒng)帳戶時不必使用享有特權(quán)的 Windows 用戶帳戶,使用常規(guī)域用戶帳戶即可。
■ 如果 MSCMS 2001 中使用了 Active Directory Service 組織單元,則系統(tǒng)帳戶必須有權(quán)查看 ADS 樹。
■ 如果使用 SQL 信任的身份驗證,則系統(tǒng)帳戶必須對 CMS 2001 使用的 Microsoft SQL Server? 數(shù)據(jù)庫有讀/寫訪問權(quán)。如果使用 SQL
■ 身份驗證,那么 SQL 帳戶就需要有對數(shù)據(jù)庫的訪問權(quán)限,而不要求對系統(tǒng)帳戶擁有訪問權(quán)。
■ 一定不要讓系統(tǒng)帳戶成為域管理員。系統(tǒng)帳戶可以是本地管理員帳戶,但建議不要采用此設(shè)置。
■ 一定不要將 IIS 匿名帳戶設(shè)置成為系統(tǒng)帳戶。這樣做會授予匿名帳戶對 CMS 2001 數(shù)據(jù)庫的訪問權(quán)。
啟用系統(tǒng)帳戶
1.打開“服務(wù)器配置應(yīng)用程序”,單擊 Security(安全)選項卡,然后單擊 Configure(配置)。
2.為系統(tǒng)帳戶設(shè)置 Windows NT 用戶帳戶和帳戶密碼。
3.如果您選擇使用 SQL 身份驗證,請打開“數(shù)據(jù)庫配置應(yīng)用程序”(Database Configuration Application),選擇 SQL Server 7/2000,然后單擊 Next(下一步)。
4.清除 Use Trusted Connection(使用可信連接)復(fù)選框,然后提供必要的憑據(jù)。如果您在使用 SQL 集成安全機(jī)制,請將數(shù)據(jù)庫角色定義為 Public、DB_DATAREAD 和 DB_DATAWRITE。
IP 檢查和 cookie 超時
IP 檢查和 cookie 超時專門用于禁止黑客模擬已驗證身份的用戶對 Web 站點進(jìn)行未經(jīng)授權(quán)訪問。對計劃使用基于窗體手動登錄的管理員,這些設(shè)置特別重要,因為 cookie 超時指定標(biāo)識用戶會話的會話令牌的生存期,而令牌只對通過基于窗體登錄訪問站點的用戶發(fā)出。令牌的默認(rèn)生存期為 720 分或 12 小時。
啟用 IP 檢查時,將對照 HTTP 請求中的標(biāo)頭的 IP 地址來檢查由 MSCMS 在用戶登錄時生成的會話令牌。在理論上,用戶在登錄到 Web 站點后,會一直使用同一 IP 地址;這樣,對于每個后續(xù)的 HTTP 請求,令牌中的 IP 地址應(yīng)當(dāng)匹配提交請求的用戶的 IP 地址。如果不匹配,訪問就會被拒絕。但在某些情況下,用戶可能不一直使用同一 IP 地址(例如,通過不同代理服務(wù)器傳遞其請求的用戶就是這樣);因此,明智的做法是,在實現(xiàn) IP 檢查前,應(yīng)先分析可能訪問 Web 站點的用戶群體。注意,IP 檢查默認(rèn)情況下是啟用的;所以,如果管理員預(yù)見到 Web 站點用戶會有問題,則必須禁用它。例如,如果在已驗證身份的用戶手動登錄后不斷出現(xiàn)“會話超時”這一提示消息,則管理員可能需要禁用 IP 檢查。
配置 IP 檢查和 cookie 超時
1.打開 SCA,單擊 Security(安全)選項卡,然后單擊 Configure(配置)。
2.若要更改 cookie 超時值,請在 Cookie Lifetime(Cookie 生存期)框中鍵入一個新數(shù)字。
3.若要啟用 IP 檢查,請確保 Check Machine IP against Cookie(對照 Cookie 檢查計算機(jī) IP)框中出現(xiàn) Yes(是)。若要禁用 IP 檢查,請從下拉菜單中選擇 No(否)。
資源 URL 加密
資源 URL 指嵌入到 MSCMS 生成的 Web 頁中的 URL,它們作為到附件、圖片、視頻文件和其他庫項的鏈接。如果沒有適當(dāng)?shù)纳矸蒡炞C憑據(jù),用戶就不能訪問 Web 頁來查看這些資源。但訂戶有可能將 MSCMS 生成的 Web 頁中的資源 URL 傳遞給一個對該資源沒有訪問權(quán)的用戶,這個用戶于是便能夠訪問該資源的當(dāng)前版本和后續(xù)版本。
為避免出現(xiàn)這種情況,每次都應(yīng)將資源 URL 加密,然后才使它在 MSCMS 之外可用。服務(wù)器密鑰和已驗證的用戶標(biāo)識將用于加密,所以對于每個已驗證身份的用戶,所生成的 URL 互不相同。如果嘗試訪問資源的人不是為其生成加密 URL 的那個人,則找不到該文件。
一個群集中所有 Web 服務(wù)器的服務(wù)器密鑰必須相同,這樣 URL 加密才能成功;否則,每次將已經(jīng)路由到一個服務(wù)器的用戶會話再路由給另一不同的服務(wù)器時,都會重新對該用戶進(jìn)行身份驗證。使用位于 C:\Program Files\Microsoft Content Management Server\Server\bin 中的 ManageKey.exe 可將服務(wù)器密鑰復(fù)制給群集中的所有服務(wù)器。
注意,如果有人設(shè)法檢索到一個資源的實際路徑,他或她將就可以在沒有適當(dāng)授權(quán)的情況下請求該資源。資源 URL 加密于是就沒有用了。因此,最好不要啟用對 MSCMS 在文件緩存中動態(tài)生成的資源的目錄瀏覽。NTF 或 IIS 安全機(jī)制將對 MSCMS 未管理的資源起作用。
必須注意的是,如果沒有采取適當(dāng)?shù)姆婪洞胧敲淳幹普军c索引可能會造成一些問題。如果 Web 索引軟件執(zhí)行一次經(jīng)過身份驗證的爬網(wǎng),就會將資源 URL 包括在搜索結(jié)果中。不過,如果爬網(wǎng)是由管理員執(zhí)行的,則只有分配給管理員角色的帳戶能夠訪問到編制索引過程中生成的鏈接。為避免與站點索引關(guān)聯(lián)的某些問題,請執(zhí)行以下操作之一:
■ 確保爬網(wǎng)是使用來賓訪問執(zhí)行的,這樣,只有對來賓帳戶可用的 URL 才是所有用戶都能訪問到的。
■ 如果需要經(jīng)身份驗證的搜索爬網(wǎng),請將資源文件存儲到文件系統(tǒng)上 CMS 以外,或存儲在一個使它們不會被包括在索引中的文檔庫中。
有關(guān)執(zhí)行經(jīng)身份驗證的搜索爬網(wǎng)方面的更多信息,請參見“將 Microsoft SharePoint Portal 搜索集成到 Microsoft Content Management Server 中”。
站點配置
正確部署和配置 Web 站點的不同組件是確保站點安全的第一步。圖 2 顯示了配置 Web 站點一種方法。
圖 2 MSCMS 站點配置示例
為使服務(wù)器和數(shù)據(jù)庫不中斷,圖 2 中的防火墻使可直接通過 Internet 訪問的計算機(jī)的數(shù)目減到了最少。生產(chǎn)站點與開發(fā)和創(chuàng)作環(huán)境相互分離,以便針對內(nèi)部網(wǎng)上的入侵者提供最高程度的保護(hù)。
圖 2 還標(biāo)明了為保證 MSCMS Web 環(huán)境中的數(shù)據(jù)傳輸而必須打開的防火墻端口。下面簡要列出了針對站點上各通訊量類型必須打開的端口:
■ Internet 產(chǎn)生的通訊量。MSCMS Site Builder 和 Internet 瀏覽器處理源于 Internet 的通訊量。這兩種組件都支持使用 HTTP 或 HTTPS 連接與 MSCMS 服務(wù)器進(jìn)行通訊。對于此類型的數(shù)據(jù)傳輸,端口 80 和端口 443 都必須打開。
■ 外圍網(wǎng)絡(luò)產(chǎn)生的通訊量。此通訊發(fā)生在 MSCMS 和 SQL 數(shù)據(jù)庫之間,該數(shù)據(jù)庫存儲在防火墻后。網(wǎng)絡(luò)管理員應(yīng)當(dāng)將防火墻配置為通過默認(rèn)端口 1433,或通過為 SQL Server 接收數(shù)據(jù)而配置的 TCP 端口,來轉(zhuǎn)發(fā) IP 地址。還應(yīng)當(dāng)將防火墻配置為能夠轉(zhuǎn)發(fā)同一 IP 地址上的 UDP 端口 1434 的請求。SQL Server 2000 使用 UDP 端口 1434 建立與應(yīng)用程序間的通訊鏈路。
■ 內(nèi)部網(wǎng)絡(luò)通訊量。在部署到 MSCMS 群集時,App Center 要求打開端口 4244 和 4243 以進(jìn)行數(shù)據(jù)傳輸。僅支持 HTTP 連接的 MSCMS Site Deployment(MSCMS 站點部署)要求使用端口 80。對于 MSCMS Site Stager 和 MSCMS Server 之間的數(shù)據(jù)傳輸,還要求使用 HTTP 連接,因此端口 80 必須打開。
為確保 Web 站點有適當(dāng)?shù)陌踩Wo(hù)機(jī)制,管理員還應(yīng)當(dāng)采取適當(dāng)?shù)姆婪洞胧褂?IIS 鎖定工具加強(qiáng) IIS 的安全性。為使 MSCMS Web 站點在實現(xiàn) IIS 鎖定后能夠正常工作,站點上必須激活某些設(shè)置。有關(guān)這些設(shè)置的更多信息,請參見 http://www.microsoft.com/technet/treeview/def