圖 1 SQL Server 外圍應(yīng)用配置器可幫助您找出可以禁用哪些組件和服務(wù)。
您還應(yīng)該慎重考慮為 SQL Server 安全性選擇的身份驗(yàn)證方法。盡管您可以選擇混合模式或 Windows 身份驗(yàn)證模式,但是您應(yīng)該盡可能將 SQL Server 配置為使用 Windows 身份驗(yàn)證。Windows 模式比混合模式更安全,因?yàn)樗谏矸蒡?yàn)證過(guò)程中使用 Kerberos 安全協(xié)議。而且,由于 Windows 身份驗(yàn)證使用域用戶帳戶,因此您在 Active Directory 中建立的任何密碼策略仍然生效。
服務(wù)帳戶
管理員在部署 SharePoint 2007 時(shí)犯的最大的安全錯(cuò)誤之一是他們沒(méi)有正確配置服務(wù)帳戶。如果您曾經(jīng)安裝過(guò) SharePoint 2007,您肯定知道,在部署和配置過(guò)程中會(huì)多次要求您提供服務(wù)帳戶。
管理員經(jīng)常會(huì)創(chuàng)建一個(gè)單獨(dú)的服務(wù)帳戶,然后在整個(gè) SharePoint 安裝過(guò)程中使用該帳戶。盡管所獲得的 SharePoint 服務(wù)器能夠正常使用,但是此方法從安全角度來(lái)看是有風(fēng)險(xiǎn)的。
問(wèn)題在于:只要您向 SharePoint 提供服務(wù)帳戶,都會(huì)向該帳戶授予執(zhí)行當(dāng)前任務(wù)的權(quán)限。SharePoint 僅僅向帳戶提供執(zhí)行其工作所需的權(quán)限,而不會(huì)提供更多權(quán)限。但是如果您在整個(gè)部署過(guò)程中多次使用同一個(gè)服務(wù)帳戶,最終該帳戶就會(huì)擁有過(guò)多的權(quán)限,因?yàn)樵谀看问褂脮r(shí),它都會(huì)獲得更多權(quán)限。以后就可能會(huì)有人利用這些過(guò)多的權(quán)限在 SharePoint 服務(wù)器上運(yùn)行代碼,進(jìn)而控制服務(wù)器。
對(duì)于如何規(guī)劃 SharePoint 所使用的帳戶結(jié)構(gòu),存在大量相互矛盾的信息,甚至很難確認(rèn)哪些是推薦的最佳做法。毫無(wú)疑問(wèn),如果您執(zhí)行基本的 SharePoint 部署,建議最少使用五個(gè)單獨(dú)的帳戶。
此外,還建議您單獨(dú)創(chuàng)建一個(gè)特殊的用戶帳戶,專門用于安裝 SharePoint 和 SQL Server。管理員的常見(jiàn)做法是在部署 SharePoint 時(shí),使用自己的個(gè)人帳戶或域管理員帳戶進(jìn)行登錄。從安全角度來(lái)看,使用現(xiàn)有帳戶可能是一個(gè)錯(cuò)誤,因?yàn)樵搸魧⒈皇谟韪鄼?quán)限,以便完成安裝過(guò)程。
如果您決定使用專用的安裝帳戶,則必須使該帳戶成為每臺(tái) SharePoint 服務(wù)器上的本地管理員組的成員。您還必須使該帳戶成為 SQL Server 登錄組的成員,從而使該帳戶能夠登錄您的 SQL Server 實(shí)例。
最后,您需要向該帳戶授予 SQL Server 上的“SQL Server 數(shù)據(jù)庫(kù)創(chuàng)建者”和“SQL Server 安全管理員”角色。這些角色使得該帳戶有權(quán)創(chuàng)建和修改數(shù)據(jù)庫(kù)以及管理 SQL Server 的安全性。這些特殊權(quán)限是建議使用專用的用戶帳戶的根源。
除了創(chuàng)建專用于 SharePoint 安裝過(guò)程的帳戶以外,您還必須創(chuàng)建其他一些服務(wù)帳戶:
數(shù)據(jù)庫(kù)訪問(wèn)帳戶。這是 SharePoint 用來(lái)與 SQL Server 數(shù)據(jù)庫(kù)通信的帳戶。
SharePoint 搜索服務(wù)帳戶。SharePoint 搜索服務(wù)將使用此帳戶把內(nèi)容索引文件寫入索引服務(wù)器,以及把索引信息復(fù)制到服務(wù)器場(chǎng)中存在的任何查詢服務(wù)器。
內(nèi)容訪問(wèn)帳戶。此帳戶用于在特定的共享服務(wù)提供程序內(nèi)遍訪內(nèi)容。在有些情況下,您可能需要?jiǎng)?chuàng)建多個(gè)內(nèi)容訪問(wèn)帳戶,以便分別遍訪多個(gè)內(nèi)容源。
應(yīng)用程序池服務(wù)帳戶。此帳戶由 IIS 內(nèi)的工作進(jìn)程使用。池內(nèi)的 Web 應(yīng)用程序必須能夠訪問(wèn) SharePoint 內(nèi)容數(shù)據(jù)庫(kù),并且“應(yīng)用程序池標(biāo)識(shí)”帳戶也利用了此進(jìn)程。
SQL Server 服務(wù)帳戶。SQL Server 也需要一個(gè)服務(wù)帳戶,您應(yīng)該為此目的使用一個(gè)專用的帳戶。
更加高級(jí)的 SharePoint 部署可能需要使用更多服務(wù)帳戶。本文末尾的“相關(guān)內(nèi)容”部分中有一個(gè)鏈接指向一篇 TechNet 文章,該文章提供了您可能需要的其他服務(wù)帳戶的相關(guān)詳細(xì)信息。
命名約定
到現(xiàn)在為止,您可以看到,在開(kāi)始部署 SharePoint 之前就需要?jiǎng)?chuàng)建大量帳戶。確保順利完成部署的一項(xiàng)技巧是在您創(chuàng)建服務(wù)帳戶之前先確定它們的命名約定。
您可以使用不同的方法來(lái)建立服務(wù)帳戶命名約定,但是應(yīng)該遵循一些基本的規(guī)則。建議盡可能使用描述性的名稱,并花時(shí)間記錄所選的名稱及其目標(biāo)用途。例如,您可以將 SharePoint 搜索帳戶命名為類似 SPT_Search 的形式。
不拼寫出 SharePoint,是由于存在一些舊的限制。Windows 允許用戶名的總長(zhǎng)度超過(guò) 100 個(gè)字符,但是每個(gè)用戶名的長(zhǎng)度不能超過(guò) 16 個(gè)字符。長(zhǎng)用戶名偶爾會(huì)由于舊的硬件或軟件而導(dǎo)致意外的問(wèn)題。盡管這種情況很少見(jiàn),但確實(shí)存在,因此最好堅(jiān)持使用短用戶名。
請(qǐng)注意,盡管我建議使用描述性的服務(wù)帳戶名稱,而且這種名稱確實(shí)會(huì)使管理員的工作更加輕松,但是這么做并非總是能提供最佳安全性。服務(wù)帳戶是黑客中意的目標(biāo),因?yàn)樗鼈儽绕胀ㄓ脩魩魮碛懈叩臋?quán)限。它們經(jīng)常使用靜態(tài)的、一成不變的密碼。對(duì)于這種情況,您可能需要考慮隱藏您的服務(wù)帳戶。如果您這么做,務(wù)必記錄服務(wù)帳戶的名稱和功能。
加密流量
在規(guī)劃 SharePoint 部署時(shí),管理員花費(fèi)大量時(shí)間來(lái)設(shè)計(jì)服務(wù)器的體系結(jié)構(gòu)。有時(shí)候會(huì)忽略的一個(gè)要素是公鑰基礎(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 安裝的安全,它們是一個(gè)好的開(kāi)頭。