保護 SQL Server 可視為一系列步驟,涉及四個領域:平臺、驗證、物件(包括數據),以及存取系統的應用程式。 下列主題將引導您建立及實作有效的安全性計劃。
您可以在 SQL Server 網站找到 SQL Server 安全性的詳細資訊。 這包括最佳做法指南和安全性檢查清單。 此網站也包含最新的 Service Pack 資訊和下載。
平臺和網路安全性
SQL Server 平臺包含將用戶端連線到資料庫伺服器的實體硬體和網路系統,以及用來處理資料庫要求的二進位檔。
實體安全性
實體安全性的最佳做法會嚴格限制實體伺服器和硬體元件的存取。 例如,針對資料庫伺服器硬體和網路裝置使用受限存取的鎖定會議室。 此外,將備份媒體儲存在安全的異地位置,以限制對備份媒體的存取。
實作實體網路安全性一開始會讓未經授權的使用者離開網路。 下表包含有關網路安全性資訊的詳細資訊。
| 如需相關信息 | 看! |
|---|---|
| SQL Server Compact 和對其他 SQL Server 版本的網路存取 | 《SQL Server Compact Books Online》中的「設定和保護伺服器環境」 |
作業系統安全性
作業系統的 Service Pack 和升級包含重要的安全性增強功能。 當您使用資料庫應用程式測試所有更新和升級之後,請將所有更新和升級套用至作系統。
防火牆也提供實作安全性的有效方式。 從邏輯上講,防火牆是網路流量的分隔符或限制器,可設定為強制執行組織的數據安全策略。 如果您使用防火牆,藉由提供可集中安全性措施的控制點,您將能增加作業系統層級的安全性。 下表包含如何搭配 SQL Server 使用防火牆的詳細資訊。
| 如需相關信息 | 看! |
|---|---|
| 設定防火牆以使用 SQL Server | 設定適用於 Database Engine 存取的 Windows 防火牆 |
| 設定防火牆以配合 Integration Services 進行運作 | 針對 SSIS 服務的存取設定 Windows 防火牆 |
| 設定防火牆以與 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 Compact Books Online》 中的“IIS 安全性” |
| Reporting Services 驗證 | Reporting Services 中的驗證 |
| SQL Server Compact 和 IIS 存取權限 | 《在線 SQL Server 壓縮叢書》中的「因特網資訊服務安全性流程圖」 |
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'));
GO
主體和資料庫物件安全性
主體是授與 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 安全性最佳做法包括撰寫安全的用戶端應用程式。
如需如何在網路層維護用戶端應用程式安全的詳細資訊,請參閱 用戶端網路組態。
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 安全性目錄檢視和函式
Database Engine 會在數個針對效能和公用程式優化的檢視和函式中公開安全性資訊。 下表包含安全性視圖和功能的相關資訊。
| 如需相關信息 | 看! |
|---|---|
| SQL Server 安全性目錄檢視,其會傳回資料庫層級和伺服器層級許可權、主體、角色等相關信息。 此外,另有若干目錄檢視提供了加密金鑰、憑證與認證的相關資訊。 | 安全性目錄檢視 (Transact-SQL) |
| SQL Server 安全性函式,其會傳回目前使用者、許可權和架構的相關信息。 | 安全性函數 (Transact-SQL) |
| SQL Server 安全性動態管理檢視。 | 安全性相關的動態管理檢視和函數 (Transact-SQL) |