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

SQL Server 2005 安全操作實戰技巧:端口隱藏、帳號最小權限與存儲過程防護

     編輯:SQL Server 2005

一、修改預設端口 1433(降低被掃描風險)

  1. 打開「SQL Server 組態管理器」→【SQL Server 2005 網絡配置】→【MSSQLSERVER 的協定】→【TCP/IP】屬性。
  2. 【協定】頁籤:啟用「是」。
  3. 【IP 位址】頁籤:將 IPAll 的「TCP 連接埠」改為高位端口(建議 10000 以上,如 14330),清空「TCP 動態連接埠」。
  4. 同步修改用戶端:【SQL Native Client 組態】→【用戶端協定】→【TCP/IP】屬性,預設端口改為相同值。
  5. 重啟 SQL Server (MSSQLSERVER) 服務生效。

連線字串同步更新:
Data Source=192.168.1.100,14330;Provider=SQLNCLI.1;...

二、帳號與權限最小化

  1. 禁用/重命名高風險帳號:SSMS → 【安全性】→【登錄名】,禁用 sa 與 BUILTIN\Administrators(若僅用 SQL 驗證)。
  2. 建立專用管理帳號:新增登錄名(如 db_admin),授予 sysadmin,映射所需資料庫。
  3. 禁用 sa:在專用帳號驗證無誤後,sa 設「拒絕連線」+「禁用」。
  4. 登入預設資料庫隔離:為被拒絕帳號(如 sa)建立空資料庫 DummyDB,將其預設資料庫改為該庫,減少誤連 master 風險。
  5. 移除多餘權限:被拒絕帳號的「用戶映射」與 sysadmin 全部取消勾選。

三、擴展預存程序防護(SQL 2005 預設已停用高風險項)

SQL 2005 預設未啟用 xp_cmdshell 等危險擴展預存程序。若歷史遷移啟用過,請執行:

EXEC sp_configure 'show advanced options', 1; RECONFIGURE;
EXEC sp_configure 'xp_cmdshell', 0; RECONFIGURE;
EXEC sp_configure 'show advanced options', 0; RECONFIGURE;

其他如 OLE 自動化、註冊表存取類預設也未啟用,無需手動刪除(2005/2008 不支援 sp_dropextendedproc 移除系統擴展預存程序)。

四、檔案系統權限鎖定

將 C:\Program Files\Microsoft SQL Server 目錄的 Users 群組權限設為「讀取與執行」、「列出資料夾內容」、「讀取」(唯讀),移除「寫入」、「修改」權限。
注意:不可完全移除 Users 權限,否則 WMI 提供者可能失敗導致監控異常。

五、補充防護建議

  • 啟用登入審核(成功+失敗)與 C2 審核(sp_configure 'c2 audit mode', 1)。
  • 使用 IPSec 或 Windows 防火牆限制只有應用伺服器 IP 能連新端口。
  • 定期執行 sp_change_users_login 'report' 檢查孤立用戶。
  • 資料庫層面:最小權限原則授予應用帳號(僅 EXEC 預存程序、SELECT 特定檢視表)。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved