SQLServer和MySQL的安全性分析_第1頁
SQLServer和MySQL的安全性分析_第2頁
SQLServer和MySQL的安全性分析_第3頁
SQLServer和MySQL的安全性分析_第4頁
SQLServer和MySQL的安全性分析_第5頁
已閱讀5頁,還剩4頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、sql server和mysql的安全性分析大型網(wǎng)站-般使用oracle或db2,而屮小型網(wǎng)站大多數(shù)使用史加靈活小巧的sql server數(shù)據(jù)庳或者mysql數(shù)據(jù)庳。那么,在同樣的條件卜,微軟的sql server和免費(fèi) 的mysql哪個(gè)更加安全呢?數(shù)裾庫是電了商務(wù)、金融以及erp系統(tǒng)的揀礎(chǔ),通常都保存著重要的商業(yè)伙伴和客戶信息。大多數(shù)企業(yè)、組織以及政府部門的電子數(shù)據(jù)都保存4:各種數(shù)據(jù)庫中,他們用這些數(shù)據(jù)庫保存一些個(gè)人資料,還掌握著敏感的金融數(shù)裾。但是數(shù)據(jù)庫通常沒有像做系統(tǒng)和網(wǎng)絡(luò)這樣在安全性上受到熏視。數(shù)裾是企業(yè),組織的命脈所在,因此選擇一款安全的數(shù)裾庫是至關(guān)東要的。人型網(wǎng)站一般使川oracl

2、e或db2,而屮小型網(wǎng)站人多數(shù)使川更加靈活小巧的sqlserver數(shù)據(jù)庫或者mysql數(shù)據(jù)庫。那么,在同樣的條件下,微軟的sql server和免費(fèi)的mysql哪個(gè)更加安全呢?我在我的機(jī)子上面川管理員帳號(hào)默認(rèn)安裝了 mssql和mysql以便在相同的情況h則試他們的安全性。我的系統(tǒng)配置如卜':操作系統(tǒng)microsoft windows 2000 version5.0,安裝了 sp4, ftp服務(wù)和iis服務(wù),支持asp和php。系統(tǒng)只有一個(gè)管理員帳號(hào)admin,guest帳號(hào)沒有禁川。一.系統(tǒng)內(nèi)部安全性分析1 -mysql數(shù)據(jù)庫權(quán)限控制問題mysql的權(quán)限控制是基于mysql這個(gè)數(shù)據(jù)庫

3、的,叫做授權(quán)表,一共包括包括六個(gè)表 columns_priv, db,func, host, tables_priv 和 user。先使用 desc user 命令查看非常熏要的user表的結(jié)構(gòu)以便查詢內(nèi)容,現(xiàn)在可以查看他的權(quán)限設(shè)置了。使用命令selecthost,user,password,delete_priv,update_priv,drop_priv from user;這個(gè)命令査看/幾個(gè)比較危險(xiǎn)的權(quán)限,姑示結(jié)果如下:mysql> select host5user,password,delete_priv,update_priv,drop_priv fromuser;| host

4、 | user | password | delete_priv | update_priv | drop_priv | localhost | root 10e4941 f53f6fa106 | y | y | y | % | root | | y | y | y | localhost | | | y | y | y |d11111h4 rows in set (0.00 sec)第一條表示在木機(jī)使用root用密碼登陸,擁科刪除記錄,修改記錄,刪除表等權(quán)限,好,這是安全的。第二條表示在任何主機(jī)使用root不需密碼登陸,擁有刪除記錄,修改記錄,刪除表等權(quán)限。第三條表示在本機(jī)匿名登陸,擁侖刪除

5、記錄,修改記錄,刪除表等權(quán)限。最后條表示可以再任何主機(jī)匿名登陸,但是沒有任何權(quán)限。顯然,第二,三,叫都是不安全的!第二條不用說,就第三條而言,就算你在本地是guest權(quán)限,俏是也可以登陸mysql 數(shù)據(jù)序,而且擁奮全部權(quán)限。這樣,就討以對(duì)數(shù)據(jù)厙為所欲為了。解決方法:如果你不需耍遠(yuǎn)程維護(hù),冊(cè)齢棹第二條,delete什0陽user wherehost=h%h and user="root"或者給它加個(gè)強(qiáng)壯的密碼。刪除第三條,delete fromuser where host="localhost” and user=”;2. mysql安裝目錄權(quán)限問題mysql默認(rèn)

6、安裝到c:mysql,但是c盤默認(rèn)是everyone完全控制,由于權(quán)限的繼承性,c:mysql對(duì)everyone也是完全控制的,顯然這樣是不安全的。因?yàn)閻阂庥脩艨梢詣h除重耍的數(shù)據(jù)文件。解決方法:重新沒ffi mysql 0錄的存取權(quán)限?;蛘邔ysql安裝到其他0錄,如果你移動(dòng) mysql 分發(fā)到 d:mysql,你就必須使用用 d:mysqlbinmysqld basedird:mysql來啟動(dòng)mysqld,s至還需要修改它的配置文件。3. mssql數(shù)據(jù)庫權(quán)限控制問題mssql數(shù)據(jù)庫的權(quán)限控制是基于master庫的syslogins表,擁有所有權(quán)限的帳號(hào)是sa,其他還有sysadmin,d

