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

SQL Server 安全設計從頭開始:認證模式、密碼策略、主體與權限模型核心原則

     編輯:關於SqlServer

核心觀念:安全必須內建於設計階段

事後添加安全措施如同卡車發動後才檢查煞車,風險極高。開發全生命週期皆須貫徹安全設計規則。

認證模式選擇

模式機制優點建議
Windows 整合認證使用者以 Windows 帳號連線,SQL Server 驗證 Windows 權杖 (SID+群組 SID)單一身分管理、AD 密碼策略、Kerberos、無密碼傳輸、審計完整、效能佳首選
混合模式Windows 認證 + SQL Server 登入 (帳密儲於 master..sysxlogins)相容舊版/異構應用僅相容性必要時啟用

密鑰管理:sa 密碼

  • 安裝時若選混合模式,必須輸入 sa 密碼(預設不再為空)。
  • 即使使用 Windows 認證,也要為 sa 設定強密碼,防未來被迫切換混合模式或本地提權攻擊。
  • 密碼複雜度:≥12 字元、大小寫數字符號、非字典詞、定期輪換。

安全主體與權限模型

  1. 使用者:對應單一 Windows 帳號或 SQL 登入,映射至資料庫使用者。
  2. 角色/群組:使用者隸屬一或多個角色,繼承角色權限。伺服器角色 (sysadmin 等) 與資料庫角色 (db_datareader 等)。
  3. 物件擁有者:建立物件者為擁有者,可授予他人存取權限。檢視表擁有者可控制底層資料可見性。
  4. 權限三態:GRANT (授予)、REVOKE (移除)、DENY (明確拒絕,優先級最高)。
  5. 應用程式角色:資料庫層級安全主體,以密碼啟用,將一組使用者視為單一權限單元,定義特定資料庫內可執行操作。

設計階段檢查清單

  • 確認認證模式符合企業身分管理策略。
  • 所有服務帳號、應用帳號、管理帳號均有強密碼並定期輪換。
  • 遵循最小權限:應用布號僅擁有必要物件的必要權限。
  • 使用角色管理權限,避免直接授權個別使用者。
  • 啟用稽核追蹤關鍵操作 (DDL、登入失敗、權限變更)。
  • 預存程序/檢視表封裝資料存取邏輯,應用程式不直接操作資料表。
  • 敏感資料欄位加密儲存 (SSL 傳輸 + TDE/資料行加密靜態)。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved