sa 賬號嘗試常見弱口令(空密碼、123456、sa、admin、password 等)。sa 權限的 SQL Server 會話。EXEC xp_cmdshell 'net user hacker P@ssw0rd /add'; -- 創建系統用戶
EXEC xp_cmdshell 'net localgroup administrators hacker /add'; -- 加入管理員組
sysadmin 固定服務器角色,擁有實例級最高權限。sysadmin 執行任意操作系統命令,橋接數據庫與 OS。| 措施 | 操作 | 優先級 |
|---|---|---|
| 設置強密碼 | 企業管理器 → 安全性 → 登錄 → sa → 屬性 → 密碼:≥16 位,大小寫+數字+特殊符號 | P0 |
| 禁用/重命名 sa | ALTER LOGIN sa DISABLE; 或 ALTER LOGIN sa WITH NAME = [NewAdminName]; | P0 |
| 移除 xp_cmdshell | EXEC sp_dropextendedproc 'xp_cmdshell';(如業務必需,限制執行代理賬號權限) | P1 |
| 啟用密碼策略 | ALTER LOGIN sa CHECK_POLICY = ON; 強制複雜度、過期、鎖定 | P1 |
| 最小權限原則 | 應用使用專用低權限登錄,僅擁有必要表的 CRUD + EXEC 權限 | P1 |
| 審計登錄失敗 | 審計規範捕獲 FAILED_LOGIN_GROUP,異常告警 | P2 |
| 網絡層隔離 | 防火牆僅允許應用服務器 IP 訪問 1433,禁止公網直連 | P0 |
sa 密碼,不可為空。xp_cmdshell 默認關閉,需 sp_configure 'xp_cmdshell', 1 顯式開啟。sysadmin 用戶通過代理賬號權限執行命令,不再直接以 SQL Server 服務賬號身份運行。sa 密碼、禁用 sa、檢查可疑登錄(SELECT * FROM sys.dm_exec_sessions WHERE login_name = 'sa')。lusrmgr.msc)。