資料庫伺服器的安全性直接關係企業核心資產的安危。針對 SQL Server 安裝環境,採取系統性的防護措施至關重要。本文整理出 10 項實務上最有效的安全強化手段,涵蓋修補程式、稽核工具、認證模式、網路隔離、帳號權限、連接埠防護、檔案系統、安裝檔案清理與連線稽核等面向,協助資料庫管理員建立纏深防禦體系。
升級至 SQL Server 2000 Service Pack 3a (SP3a) 是提升伺服器安全性的最直接有效手段。SP3a 包含累積性修補,修正了大量已知弱點。下載位置請參考 Microsoft 官方 SQL Server 2000 SP3a 頁面。此外,務必訂閱「產品安全性通知」,以便在安全性更新釋出第一時間取得並部署。
MBSA 可掃描 SQL Server、MSDE 2000 等 Microsoft 產品的不安全設定,支援本機或網路掃描。其檢測項目包含:
定期執行 MBSA 掃描並修復發現的問題,能大幅降低被攻擊面。
Windows 驗證模式僅允許 Windows 使用者與網域帳號連線,有效隔離來自網際網路的通用攻擊工具。同時可享有 Windows 安全性機制:更強的驗證協定、強制密碼複雜度與到期策略、憑證委派(僅限 Windows 驗證)。用戶端無需儲存密碼,消除標準 SQL 登入應用程式儲存密碼的風險。
設定步驟: 企業管理員 → 展開伺服器群組 → 右鍵伺服器 → 內容 → 安全性索引標籤 → 驗證選擇「僅限 Windows」。
資料庫伺服器應置於物理安全機房(門禁、水患偵測、消防系統),網路架構上置於企業內部網安全區域,不直接暴露於網際網路。建立定期完整、差異、交易記錄備份機制,備份媒體離站保存。參考《SQL Server 2000 作業指南》制定操作性最佳實務。
即使啟用 Windows 驗證,sa 帳號仍須設定高強度密碼,防止未來切換至混合模式時出現空白或弱密碼。設定路徑:企業管理員 → 安全性 → 登入 → sa → 內容 → 密碼。
SQL Server 服務(MSSQLServer、SQLServerAgent)以 Windows 帳號身分執行,其安全性內容決定作業系統呼叫的權限。若服務帳號過度提權,一旦資料庫被攻破,攻擊者可利用服務帳號存取其他系統資源。建議設定:
注意: 下列情況 SQL Server Agent 需本機管理員權限:使用 SQL 驗證連線、多伺服器管理 (MSX) 使用 SQL 驗證、執行非 sysadmin 擁有的 ActiveX Script 或 CmdExec 作業。
變更服務帳號務必使用企業管理員,其會自動調整檔案、登錄機碼、Windows 使用者權限;切勿使用「服務」管理工具手動修改。變更於下次服務啟動生效。
預設執行個體監聽 TCP 1433、UDP 1434。防火牆應封鎖這些連接埠,並同步封鎖具名執行個體使用的動態連接埠,防止未授權網路存取。
NTFS 提供 ACL、檔案加密 (EFS) 等安全性功能,安裝時 SQL Server 會自動設定適當 ACL,切勿手動變更。啟用 EFS 可將資料庫檔案以服務帳號身分加密,唯有該帳號可解密。更換服務帳號時,須先以舊帳號解密,再以新帳號重新加密。
安裝記錄檔可能包含純文字或弱加密的認證與敏感設定。SQL Server 2000 相關檔案位於:
升級自 SQL Server 7.0 的系統另需檢查 `%Windir%\setup.iss` 及 `Windows Temp\sqlsp.log`。Microsoft 提供免費工具 Killpwd 可自動搜尋並移除這些密碼。
啟用失敗連線稽核,定期檢視錯誤記錄,盡量將記錄與資料檔案置於不同磁碟。設定路徑:企業管理員 → 伺服器內容 → 安全性 → 稽核等級 → 選擇「失敗」。設定生效需重啟服務。
資料庫安全非單一設定可達成,需從修補管理、最小權限、網路隔離、稽核監控、敏感資訊清理等多層面建立纏深防禦。定期複查上述 10 項措施,並配合資安事件應變流程,才能有效守護核心資料資產。