7、b_owner等不同權(quán)限帳號(hào)。供是,mssql數(shù)據(jù)庫最高權(quán)限帳號(hào)sa的默認(rèn)密碼是空,這樣如果安裝的吋候不注意,就會(huì)給數(shù)據(jù)帶來毀滅性的災(zāi)難。惡意攻擊者可以修改,刪除所存數(shù)裾,更加重要的是mssql帳號(hào)可以利用擴(kuò)展執(zhí)行系統(tǒng)命令。解決方法:定期檢査所有登陸帳號(hào),查肴是否有不符合要求的密碼。use masterselect name,password from syslogins where password is null 命令檢查是否有空口令帳號(hào)存在。盡可能的刪除存儲(chǔ)擴(kuò)展,防止本地用廣利用存儲(chǔ)擴(kuò)展執(zhí)行惡意命令。use mastersp_dropextendedproc xp_cmdshell 命令

8、刪除 xp_cmdshell 擴(kuò)展。4.mssql安裝目錄權(quán)限問題同mysql樣,mssql也是安裝到everyone完全控制c盤,由于存取控制問題,最好安裝到d盤等非系統(tǒng)盤進(jìn)行嚴(yán)格的權(quán)限控制。而且,由于mssql數(shù)裾庫與系統(tǒng)結(jié)合非常緊密,系統(tǒng)管理員在沒有數(shù)據(jù)庫密碼的怙況下也可以通過選擇windows驗(yàn)證來操作數(shù)據(jù)炸。w此,普通用戶有可能通過系統(tǒng)漏洞提升£1己的權(quán)限,對(duì)數(shù)裾庫進(jìn)行破壞。解決辦法:除了嚴(yán)格的存取限制外,還要定期查看sql server円志檢查是否有可疑的登錄事件發(fā)生,或者使川dos命令findstr /c:"登彔"d:microsoft sqlser

9、vermssqllog* *。mssql的安全是和windows系統(tǒng)女全緊密結(jié)合的,任何一個(gè)出現(xiàn)漏洞,都會(huì)威脅到另一個(gè)的安全。總結(jié),在系統(tǒng)內(nèi)部安全性上,mysql和mssql都沒杏達(dá)到令人滿意的程度,帳號(hào)安全,存取權(quán)限都控制的不是很好。是mssql有詳細(xì)的門志可以查看登陸情況,比mysql要高出一籌。如果進(jìn)行了合理的沒s, mysql反而要更加安全些,因?yàn)閷?duì)mssql而言,只要奮系統(tǒng)權(quán)限即可擁有數(shù)裾庠權(quán)限。二.外部網(wǎng)絡(luò)安全性分析1 .數(shù)據(jù)庫服務(wù)的探測(cè)為了安全,可以i± mysql服務(wù)運(yùn)行在內(nèi)網(wǎng),但是如果你的機(jī)器有外網(wǎng)的接門,mysql也會(huì)自動(dòng)被綁定在外網(wǎng)上面,暴露在internet中

10、,而且系統(tǒng)會(huì)在tcp的3306端li監(jiān)聽, 非常容易被端口掃描工具發(fā)現(xiàn),不能保證數(shù)據(jù)安全。如果默認(rèn),mssql則會(huì)打開tcp的1433端口監(jiān)聽。雖然mssql對(duì)以人為的改變監(jiān)聽端口,但是通過微軟未公開的1434端口的udp探測(cè)可以很容易知道sql server使用的什么tcp/ip端口了。往udp1434端口發(fā)送一個(gè)1個(gè)字節(jié)的內(nèi)容為02的數(shù)裾包,被探測(cè)的系統(tǒng)則會(huì)返回安裝的mssql服務(wù)倌息,這些信息包括:主機(jī)名稱、實(shí)例名稱、版本、管道名稱以及使用的端口等。這個(gè)端口足微軟tl己使用,而且不象默認(rèn)的1433端!那樣可以改變,1434足不能改變的。一個(gè)典型的返m的信息如下:servername ;s

11、ky; i nstancename ;sky; isclustered ;no; version ;8.00.194 ;tcp ;3341 ;np;skypipemssql$xht310sqlquery;可以發(fā)現(xiàn) mssql 的 tcp 端ul改成了3341,為攻擊者打開/方便之門!只要會(huì)一點(diǎn)socket編程知識(shí),很容易就可以寫出掃描mssql服務(wù)的稈序,而且,由于利川了 udp端u,一般的過濾足很難防范的。補(bǔ)天的awen寫了個(gè)探測(cè)程序,用的是c#語言,代碼如下:using system; using system.net.sockets; using system.net; using sy

