首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 程式設計入門

資料更安全:保護 SQL Server 的十大關鍵步驟

     編輯:Java 程式設計入門

提高 SQL Server 安裝安全性的十項措施:

  1. 安裝最新 Service Pack:升級至 SQL Server 2000 SP3a 是最有效提升安全性的方法,並安裝所有已發布安全更新。
  2. 使用 Microsoft 基線安全性分析器 (MBSA):掃描 SQL Server 與 MSDE 2000 的不安全配置,檢測項目包括:過多 sysadmin 角色成員、非 sysadmin 角色擁有 CmdExec 作業權限、空白/簡單密碼、脆弱驗證模式、Administrators 群組過度權限、資料目錄 ACL 不當、安裝檔案明文 sa 密碼、guest 帳戶過度權限、域控制器上運行 SQL Server、Everyone 群組註冊表權限不當、SQL Server 服務帳戶配置不當、缺少必要 SP 與安全更新。MBSA 免費下載。
  3. 使用 Windows 驗證模式:盡可能要求 Windows 驗證,限制連線為 Windows/域用戶帳戶,受益於 Windows 安全增強(更強驗證協議、強制密碼複雜度與過期),支援憑證委派。客戶端無需儲存密碼,避免標準 SQL 登入的主要弱點。企業管理員中設定:右鍵伺服器→屬性→安全性→僅限 Windows。
  4. 隔離伺服器並定期備份:物理與邏輯隔離是安全基礎。資料庫主機放置受保護機房(門禁、水災/火災偵測),安裝於企業內網安全區域,勿直接連接 Internet。定期備份並異地保存副本。
  5. 指派強健 sa 密碼:即使配置 Windows 驗證,sa 也應有強密碼,防止日後切換混合模式時出現空白/脆弱 sa。企業管理員中:安全性→登入→sa→屬性→密碼。
  6. 限制 SQL Server 服務權限:SQL Server 2000 與 Agent 作為 Windows 服務運行,各關聯一 Windows 帳戶衍生安全上下文。sa 可存作業系統特性,若服務被攻破可能利用這些調用攻擊其他資源。建議:
    • SQL Server Engine (MSSQLServer):以一般權限域用戶帳戶運行,勿用本地系統/本地管理員/域管理員。
    • SQL Server Agent:若環境不需可禁用;否則同以一般權限域用戶運行。需本地管理員權限的情況:Agent 用標準 SQL 驗證連線、多伺服器管理 MSX 帳戶用標準驗證、Agent 運行非 sysadmin 成員擁有的 ActiveX/CmdExec 作業。
    重要:變更服務帳戶必須用 Enterprise Manager,它會自動設定檔案與註冊表權限。勿用「服務」管理工具,需手動調整大量權限。帳戶變更於下次服務啟動生效。
  7. 防火牆封鎖 SQL Server 連接埠:預設監聽 TCP 1433、UDP 1434,防火牆應過濾這些連接埠,並封鎖具名實例相關連接埠。
  8. 使用最安全檔案系統:NTFS 最適合安裝 SQL Server,比 FAT 穩定易恢復,支援檔案/目錄 ACL 與加密 (EFS)。安裝時偵測到 NTFS 會自動設定適當 ACL,勿更改。EFS 下資料庫檔案以運行帳戶身份加密,僅該帳戶可解密。變更運行帳戶時需先在舊帳戶解密再新帳戶加密。
  9. 刪除或保護舊安裝檔案:安裝檔可能含明文或弱加密憑證與敏感配置。SQL Server 2000 預設安裝路徑 <systemdrive>:\Program Files\Microsoft SQL Server\MSSQL\Install 與具名實例 MSSQL$<InstanceName>\Install 下的 sqlstp.log、sqlsp.log、setup.iss;升級自 7.0 者還需檢查 %Windir%\setup.iss 與 Windows Temp\sqlsp.log。微軟免費工具 Killpwd 可搜尋刪除這些密碼。
  10. 稽核 SQL Server 連線:SQL Server 可記錄事件供管理員審查。至少記錄失敗連線嘗試並定期查看。可能時勿將日誌與資料檔放同一硬碟。企業管理員設定:右鍵伺服器→屬性→安全性→稽核等級→失敗→需重啟服務生效。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved