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

SQL Server 安全強化五步走:從補丁管理到審計監控的系統化防禦體系

     編輯:關於SqlServer

前言

資料庫安全非單一設定,而是**纵深防禦**體系。本文將安全強化濃縮為五大系統化步驟,涵蓋**補丁基線、威脅情報、弱點掃描、認證加固、審計監控**,構建從預防、偵測到回應的完整閉環。

步驟一:建立補丁基線 — 永遠套用最新 Service Pack

  • SQL Server 2000 基線:**SP3a** (含 MS02-061 修補 Slammer 蠕蟲漏洞)
  • SP3a 為累積性更新,**無需**先裝 SP1/SP2/SP3
  • 注意:SP3 安裝前提為已裝 SP1 或 SP2
  • **自動化**:WSUS / SCCM / PowerShell DSC 推送修補程式,建立合規報表

步驟二:訂閱威脅情報 — 零時差掌握安全公告

  • 註冊 **Microsoft Security Notification Service** (免費郵件訂閱)
  • 關鍵資訊來源:
    • Microsoft Security Bulletin (每月第二個週二發布)
    • SQL Server Release Services Blog
    • CVE / NVD 資料庫
  • 建立內部 **SLA**:關鍵漏洞 (CVSS ≥ 7) 48 小時內評估、72 小時內測試部署

步驟三:基線弱點掃描 — Microsoft Baseline Security Analyzer (MBSA)

掃描範圍 (SQL Server / MSDE 2000)

  • 脆弱驗證模式 (混合模式非必要不啟用)
  • Administrators 群組過度授權
  • 資料目錄 ACL 設定不當
  • 安裝檔案/登錄殘留明文 sa 密碼
  • guest 帳號過度權限
  • 網域控制器上運行 SQL Server
  • Everyone 群組擁有敏感登錄鍵存取
  • SQL Server 服務帳號配置不當
  • 缺少必要 Service Pack/安全更新
  • 檢查項目風險描述
    sysadmin 角色成員過多過度授權,單點失效風險
    非 sysadmin 角色擁有 CmdExec 作業權限可執行作業系統命令,提權路徑
    空密碼/弱密碼帳號暴力破解易得手

    執行方式

    • 本地掃描:mbsacli.exe /catalog offline
    • 網路掃描:mbsacli.exe /domain 或指定 IP 範圍
    • 整合至 CI/CD:建立基線掃描作業,阻擋不合規建置上線

    步驟四:認證加固 — 清除舊密碼、強化 sa、最小權限服務帳號

    4.1 移除歷史安裝檔案中的明文密碼

    • 路徑:Program Files\Microsoft SQL Server\MSSQL\Install、MSSQL$InstanceName\Install
    • 檔案:sqlstp.log, sqlsp.log, setup.iss
    • 升級自 SQL 7.0:另檢 %Windir%\setup.iss, Windows Temp\sqlsp.log
    • **工具**:Killpwd.exe (微軟免費) — 自動掃描清除殘留密碼

    4.2 sa 帳號強化

    • **無論驗證模式為何,sa 必須設定強密碼** (防未來切換混合模式時空密碼)
    • 企業管理器:安全性 → 登入 → sa → 屬性 → 密碼
    • **最佳實務**:停用 sa,改用具名系統管理員帳號,審計追蹤更清晰

    4.3 服務帳號最小權限原則

    服務推薦帳號類型嚴禁帳號類型需本地管理員權限的例外
    SQL Server (MSSQLSERVER / MSSQL$Instance)網域一般使用者Local System / Local Admin / Domain Admin無
    SQL Server Agent (SQLSERVERAGENT)網域一般使用者Local System / Local Admin / Domain Admin1. Agent 使用 SQL 驗證連線
    2. 多伺服器管理 (MSX) 使用 SQL 驗證
    3. 執行非 sysadmin 擁有的 ActiveX/CmdExec 作業
    • **修改帳號必須用企業管理器 / SQL Server Configuration Manager** — 自動設定檔案/登錄 ACL、使用者權限指派
    • **禁用** 服務管理員 (services.msc) 直接修改 — 導致權限不一致

    步驟五:審計監控 — 記錄失敗登入、定期審閱、日誌異地備份

    5.1 啟用失敗登入審計

    • 企業管理器 → 伺服器屬性 → 安全性 → 審計層級 → **僅失敗**
    • **必須重啟服務生效**

    5.2 進階審計策略 (SQL 2005+)

    • CREATE SERVER AUDIT → 記錄至檔案/安全性記錄/應用程式記錄
    • CREATE SERVER AUDIT SPECIFICATION → 精確選擇動作群組:
      FAILED_LOGIN_GROUP, SCHEMA_CHANGE_GROUP, DATABASE_PERMISSION_CHANGE_GROUP...
    • 細粒度資料存取審計:CREATE DATABASE AUDIT SPECIFICATION 針對特定表/欄位/主體

    5.3 日誌管理鐵律

    • **日誌與資料檔案分離存放** (不同磁碟/儲存體)
    • **集中化轉發**:Syslog / Windows Event Forwarding / SIEM (Splunk, Azure Sentinel, Elastic)
    • **保留期**:依合規要求 (通常 ≥ 1 年)
    • **定期審閱**:自動化報表 + 人工抽樣,關注異常登入時間、來源 IP、頻率

    總結:五步走檢查清單

    1. [ ] 最新 SP + 所有安全更新已套用 (WSUS/SCCM 合規 100%)
    2. [ ] 訂閱 Microsoft 安全通知,建立漏洞評估 SLA
    3. [ ] MBSA 掃描零發現 (或所有發現已風險接受/緩解)
    4. [ ] sa 強密碼、歷史安裝檔清理完成、服務帳號最小權限
    5. [ ] 失敗登入審計啟動、日誌集中轉發、定期審閱機制運作

    安全是**過程而非狀態**。將此五步走納入月度巡檢、季度演練、年度認證體系,才能在威脅演化中保持防禦有效性。

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