在同一 Windows 2000 SP4 + IIS + FTP 環境下,對比默認安裝的 MSSQL 2000 與 MySQL 3.23/4.x 的安全基線,從系統內部(權限控制、目錄權限)、外部網絡(端口探測、密碼攻擊、腳本安全)四個維度深度剖析,得出配置後的相對安全性結論。
默認 user 表存在四大風險記錄:
root@localhost (有密碼) ✓
root@% (空密碼,全權限) ✗
''@localhost (空密碼,全權限) ✗ <-- 匿名本地全權限!
''@% (無權限) 低風險
修復:刪除 root@%、''@localhost,或設置強密碼。
默認 C:\mysql 繼承 Everyone:Full Control,惡意用戶可刪除數據文件。修復:遷移至非系統盤(如 D:\mysql)並設置嚴格 ACL,或重新配置目錄權限。
sa 默認空密碼,擁有 sysadmin 角色,可調用 xp_cmdshell 執行系統命令。修復:
-- 檢查空密碼帳號
USE master; SELECT name, password FROM syslogins WHERE password IS NULL;
-- 刪除高危擴展存儲過程
USE master; EXEC sp_dropextendedproc 'xp_cmdshell';
同樣遷移至非系統盤。Windows 整合認證意味著系統管理員無需密碼即可登錄 MSSQL,普通用戶提權為系統管理員後即可操作數據庫,耦合風險極高。
findstr 排查,優於 MySQL。0x02 即可獲取實例名、版本、真實 TCP 端口、命名管道等完整信息。附 C# 掃描器代碼演示。防禦:防火牆/IPsec 限制來源 IP、過濾 UDP 1434、部署端口敲門。
ASP/PHP + MSSQL/MySQL 通病:輸入未嚴格過濾(; " # -- $ \ 等高危字符)。無銀彈解決方案,依賴開發規範、參數化查詢、WAF 多層防禦。
資料庫安全非產品屬性單一決定,而是配置管理、架構設計與運營響應的系統工程。