SharePoint安全性:保護(hù)SharePoint部署的基礎(chǔ)知識
即使毫無經(jīng)驗的管理員也可以在幾個小時內(nèi)成功部署 Microsoft Office SharePoint Server 2007。盡管基本的部署確實能夠正常使用,但是它很可能未經(jīng)過相應(yīng)的配置以實現(xiàn)最佳安全性。SharePoint Server 2007 是一種很容易安裝、但很難正確安裝的應(yīng)用程序。
使得安全性極具挑戰(zhàn)性的原因是 SharePoint 2007 試圖通過一款產(chǎn)品來滿足所有人的所有需要。SharePoint 2007 是一款 Web 應(yīng)用程序,但您也可以將其當(dāng)作協(xié)作工具、文檔服務(wù)器,甚至開發(fā)框架。SharePoint 的抽象和高度可定制的本質(zhì)使得很難保護(hù)其安全。
正如您可能已經(jīng)指出的那樣,沒有什么神奇的解決方案可以保護(hù) SharePoint 的安全。每一個 SharePoint 部署都是獨特的,因此不可能有什么“萬能型”的解決方案。但是,有一些基本的方法適用于所有部署。
如果您曾經(jīng)創(chuàng)建過 SharePoint 站點,您一定知道 SharePoint 采用了模塊化設(shè)計,它提供了一些構(gòu)造塊,用于創(chuàng)建 SharePoint 站點、站點集合、列表、庫等等。談到安全性,您可以充分利用這種模塊化的本質(zhì)。
具體的思路是重點保護(hù) SharePoint 部署中各個組件的安全。SharePoint 的模塊化本質(zhì)意味著您的部署通常需要許多單獨的 SharePoint 服務(wù)器。因此,如果您希望保護(hù)部署的安全,就必須保護(hù)這些單獨的服務(wù)器的安全。
SQL Server
SharePoint 列表和庫中包含的所有數(shù)據(jù)均存儲在基礎(chǔ) SQL Server 數(shù)據(jù)庫中,后者還存儲了大部分 SharePoint 配置設(shè)置。很明顯,正確保護(hù) SQL Server 的安全是至關(guān)重要的。
小型組織通常將 SQL Server 和 SharePoint 安裝在同一臺服務(wù)器上,以便降低服務(wù)器硬件的成本。但是,無論是從安全性還是從性能的角度來看,將 SQL Server 和 SharePoint 部署在一臺公用的機(jī)器上都不是一個好主意。
IT 安全中的一條最基本的概念是盡可能減少服務(wù)器的受攻擊面。如果 SQL 和 SharePoint 位于同一臺服務(wù)器上,該服務(wù)器的受攻擊面就會非常大。因此,我的第一條建議是在專用的機(jī)器上運行 SQL Server。如果專用的 SQL Server 超出了您組織的預(yù)算,可以考慮使用服務(wù)器虛擬化技術(shù)來隔離 SQL 和 SharePoint。
另一個好主意是禁用所有不使用的服務(wù)和組件?;镜?SharePoint 部署需要使用 SQL Server 的數(shù)據(jù)庫引擎、SQL Server 代理和 SQL Server 瀏覽器組件。更高級的安裝可能需要全文索引、分析或報告服務(wù)。
如何確定您要禁用哪些功能?Microsoft 提供了一個名為 SQL Server 外圍應(yīng)用配置器(如圖 1 所示)的工具,可以幫助您完成此過程。此工具用于分析您的 SQL Server 實施并禁用任何未使用的功能。您應(yīng)該在 SharePoint 正常運行后運行此工具。
若要訪問此工具,請從服務(wù)器的“開始”|“所有程序”|“Microsoft SQL Server 2005”|“配置工具”菜單中選擇“SQL Server 外圍應(yīng)用配置器”選項。
圖 1 SQL Server 外圍應(yīng)用配置器可幫助您找出可以禁用哪些組件和服務(wù)。
您還應(yīng)該慎重考慮為 SQL Server 安全性選擇的身份驗證方法。盡管您可以選擇混合模式或 Windows 身份驗證模式,但是您應(yīng)該盡可能將 SQL Server 配置為使用 Windows 身份驗證。Windows 模式比混合模式更安全,因為它在身份驗證過程中使用 Kerberos 安全協(xié)議。而且,由于 Windows 身份驗證使用域用戶帳戶,因此您在 Active Directory 中建立的任何密碼策略仍然生效。
服務(wù)帳戶
管理員在部署 SharePoint 2007 時犯的最大的安全錯誤之一是他們沒有正確配置服務(wù)帳戶。如果您曾經(jīng)安裝過 SharePoint 2007,您肯定知道,在部署和配置過程中會多次要求您提供服務(wù)帳戶。
管理員經(jīng)常會創(chuàng)建一個單獨的服務(wù)帳戶,然后在整個 SharePoint 安裝過程中使用該帳戶。盡管所獲得的 SharePoint 服務(wù)器能夠正常使用,但是此方法從安全角度來看是有風(fēng)險的。
問題在于:只要您向 SharePoint 提供服務(wù)帳戶,都會向該帳戶授予執(zhí)行當(dāng)前任務(wù)的權(quán)限。SharePoint 僅僅向帳戶提供執(zhí)行其工作所需的權(quán)限,而不會提供更多權(quán)限。但是如果您在整個部署過程中多次使用同一個服務(wù)帳戶,最終該帳戶就會擁有過多的權(quán)限,因為在您每次使用時,它都會獲得更多權(quán)限。以后就可能會有人利用這些過多的權(quán)限在 SharePoint 服務(wù)器上運行代碼,進(jìn)而控制服務(wù)器。
對于如何規(guī)劃 SharePoint 所使用的帳戶結(jié)構(gòu),存在大量相互矛盾的信息,甚至很難確認(rèn)哪些是推薦的最佳做法。毫無疑問,如果您執(zhí)行基本的 SharePoint 部署,建議最少使用五個單獨的帳戶。
此外,還建議您單獨創(chuàng)建一個特殊的用戶帳戶,專門用于安裝 SharePoint 和 SQL Server。管理員的常見做法是在部署 SharePoint 時,使用自己的個人帳戶或域管理員帳戶進(jìn)行登錄。從安全角度來看,使用現(xiàn)有帳戶可能是一個錯誤,因為該帳戶將被授予更多權(quán)限,以便完成安裝過程。
如果您決定使用專用的安裝帳戶,則必須使該帳戶成為每臺 SharePoint 服務(wù)器上的本地管理員組的成員。您還必須使該帳戶成為 SQL Server 登錄組的成員,從而使該帳戶能夠登錄您的 SQL Server 實例。
最后,您需要向該帳戶授予 SQL Server 上的“SQL Server 數(shù)據(jù)庫創(chuàng)建者”和“SQL Server 安全管理員”角色。這些角色使得該帳戶有權(quán)創(chuàng)建和修改數(shù)據(jù)庫以及管理 SQL Server 的安全性。這些特殊權(quán)限是建議使用專用的用戶帳戶的根源。
除了創(chuàng)建專用于 SharePoint 安裝過程的帳戶以外,您還必須創(chuàng)建其他一些服務(wù)帳戶:
數(shù)據(jù)庫訪問帳戶。這是 SharePoint 用來與 SQL Server 數(shù)據(jù)庫通信的帳戶。
SharePoint 搜索服務(wù)帳戶。SharePoint 搜索服務(wù)將使用此帳戶把內(nèi)容索引文件寫入索引服務(wù)器,以及把索引信息復(fù)制到服務(wù)器場中存在的任何查詢服務(wù)器。
內(nèi)容訪問帳戶。此帳戶用于在特定的共享服務(wù)提供程序內(nèi)遍訪內(nèi)容。在有些情況下,您可能需要創(chuàng)建多個內(nèi)容訪問帳戶,以便分別遍訪多個內(nèi)容源。
應(yīng)用程序池服務(wù)帳戶。此帳戶由 IIS 內(nèi)的工作進(jìn)程使用。池內(nèi)的 Web 應(yīng)用程序必須能夠訪問 SharePoint 內(nèi)容數(shù)據(jù)庫,并且“應(yīng)用程序池標(biāo)識”帳戶也利用了此進(jìn)程。
SQL Server 服務(wù)帳戶。SQL Server 也需要一個服務(wù)帳戶,您應(yīng)該為此目的使用一個專用的帳戶。
更加高級的 SharePoint 部署可能需要使用更多服務(wù)帳戶。本文末尾的“相關(guān)內(nèi)容”部分中有一個鏈接指向一篇 TechNet 文章,該文章提供了您可能需要的其他服務(wù)帳戶的相關(guān)詳細(xì)信息。
命名約定
到現(xiàn)在為止,您可以看到,在開始部署 SharePoint 之前就需要創(chuàng)建大量帳戶。確保順利完成部署的一項技巧是在您創(chuàng)建服務(wù)帳戶之前先確定它們的命名約定。
您可以使用不同的方法來建立服務(wù)帳戶命名約定,但是應(yīng)該遵循一些基本的規(guī)則。建議盡可能使用描述性的名稱,并花時間記錄所選的名稱及其目標(biāo)用途。例如,您可以將 SharePoint 搜索帳戶命名為類似 SPT_Search 的形式。
不拼寫出 SharePoint,是由于存在一些舊的限制。Windows 允許用戶名的總長度超過 100 個字符,但是每個用戶名的長度不能超過 16 個字符。長用戶名偶爾會由于舊的硬件或軟件而導(dǎo)致意外的問題。盡管這種情況很少見,但確實存在,因此最好堅持使用短用戶名。
請注意,盡管我建議使用描述性的服務(wù)帳戶名稱,而且這種名稱確實會使管理員的工作更加輕松,但是這么做并非總是能提供最佳安全性。服務(wù)帳戶是黑客中意的目標(biāo),因為它們比普通用戶帳戶擁有更高的權(quán)限。它們經(jīng)常使用靜態(tài)的、一成不變的密碼。對于這種情況,您可能需要考慮隱藏您的服務(wù)帳戶。如果您這么做,務(wù)必記錄服務(wù)帳戶的名稱和功能。
加密流量
在規(guī)劃 SharePoint 部署時,管理員花費大量時間來設(shè)計服務(wù)器的體系結(jié)構(gòu)。有時候會忽略的一個要素是公鑰基礎(chǔ)結(jié)構(gòu) (PKI)。您需要在部署 SharePoint 之前準(zhǔn)備好 PKI,這樣才能正確加密 SharePoint 流量。SharePoint 服務(wù)器與最終用戶之間的 HTTP 流量必須進(jìn)行 SSL 加密(使用 HTTPS)。
同樣,SharePoint 服務(wù)器之間的流量也應(yīng)該使用 IPSec 進(jìn)行加密。這兩種加密均依賴于證書和基礎(chǔ) PKI 結(jié)構(gòu)。
這些最佳安全做法并不全面。但是,要盡可能保護(hù) SharePoint 安裝的安全,它們是一個好的開頭。
文章來源:微軟TechNet中文網(wǎng)
【編輯推薦】