保護 SQL Server 的安全

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

您可以在 SQL Server 網站 (英文) 上找到有關 SQL Server 安全性的詳細資訊。這包括最佳作法指南和安全性檢查清單。該網站也提供了最新的 Service Pack 資訊和下載檔。

平台與網路安全性

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

實體安全性

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

實施實體網路安全性的第一步,是禁止未經授權的使用者接近網路。下表包含網路安全性資訊的進一步相關資訊。

如需詳細資訊

請參閱

網路和 SQL Server

網路通訊協定和 TDS 端點

指定及限制供 SQL Server 使用的通訊埠

設定伺服器網路通訊協定與網路程式庫

限制從網路存取 SQL Server

限制網路存取

SQL Server Compact 3.5 SP2 以及從網路存取其他 SQL Server 版本

《SQL Server Compact 3.5 SP2 線上叢書》中的<設定與保護伺服器環境安全>(英文)

備份與還原策略

備份和還原的安全性考量因素.

作業系統安全性

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

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

如需詳細資訊

請參閱

設定防火牆與 SQL Server 搭配使用

如何:設定用於 Database Engine 存取的 Windows 防火牆

設定防火牆與 Integration Services 搭配使用

設定用於 Integration Services 存取的 Windows 防火牆

設定防火牆與 Analysis Services 搭配使用

為 Analysis Services 的存取設定 Windows 防火牆

設定防火牆與 Reporting Services 搭配使用

伺服器部署檢查清單

開啟防火牆的特定通訊埠以允許對 SQL Server 進行存取

Opening Ports in the Firewall

使用通道繫結與服務繫結,設定驗證擴充保護的支援

使用擴充保護連接到 Database Engine

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

如需詳細資訊

請參閱

SQL Server 所需的服務

設定 Windows 服務帳戶

限制伺服器登入存取

限制互動式登入存取

本機系統管理權限

授與本機管理權限

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

如需詳細資訊

請參閱

IIS 安全性與 SQL Server Compact 3.5 SP2

《SQL Server Compact 3.5 SP2 線上叢書》中的<IIS 安全性>(英文)

在 SQL Server 和 IIS 中使用 Web 服務

使用原生 XML Web Service 的最佳作法

報表伺服器與網際網路存取

規劃外部網路或網際網路部署

Reporting Services 驗證

Reporting Services 中的驗證

SQL Server Compact 3.5 SP2 與 IIS 存取

《SQL Server Compact 3.5 SP2 線上叢書》中的<Internet Information Services 安全性流程圖>(英文)

SQL Server 作業系統檔案安全性

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

如需詳細資訊

請參閱

SQL Server 程式檔案

SQL Server 的預設和具名執行個體的檔案位置

資料庫檔案安全性

保護資料和記錄檔

Analysis Services 檔案安全性

保護程式檔案、一般元件和資料檔

SQL Server Service Pack 和升級提供了增強的安全性。如需得知 SQL Server 是否已有最新的 Service Pack 可供下載,請造訪 SQL Server 網站。

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

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

主體與資料庫物件安全性

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

如需詳細資訊

請參閱

伺服器與資料庫使用者、角色和處理序

主體 (Database Engine)

伺服器與資料庫物件安全性

安全性實體

SQL Server 安全性階層架構

權限階層 (Database Engine)

如需有關資料庫和應用程式安全性的詳細資訊,請參閱<識別和存取控制項 (Database Engine)>。

加密和憑證

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

如需詳細資訊

請參閱

SQL Server 加密階層架構

加密階層

加密 SQL Server 連接

加密 SQL Server 的連接

實作安全連接

如何:啟用 Database Engine 的加密連接 (SQL Server 組態管理員)

加密函數

加密函數 (Transact-SQL)

實作加密

加密的如何主題

設定 Analysis Services 進行資料加密

需要資料加密

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

如需詳細資訊

請參閱

使用憑證保護連接的安全

設定 SSL 使用的憑證

建立憑證供 SQL Server 使用

CREATE CERTIFICATE (Transact-SQL)

搭配 SQL Server Service Broker 使用憑證

憑證與 Service Broker

搭配資料庫鏡像使用憑證

使用資料庫鏡像的憑證

應用程式安全性

SQL Server 安全性最佳作法包括撰寫安全的用戶端應用程式。如需有關伺服器存取和 SQL Server 用戶端應用程式的詳細資訊,請參閱<開發人員手冊 (Database Engine)>。

如需有關如何在網路層維護用戶端應用程式安全的詳細資訊,請參閱<用戶端網路組態>。

如需有關如何撰寫使用原生 XML 服務之應用程式的詳細資訊,請參閱<撰寫用戶端應用程式>。

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

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

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

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

如需詳細資訊

請參閱

連接、設定與控制 SQL Server

使用 SQL Server Management Studio

從命令提示字元連接到 SQL Server 並執行查詢

sqlcmd 公用程式

SQL Server 網路組態及其控制

SQL Server 組態管理員

使用以原則為基礎的管理來啟用及停用功能

使用以原則為基礎的管理來管理伺服器

管理報表伺服器的對稱金鑰

rskeymgmt 公用程式

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

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

如需詳細資訊

請參閱

SQL Server 安全性目錄檢視,傳回資料庫層級與伺服器層級的權限、主體、角色等等的相關資訊。此外,另有若干目錄檢視提供了加密金鑰、憑證與認證的相關資訊。

安全性目錄檢視 (Transact-SQL)

SQL Server 安全性函數,可傳回目前使用者、權限和結構描述的相關資訊。

安全性函數 (Transact-SQL)

SQL Server 安全性動態管理檢視。

安全性相關的動態管理檢視和函數 (Transact-SQL)