萬盛學電腦網

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

SQL Server 7.0/2000 安全策略逐步規劃指南

前言

Microsoft 在 SQL Server 7.0 系列中建立了一套靈活且強大的安全管理機制,能全面管控用戶對伺服器系統與資料庫的存取。遵循本文步驟,您可以為 SQL Server 7.0 或 2000 建立一套經得起考驗、易於管理的安全策略。

一、選擇驗證模式

驗證與授權的區別

驗證是確認使用者身分;授權則是決定使用者能執行什麼操作。驗證發生於登入 SQL Server 時,授權則在嘗試存取資料或執行命令時觸發。

SQL Server 驗證 vs Windows NT/2000 驗證

  • SQL Server 驗證:將帳號、密碼與 master 資料庫 sysxlogins 表比對。優點是易於在 Enterprise Manager 實作;缺點是僅對特定伺服器有效,多伺服器環境管理困難,且每個資料庫需分別設定權限。
  • Windows NT/2000 驗證:請求網域控制器驗證身分。若伺服器可連線網域控制器,建議採用此模式。驗證後產生存取權杖,包含使用者 SID 及群組 SID,SQL Server 以此授予權限。

若使用者少於 25 人且權限變動不頻繁,SQL Server 驗證或許適用;否則 Windows 驗證更具優勢。

二、Web 環境下的驗證策略

Web 應用常將 SQL Server 登入帳號密碼嵌入 ASP 或 CGI 程式,導致無法稽核使用者活動、難以區分不同使用者權限。IIS 5.0/4.0 提供四種驗證方式:

  1. 匿名 NT 帳戶:為每個網站/虛擬目錄建立匿名帳戶,授予適當權限以改善稽核。
  2. 基本驗證:使用者輸入帳號密碼,IIS 透過 NT 安全資料庫驗證。密碼傳輸通常未加密,重要網站必須啟用 SSL。
  3. NT 整合驗證:IE 自動傳送使用者登入身分,支援跨網域信任關係驗證。
  4. 數位憑證對應:將個人數位憑證對應至 NT 帳戶,取代傳統帳號密碼登入。

綜上,NT 驗證應為首選。

三、建立全域群組

依據使用者對資料的存取需求分組,例如會計系統可分為資料輸入操作員、管理員、報表編寫員、會計師、稽核員、財務經理等。為每組建立網域全域群組,命名應清晰反映職能。

此外需建立基本管理群組:

  • SQL Server Administrators
  • SQL Server Users
  • SQL Server Denied Users
  • SQL Server DB Creators
  • SQL Server Security Operators
  • SQL Server Database Security Operators
  • SQL Server Developers
  • DB_Name Users(對應各資料庫)

使用系統預存程序 sp_addsrvrolemember 將群組加入對應伺服器角色(如 Sysadmins、Dbcreator、Securityadmin),並修改 Model 資料庫以自動套用至新資料庫。

四、授權資料庫存取

在資料庫層級,將權限指派給角色而非直接給群組,便於未來引入 SQL Server 驗證帳號。使用 sp_grantdbaccess 授權 DB_Name Users 群組存取資料庫,並透過 sp_addrolemember 將群組加入資料庫角色(如 db_securityadmin、db_owner)。

完成 Model 資料庫設定後,若企業各應用資料庫存取需求相似,可直接在 Model 上操作,簡化管理。

copyright © 萬盛學電腦網 all rights reserved