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

SQL Server 資料庫 30 步安全檢查清單 (第三部分:進階審計與強化)

     編輯:關於SqlServer

20. 設定非法存取與登入失敗警示

企業管理器 → 管理 SQL Server 訊息 → 搜尋 "login failed"、"denied" 等關鍵字。確認相關事件寫入 Windows 事件日誌,並建立警示發送郵件/訊息給值班人員。

21. 審核伺服器與資料庫角色成員

確認每個角色 (sysadmin、db_owner、securityadmin 等) 僅授予必要使用者。SQL Server 7.0+ 引入多層權限模型,必須監控避免過度授權。

22. 定期檢查群組/角色成員、善用角色簡化審計

透過角色指派權限而非直接給使用者,簡化審計。確認 public 角色無法從系統表執行 SELECT。

23. 稽核空密碼登入

USE master
SELECT name, password
FROM syslogins
WHERE password IS NULL
ORDER BY name

立即為所有空密碼帳號設定強式密碼或停用。

24. 採用 Windows 整合驗證 (整合安全性)

利用作業系統安全機制,簡化雙重安全模型維護,避免密碼出現在連接字串中。

25. 定期檢查非 sa 使用者的擴展/預存程序執行權限

USE master
SELECT sysobjects.name
FROM sysobjects, sysprotects
WHERE sysprotects.uid = 0
  AND xtype IN ('X','P')
  AND sysobjects.id = sysprotects.id
ORDER BY name

移除不必要的 PUBLIC 執行權限。

26. 企業管理器使用整合驗證、清除註冊表殘留密碼

舊版企業管理器在標準安全模式下會以明文儲存 sa 密碼於註冊表:

  • SQL 6.5:HKEY_CURRENT_USER\SOFTWARE\Microsoft\MSSQLServer\SQLEW\Regedi
  • SQL 7.0/2000:HKEY_USERS\SOFTWARE\Microsoft\Microsoft SQL Server\Tools\SQLEW\Registered Server X\SQL Server Group

改用整合驗證並手動刪除註冊表殘留值。

27. 建立月度安全審計報告機制

報告內容:新漏洞、成功攻擊案例、備份保護狀況、物件存取失敗統計。提交 IT 主管審閱。

28. 禁止使用者互動式登入資料庫伺服器

任何服務器皆應遵循:使用者一旦能互動式登入,即有提權風險。

29. (原文缺號,此處補充) 定期修補與版本更新

套用最新 Service Pack、累積更新、安全性公告修補程式。

30. 限制使用者查詢與存取範圍

遵循最小權限:使用者僅能查詢業務必要物件,嚴禁直接存取系統表、動態管理檢視等敏感資訊。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved