保護您的 SQL Server

SQL Server 是關係資料庫管理系統 (RDBMS),可儲存及管理應用程式、分析和報告的重要商務數據。 因為它通常包含機密資訊,例如客戶記錄、財務數據和智慧財產權,因此保護 SQL Server 對於保護貴組織免於數據外泄、未經授權的存取和合規性風險至關重要。

本文提供如何最好保護 SQL Server 的指引。

本文中的安全性建議會實作零信任原則:「明確驗證」、「使用最低許可權存取」和「假設違規」。 如需完整的 零信任 指引,請參閱 零信任 指引中心。

減少攻擊面並減輕威脅

盡量減少暴露內容,並加強對已知攻擊模式的防護,以降低漏洞被觸及或利用的風險。

  • 限制啟用的功能以減少受攻擊面:只啟用您環境所需的 SQL Server 功能。 如需詳細資訊,請參閱介面區設定。

  • 檢閱並減輕常見的威脅:遵循輸入驗證、修補和訪問控制的建議做法,防範 SQL 插入式攻擊、側路攻擊、暴力密碼破解、密碼噴洒和勒索軟體。 如需詳細資訊,請參閱 SQL 插入 式攻擊和 勒索軟體攻擊。

  • 實作深度防禦安全性:使用以不同安全性範圍為目標的多個安全性功能,針對各種威脅提供全面的保護。 如需詳細資訊,請參閱 SQL Server 安全性最佳做法。

網路安全性

保護 SQL Server 的網路存取有助於防止未經授權的連線、減少遭受攻擊的風險,並確保只有受信任的來源可以連線到您的資料庫。

身分識別與存取權管理

強認證與最小權限授權確保只有授權使用者與應用程式能存取 SQL Server 資源。

認證與帳號管理

  • 使用 Windows 驗證或Microsoft Entra 驗證:偏好 Windows 驗證或Microsoft Entra 驗證,而不是 SQL 驗證,以進行集中式身分識別管理和更輕鬆的帳戶生命週期管理。 如需詳細資訊,請參閱選擇驗證模式。

  • 針對服務使用群組管理的服務帳戶 (gMSA):使用 gMSA 自動且安全地管理服務帳戶認證。 如需詳細資訊,請參閱 Group-Managed 服務帳戶概觀。

  • 強制執行強密碼原則:如果您使用 SQL 驗證,則需要無法輕易猜測且不會用於其他帳戶的複雜密碼。 請定期更新密碼並強制執行 Active Directory 原則。 如需詳細資訊,請參閱 強密碼。

  • 適當時使用自主資料庫用戶:針對需要資料庫層級驗證的應用程式考慮自主資料庫使用者,而不需要伺服器層級登入。 如需詳細資訊,請參閱 受限資料庫使用者。

特權存取

  • 授與所需的最低許可權:指派每個用戶或服務所需的最低許可權層級。 定期檢閱並調整許可權,以維持最低許可權。 如需詳細資訊,請參閱 開始使用資料庫引擎許可權。

  • 分離資料庫管理員(DBA)與角色sysadmin:避免賦予所有 DBA 全權許可。 盡可能使用 CONTROL SERVER 許可權,因為它尊重 DENY 許可權並允許更細微的控制。 請考慮限制虛擬機存取權、登入作系統的能力、修改錯誤和稽核記錄的能力,以及安裝應用程式和/或功能的能力等職責區隔。 如需詳細資訊,請參閱 許可權 (資料庫引擎) 。

  • 監視和稽核特殊許可權活動:啟用稽核以追蹤特殊許可權帳戶所做的變更,並定期檢閱可疑活動的記錄。 如需詳細資訊,請參閱 SQL Server 稽核 (資料庫引擎)。

  • 實作角色區隔:將Active Directory使用者放在AD群組中、將AD群組對應至 SQL Server角色,並將應用程式所需的最低許可權授與 SQL Server角色。 如需詳細資訊,請參閱 開始使用資料庫引擎許可權。

數據保護

保護待用和傳輸中的數據對於防止未經授權的洩漏或竄改至關重要。

  • 使用 Always Encrypted 加密敏感資料:使用 Always Encrypted 和具備安全區域的 Always Encrypted 來保護 SQL Server 中的敏感資料。 偏好隨機加密,以增強安全性。 如需詳細資訊,請參閱 Always Encrypted。

  • 針對資料庫檔案使用透明數據加密 (TDE:啟用 TDE 來加密資料庫、備份和 tempdb 檔案,並在實體媒體遭到入侵時保護數據。 如需詳細資訊,請參閱透明資料加密 (TDE)。

  • 使用動態數據遮罩來遮罩敏感數據(DDM):若無法加密,請使用 DDM 在查詢結果中模糊化敏感數據。 如需相關資訊,請參閱 Dynamic Data Masking。

  • 授與欄位層級權限:將SELECT、REFERENCES或UPDATE權限僅授與授權使用者,以限制對敏感欄位的存取權。 欲了解更多資訊,請參閱GRANT權限。

  • 使用 Row-Level 安全性 (RLS) 來限制資料存取:實作 RLS 以確保使用者只會看到與其相關的數據。 適用於用戶共用 SQL 帳戶的中間層應用程式使用 SESSION_CONTEXT。 如需詳細資訊,請參閱 Row-Level 安全性。

  • 結合安全性功能以進行最大保護:使用 Row-Level 安全性與 Always Encrypted 或動態資料遮罩,以最大化組織的安全性狀態。 如需詳細資訊,請參閱 Row-Level 安全性最佳做法。

記錄和監視

完整的記錄和監視有助於偵測威脅、調查事件,以及符合合規性需求。

  • 啟用和設定 SQL Server 稽核:稽核伺服器和資料庫層級敏感數據和組態的存取和變更。 請考慮稽核具有已套用安全性措施之敏感數據的數據表和欄。 定期檢閱稽核記錄,特別是對於包含無法執行完整安全性措施之敏感性信息的數據表。 如需詳細資訊,請參閱 SQL Server 稽核 (資料庫引擎)。

  • 在 SQL Server 中使用總賬:啟用總賬來建立敏感數據變更的不可變記錄,以提供防竄改記錄。 如需詳細資訊,請參閱設定總帳資料庫。

合規性和治理

發現、分類並評估您的資料資產,有助於您符合法規要求,並在最重要的地方優先保護。

  • 分類和標記敏感數據:使用 SQL 數據探索和分類來識別和標記敏感數據,以取得更好的保護和合規性。 如需詳細資訊,請參閱 SQL 資料探索與分類。

  • 執行漏洞評估:使用 Microsoft Defender for SQL 提供的 SQL 漏洞評估,發現並修復雲端及本地資源中的潛在資料庫漏洞。 欲了解更多資訊,請參閱 SQL Server 漏洞評估。

備份和復原

可靠的備份和復原程式可保護您的數據免於因為失敗、災害或攻擊而遺失。