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

SQL Server 資料庫安全檢查 30 步驟清單 (1/3):修補、協定、帳號、檔案系統與擴展預存程序

     編輯:關於SqlServer

前言

資料庫安全非一次性設定,需持續稽核。本清單涵蓋作業系統層、網路層、SQL Server 實例層、資料庫層與稽核層 30 項檢查點,分三篇發布。

第 1-10 步:基礎防護

  1. 安裝最新修補程式:OS (WSUS/Windows Update) + SQL Server (CU/GDR),建立定期修補窗口。
  2. 選擇安全網路協定:優先 TCP/IP (可加密)、Named Pipes (僅內網)、停用 多重協定、Named Pipes 若非必要請停用。
  3. 強化 sa 與 probe 帳號密碼:sa 至少 16 字元複雜密碼、probe (效能監視/複寫用) 同樣強化,密碼存放於密碼管理器。
  4. 服務帳號最小權限:SQL Server / Agent 服務使用專用網域帳號,非 LocalSystem、非 sa、非 Administrators 成員,僅授予「作為服務登入」、「調整程序記憶體配額」等必要使用者權利。
  5. 資料/日誌/備份檔置於 NTFS 並設定 ACL:僅授予 SQL 服務帳號、管理員群組 完整控制,移除 Users/Everyone 權限。
  6. 停用 xp_cmdshell:EXEC sp_dropextendedproc 'xp_cmdshell'。若業務必須保留,限制僅 sysadmin 可執行,並啟用 Proxy Account。
  7. 移除 OLE 自動化擴展預存程序:sp_OACreate、sp_OAMethod、sp_OAGetProperty、sp_OASetProperty、sp_OADestroy、sp_OAStop。警告:Enterprise Manager 部分功能將失效。
  8. 停用非必要登錄存取擴展預存程序:xp_regaddmultistring、xp_regdeletekey、xp_regdeletevalue、xp_regenumvalues、xp_regremovemultistring。保留 xp_regread/xp_regwrite (日誌/SP 安裝需求)。
  9. 審查並移除其他高風險系統預存程序:先在測試環境驗證功能影響,再生產環境執行 sp_dropextendedproc。
  10. 停用預設登入 (SQL 6.5 遺留):Enterprise Manager → 安全性 → 停用「預設登入」,強制所有連線需在 syslogins 存在。

執行腳本:批次移除擴展預存程序

-- 查詢擴展程序所屬 DLL
SELECT o.name, c.text
FROM dbo.syscomments c
JOIN dbo.sysobjects o ON c.id = o.id
WHERE o.name = 'xp_cmdshell';

-- 以同 DLL 尋找其他擴展程序
SELECT o.name, c.text
FROM dbo.syscomments c
JOIN dbo.sysobjects o ON c.id = o.id
WHERE c.text = 'xplog70.dll';  -- 依實際 DLL 名稱調整

驗證清單

  • [ ] 修補程式安裝記錄
  • [ ] 網路協定啟用狀態截圖
  • [ ] sa/probe 密碼複雜度驗證
  • [ ] 服務帳號權限報表 (secpol.msc / gpresult)
  • [ ] NTFS ACL 截圖 (icacls /save)
  • [ ] xp_cmdshell/OLE/Reg 移除確認 (sp_helpextendedproc)
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved