首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> SQL Server 資料庫 >> 關於SqlServer

保護 SQL Server 的十大關鍵步驟:從修補到最小權限的完整防護指南

     編輯:關於SqlServer

依循微軟最佳實踐,從修補程式、基線掃描、驗證模式、網路隔離、強式密碼、服務帳號最小權限、稽核、備份加密、防火牆、持續監控十大面向,建構纵深防禦體系。

1. 套用最新 Service Pack 與安全性更新

  • SQL 2000 → SP3a (含 MS02-061 修補 Slammer 蠕蟲漏洞)
  • SQL 2005+ → 最新 CU/GDR,啟用 Windows Update / WSUS 自動部署
  • 訂閱 Microsoft Security Response Center 通知

2. 執行 Microsoft Baseline Security Analyzer (MBSA)

掃描 12 類高風險設定:

  1. sysadmin 角色成員過多
  2. 非 sysadmin 擁有 CmdExec 作業權限
  3. 空白/弱密碼帳號
  4. 使用 SQL 驗證而非 Windows 驗證
  5. Administrators 群組過度授權
  6. 資料目錄 ACL 不當
  7. 安裝檔案含明文 sa 密碼
  8. guest 帳號過度權限
  9. SQL 安裝於網域控制站
  10. Everyone 群組擁有登錄機碼存取權
  11. SQL 服務帳號設定不當
  12. 缺乏必要修補程式

下載:MBSA 2.3 (支援至 SQL 2012),新版環境改用 Microsoft Defender for Cloud / Azure Security Center。

3. 強制使用 Windows 驗證模式

  • Enterprise Manager → 伺服器右鍵 → 內容 → 安全性 → 「僅限 Windows 驗證」
  • 優勢:Kerberos/NTLM 強式協定、密碼策略 (複雜度/過期/鎖定)、憑證委派、用戶端無需儲存密碼
  • 若舊應用需 SQL 驗證 → 獨立實例/容器隔離,並啟用「強制加密連線」

4. 物理與邏輯隔離 + 定期離場備份

  • 資料庫伺服器置於上鎖機房、防水/防火設備完善
  • 網路架構:DB 置於內網 DMZ 後段,**禁止直接對外公開**
  • 備份 3-2-1 原則:3 份副本、2 種媒體、1 份異地 (雲端/磁帶離場)
  • 備份加密:BACKUP DATABASE ... WITH ENCRYPTION (ALGORITHM = AES_256, SERVER CERTIFICATE = ...)

5. 設定強健 sa 密碼 (即使啟用 Windows 驗證)

  • 長度 ≥ 16 字元、大小寫、數字、特殊符號混合
  • 定期輪換 (90 天),使用密碼管理器儲存
  • 考慮**停用 sa** 或重新命名:ALTER LOGIN sa DISABLE; CREATE LOGIN RealAdmin ...; ALTER SERVER ROLE sysadmin ADD MEMBER RealAdmin;

6. 限制 SQL Server 服務帳號權限

  • **專用網域帳號** (非 Local System / Network Service / 本地管理員)
  • 僅授予:Log on as a service、資料/記錄/備份目錄 Modify、註冊 SPN 權限
  • 啟用 Managed Service Account (gMSA) 自動輪換密碼

7. 停用/移除高風險擴充預存程序

  • xp_cmdshell:EXEC sp_dropextendedproc 'xp_cmdshell'; (需時再臨時加回)
  • xp_regread/write/delete、xp_servicecontrol、xp_availablemedia 等登錄/服務/媒體操作類
  • 使用 CLR 整合 替代 (啟用 clr enabled 並簽署組件)

8. 啟用稽核與追蹤

  • SQL 2008+:SQL Server Audit (伺服器/資料庫層級),記錄登入失敗、結構變更、權限異動、敏感資料存取
  • 舊版:C2 Audit Tracing 或 Default Trace (預設開啟)
  • 日誌轉發至 SIEM (Splunk, Azure Sentinel, Elastic) 做即時告警

9. 防火牆與網路分段

  • Windows 防火牆/硬體防火牆**僅開放應用伺服器 IP → SQL 埠 (預設 1433/自訂)**
  • 啟用 Force Encryption (組態管理器 → 協定 → Flags → ForceEncryption = Yes) + 憑證
  • 停用 Browser 服務 (UDP 1434) 若無具名實例需求

10. 持續監控與事件回應

  • 監控指標:失敗登入率、長時間查詢、磁碟/記憶體壓力、死鎖、異常 xp_cmdshell 呼叫
  • 建立 事件回應手冊:偵測 → 隔離 → 取證 → 根因 → 修補 → 複盤
  • 定期滲透測試 / 紅隊演練,驗證防禦有效性

總結檢查清單 (可列印貼機房)

#項目狀態負責人備註
1最新 SP/CU 已套用☐
2MBSA/Defender 掃描零高風險☐
3Windows 驗證模式☐
4網路隔離 + 異地加密備份☐
5sa 強密碼/停用☐
6服務帳號最小權限 + gMSA☐
7高風險 xp_* 已移除☐
8稽核已啟用 + SIEM 對接☐
9防火牆白名單 + 強制加密☐
10監控告警 + 事件回應演練☐
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved