保護 SQL Server 的安全

適用於:SQL Server

您可將維護 SQL Server 的安全視為一系列的步驟,其涉及下列四個部分:平台、驗證、物件 (包括資料) 和存取系統的應用程式。 本文引導您逐步建立及實施有效的安全性計畫。

您可以在 SQL Server 安全性最佳做法部分找到有關 SQL Server 安全性的詳細資訊。 這包括最佳作法指南和安全性檢查清單。 請務必安裝最新的 Service Pack 或累積更新

平台與網路安全性

SQL Server 的平台包括了將用戶端連線到資料庫伺服器的實體硬體和網路系統,以及用於處理資料庫要求的二進位檔案。

實體安全性

實體安全性的最佳作法應嚴格限制對於實體伺服器和硬體元件的存取。 例如,請將資料庫伺服器硬體和網路裝置放在上鎖限制存取的機房內。 此外,備份媒體應儲存在安全的異地位置以限制存取。

實施實體網路安全性的第一步,是禁止未經授權的使用者接近網路。 如需詳細資訊,請參閱 <SQL Server 安全性最佳做法 - 基礎結構威脅>。

作業系統安全性

作業系統的 Service Pack 和升級包含重要的安全性增強功能。 任何更新和升級在經過資料庫應用程式的測試後,請立即套用至作業系統。

防火牆也提供了有效實施安全性的方法。 在邏輯上,防火牆具有隔離與限制網路流量的功能,可供您的組織進行設定以強制實施資料安全性原則。 如果使用防火牆,可對有安全顧慮的重點區域提供阻卻作用,以提高作業系統層級安全性。 下表包含有關如何搭配 SQL Server 使用防火牆的詳細資訊。

如需下列資訊 請參閱
設定要搭配 SQL Server 使用的防火牆 設定用於 Database Engine 存取的 Windows 防火牆
設定要搭配整合服務使用的防火牆 Integration Services 服務 (SSIS 服務)
設定防火牆以使用 Analysis Services 設定 Windows 防火牆以允許 Analysis Services 存取
開啟防火牆的特定通訊埠以啟用存取 SQL Server 設定 Windows 防火牆以允許 SQL Server 存取
使用通道繫結與服務繫結,設定驗證擴充保護的支援 使用擴充保護連接至 Database Engine

介面區縮小是一種停止或停用未使用元件的安全性措施。 介面區縮小可透過提供較少的系統潛在攻擊途徑,以協助提高安全性。 對 SQL Server 的介面區設限,重點事項包括僅授與服務和使用者適當權限,以賦予「最少權限」執行必要的服務。 下表包含服務及系統存取的詳細資訊。

如需下列資訊 請參閱
SQL Server 所需的服務 設定 Windows 服務帳戶與權限

如果您的 SQL Server 系統使用 Internet Information Services (IIS),則需要設定其他步驟以保護平台介面的安全。 下表包含 SQL Server 和 Internet Information Services 的相關資訊。

如需下列資訊 請參閱
使用 SQL Server Compact 的 IIS 安全性 保護 SQL Server - 作業系統安全性
Reporting Services 驗證 Reporting Services 中的驗證
SQL Server Compact 和 IIS 存取 Internet Information Services 安全性流程圖

SQL Server 作業系統檔案安全性

SQL Server 使用作業系統檔案執行作業及儲存資料。 檔案安全性的最佳作法要求針對這些檔案設定存取限制。 下表包含這些檔案的詳細資訊。

如需下列資訊 請參閱
SQL Server 程式檔 SQL Server 的預設和具名執行個體的檔案位置

SQL Server Service Pack 和升級提供增強的安全性。 如需得知 SQL Server 是否已有最新的 Service Pack 可供使用,請瀏覽 SQL Server 網站。

您可以利用下列指令碼判斷系統上安裝的 Service Pack 版本。

SELECT CONVERT(char(20), SERVERPROPERTY('productlevel'));  

主體與資料庫物件安全性

主體是指已獲授權存取 SQL Server 的個人、群組和處理序。 「安全性實體」則是指伺服器、資料庫及資料庫所包含的物件。 這些實體均可各自設定一組權限,以減少 SQL Server 介面區。 下表包含主體和安全性實體的相關資訊。

如需下列資訊 請參閱
伺服器與資料庫使用者、角色和處理序 主體 (資料庫引擎)
伺服器與資料庫物件安全性 安全性實體
SQL Server 安全性階層 權限階層 (Database Engine)

加密和憑證

加密並不能解決存取控制問題。 但是,若發生存取控制失靈的罕見情形,加密則可限縮資料遺失的風險以增強安全性。 例如,只要資料已加密,即使資料庫主機電腦設定不當而遭惡意使用者取得敏感性資料 (如信用卡號),失竊的資訊就可能毫無用處。 下表包含 SQL Server 中加密的詳細資訊。

如需下列資訊 請參閱
SQL Server 的加密階層 加密階層
實作安全連接 啟用 Database Engine 的加密連接 (SQL Server 組態管理員)
加密函數 密碼編譯函式 (Transact-SQL)

憑證是兩部伺服器之間共用的軟體「金鑰」,可透過強化驗證的方式提供安全通訊。 您可以在 SQL Server 中建立與使用憑證,進而增強物件及連接安全性。 下表包含有關如何搭配 SQL Server 使用憑證的詳細資訊。

如需下列資訊 請參閱
建立 SQL Server 使用的憑證 CREATE CERTIFICATE (Transact-SQL)
搭配資料庫鏡像使用憑證 針對資料庫鏡像端點使用憑證 (Transact-SQL)

應用程式安全性

用戶端程式

SQL Server 安全性最佳做法包括撰寫安全的用戶端應用程式。 如需如何在網路層維護用戶端應用程式安全的詳細資訊,請參閱 用戶端網路組態

Windows Defender 應用程式控制 (WDAC)

Windows Defender 應用程式控制 (WDAC) 會防止未經授權的程式碼執行。 WDAC 能有效減低可執行檔形式的惡意程式碼威脅。 如需詳細資訊,請參閱 Windows Defender 應用程式控制文件。

SQL Server 安全性工具、公用程式、檢視和函式

SQL Server 提供可用於設定與管理安全性的工具、公用程式、檢視和函式。

SQL Server 安全性工具和公用程式

下表包含可用於設定及管理安全性的 SQL Server 工具和公用程式有關的資訊。

如需下列資訊 請參閱
連接、設定與控制 SQL Server 使用 SQL Server Management Studio
從命令提示字元連線到 SQL Server 並執行查詢 sqlcmd 公用程式
網路設定和控制 SQL Server SQL Server 組態管理員
使用以原則為基礎的管理來啟用及停用功能 使用原則式管理來管理伺服器
管理報表伺服器的對稱金鑰 rskeymgmt 公用程式 (SSRS)

SQL Server 安全性目錄檢視和函式

SQL Server 在已針對效能與實用性最佳化的數種檢視和函式中公開安全性資訊。 下表包含安全性檢視和函數的相關資訊。

如需下列資訊 請參閱
SQL Server 安全性目錄檢視,傳回資料庫層級與伺服器層級的權限、主體、角色等等的相關資訊。 此外,另有若干目錄檢視提供了加密金鑰、憑證與認證的相關資訊。 安全性目錄檢視 (Transact-SQL)
SQL Server 安全性函式,可傳回目前使用者、權限和結構描述的相關資訊。 安全性函數 (Transact-SQL)
SQL Server 安全性動態管理檢視。 安全性相關的動態管理檢視和函數 (Transact-SQL)