共用方式為


規劃 SharePoint Server 的安全性強化機制

適用於:yes-img-132013 yes-img-16 2016yes-img-19 2019yes-img-seSubscription Edition no-img-sopSharePoint in Microsoft 365

安全的伺服器快照

在伺服器陣列環境中,個別伺服器會扮演特定角色。 對這些伺服器的安全性強化建議會視各自伺服器扮演的角色而定。 本文包含兩種伺服器角色類別的安全伺服器快照:

快照分成常見的組態類別。 每個類別定義的特性代表 SharePoint Server 的最佳強化狀態。 本文不包含環境中其他軟體的強化指引。

除了強化特定角色的伺服器,請務必在伺服器數位伺服器與外部要求之間放置防火牆來保護 SharePoint 伺服器陣列。 本文中的指引可用於設定防火牆。

SharePoint 伺服器

本節列出 SharePoint 伺服器的強化特性。 某些指導適用於特定服務應用程式;在這些情況中,對應的特性必須僅能套用到與執行指定服務應用程式相關之服務的伺服器中。

類別 特性
在 [服務] MMC 嵌入式管理單元中列出的服務
請啟用下列服務:
如果您使用 InfoPath Forms Services 或 Project Server 2016 (ASP.NET 狀態服務)
如果您使用 InfoPath Forms Services) ,請檢視狀態服務 (
World Wide Web Publishing 服務
請確定這些服務未停用:
對 Windows Token 服務的宣告
SharePoint Administration
SharePoint 計時器服務
SharePoint Tracing Service
SharePoint VSS Writer
請確定載入對應角色的伺服器上未停用這些服務:
AppFabric 快取服務
SharePoint User Code Host
SharePoint 搜尋主機控制器
SharePoint Server 搜尋
連接埠和通訊協定
TCP 80、TCP 443 (SSL)
自訂搜尋編目的連接埠,如果已設定 (例如編目檔案共用或非預設連接埠上的網站)
搜尋索引元件所使用的連接埠— TCP 16500-16519 (僅限內部伺服器陣列)
AppFabric 快取服務所需的連接埠— TCP 22233-22236
Windows Communication Foundation 通訊所需的連接埠— TCP 808
SharePoint 伺服器與服務應用程式間之通訊所需的連接埠 (預設值為 HTTP):
HTTP 繫結:TCP 32843
HTTPS 繫結:TCP 32844
net.tcp 繫結:TCP 32845 (若協力廠商針對服務應用程式而實作此選項,才會用到)
如果您的電腦網路環境將 Windows Server 2012、Windows Server 2008、Windows Server 2008 R2、Windows 7 或 Windows Vista 搭配 Windows Server 2012 和 Windows Vista 之前的 Windows 版本一起使用,您必須啟用可同時透過下列兩個連接埠範圍的連線:
高連接埠範圍 49152 到 65535
低連接埠範圍 1025 到 5000
SQL Server 通訊的預設連接埠— TCP 1433 與 UDP 1434。 若 SQL Server 電腦上的這兩個連接埠已封鎖 (建議),且資料庫安裝於具名執行個體,則必須設定 SQL Server 用戶端別名,以連線至該具名執行個體。
Microsoft SharePoint Foundation User Code Service (適用於沙箱解決方案) — TCP 32846。 必須開啟此連接埠,才能在所有前端伺服器和具有分散式快取的前端伺服器上進行輸出連線。 必須開啟此連接埠,才能在已開啟此服務的前端伺服器和具有分散式快取的前端伺服器上進行輸入連線。
確保連接埠會對可供使用者存取的 Web 應用程式開放。
封鎖對於管理中心網站所用連接埠的外部存取。
使用 SMTP 來整合電子郵件 — TCP 25 或自訂 TCP 連接埠,前提是您已將外寄電子郵件設定為使用非預設連接埠。
回應要求的ICMP – 每個分散式快取伺服器都應該有啟用回應要求ICMP的輸入/輸出防火牆規則。
登錄
無其他指導
稽核與記錄
若是記錄檔移至新位置,請務必更新記錄檔位置使對應新位置。 也請更新目錄存取控制清單 (ACL)。
Web.config
在執行安裝程式之後,每個所建立的 Web.config 檔案請遵循下列建議:
不允許透過PageParserPaths元素編譯或編寫資料庫頁面的腳本。
確保 <SafeMode> CallStack="false" 且 AllowPageLevelTrace="false"。
確定每個區域的最大控制項網頁組件限制設為低。
確定 SafeControls 清單設為您網站所需的最小控制項集合。
確定您的 Workflow SafeTypes 清單設為所需的最低 SafeTypes 層級。
確保 customErrors 已開啟 (<customErrors mode="On"/>)。
視需要考慮您的 Web Proxy 設定, (system.net<>/<defaultProxy>) 。
將 Upload.aspx 限制設為您合理預期使用者上傳的大小上限。 超過 100 MB 的上傳可能會影響效能。

資料庫伺服器角色

注意事項

由於 SharePoint Server 2016 中的 MinRole 功能有所新增,角色的概念已經改變。 如需角色的相關資訊,請參閱規劃 SharePoint Server 2016 的 MinRole 伺服器部署

SharePoint Server 的主要建議是藉由封鎖 SQL Server 通訊使用的預設連接埠,以保護伺服器陣列之間的通訊,並建立自訂連接埠供此通訊使用。 如需如何設定 SQL Server 通訊連接埠的詳細資訊,請參閱本文稍後的封鎖標準 SQL Server 連接埠

類別 特性
連接埠
封鎖 UDP 1434。
考慮封鎖 TCP 1433。

本文不會說明如何保護 SQL Server。 如需如何保護 SQL Server 的詳細資訊,請參閱 保護 SQL Server (https://go.microsoft.com/fwlink/p/?LinkId=186828) 。

特定連接埠、通訊協定和服務的指導方針

本文接下來的部分更詳細討論 SharePoint Server 的特定強化需求。

本節內容:

封鎖標準 SQL Server 連接埠

要在 SQL Server 的預設執行個體或在 SQL Server 的具名執行個體上安裝資料庫,會影響連線至 SQL Server 所使用的特定連接埠。 SQL Server 的預設執行個體會接聽 TCP 1433 上的用戶端要求。 SQL Server 的具名執行個體會在隨機指定的連接埠號碼上接聽。 此外,如果重新啟動具名執行個體,則可重新指定該執行個體的連接埠號碼 (視先前指定的連接埠號碼是否可用而定)。

連線至 SQL Server 的用戶端電腦預設會先使用 TCP 1433 進行連線。 若此通訊失敗,用戶端電腦便會查詢在 UDP 1434 上接聽的 SQL Server 解析服務,以決定資料庫執行個體所接聽的連接埠。

SQL Server 的預設連接埠通訊行為,會造成數個影響伺服器強化的問題。 首先,SQL Server 使用的連接埠是眾所周知的連接埠,且 SQL Server 解析服務一直是緩衝區溢位攻擊和拒絕服務攻擊的目標 (包括 Slammer 蠕蟲病毒)。 即使 SQL Server 已經過更新,減輕 SQL Server 解析服務的安全性問題,眾所周知的連接埠仍是目標。 其次,如果資料庫是安裝於 SQL Server 的具名執行個體,對應的通訊連接埠會隨機重新指定,且可以變更。 此行為可能會導致伺服器對伺服器通訊無法在強化的環境中進行。 若要保護環境,您必須能夠控制要開啟或封鎖哪些 TCP 連接埠。

注意事項

建議您使用標準 SQL 連接埠,但確定防火牆設定為只允許與需要存取 SQL Server 的伺服器通訊。 不需要存取 SQL Server 的伺服器則應封鎖,不讓其透過 TCP 連接埠 1433 和 UDP 連接埠 1444 來連線至 SQL Server。

封鎖連接埠的方法有很多種。 您可以使用防火牆來封鎖這些連接埠。 但是,除非您可以確定網路區段中沒有其他路由,且沒有惡意使用者擁有網路區段的存取權,否則建議在架設 SQL Server 的伺服器上直接封鎖這些連接埠。 您可以藉由使用 [控制台] 中的 [Windows 防火牆] 來完成此操作。

將 SQL Server 資料庫執行個體設定為在非標準的連接埠上接聽

SQL Server 能夠重新指派預設執行個體和任何具名執行個體所使用的連接埠。 在 SQL Server 中,您可以使用 SQL Server Configuration Manager 重新指派連接埠。

設定 SQL Server 用戶端別名

在伺服器陣列中,所有前端網頁伺服器與應用程式伺服器都是 SQL Server 用戶端電腦。 如果您在 SQL Server 電腦上封鎖 UDP 1434,或變更預設執行個體的預設連接埠,則必須在所有連線至 SQL Server 電腦的伺服器上設定 SQL Server 用戶端別名。 在這種情況下,SQL Server 用戶端別名會指定具名執行個體正在接聽的 TCP 連接埠。

若要連線至 SQL Server 的執行個體,請在目標電腦上安裝 SQL Server 用戶端元件,然後使用 SQL Server 組態管理員設定 SQL Server 用戶端別名。 若要安裝 SQL Server 用戶端元件,請執行安裝程式,然後僅選取下列用戶端元件進行安裝:

  • 連線元件

  • 管理工具 (包含 SQL Server 組態管理員)

如需封鎖標準 SQL Server 連接埠的特定強化步驟詳細資訊,請參閱設定 SharePoint Server 的 SQL Server 安全性

服務應用程式的通訊

預設會使用繫結至 TCP 32843 的 HTTP,進行伺服器陣列內 SharePoint 伺服器與服務應用程式之間的通訊。 發佈服務應用程式時,可以選取具有下列繫結的 HTTP 或 HTTPS:

  • HTTP 繫結:TCP 32843

  • HTTPS 繫結:TCP 32844

另外,開發服務應用程式的協力廠商可實作第三種選擇:

  • net.tcp 繫結:TCP 32845

您可以變更每個服務應用程式的通訊協定及連接埠繫結。 在管理中心的 [服務應用程式] 頁面上,選取服務應用程式,然後選取 [ 發佈]

HTTP/HTTPS/net.tcp 繫結亦可透過使用 Get-SPServiceHostConfigSet-SPServiceHostConfig Microsoft PowerShell Cmdlet 加以檢視及變更。

服務應用程式與 SQL Server 之間的通訊,是透過標準 SQL Server 連接埠,或您為 SQL Server 通訊設定的連接埠進行。

連線到外部伺服器

SharePoint Server 中有數項功能可設定為存取位於伺服器陣列外之伺服器電腦上的資料。 若設定存取外部伺服器電腦上的資料,請確定已啟用適當電腦之間的通訊。 在大多數的情況下,使用的連接埠、通訊協定及服務會視外部資源而定。 例如:

  • 檔案共用的連線會使用檔案及印表機共用服務。

  • 外部 SQL Server 資料庫的連線會使用預設或自訂的連接埠來進行 SQL Server 通訊。

  • 與 Oracle 資料庫的連線一般使用 OLE DB。

  • Web 服務的連線使用 HTTP 和 HTTPS。

下表列出的功能可用來存取位於伺服器陣列外之伺服器電腦中的資料。

功能 描述
內容編目
您可以將編目規則設定為對位於外部資源上的資料進行編目,這些外部資源包含網站、檔案共用、Exchange 公用資料夾及商務資料應用程式。 在編目外部資料來源時,編目角色會直接與這些外部資源通訊。
如需詳細資訊,請參閱在 SharePoint Server 中管理編目
Business Data Connectivity 連線
網頁伺服器及應用程式伺服器會直接與設定 Business Data Connectivity 連線的電腦通訊。

電子郵件整合的服務需求

電子郵件整合需要使用兩項服務:

SMTP 服務

伺服器陣列中至少必須有一部前端網頁伺服器使用簡易郵件傳送通訊協定 (SMTP) 服務,才可以進行電子郵件整合。 內送電子郵件需要 SMTP 服務。 若是外寄電子郵件,則可以使用 SMTP 服務,或透過組織中專用的電子郵件伺服器 (如 Microsoft Exchange Server 電腦) 傳送外寄電子郵件。

Microsoft SharePoint 目錄管理服務

SharePoint Server 包含內部服務 Microsoft SharePoint 目錄管理服務,以建立電子郵件通訊群組。 當您設定電子郵件整合時,可以選擇啟用目錄管理服務功能,讓使用者建立通訊群組清單。 當使用者建立 SharePoint 群組並選取建立通訊群組清單時,Microsoft SharePoint 目錄管理服務會在 Active Directory 環境中建立對應的 Active Directory 目錄服務通訊群組清單。

在強化安全性的環境中,建議透過保護與 Microsoft SharePoint 目錄管理服務相關的檔案 (亦即 SharePointEmailws.asmx),來限制此服務的存取權。 例如,您可以只允許伺服器陣列帳戶存取這個檔案。

此外,這項服務需要 Active Directory 環境的權限才能建立 Active Directory 通訊群組清單物件。 建議在 Active Directory 中為 SharePoint Server 物件設定不同的組織單位 (OU)。 只應允許此 OU 對 Microsoft SharePoint 目錄管理服務所使用的帳戶進行寫入存取。

工作階段狀態的服務需求

Project Server 2016 和 InfoPath Forms Services 都會保有工作階段狀態。 如果您要在伺服器陣列內部署這些功能或產品,請勿停用 ASP.NET 狀態服務。 此外,如果您要部署 InfoPath Forms Services,請勿停用檢視狀態服務。

SharePoint Server 產品服務

請勿停用 SharePoint Server (先前) 快照集中所列的服務。

如果您的環境不允許以本機系統身分執行的服務,則只有在您知道結果且可以解決這些狀況時,才可以考慮停用 SharePoint 系統管理服務。 此服務是以本機系統身分執行的 Win32 服務。

SharePoint 計時器服務會使用此服務在伺服器上執行需要系統管理權限的動作,例如建立 Internet Information Services (IIS) 網站、部署程式碼,以及停止和啟動服務。 如果您停用此服務,就無法從管理中心網站完成部署相關工作。 您必須使用 Microsoft PowerShell 來執行 Start-SPAdminJob Cmdlet (或使用 Stsadm.exe 命令列工具來執行 execadmsvcjobs 操作) 以完成 SharePoint Server 多重伺服器部署,及執行其他部署相關的工作。

Web.config 檔案

.NET Framework 使用 XML 格式的設定檔來設定應用程式,尤其是 ASP.NET。 .NET Framework 根據設定檔來定義設定選項。 設定檔是文字格式的 XML 檔。 單一系統上可以且通常會存在多個設定檔。

.NET Framework 的全系統組態設定會定義於 Machine.config 檔案中。 Machine.config 檔案位於 %SystemRoot%\Microsoft.NET\Framework%VersionNumber%\CONFIG\ 資料夾中。 Machine.config 檔案中包含的預設設定可加以修改,藉以影響整個系統使用 .NET Framework 的應用程式行為。

如果在應用程式的根資料夾中建立 Web.config 檔案,則可以變更單一應用程式的 ASP.NET 組態設定。 執行此動作時,Web.config 檔案中的設定會覆寫 Machine.config 檔案中的設定。

當您使用管理中心擴充 Web 應用程式時,SharePoint Server 會自動為該 Web 應用程式建立 Web.config 檔案。

本文上述的網頁伺服器和應用程式伺服器快照,列出 Web.config 檔案的設定建議。 這些建議適用於每個建立的 Web.config 檔案,包含管理中心網站的 Web.config 檔案。

如需 ASP.NET 組態檔和編輯 Web.config 檔案的詳細資訊,請 參閱 ASP.NET 組態 (https://go.microsoft.com/fwlink/p/?LinkID=73257) 。

另請參閱

概念

SharePoint Server 的安全性