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

SQL Server 安裝安全強化 10 大必做項目清單

     編輯:關於SqlServer

部署 SQL Server 後,必須執行以下 10 項安全強化動作,建立纵深防禦基線。參考 Microsoft 官方最佳實務與 MBSA (Microsoft Baseline Security Analyzer) 掃描項目整理。

1. 套用最新 Service Pack 與安全性更新

  • SQL Server 2000 → **SP3a (含 MS02-061 修補)** 為基準起點。
  • 訂閱 Microsoft Security Notification Service 獲取最新修補通知。
  • 定期執行 MBSA 掃描缺失修補。

2. 執行 MBSA 基線安全性分析

MBSA 免費掃描工具,檢測 SQL Server/MSDE 常見不安全配置:

  • 過多 sysadmin 角色成員
  • 非 sysadmin 角色擁有 CmdExec 作業建立權限
  • 空白/弱密碼 (含 sa)
  • 脆弱驗證模式 (混合模式)
  • Administrators 群組過度授權
  • 資料目錄 ACL 不正確
  • 安裝記錄檔含純文字 sa 密碼 (setup.iss, sqlstp.log)
  • guest 帳戶過度權限
  • 網域控制器上運行 SQL Server
  • Everyone 群組註冊表存取不當
  • SQL Server 服務帳戶配置不當
  • 缺少必要 SP/安全性更新

3. 強制使用 Windows 驗證模式

  • 僅允許 Windows/網域帳戶連線,**禁用 SQL Server 驗證 (混合模式)**。
  • 優勢:受惠 Kerberos/NTLMv2 強式驗證、密碼複雜度/到期策略、憑證委派、用戶端無需儲存密碼。
  • 設定:Enterprise Manager → 伺服器屬性 → 安全性 → **僅限 Windows 驗證**。

4. 物理與邏輯隔離 + 定期異地備份

  • 機房:門禁、防水/火災偵測/滅火系統。
  • 網路:置於內網 DMZ,**不可直接暴露於 Internet**。
  • 備份:定期完整/差異/記錄備份,**備份檔加密並異地離線保存**。
  • 參考《SQL Server 2000 Operations Guide》作業最佳實務。

5. 設定強健 sa 密碼 (即使啟用 Windows 驗證)

  • 防止未來切換回混合模式時 sa 為空/弱密碼。
  • 設定:EM → 安全性 → 登入 → sa → 內容 → 密碼。
  • 密碼策略:≥12 字元、大小寫、數字、符號、非字典詞。

6. 最小化 SQL Server 服務帳戶權限

服務建議帳戶類型禁止帳戶類型
MSSQLSERVER (引擎)網域一般使用者帳戶Local System, Local Admin, Domain Admin
SQLServerAgent (代理程式)網域一般使用者帳戶 (若不需則停用)同上

Agent 需本地管理員權限的特例:

  • Agent 使用 SQL 驗證連線 (不建議)。
  • 多伺服器管理 (MSX) 使用 SQL 驗證。
  • 執行非 sysadmin 成員擁有的 ActiveX Script 或 CmdExec 作業。
**務必使用 Enterprise Manager 變更服務帳戶**,它會自動設定檔案/登錄/使用者權限 ACL。切勿用 services.msc 手動改。

7. 防火牆封鎖 SQL Server 連接埠

  • 預設執行個體:TCP 1433, UDP 1434 (Browser 服務)。
  • 具名執行個體:動態埠 → 需鎖定 Browser (UDP 1434) 並限制動態埠範圍 (netsh advfirewall 或註冊表 TcpPort)。
  • 內網分段:僅允許應用伺服器 IP 存取。

8. 採用 NTFS 檔案系統 + EFS 加密

  • NTFS:支援 ACL、磁碟配額、壓縮、EFS (檔案加密系統)、日誌復原。
  • 安裝時 SQL Server 自動設定資料/記錄/備份目錄 ACL,**勿手動修改**。
  • EFS:資料庫檔案以服務帳戶金鑰加密,唯有該帳戶可解密。變更服務帳戶時,**必須先解密再重新加密**。

9. 刪除或保護舊安裝記錄檔 (含明文密碼)

  • SQL 2000 預設路徑:C:\Program Files\Microsoft SQL Server\MSSQL\Install\ (具名實例 MSSQL$InstanceName\Install\)
  • 關鍵檔案:sqlstp.log, sqlsp.log, setup.iss (含 sa 密碼)。
  • 升級自 SQL 7.0:檢查 %Windir%\setup.iss, %Temp%\sqlsp.log。
  • 官方免費工具:**Killpwd.exe** 自動搜尋並清除這些檔案中的密碼。

10. 稽核失敗登入嘗試

  • EM → 伺服器屬性 → 安全性 → 稽核等級 → **僅失敗** (或成功與失敗)。
  • **重啟服務生效**。
  • 定期審閱 SQL Server 錯誤記錄 (預設 ERRORLOG 檔) 與 Windows 安全性事件日誌。
  • **建議**:稽核日誌與資料檔放置於**不同實體磁碟**,防止日誌填滿影響資料庫。

持續營運檢查清單

  1. 每月執行 MBSA 掃描。
  2. 每季審閱 sysadmin 成員名單。
  3. 每半年輪換服務帳戶/應用帳戶密碼。
  4. 重大變更後 (修補、架構調整) 重跑基線掃描。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved