摘要:隨著互聯(lián)網(wǎng)的飛速發(fā)展,氣象網(wǎng)站也日益增多,網(wǎng)站安全已成為網(wǎng)站的首要問(wèn)題。本文結(jié)合筆者ASP氣象網(wǎng)站的開(kāi)發(fā)經(jīng)驗(yàn),通過(guò)列舉一些采用了ASP+Access/SQL Server構(gòu)建氣象網(wǎng)站的安全隱患,并提出了幾種解決方法。
關(guān)鍵詞:氣象;網(wǎng)站;安全;ASP;隱患;方法
中圖分類(lèi)號(hào):TP393 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1007-9599(2012)24-0117-02
1 引言
隨著互聯(lián)網(wǎng)的飛速發(fā)展,氣象網(wǎng)站也日益增多,網(wǎng)站安全已成為網(wǎng)站的首要問(wèn)題。在網(wǎng)站數(shù)據(jù)庫(kù)訪問(wèn)的多種技術(shù)中,ASP(Active Server Pages)以其開(kāi)發(fā)周期短、存取數(shù)據(jù)庫(kù)方便、執(zhí)行效率高而成為眾多網(wǎng)站程序員的首選開(kāi)發(fā)技術(shù)。氣象網(wǎng)站作為氣象部門(mén)形象宣傳和信息服務(wù)的窗口,其安全不容小視。本文結(jié)合筆者ASP氣象網(wǎng)站的開(kāi)發(fā)經(jīng)驗(yàn),通過(guò)列舉一些采用了ASP+Access/SQL Server構(gòu)建氣象網(wǎng)站的安全隱患,并提出了幾種解決方法。
2 網(wǎng)站安全現(xiàn)狀
根據(jù)CNCERT/CC(國(guó)家互聯(lián)網(wǎng)應(yīng)急中心)統(tǒng)計(jì)報(bào)告顯示,2011年中國(guó)境內(nèi)被篡改網(wǎng)站數(shù)量累計(jì)為36612個(gè),較2010年略增5.1%。由此可見(jiàn),網(wǎng)站的攻擊活動(dòng)每年都在增長(zhǎng),我們?cè)诰W(wǎng)站安全方面存在著重大的隱患。氣象網(wǎng)站隨著氣象數(shù)據(jù)量的日益增大,網(wǎng)站安全也變得更加重要,網(wǎng)站安全問(wèn)題解決不好隨時(shí)都會(huì)被黑客攻擊,導(dǎo)致網(wǎng)站數(shù)據(jù)被毀,造成難以估量的損失。
3 網(wǎng)站安全隱患及解決方法
3.1 ASP源代碼的安全隱患
ASP程序采用了非編譯性語(yǔ)言,很大程度上降低了源代碼的安全性。但是,由于一些其他缺陷,比如操作系統(tǒng)、IIS(Internet Information Services)以及ASP系統(tǒng)自身的漏洞,卻可能使ASP源碼暴露無(wú)遺。黑客一旦侵入站點(diǎn),就可以獲得全部ASP源代碼。
解決方法:及時(shí)更新操作系統(tǒng)補(bǔ)丁,使用高版本IIS程序和對(duì)ASP頁(yè)面進(jìn)行加密。建議使用工具對(duì)網(wǎng)站程序漏洞進(jìn)行檢測(cè),對(duì)掃描出的漏洞及時(shí)進(jìn)行修復(fù),如使用360網(wǎng)站安全檢測(cè)工具,就可以對(duì)氣象網(wǎng)站進(jìn)行漏洞檢測(cè)、掛馬檢測(cè)和篡改檢測(cè)。
3.2 程序設(shè)計(jì)中的安全隱患
ASP代碼利用表單(form)實(shí)現(xiàn)與用戶(hù)交互的功能,而相應(yīng)的內(nèi)容會(huì)反映在瀏覽器的地址欄中,如果不采用適當(dāng)?shù)陌踩胧?,只要記下這些內(nèi)容,就可以繞過(guò)驗(yàn)證直接進(jìn)入某一頁(yè)面。例如在瀏覽器中敲入“URL/show.a sp?x=1”,即可不經(jīng)過(guò)表單頁(yè)面直接進(jìn)入滿足“x=1”條件的頁(yè)面。
解決方法:在驗(yàn)證或注冊(cè)頁(yè)面中,利用Session對(duì)象進(jìn)行注冊(cè)驗(yàn)證。
3.3 數(shù)據(jù)庫(kù)隱患
數(shù)據(jù)庫(kù)是網(wǎng)站的最核心部分,它的安全運(yùn)行是保證整個(gè)氣象網(wǎng)站正常運(yùn)行的前提。常用的網(wǎng)站數(shù)據(jù)庫(kù)是Access 和SQL Server,以下分別針對(duì)它們?cè)贏SP 運(yùn)行環(huán)境下的安全技術(shù)進(jìn)行分析。
3.3.1 Access數(shù)據(jù)庫(kù)安全
3.3.1.1 數(shù)據(jù)庫(kù)文件名和存放路徑簡(jiǎn)單
如果入侵者獲得或者猜到Access數(shù)據(jù)庫(kù)的存儲(chǔ)路徑和數(shù)據(jù)庫(kù)名,則該數(shù)據(jù)庫(kù)就可以被下載到本地,而暴露帳號(hào)和密碼。
解決方法:(1)非常規(guī)命名法。為Access數(shù)據(jù)庫(kù)文件起一個(gè)復(fù)雜的非常規(guī)名字,并把它保存在更深目錄下, 使入侵者很難猜測(cè)到Access文件名。例如,對(duì)于天氣預(yù)報(bào)的數(shù)據(jù)庫(kù)文件,不要簡(jiǎn)單地命名為“tqyb.mdb”,而是要起個(gè)非常規(guī)的名字,如faq19fxbdal.mdb,再把它放在如./akkjj16t/kjhgb661/fxj/avccx77之類(lèi)的深層目錄下。這樣,對(duì)于一些通過(guò)猜的方式得到Access數(shù)據(jù)庫(kù)文件名的非法訪問(wèn)方法起到了有效的阻止作用。(2)將數(shù)據(jù)庫(kù)的擴(kuò)展名更改為.asp、.asa等不影響數(shù)據(jù)庫(kù)查詢(xún)的名字,使得更改后的數(shù)據(jù)庫(kù)無(wú)法通過(guò)瀏覽器直接下載,即使將數(shù)據(jù)庫(kù)文件下載下來(lái),打開(kāi)后看到的也是亂碼,對(duì)攻擊者來(lái)說(shuō)也是毫無(wú)用處的。(3)使用ODBC數(shù)據(jù)源。應(yīng)盡量使用ODBC(Open Database Conectivity)即開(kāi)放式數(shù)據(jù)庫(kù)互聯(lián)數(shù)據(jù)源,不要把數(shù)據(jù)庫(kù)名直接寫(xiě)在程序中,否則,數(shù)據(jù)庫(kù)名將隨ASP源代碼的失密而一同失密。(4)為數(shù)據(jù)庫(kù)文件編碼及加密。
3.3.2 SQL Server數(shù)據(jù)庫(kù)安全
3.3.2.1 sa用戶(hù)弱口令的安全隱患
不少網(wǎng)絡(luò)管理員為數(shù)據(jù)庫(kù)sa用戶(hù)起了一些諸如1234,4321,123456等簡(jiǎn)單的密碼,甚至根本就不設(shè)置密碼,這樣網(wǎng)絡(luò)入侵者就可以利用一些黑客工具很輕松的掃描到sa的密碼,進(jìn)而控制服務(wù)器的管理權(quán)限,從而威脅網(wǎng)站數(shù)據(jù)的安全。
解決方法:為數(shù)據(jù)庫(kù)sa用戶(hù)設(shè)置數(shù)字和字母組成的高度復(fù)雜的密碼,同時(shí)新建立一個(gè)與sa具有相同權(quán)限的超級(jí)用戶(hù)來(lái)管理數(shù)據(jù)庫(kù),最好不要在數(shù)據(jù)庫(kù)應(yīng)用中直接使用sa帳號(hào)。
3.3.2.2 數(shù)據(jù)庫(kù)遠(yuǎn)程管理的安全隱患
SQL數(shù)據(jù)庫(kù)支持從遠(yuǎn)程進(jìn)行數(shù)據(jù)庫(kù)的維護(hù),使用遠(yuǎn)程對(duì)于用戶(hù)來(lái)說(shuō)可能比較方便,但如果攻擊者破解了SQL
(下轉(zhuǎn)第119頁(yè))
計(jì)算機(jī)光盤(pán)軟件與應(yīng)用2012年24期