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

SQL Server vs MySQL 安全性深度對比分析 (1) — 系統內部安全:權限控制與安裝目錄

     編輯:關於SqlServer

測試環境

  • OS:Windows 2000 SP4 + IIS + FTP,支援 ASP/PHP
  • 單一管理員 admin,Guest 未停用
  • 同機預設安裝 SQL Server 2000 與 MySQL

一、MySQL 內部安全隱患

1. 權限控制預設失誤

權限存於 mysql 資料庫六張授權表。預設 user 表內容:

HostUserPasswordDelete_privUpdate_privDrop_priv
localhostroot0e4941f53f6fa106YYY
%root<空>YYY
localhost<空><空>YYY
%<空><空>NNN

風險:

  • 第 2 列:任意主機無密碼 root 登入,擁有最高權限
  • 第 3 列:本機匿名登入同擁有最高權限(即使 OS 是 Guest)

修復腳本

DELETE FROM user WHERE Host='%' AND User='root';
DELETE FROM user WHERE Host='localhost' AND User='';
-- 或為 root 設定強密碼
FLUSH PRIVILEGES;

2. 安裝目錄權限過鬆

  • 預設 C:\mysql,C 槽 Everyone 全控 → 繼承導致 MySQL 目錄 Everyone 全控
  • 惡意用戶可刪除資料檔造成毀滅性破壞

對策:重設目錄 ACL、或安裝至非系統盤並嚴格控制權限(需修改啟動參數 --basedir)。

二、SQL Server 內部安全隱患

1. SA 帐號預設空密碼

  • 權限控制基於 master..syslogins
  • SA 空密碼 + 擴展預存程序(xp_cmdshell)= 系統級命令執行

對策:

USE master;
SELECT name, password FROM syslogins WHERE password IS NULL;  -- 掃描空密碼
EXEC sp_dropextendedproc 'xp_cmdshell';  -- 移除高危擴展

2. 安裝目錄同樣受 C 槽 Everyone 全控影響

且 SQL Server 與 OS 深度整合,**OS 管理員可透過 Windows 驗證繞過資料庫密碼直接操作資料庫**。

對策:安裝至非系統盤 + 嚴格 ACL + 定期審計登入日誌(FINDSTR /C:"登錄" D:\MSSQL\LOG\*.*)。

內部安全小結

**結論**:經合理加固,MySQL 內部安全反超 SQL Server,因 SQL Server 存在 OS 提權繞過路徑。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved
項目MySQLSQL Server
預設帳號安全極差(匿名/遠端 root 全權)差(SA 空密碼)
目錄權限預設鬆散預設鬆散
審計能力弱(無詳細登入日誌)強(完整錯誤/登入日誌)
修復後安全性**較高**(無 OS 提權路徑)中等(OS 提權仍可繞過)