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

MSSQL Server 2000 安全管理三層次架構實戰指南

     編輯:關於SqlServer

安全管理三層次模型

SQL Server 安全管理採分層架構,由外而內逐層把關:

  1. 登入帳戶層:能否進入 SQL Server 伺服器
  2. 資料庫存取層:能否連接特定資料庫、伺服器/資料庫角色權限
  3. 物件權限層:對資料庫內部物件(資料表、檢視、預存程序)的具體操作權限

第一層:登入帳戶管理

兩種驗證模式

模式特性適用場景
Windows 驗證整合 Windows/AD 帳戶,單一登入,密碼策略由域控管企業內網、域環境、需集中身分管理
混合模式同時支援 Windows 與 SQL Server 驗證(自建帳密)跨域、非域環境、舊版應用相容、ISP 代管

關鍵操作

  • Windows 群組授權: 將 AD 群組 (如 DOMAIN\SQL_Admins) 直接加為 SQL Server 登入,群組成員自動獲得存取權
  • 拒絕存取: 對特定群組成員單獨設定「拒絕存取」覆蓋群組授權
  • sa 帳戶防護: 強制複雜密碼、勿用於應用程式、定期輪換、考慮重命名/停用(需另建 sysadmin 帳戶)

第二層:伺服器角色與資料庫角色

8 種固定伺服器角色(不可增刪改)

角色核心權限
sysadmin執行任何動作,最高權限
securityadmin管理登入帳戶、讀取錯誤日誌
serveradmin設定伺服器選項、關閉伺服器
setupadmin管理複寫、擴充預存程序
processadmin管理執行中程序 (KILL)
diskadmin管理資料庫檔案 (磁碟)
dbcreator建立、修改、卸除資料庫
bulkadmin執行 BULK INSERT

10 種固定資料庫角色(每資料庫獨立,可自訂角色)

角色權限範圍
db_owner資料庫完全控制(含結構、資料、權限)
db_securityadmin管理角色成員、權限、稽核
db_datareader讀取所有使用者資料表/檢視
db_datawriter新增/刪除/修改所有使用者資料表
db_ddladmin執行 DDL (CREATE/ALTER/DROP)
db_backupoperator備份資料庫
db_accessadmin管理資料庫使用者存取
db_denydatareader拒絕讀取所有資料表/檢視
db_denydatawriter拒絕寫入所有資料表

權限疊加規則

  • 用戶擁有 所有角色權限的聯集
  • DENY 優於 GRANT:任何角色含 DENY,該權限即被封鎖

第三層:物件層級細粒度權限

授權語法範例

-- 資料行級授權
GRANT UPDATE ON Employees (Salary, Bonus) TO HR_Role;

-- 預存程序授權
GRANT EXECUTE ON usp_GetCustomerOrders TO Sales_Role;

-- 撤銷權限
REVOKE DELETE ON Customers FROM Public;

安全強化實戰清單

  1. 優先使用 Windows 驗證,整合 AD 密碼策略、帳戶鎖定、群組管理
  2. 最小權限原則: 應用程式使用專用低權限登入,僅授予必要物件權限
  3. 移除/停用高風險擴充預存程序:
    -- 命令殼層 (極高風險)
    EXEC sp_dropextendedproc 'xp_cmdshell';
    
    -- OLE 自動化 (可存取檔案系統、登錄)
    EXEC sp_dropextendedproc 'xp_OACreate';
    -- ... 同類 xp_OA*
    
    -- 登錄存取 (可讀取密碼雜湊等敏感資訊)
    EXEC sp_dropextendedproc 'xp_regread';
    -- ... 同類 xp_reg*
    
  4. 啟用通訊加密: 設定 Force Protocol Encryption 或憑證型 SSL/TLS,保護傳輸中密碼與資料
  5. 稽核登入事件: 伺服器屬性 → 安全性 → 稽核層級:「成功與失敗登入」,定期檢視錯誤日誌
  6. 安裝後立即修改 sa 密碼,避免空白/弱密碼

總結

建構安全的 SQL Server 環境需從作業系統、網路、SQL Server 設定、應用程式設計多層面著手。三層次權限模型提供結構化管理框架,配合定期稽核、修補、最小權限原則,可有效降低資料外洩與破壞風險。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved
權限適用物件說明
SELECT資料表、檢視、資料行讀取資料
INSERT資料表、檢視新增資料列
UPDATE資料表、檢視、資料行修改資料
DELETE資料表、檢視刪除資料列
EXECUTE預存程序、函數執行程式碼
REFERENCES資料表、資料行建立外鍵參考