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

SQL Server 2000 資料庫安全規劃全攻略(上):驗證模式與 Web 環境策略

     編輯:關於SqlServer

核心概念區分

  • 驗證:確認使用者身分(登入時發生)。
  • 授權:決定使用者能做什麼(存取資料/執行指令時發生)。

第一步:選擇驗證模式

Windows 驗證(推薦)

  • 由網域控制站驗證身分,SQL Server 接收存取權杖,內含使用者 SID 與群組 SID。
  • 優點:單一登入、密碼策略集中管理、群組權限繼承、多伺服器環境易管理、支援稽核。
  • 適用:伺服器可連線網域控制站的企業環境。

SQL Server 驗證

  • 帳密儲存於 master..sysxlogins,由 SQL Server 自行比對。
  • 缺點:僅對單一伺服器有效、多伺服器管理困難、每個資料庫需個別授權、無法利用 NT 群組簡化管理。
  • 適用:使用者 < 25 人、權限變動少、非網域環境、應用程式直接管理安全性的特殊情境。

Web 環境驗證難題

典型架構:Web 應用程式(ASP/CGI)內嵌單一 SQL 登入(甚至 sa),Web 伺服器負責驗證終端使用者。
缺點:
1. 無法在 SQL 層稽核個別使用者活動。
2. 完全仰賴 Web 應用程式驗證邏輯。
3. SQL 端無法區分不同終端使用者,難以實施細緻權限。

IIS 5.0/4.0 四種驗證方式因應

  1. 匿名 NT 帳戶:為每個網站/虛擬目錄建立專用 NT 匿名帳戶,應用程式以此安全內容連線 SQL Server,授予該帳戶適當權限可改善稽核與驗證。
  2. 基本驗證:瀏覽器傳送 Base64 編碼帳密,需 SSL 加密傳輸,SQL 端仍用單一帳號連線。
  3. 整合 Windows 驗證 (NTLM/Kerberos):瀏覽器與 IIS 協商,若啟用委派,可將使用者身分傳遞到 SQL Server(雙跳),實現真正的使用者層級權限與稽核。
  4. 憑證/表單驗證:自訂驗證邏輯,同樣面臨單一 SQL 連線帳號問題。

建議策略

企業內部系統:優先採用 Windows 整合驗證 + 受限委派,實現端到端身分流傳。
對外 Web 系統:若無法委派,採用 連線池化的單一低權限 SQL 登入,於應用層實作使用者權限矩陣,並完整記錄稽核日誌。

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