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

SQL Server 安全性強化手冊:版本、修補、帳號、預存程序與網路防護

     編輯:關於SqlServer

1. 版本與修補程式檢查

-- 查詢版本資訊
SELECT @@VERSION

-- 使用 hfnetchk 掃描缺失修補程式
-- 最新修補程式下載:https://www.microsoft.com/sql/downloads/default.asp

2. 檔案系統與預設帳號

  • 確認 SQL Server 安裝於 NTFS 分割區
  • 檢查預設登入帳號狀態與空密碼:
SELECT * FROM sysusers
SELECT name, password FROM syslogins WHERE password IS NULL ORDER BY name

-- 修改密碼
USE master
EXEC sp_password 'old_pwd', 'new_strong_pwd', 'login_name'

3. 停用高風險擴展預存程序

以下預存程序可被惡意利用執行系統指令、存取登錄、發送郵件等,建議移除(DROP PROCEDURE)或透過修補程式緩解:

核心高風險清單

  • OLE 自動化:sp_OACreate、sp_OAMethod、sp_OASetProperty、sp_OAGetProperty、sp_OADestroy、sp_OAGetErrorInfo、sp_OAStop
  • 命令執行:xp_cmdshell
  • 登錄存取:xp_regread、xp_regwrite、xp_regdeletekey、xp_regdeletevalue、xp_regenumvalues 等(註:移除 read/write 可能影響日誌與 SP 安裝)
  • 其他:xp_sendmail、xp_startmail、xp_readmail、xp_dirtree、xp_subdirs、xp_fixeddrives、xp_servicecontrol、xp_enumgroups、xp_logininfo、xp_grantlogin、xp_revokelogin 等

⚠ 實施建議

  • 先在開發/測試機移除並完整驗證應用功能無異常
  • 生產機務必先完整備份
  • 部份功能(如 SQL Agent 郵件、維護計畫)依賴上述預存程序,移除前須評估影響

4. 錯誤日誌與網路防護

  • 錯誤日誌路徑:...\MSSQL\LOG\ERRORLOG
  • 封鎖 UDP 1434:透過 IPSec 過濾拒絕 1434 埠探測,隱藏 SQL Server 存在
  • IP 連線限制:使用 IPSec 只允許受信任 IP 存取 SQL 埠(預設 TCP 1433)

5. 作業原則

所有變更必須在完整備份後進行。
移除預存程序建議於非生產環境驗證無副作用後,再套用至生產機。

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