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

SQL Server 資料保護最佳實務:安全模型建立、SA 帳號強化、Slammer 蠕蟲防範、認證模式選擇

     編輯:關於SqlServer

資料庫安全不僅是設定密碼,需建立完整安全模型:最小權限、分層防護、持續修補。本文整理微軟最佳實務與實戰經驗。

安全設定四步驟

  1. SA 帳號強化:安裝時即設定強複雜密碼;建立專屬管理帳號加入 `sysadmin`,停用或重命名 `sa`。
  2. 個別帳號與整合驗證:每人一帳號,優先使用 **Windows 整合驗證**,由 AD 統一密碼策略、鎖定策略管理。
  3. 最小權限原則:僅授予業務必要的 `SELECT/INSERT/UPDATE/DELETE`/`EXECUTE` 權限;嚴禁直接給 `db_owner` 或 `sysadmin`。
  4. 職責分離:薪資等敏感資料僅限薪資專員存取;開發人員僅有測試環境權限,生產環境由 DBA 部署腳本。

兩大致命風險與對策

1. 空白/弱密碼 SA 帳號

預設安裝 `sa` 密碼為空。若不修改,任何連線者即擁有最高權限,可控制整台伺服器(透過 `xp_cmdshell` 等)。必須安裝即設定強密碼,並建立具名管理帳號取代日常使用。

2. Slammer 蠕蟲 (2003/01)

針對 SQL Server 2000 `Resolution Service` (UDP 1434) 緩衝區溢位,15 秒感染全網。微軟發布 SP3a 修補,但**未修補系統至今仍會被掃描感染**。

  • 上線前**必須套用最新 Service Pack / 累積更新**。
  • 封鎖 UDP 1434、TCP 1433 於網路邊界(非必要不對外開放)。
  • 訂閱 Microsoft Security Bulletin 即時獲知補丁。

認證模式選擇

建議:網域環境優先整合驗證;非網域或跨平台才用混合模式。

安裝階段安全細節

  • 網路庫選 **TCP/IP**,避免 Named Pipes 暴露管道名稱。
  • 服務啟動帳號使用**最低權限網域帳號**,而非 Local System/Administrator。
  • 防火牆僅開放必要埠(1433/1434),非必要不對外。
  • 資料庫檔案置於受保護磁碟/資料夾(ACL 僅限服務帳號、DBA)。

總結

安全是持續過程:強化 SA、套用補丁、最小權限、整合驗證、審計稽核。從第一天開始建模,讓資料洩露無從下手。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved
模式優點缺點/適用場景
Windows 整合驗證單一身分管理、密碼不寫連線字串、Kerberos/NTLM 雙重保護、群組原則統一管控需網域環境、跨平台信任困難
混合模式支援非網域/舊版應用、SQL 登入獨立管理密碼可能硬編碼、雙重登入煩瑣