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

SQL Server 2000 資料庫安全設定九步驟完整指南

     編輯:關於SqlServer

前言

資料庫安全常被忽視,許多管理員以為作業系統與網路層面做好防護就萬事大吉。實則資料庫層面存在獨特攻擊面:預設帳號、過度權限、未加密傳輸、擴展預存程序後門等。本文提供系統性的九步驟安全加固清單。

基礎前置作業

  1. 作業系統安全加固(修補程式、防火牆、最小權限原則)
  2. 應用程式安全審核(SQL Injection 防護:過濾 ', ;, --, /*, */ 等字元)

九大安全加固步驟

1. 強制強健密碼策略

  • sa 帳號必須設定複雜密碼,絕不使用空密碼
  • 密碼不寫在應用程式碼、設定檔、腳本中
  • 定期輪換密碼(建議 90 天)
  • 稽核弱密碼帳號:
    USE master;
    SELECT name FROM syslogins WHERE password IS NULL;
    

2. 安全帳號管理策略

  • sa 無法重命名/刪除 → 必須最強防護
  • 應用程式禁止使用 sa 連線,建立專用低權限帳號
  • 建立替代超級管理員帳號(擁有 sysadmin),平時使用此帳號管理
  • 最小權限原則:唯讀應用只給 db_datareader,寫入應用給 db_datawriter
  • 認證模式選擇:
    • Windows 驗證:較安全,利用 AD 群組管理
    • 混合模式:僅在必要時啟用
  • 不希望 OS 管理員存取 DB → 移除 BUILTIN\Administrators 登入(風險:sa 遺失密碼無法恢復)

3. 強化稽核日誌記錄

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

4. 管理擴展預存程序(關鍵後門)

原則:不用的全部移除

類別預存程序風險移除命令
命令執行xp_cmdshell直接執行 OS 命令,最高風險sp_dropextendedproc 'xp_cmdshell'
OLE 自動化sp_OACreate, sp_OAMethod, sp_OAGetProperty, sp_OASetProperty, sp_OADestroy, sp_OAGetErrorInfo, sp_OAStop建立 COM 物件、存取檔案系統、登錄逐個 sp_dropextendedproc
登錄存取xp_regread, xp_regwrite, xp_regdeletekey, xp_regdeletevalue, xp_regenumvalues, xp_regaddmultistring, xp_regremovemultistring讀寫登錄,可竊取 OS 密碼逐個 sp_dropextendedproc

需還原時:sp_addextendedproc 'xp_cmdshell', 'xpsql70.dll'

5. 啟用協定加密

  • TDS (Tabular Data Stream) 協定預設明文傳輸(含密碼、資料)
  • 申請有效憑證,設定 Force Protocol Encryption
  • 用戶端連線字串加入 Encrypt=True;TrustServerCertificate=False

6. 隱藏 SQL Server 執行個體

  • 預設 1433 埠 + 1434 UDP 探釋 → 輕易被發現
  • SSMS → 伺服器屬性 → TCP/IP 協定 → 隱藏執行個體
  • 隱藏後,用戶端連線必須明確指定執行個體名稱

7. 修改預設 TCP 埠

  • TCP/IP 協定屬性 → 將 1433 改為非標準高位埠(如 2433、5433)
  • 配合步驟 6,大幅降低自動掃描發現率

8. 封鎖 1434 UDP 探釋

  • Windows 2000 IPSec 過濾器 → 封鎖 UDP 1434 連入
  • 防止資訊洩漏與 DoS 攻擊(大量探釋導致 CPU 飆升)

9. IP 限制存取 (IPSec)

  • Windows IPSec 原則 → 僅允許應用伺服器 IP 連線 SQL 埠
  • 拒絕所有其他 IP 連線
  • 網路層面最小化攻擊面

總結檢查清單

步驟項目驗收標準
1密碼策略sa 複雜密碼、定期輪換、無弱密碼帳號
2帳號管理應用不用 sa、最小權限、移除 BUILTIN\Administrators
3稽核日誌成功/失敗登入皆記錄、定期審閱
4擴展預存程序xp_cmdshell/OLE/登錄類全部移除
5協定加密TDS 強制加密、有效憑證
6隱藏執行個體1434 UDP 無回應
7修改 TCP 埠非 1433、防火牆對應開放
8封鎖 1434IPSec 封鎖 UDP 1434
9IP 限制僅允許白名單 IP 存取

結語

資料庫安全是纵深防禦的一環。這九步驟涵蓋認證、授權、稽核、加密、網路、介面攻擊面等核心面向。安全非一次性工程,需持續審查、修補、演練,才能在威脅演變中保持防禦有效性。

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