首頁 >資料庫 >mysql教程 >Mssql和Mysql的安全性分析

Mssql和Mysql的安全性分析

黄舟
黄舟原創
2017-02-20 11:54:261790瀏覽

[導讀]   資料庫是電子商務、金融以及ERP系統的基礎,通常都保存著重要的商業夥伴和 客戶資訊。大多數企業、組織以及政府部門的電子資料都保存在各種資料庫中,他們用這些資料庫保存一些個人資料,也掌握著敏感的金

  資料庫是電子商務、金融以及ERP系統的基礎,通常都保存著重要的商業夥伴和
客戶資訊。大多數企業、組織以及政府部門的電子資料都保存在各種資料庫中,他們
用這些資料庫保存一些個人資料,也掌握著敏感的金融資料。但是資料庫通常沒有像
作業系統和網路這樣在安全性上受到重視。資料是企業,組織的命脈所在,因此選擇
一款安全的資料庫是至關重要的。大型網站一般使用oracle或DB2,而中小型網站大
多數使用更靈活小巧的mssql資料庫或mysql資料庫。那麼,在同樣的條件下,微
軟的mssql和免費的mysql哪個比較安全呢?

我在我的機子上面用管理員帳號預設安裝了mssql和mysql以便在相同的情況下測
試他們的安全性。我的系統配置如下:作業系統Microsoft windows 2000 Version5.0,
安裝了sp4,ftp服務和iis服務,支援asp和php。系統只有一個管理員帳號admin,guest
帳號沒有停用。

  一.系統內部安全性分析

1.mysql資料庫權限控制問題

mysql的權限控制是基於mysql這個資料庫的,叫做授權表,總共包含六個表格
columns_priv,db,func,host,tables_priv和user。先使用desc user指令查看非
常重要的user表的結構以便查詢內容,現在可以查看他的權限設定了。
使用指令

select host,user,password,delete_priv,update_priv,drop_priv from user;

這個指令查看了幾個比較危險的權限,顯示結果如下:

mysql> select host,user,password,delete_priv,update_priv,drop_priv from user; 
+-----------+------+------------------+-------------+-------------+-----------+ 
| host | user | password | delete_priv | update_priv | drop_priv | 
+-----------+------+------------------+-------------+-------------+-----------+ 
| localhost | root |0e4941f53f6fa106 | Y | Y | Y | 
| % | root | | Y | Y | Y | 
| localhost | | | Y | Y | Y | 
| % | | | N | N | N | 
+-----------+------+------------------+-------------+-------------+-----------+ 
4 rows in set (0.00 sec)

第一個表示在本機使用root用密碼登陸,擁有刪除記錄,修改記錄,刪除表等權限,
好,這是安全的。第二條表示在任何主機使用root不需密碼登陸,擁有刪除記錄,
修改記錄,刪除表等權限。第三條表示在本機匿名登陸,擁有刪除記錄,修改記
錄,刪除表等權限。最後條表示可以再任何主機匿名登陸,但沒有任何權限。
顯然,第二,三,四都是不安全的!第二條不用說,就第三條而言,就算你在本地
是guest權限,但是也可以登陸mysql資料庫,而且擁有全部權限。這樣,就可以對數
據庫為所欲為為了。
解決方法:如果你不需要遠端維護,刪除掉第二個,

delete from user where 
host="%" and user="root";

或是給它加個強壯的密碼。刪除第三條,

delete from 
user where host="localhost" and user="";

 以上就是 Mssql和Mysql的安全性分析的內容,更多相關內容請關注PHP中文網(www.php.cn)!


陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn