摘 要:本文從網(wǎng)站開發(fā)中所存在的數(shù)據(jù)庫安全方面的問題出發(fā),結(jié)合實(shí)際情況,確定了應(yīng)從增強(qiáng)網(wǎng)站開發(fā)人員應(yīng)有的安全認(rèn)識(shí),從而降低由于開發(fā)過程而導(dǎo)致的網(wǎng)站數(shù)據(jù)庫所存在的安全隱患。
關(guān)鍵詞:網(wǎng)站 數(shù)據(jù)庫安全
中圖分類號(hào):TP39文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):1674-098X(2012)04(b)-0036-01
1 引言
隨著Internet的發(fā)展,門戶網(wǎng)站和各種專業(yè)網(wǎng)站如雨后春筍建立起來,它們基于自己的定位,為廣大用戶提供的各種信息以及電子商務(wù)服務(wù),服務(wù)功能也日趨完善,成為人們獲得信息、從事信息交流和商務(wù)活動(dòng)的重要手段。
數(shù)據(jù)庫的安全性問題指的是對數(shù)據(jù)庫的保護(hù),避免不合法或者未授權(quán)使用的出現(xiàn)導(dǎo)致數(shù)據(jù)泄密、被惡意更改或者破壞;數(shù)據(jù)庫完整性是確保數(shù)據(jù)能夠避免合法用戶的無意或者由于誤操作而導(dǎo)致的數(shù)據(jù)破壞。數(shù)據(jù)庫作為信息系統(tǒng)的核心,其含有數(shù)量較多的重要信息。在正常運(yùn)行的數(shù)據(jù)庫系統(tǒng)中,數(shù)據(jù)庫自身不斷地被用戶使用,這就導(dǎo)致在使用過程中應(yīng)面臨較多的安全隱患。
從網(wǎng)站開發(fā)的層面來看,網(wǎng)站信息的更新、基本業(yè)務(wù)的進(jìn)行以及網(wǎng)站與用戶的互動(dòng)的需求的實(shí)現(xiàn),都要求開發(fā)人員應(yīng)吧網(wǎng)站中所存在的各類信息通過數(shù)據(jù)庫來實(shí)現(xiàn)組織與管理。網(wǎng)站數(shù)據(jù)庫是信息聚集體,也是網(wǎng)站正常運(yùn)營的基礎(chǔ)與必備條件,數(shù)據(jù)庫中保存著網(wǎng)站包括商業(yè)伙伴與客戶信息在內(nèi)的各類信息,如交易記錄、賬號(hào)數(shù)據(jù)以及市場計(jì)劃等等諸多的重要內(nèi)容。對于一些企業(yè)來說,金融數(shù)據(jù)與數(shù)據(jù)資產(chǎn)所具有的作用關(guān)系到自身的興衰與成敗。但是,在實(shí)際操作中,企業(yè)通過網(wǎng)站提高自身經(jīng)營管理有效性的同時(shí),也面臨著自身所使用的網(wǎng)站數(shù)據(jù)庫中的商業(yè)數(shù)據(jù)與商業(yè)信息被被攻擊者竊取后由于被惡意利用或者公布于眾而導(dǎo)致的威脅,如一些商業(yè)性的產(chǎn)品交易價(jià)格被惡意修改等等。也就是說,數(shù)據(jù)的安全性與企業(yè)利益有著密不可分的聯(lián)系,如最近CSDN用戶密碼信息被公布、以及賽門鐵克的源碼被竊取等都對廣大用戶以及企業(yè)帶來重大經(jīng)濟(jì)損失。
2 網(wǎng)站數(shù)據(jù)庫存在的安全問題
2.1 軟資源跟不上硬資源的投資
各個(gè)企業(yè)或者個(gè)人購買了高性能服務(wù)器以及建好網(wǎng)站后,后期管理上不重視,投資沒跟上,后期的網(wǎng)站的管理人員都是臨時(shí)培訓(xùn)的,沒經(jīng)過專門的訓(xùn)練,因自身素質(zhì)等原因,一旦網(wǎng)站收到攻擊時(shí),第一時(shí)間內(nèi)都不知道采取什么措施。
2.2 操作系統(tǒng)單一
由于windows系統(tǒng)目前采用較多的常用操作系統(tǒng),其有著操作簡單且容易掌握的特點(diǎn)。但因windows系統(tǒng)代碼非開源,一旦系統(tǒng)的漏洞被發(fā)現(xiàn),這類漏洞就會(huì)被利用,是系統(tǒng)收到攻擊。從發(fā)現(xiàn)漏洞到官方補(bǔ)丁的公布通常都會(huì)有一個(gè)時(shí)間差,在兩者之間所存在的這段時(shí)間內(nèi),系統(tǒng)數(shù)據(jù)庫就容易出現(xiàn)安全問題。而Linux系統(tǒng),因?yàn)槠浔旧硎情_源的,所以當(dāng)漏洞被發(fā)現(xiàn)后,補(bǔ)丁公布的時(shí)間就會(huì)縮短,也就是說,縮短漏洞被利用的時(shí)間。
2.3 數(shù)據(jù)庫本身不完善
網(wǎng)站開發(fā)應(yīng)以系統(tǒng)工程方法作為基礎(chǔ)進(jìn)行組織實(shí)施,但是,較多的開發(fā)者確把重點(diǎn)放在網(wǎng)站功能設(shè)計(jì)和實(shí)現(xiàn)上,因而會(huì)采用直接編寫代碼的方式,在這種情況下,數(shù)據(jù)庫表會(huì)隨著需求的變化而增加,商業(yè)敏感數(shù)據(jù)就會(huì)經(jīng)常出現(xiàn)通過明文的方式出現(xiàn)在數(shù)據(jù)表中,不存在相應(yīng)的數(shù)據(jù)加密措施,導(dǎo)致商業(yè)敏感數(shù)據(jù)存在著易被獲悉或者篡改等安全隱患。如被黑客公布的CSDN用戶的密碼,卻是采用的非加密的明文存儲(chǔ)的。
2.4 后臺(tái)管理系統(tǒng)的安全策略設(shè)計(jì)引起的安全問題
通常情況下,Web方式被應(yīng)用在網(wǎng)站開發(fā)中的數(shù)據(jù)庫訪問與管理中,實(shí)踐中通過后臺(tái)管理系統(tǒng)來實(shí)現(xiàn)。但是設(shè)計(jì)人員在設(shè)計(jì)過程中忽視了后臺(tái)管理系統(tǒng)首頁所存在的安全隱患,從維護(hù)方便的角度出發(fā)將后臺(tái)管理的功能安置在前臺(tái)用戶能夠?yàn)g覽的網(wǎng)頁上,進(jìn)而導(dǎo)致后臺(tái)管理系統(tǒng)首頁地址的暴露,而網(wǎng)站數(shù)據(jù)庫安全管理帶來了威脅。如各個(gè)學(xué)校網(wǎng)站的管理入口,分別都有管理員和普通通用戶的選擇窗口。
2.5 源代碼缺陷導(dǎo)致的安全問題
根據(jù)艾瑞網(wǎng)《2007年1月CNNNIC中國互聯(lián)網(wǎng)第十九次統(tǒng)計(jì)報(bào)告》對“網(wǎng)頁形式分類”一項(xiàng)的調(diào)查可知靜態(tài)網(wǎng)頁技術(shù)及動(dòng)態(tài)網(wǎng)頁技術(shù)在實(shí)際應(yīng)用中所占的比例,其中動(dòng)態(tài)網(wǎng)頁技術(shù)中ASP技術(shù)的應(yīng)用占17.8%,仍為應(yīng)用首選。程序員進(jìn)行代碼編寫是,并沒有對用戶在輸入數(shù)據(jù)方面所具有的合法性進(jìn)行判斷,進(jìn)而導(dǎo)致應(yīng)用程序存在安全威脅。
3 網(wǎng)站數(shù)據(jù)庫安全問題解決對策
3.1 加強(qiáng)軟資源的投資
提高對網(wǎng)站數(shù)據(jù)庫管理的重視,任何先進(jìn)的硬件資源,如果管理跟不上,都不能發(fā)揮出硬件資源應(yīng)有的價(jià)值。提高專業(yè)技術(shù)人員的技術(shù)水平,不只是會(huì)簡單的輸入輸出,要根據(jù)各種檢測軟件,一旦發(fā)現(xiàn)非法入侵,立即執(zhí)行相應(yīng)的措施。
3.2 選擇合適操作系統(tǒng)
安裝數(shù)據(jù)庫的服務(wù)端是,應(yīng)優(yōu)先選擇Linux操作系統(tǒng)來提高安全性。條件好的單位或個(gè)人可以選擇UNIX系統(tǒng)等。從網(wǎng)絡(luò)數(shù)據(jù)庫運(yùn)行的層面來看,主要的威脅來自于病毒的侵犯,因而,外圍層中應(yīng)通過防、殺以及管結(jié)合的治理方法,通過VPN技術(shù)的應(yīng)用構(gòu)筑網(wǎng)絡(luò)數(shù)據(jù)庫系統(tǒng)的虛擬專用網(wǎng),同時(shí)應(yīng)用防火墻技術(shù)來完成網(wǎng)間隔離與網(wǎng)段間隔離,進(jìn)而避免病毒等的安全威脅。除此以外,還應(yīng)通過加密來避免數(shù)據(jù)在傳輸中被監(jiān)聽或者被篡改。
3.3 建立完善的開發(fā)規(guī)則
編寫代碼前,應(yīng)以系統(tǒng)工程方法為基礎(chǔ)進(jìn)行組織實(shí)施。只有詳細(xì)設(shè)計(jì)通過了,才能開始編碼,同時(shí)在編寫代碼過程中,有需要修改的地方,必須先修改詳細(xì)設(shè)計(jì),只有詳細(xì)設(shè)計(jì)的修改審批通過后,才能繼續(xù)進(jìn)行編碼。數(shù)據(jù)庫表應(yīng)在加密后存儲(chǔ)到數(shù)據(jù)庫中的各類表中。
3.4 后臺(tái)管理系統(tǒng)網(wǎng)頁設(shè)計(jì)
對于后臺(tái)管理系統(tǒng),接口不能暴露在公網(wǎng)中,需要在內(nèi)網(wǎng)或通過VPN方式接入,是一個(gè)單獨(dú)的頁面。對密碼等信息的驗(yàn)證很嚴(yán)格。其他的一些規(guī)則,如在特定的IP地址上才能登錄等,根據(jù)需求可以進(jìn)行調(diào)整。后臺(tái)管理系統(tǒng)中入口網(wǎng)址應(yīng)只有系統(tǒng)管理員掌握。
3.5 提高源代碼質(zhì)量
代碼中應(yīng)避免SQL語句而造成的注入漏洞。第一,完善管理權(quán)限。不在程序中應(yīng)用較高權(quán)限的訪問數(shù)據(jù)庫。第二,確保有良好的程序開發(fā)流程。編寫數(shù)據(jù)庫的查詢程序時(shí)應(yīng)采用兩個(gè)單引號(hào)的方式標(biāo)注任何的輸入變量,或者應(yīng)用replace函數(shù)。第三,隱藏核心代碼。不應(yīng)用SQL語句對數(shù)據(jù)庫進(jìn)行直接訪問,而采用存儲(chǔ)過程或者XML Web Service來對核心程序代碼與數(shù)據(jù)庫結(jié)構(gòu)實(shí)施保護(hù)。
4 結(jié)語
數(shù)據(jù)庫目前已經(jīng)發(fā)展為網(wǎng)站的基本組成要素之一,確保其安全是一項(xiàng)動(dòng)態(tài)的系統(tǒng)工程。本文所論述的方法各有優(yōu)劣,需要網(wǎng)站開發(fā)人員根據(jù)實(shí)際情況進(jìn)行選擇性使用。這些方法需要網(wǎng)站管理者在應(yīng)用中進(jìn)一步研究,進(jìn)而確保工作的順利進(jìn)行。
參考文獻(xiàn)
[1]蔣燕.網(wǎng)站Acess數(shù)據(jù)庫安全保護(hù).電腦知識(shí)與技術(shù),2009(6).
[2]中的數(shù)據(jù)庫安全問題.數(shù)字技術(shù)與應(yīng)用,2011(9).