萬盛學電腦網

您现在的位置: 萬盛學電腦網 >> 電腦基礎知識 >  >> 健康知識

SQL Server 2000 安全模型架構與最佳實務

SQL Server 2000 安全模型建構於 Windows NT 4.0/2000 安全架構之上,採用階層式權限管理:Windows 使用者/群組 → SQL Server 登入 → 資料庫使用者 → 角色/物件權限。正確實作此模型是資料庫安全治理的基石。

兩種權限組織架構

架構一:Windows 群組巢狀授權(推薦)

  1. 網域使用者 → 指派至 Windows 全域群組(按職能劃分)。
  2. 全域群組 → 加入本機群組(按資料存取需求劃分)。
  3. 本機群組 → 授予 SQL Server 登入權限。
  4. 本機群組 → 授予資料庫存取權限(建立對應使用者)。
  5. 本機群組 → 授予特定資料庫物件權限(SELECT/INSERT/EXECUTE 等)。

優點:集中於 Windows 層級管理群組成員資格,SQL Server 僅維護群組層級權限,減輕 DBA 負擔,支援 Windows 2000 通用群組。

架構二:SQL Server 角色為基礎

  1. 步驟 1-4 同架構一,但可減少 Windows 群組層級。
  2. Windows 帳號/群組 → 直接對應 SQL Server 登入。
  3. 登入/使用者 → 加入資料庫角色(自訂或預定義)。
  4. 角色 → 授予物件權限。

優點:權限管理完全在 SQL Server 內部封裝,角色可巢狀(無循環)、使用者可屬多角色,反映組織管理階層(如財務部 → 應付/應收角色 → 財務主管角色)。

驗證模式選擇

  • Windows 驗證模式(預設):僅信任連接,使用 Windows SID 追蹤登入,享有密碼策略、鎖定、稽核等原生保護。
  • 混合模式:支援 SQL Server 驗證(非信任連接),相容舊版應用與 Win9x 用戶端。SQL 帳密儲存於系統表,傳輸較易遭攔截。

登錄模式儲存於 HKLM\SOFTWARE\Microsoft\MSSQLServer\MSSQLServer\LoginMode(1=Windows、2=混合),修改後需重啟服務。

核心安全主體

固定伺服器角色

伺服器層級,權限不可變更。關鍵角色:

  • sysadmin:完整控制權,BUILTIN\Administrators 預設成員,安裝後應審查並移除不必要成員。
  • securityadmin、serveradmin、setupadmin、processadmin、diskadmin、dbcreator、bulkadmin。

固定資料庫角色

資料庫層級,存在於每個資料庫(含 master、msdb、tempdb、model)。關鍵角色:

  • db_owner:資料庫完全控制,可管理角色成員。
  • db_securityadmin:管理角色成員與權限。
  • db_datareader、db_datawriter、db_ddladmin、db_accessadmin、db_backupoperator、db_denydatareader、db_denydatawriter。

public 角色

每個資料庫預設存在,所有使用者自動成為成員,不可刪除、不可增減成員。提供基準權限,等同 Windows「Everyone」群組。應審查並最小化 public 角色權限。

安全性最佳實務檢查清單

  1. 移除 BUILTIN\Administrators 自 sysadmin 角色(建立專屬 DBA 群組替代)。
  2. SA 帳號設定強複雜密碼,並重新命名或停用。
  3. 預設使用 Windows 驗證模式,僅在必要時啟用混合模式。
  4. 套用最小權限原則:僅授予完成工作所需的最低權限。
  5. 善用角色簡化權限管理,建立符合業務職能的自訂角色。
  6. 啟用登入稽核(成功/失敗),定期審閱錯誤日誌與預設追蹤。
  7. 加密敏感資料傳輸(強制 SSL/TLS)、靜態資料加密(TDE/儲存格層級)。
  8. 定期套用累積更新與安全性修補程式。
  9. 備份加密與離站儲存,測試還原流程。

SQL Server 2000 雖為舊版產品,其安全模型設計原則(最小權限、角色基礎授權、Windows 整合驗證)至今仍為現代資料庫安全治理的核心基石。

copyright © 萬盛學電腦網 all rights reserved