12、stem.text; using system.threading; namespace consoleapplication3 class classl/創(chuàng)建一個(gè)udpclient實(shí)例 private static udpciient m_client;/listen用來獲取返回的信息public static string listen(string hostip)string hostip = hostip;ipaddress thisip = ipaddress.parse(hostlp);ipendpoint host = new ipendpoint(thislp, 1434);

13、byte data = m_client.receive(ref host);encoding ascii = encoding.asci i;string strdata = asci i .getstring(data); return strdata;/sendpublic static void send(string hostip)string hostip = hostip;byte buffer = 02;/02為耍發(fā)送的數(shù)據(jù),只有02、03、04有回應(yīng)int ecode = m_client.send(buffer,1,hostip,1434);/ecode用來返回足否成功發(fā)送

14、if(ecode <= 0)console.writeline("發(fā)送時(shí)出錯(cuò):+ ecode);/對(duì)返回的信息的簡(jiǎn)單的處理public static void outputlnfo(string strdata)string str = strdata;/str.lechar that =string strofthis =str.split(that);/int i= 0for(int i=0;iconsole. write(strofthis);console.writef);/輸入ippublic static string lnputhostlp()console.wr

15、itefenter the ip you want to scan:string hostip =console.readline();console.writef);return hostip;/exitpublic static void exit()console.writeline(f,if you want to exit just input 1 ”);int a = console.read(); if(a!= 1)console.writeline(”if you want to exit just input 1console.read();elsestathreadstat

16、ic void main(string args)string host ip;host ip = lnputhostlp();console.writeline(f,begin to send udp to the host" m_client = new udpclient();send(hostlp);string strdata=listen(hostlp);outputlnfo(strdata);exit();3個(gè)典型的返回的信息servername; awen;instancename; awen;lsclustered;no;version;8.00.194;tcp;1

17、044; (tcp的端口,nj見就算改了端口也是很容易找到的)np;awenpipemssql$xht310sqlquery;解決辦法:安裝防火墻,或者利用windows 2000系統(tǒng)的ipsec對(duì)網(wǎng)絡(luò)連接進(jìn)行ip限制,實(shí)現(xiàn)ip數(shù)據(jù)包的安全性。對(duì)ip連接進(jìn)行限制,只保證ft己的ip能夠訪問,捫絕其他ip進(jìn)行的端口連接,把來自網(wǎng)絡(luò)上的安全威脅進(jìn)行有效的控制。重要的是,還要對(duì)端口作過濾,包括大部分的tcp和udp端口,因?yàn)閮H僅做ip限制的話,冇可能惡意攻擊者先攻擊被數(shù)據(jù)庫服務(wù)器信任的主機(jī),控制之后作為跳板對(duì)數(shù)據(jù)庫服務(wù)器進(jìn)行攻*。2.數(shù)據(jù)庫的密碼探測(cè)密碼攻擊包括兩種,破解密碼和網(wǎng)絡(luò)監(jiān)聽。破解密碼足使

18、用工具不停的連接數(shù)據(jù)庫來猜測(cè)密碼,包括字典攻擊,暴力攻擊和界干兩者之間的半暴力半字典攻擊。通常攻擊者先采用字典攻擊的力*法,沒杏成功的話依次采用半暴力半字典攻擊,暴力攻擊。在網(wǎng)絡(luò)速度夠好,電腦運(yùn)算能力夠強(qiáng)的情況k,這樣的密碼攻擊危害是相當(dāng)大的。網(wǎng)絡(luò)監(jiān)聽則是控制-臺(tái)網(wǎng)絡(luò)沒備,在上面運(yùn)行監(jiān)聽工具捕獲在網(wǎng)絡(luò)屮傳送的密碼信總。網(wǎng)絡(luò)監(jiān)聽可以分為兩種,一種是外部的監(jiān)聽,將偵聽工具軟什放到網(wǎng)絡(luò)連接的設(shè)備或者放到可以控制m絡(luò)連接設(shè)備的電腦上,這里的網(wǎng)絡(luò)連接設(shè)備,比如網(wǎng)關(guān)服務(wù)器,比如路由器等等。w外一種是來肉閃部的監(jiān)聽,對(duì)干不安全的局域網(wǎng),數(shù)據(jù)是采用廣播的方式傳播的,只要把網(wǎng)卡設(shè)置為混雜模式即可接收到本來不屬于自己的數(shù)裾包,當(dāng)然可能包括密碼信息等資料。解決方法:針對(duì)密碼破解,從耍把密碼設(shè)置為足夠強(qiáng)壯,并且對(duì)hi個(gè)ip地址不停的連接請(qǐng)求進(jìn)行屏蔽

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論