SQL Server 安裝的安全性考量

適用於:SQL Server - 僅限 Windows

安全性對於每一個產品和每一項業務都很重要。 只要遵循簡單的最佳做法,就可以避免許多安全性漏洞。 本文描述一些您在安裝 SQL Server 之前和安裝 SQL Server 之後應該考量的安全性最佳做法。 特定功能的參考文章皆會涵蓋這些功能的安全性指南。

安裝 SQL Server 之前

設定伺服器環境時,請遵循這些最佳做法:

加強實體安全性

實體和邏輯隔離,構成 SQL Server 安全性的基礎。 若要加強 SQL Server 安裝的實體安全性,請執行下列工作:

  • 將伺服器放在只有獲得授權的人員能夠存取的地點。

  • 將主控資料庫的電腦放在實體保護位置中,最好是有上鎖的電腦機房,裡面有水災偵測和火災偵測或控制系統的監視功能。

  • 在公司內部網路的安全區域中安裝資料庫,而且請勿將 SQL Server 執行個體直接連接到網際網路。

  • 定期備份所有資料,並在遠端位置保護備份安全。

使用防火牆

防火牆對於保護 SQL Server 安裝的安全非常重要。 如果您遵照這些方針,防火牆將是最有效的:

  • 將防火牆放在伺服器和網際網路之間。 啟用您的防火牆。 如果防火牆已關閉,請將它開啟。 如果防火牆已開啟,請勿將它關閉。

  • 將網路分割成防火牆所隔開的安全區域。 封鎖所有傳輸,然後選擇性地只准許必要的傳輸。

  • 在多層環境中,請使用多個防火牆來建立篩選的子網路。

  • 當您在 Windows 網域內安裝伺服器時,請設定內部防火牆允許 Windows 驗證。

  • 如果應用程式使用分散式交易,您可能必須設定防火牆,好讓 Microsoft 分散式交易協調器 (MS DTC) 傳輸可以在個別 MS DTC 執行個體之間流動。 您也必須設定防火牆,好讓 MS DTC 與資源管理員 (如 SQL Server) 之間的傳輸可以流動。

如需預設 Windows 防火牆設定的詳細資訊以及影響 Database Engine、Analysis Services、Reporting Services 和 Integration Services 之 TCP 通訊埠的描述,請參閱 設定 Windows 防火牆以允許 SQL Server 存取

隔離服務

隔離服務減少一個遭到破壞的服務被用來破壤其他服務的風險。 若要隔離服務,請考慮下列方針:

  • 在個別 Windows 帳戶下執行個別的 SQL Server 服務。 請盡可能針對每一個 SQL Server 服務使用低權限的個別 Windows 或本機使用者帳戶。 如需詳細資訊,請參閱 設定 Windows 服務帳戶與權限預覽版本升級問題的解答。

設定安全檔案系統

使用正確的檔案系統會增加安全性。 如果是 SQL Server 安裝,您應該執行下列工作:

使用 NT 檔案系統 (NTFS) 或彈性檔案系統 (ReFS)。 NTFS 和 ReFS 是安裝 SQL Server 的建議檔案系統,因為它比 FAT32 檔案系統更穩定且可復原。 NTFS 或 ReFS 也會啟用安全性選項,例如檔案和目錄存取控制清單 (ACL)。 NTFS 也支援加密檔案系統 (EFS) - 檔案加密。 在安裝期間,SQL Server 將會在偵測到 NTFS 時,對登錄機碼和檔案設定適當的 ACL。 這些權限不應該變更。 未來的 SQL Server 版本可能不支援在含有 FAT 檔案系統的電腦上安裝。

注意

如果您使用 EFS,資料庫檔案將會在執行 SQL Server 的帳戶識別下加密。 只有這個帳戶才能夠解密該檔案。 如果您必須變更執行 SQL Server 的帳戶,您必須先在舊的帳戶下解密檔案,然後在新的服務帳戶下重新加密檔案。

警告

透過 EFS 使用檔案加密可能會導致 I/O 效能變慢,因為加密會導致非同步 I/O 變成同步。 請參閱非同步磁碟 I/O 在 Windows 上顯示為同步。 相反地,您可以使用透明資料加密 (TDE)Always Encrypted 和資料行層級加密 T-SQL 函數等 SQL Server 加密技術來擷取。

停用 NetBIOS 和伺服器訊息區塊

周邊網路中的伺服器應該停用所有非必要的通訊協定,包括 NetBIOS 和伺服器訊息區塊 (SMB) 在內。

NetBIOS 使用下列通訊埠:

  • UDP/137 (NetBIOS 名稱服務)

  • UDP/138 (NetBIOS 資料包服務)

  • TCP/139 (NetBIOS 工作階段服務)

SMB 使用下列通訊埠:

  • TCP/139

  • TCP/445

Web 伺服器和網域名稱系統 (DNS) 伺服器不需要 NetBIOS 或 SMB。 在這些伺服器上,請停用這兩種通訊協定以減少使用者列舉的威脅。

在網域控制站上安裝 SQL Server

基於安全性理由,不建議您在網域控制站上安裝 SQL Server。 SQL Server 安裝程式將不會封鎖當做網域控制站之電腦上的安裝,但適用以下限制:

  • 您無法以本機服務帳戶在網域控制站上執行 SQL Server 服務。

  • 將 SQL Server 安裝到電腦之後,就無法將該電腦從網域成員變更為網域控制站。 在您將主機電腦變更為網域控制站之前,必須先解除安裝 SQL Server。

  • 當 SQL Server 安裝到電腦上以後,您無法將電腦從網域控制站變成網域成員。 在您將主機電腦變更為網域成員之前,必須先解除安裝 SQL Server。

  • 若叢集節點為網域控制站,則不支援 SQL Server 容錯移轉叢集執行個體。

  • SQL Server 安裝程式無法在唯讀網域控制站上建立安全性群組或佈建 SQL Server 服務帳戶。 在此狀況中,安裝程式將會失敗。

安裝 SQL Server 期間或之後

安裝之後,您可以遵照關於帳戶和驗證模式的這些最佳做法,來加強 SQL Server 安裝的安全性:

服務帳戶

  • 使用可能的最低權限來執行 SQL Server 服務。

  • 將 SQL Server 服務與低權限的 Windows 本機使用者帳戶或網域使用者帳戶產生關聯。

  • 如需詳細資訊,請參閱 設定 Windows 服務帳戶與權限預覽版本升級問題的解答。

驗證模式

增強式密碼

  • sa 帳戶一律指派增強式密碼。

  • 一律啟用檢查密碼強度和逾期的密碼原則。

  • 對所有 SQL Server 登入一律使用增強式密碼。

重要

SQL Server Express 安裝期間會在 BUILTIN\Users 群組中新增一個登入。 這可讓電腦上所有經過驗證的使用者以 public 角色成員的身分存取 SQL Server Express 執行個體。 BUILTIN\Users 登入可以安全地移除,藉此限制擁有個別登入或為其他擁有登入之 Windows 群組成員的電腦使用者對資料庫引擎的存取。

另請參閱

安裝 SQL Server 的硬體與軟體需求
網路通訊協定和網路程式庫
註冊 Kerberos 連接的服務主體名稱