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

SQL Server 2000 安全配置實戰清單:從作業系統到資料庫層層把關

     編輯:關於SqlServer

安全配置原則:纵深防禦

  1. 先強化作業系統
  2. 審核應用程式 (ASP/PHP 等腳本過濾防 SQL 注入)
  3. 安裝 SQL Server 2000 並套用 SP3 以上修補程式
  4. 配置資料庫層面安全設定

1. 強健密碼策略

  • 所有帳戶 (特別是 sa) 必須使用複雜密碼 (長度、大小寫、數字、特殊字元)
  • sa 密碼嚴禁寫入應用程式/腳本/設定檔
  • 混合模式安裝時務必設定 sa 密碼
  • 定期輪換密碼,稽核弱密碼帳戶:
USE master;
SELECT name FROM syslogins WHERE password IS NULL OR pwdcompare('', password) = 1;

2. 安全帳戶策略

  • 保護 sa: 僅在無其他 sysadmin 可用時緊急使用,日常管理建立專屬 sysadmin 帳戶
  • 最小權限原則: 僅授予應用程式必要權限 (如唯讀應用僅給 db_datareader)
  • 驗證模式選擇:
    • 優先 Windows 整合驗證 (單一登入、域密碼策略、群組管理)
    • 若不想域管觸碰資料庫,可移除 BUILTIN\Administrators 登入 (風險:sa 遺失密碼無法復原)

3. 強化稽核日誌

  • 伺服器屬性 → 安全性 → 稽核層級:**「成功與失敗登入」皆記錄**
  • 定期檢視 SQL Server 錯誤日誌與 Windows 安全性日誌
  • 命令列快速搜尋登入事件:
findstr /C:"登入" "D:\Microsoft SQL Server\MSSQL\LOG\*.*"

4. 管理擴充預存程序 (攻擊面縮減)

EXEC sp_dropextendedproc 'xp_cmdshell';
類別高風險程序移除指令風險說明
命令執行xp_cmdshell直接執行 OS 命令,提權跳板
OLE 自動化sp_OACreate, sp_OAMethod, sp_OAGetProperty, sp_OASetProperty, sp_OADestroy, sp_OAGetErrorInfo, sp_OAStop逐一 sp_dropextendedproc存取檔案系統、登錄、COM 物件
登錄存取xp_regread, xp_regwrite, xp_regdeletekey, xp_regdeletevalue, xp_regenumvalues, xp_regaddmultistring, xp_regremovemultistring逐一移除可讀取機碼密碼雜湊、修改系統設定

恢復方式: EXEC sp_addextendedproc 'xp_cmdshell', 'xpsql70.dll';

5. 通訊協定加密

  • TDS (Tabular Data Stream) 協定預設明文傳輸 (含密碼、資料)
  • 啟用 **Force Protocol Encryption** 或配置 SSL/TLS 憑證
  • 需於伺服器「網路工具」啟用 SSL、客戶端信任根憑證

6. 額外強化建議

  1. 停用/移除範例資料庫 (pubs, Northwind)
  2. 變更預設埠 1433,配置防火牆限制存取來源
  3. 定期套用安全性更新 (Windows Update + SQL Server 修補程式)
  4. 備份加密 (第三方工具或自行加密備份檔)
  5. 啟用 C2 稽核追蹤 (高安全環境)

總結

SQL Server 2000 安全配置是系統工程,需從 OS、網路、應用、資料庫多層面著手。**「最小權限、預設拒絕、稽核一切、持續修補」** 為核心準則。定期滲透測試與弱點掃描驗證防禦有效性。

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