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

SQL Server 2000 安全配置基準線:作業系統強化、補丁管理、認證模式與最小權限實踐

     編輯:關於SqlServer

前言

資料庫核心資產(客戶資料、財務帳目、智慧財產)往往保存於 SQL Server。網路/作業系統安全做再好,資料庫層面若疏漏,攻擊者仍可繞過前端防禦直接存取資料。本文建立 SQL Server 2000 安全配置基準線。

基礎三部曲

  1. 作業系統強化:關閉非必要服務、防火牆限制連接埠、套用最新安全更新、啟用稽核原則。
  2. 應用程式/腳本審計:ASP/PHP 等腳本必須過濾單引號、分號、雙連字號、@、_、exec、declare 等危險字元/關鍵字,或全面改用參數化查詢。
  3. SQL Server 修補程式:安裝 SP4(最終版)及後續安全公告修補程式。

1. 強健密碼策略

  • sa 必須設定高複雜度密碼(長度≥12、大小寫數字符號混合),嚴禁空密碼。
  • 密碼不得硬編碼於應用程式/腳本/設定檔。
  • 定期輪換密碼(建議 90 天)。
  • 稽核空密碼帳號:
    USE master;
    SELECT name, password FROM syslogins WHERE password IS NULL;
    

2. 安全帳號策略

  • sa 不可重命名/刪除,必須以最強防護保護。
  • 日常管理建立專屬 sysadmin 帳號,僅在無法以其他方式登入時使用 sa。
  • 控制 sysadmin/securityadmin 等高權限角色成員數量。
  • 認證模式選擇:
    • Windows 整合認證:優先,單一身分管理、AD 密碼策略、Kerberos、無密碼傳輸。
    • 混合模式:僅相容舊應用時啟用。
  • 若不想讓作業系統管理員 (BUILTIN\Administrators) 自動擁有 SQL 管理權限,可移除該登入(風險:sa 遺失密碼將無法恢復)。
  • 應用程式帳號依最小權限授權:唯讀報表僅 SELECT,無 INSERT/UPDATE/DELETE、無 EXEC 系統預存程序。

3. 網路與通訊協定

  • 停用非必要網路庫(Named Pipes、IPX/SPX、AppleTalk 等),僅保留 TCP/IP。
  • 防火牆限制來源 IP 存取 TCP 1433(或自訂連接埠)。
  • 啟用 Force Protocol Encryption(強制協定加密)保護傳輸層機密性。

4. 稽核與監控

  • 啟用 登入失敗 與 登入成功 稽核(企業管理員 → 伺服器屬性 → 安全性)。
  • 定期檢視 SQL Server 錯誤記錄檔與 Windows 安全性事件記錄。
  • 腳本化巡檢高風險權限:
    -- 檢查所有登入的擴充/預存程序執行權
    SELECT sysobjects.name FROM sysobjects, sysprotects 
    WHERE sysprotects.uid = 0 AND xtype IN ('X','P') AND sysobjects.id = sysprotects.id;
    

5. 移除危險預設物件

  • 移除 guest 使用者(各資料庫):sp_revokedbaccess 'guest'。
  • 移除範例資料庫 pubs, Northwind。
  • 停用/移除 xp_cmdshell 等危險擴充程序:sp_dropextendedproc 'xp_cmdshell'。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved