摘要:網絡數據庫安全性問題是一直是圍繞著數據庫管理的重要問題,數據庫數據的丟失以及數據庫被非法用戶的侵入使得網絡數據庫安全性的研究尤為重要。本文以比較常用的Access、數據庫為例圍繞數據庫的安全性技術作了分析。
關鍵詞:網絡數據庫;安全;加密
中圖分類號:TP311文獻標識碼:A 文章編號:1009-3044(2008)24-1115-02
Network Data Base Security Studies
SUN Hai-rong
(Duty Teaches Centre, Shijiazhuang 050091,China)
Abstract: Network data base security problem is to be always the important problem being surrounding the data base administration. Data base data be lost network data base security research is especially important as well as the data base can be used by intruding into of illegal consumer. Data base data be lost and data base have been assumed analysis by encompassment of illegal consumer data base security technology. Warehouse security research is especially important.
Key words: network data base; safety; encrypt
隨著網絡技術在社會各個行業尤其是電子商務領域的廣泛應用,其安全性和可管理性具有十分重要的意義。數據庫是網絡信息系統的重要組成部分,涉及來自網絡環境下的多方面安全威脅,譬如面對數據庫中信息的竊取、篡改、破壞、計算機病毒等的滲透和攻擊行為。
1 網絡數據庫安全性策略分析
1.1 系統安全性策略
1.1.1 管理數據庫用戶
按照數據庫系統的大小和管理數據庫用戶所需的工作量,數據庫安全性管理者可能只是擁有create, alter、或delete權限的數據庫的一個特殊用戶,或者是擁有這此權限的一組用戶。應注意的是,只有那些值得信任的用戶才應該具有管理數據庫用戶的權限。
1.1.2 用戶身份確認
數據庫用戶可以通過操作系統、網絡服務以及數據庫系統進行身份確認,通過主機操作系統進行用戶身份認證。
1.1.3 操作系統安全性
數據庫管理員必須有create和delete文件的操作系統權限;一般數據庫用戶不應該有create或delete與數據庫相關文件的操作系統權限;如果操作系統能為數據庫用戶分配角色,那么必須具有修改操作系統賬戶安全性區域的權限。
1.2 用戶安全性策略
一般用戶通過密碼和權限管理實現系統的安全性保障;必須針對終端用戶制定安全性策略。例如,對于一個有很多用戶的人規模數據庫,管理員可以決定用戶組分類,您可以使用“角色”對終端用戶進行權限管理。
1.3 管理員安全性策略
保護作為服務器和用戶的連接;保護管理者與數據庫的連接;使用角色對管理者權限進行管理。
1.4 應用程序開發者的安全性策略
明確應用程序開發者和他們的權限;指定應用程序開發者的環境;授權free和controlled應用程序開發。
2 網絡數據庫安全技術分析
本文以比較常用的Access、數據庫為例進行分析,其他數據庫可以作為參考。
2.1 Access數據庫地址、路徑過于簡單
Access數據庫被下載,主要是存放數據庫的路徑和數據庫名稱,容易被獲知,例如:用戶建立的xuesheng. mdb(學生信息庫)放在虛擬目錄/student下,如果沒有事先對xuesheng. mdb進行安全加密處理,那么在瀏覽器的地址欄鍵入“http//用戶網站主IP地址/student/xuesheng.mdb”,xuesheng. mdb整個文件就會被輕易下載,文件中所有的重要數據信息就會被別人輕易竊取。操作流程如圖1所示。即使對Access. mdb的文件夾作了變動,文件路徑也會暴露無疑。
獲知源代碼→獲得路徑→竊取文件名→下載文件
圖1 網絡環境下數據庫下載流程
2.2 使用下載ASP文件所導致的數據安全問題
各單位的網絡服務器一般都存有大量的應用系統賬號及密碼,如電子郵件、聊天室、BBS、留言簿、新聞發布系統等。由于網絡管理員沒有足夠的時間與精力開發這些應用程序,所以多是采用直接從網上下載的方法來滿足急用。這此程序的源代碼是公開的,所使用的數據庫名,存放路徑沒有任何秘密,如果安全措施不力,會給Access DB的安全帶來非常大的危險。如從網上下載了一個ASP應用程序,且Access. mdb的連接文件是conn. inc,在ASP程序中, Access. mdb連接的代碼是:
2.3 服務器操作系統的安全隱患
現在使用WindowsNT/2000 Sever作為服務器操作系統的用戶非常主流,由于Win2000 Sever目錄權限的默認設置安全性較差,很多網管只知適讓Web服務器運行起來,很少對NTFS進行權限設置。有的服務器甚至未禁止對文件目錄的訪問控制。因此,必然會帶來很大的安全漏洞。
3 安全對策及其實現
3.1 屏蔽源代碼
雖然ASP作為服務器端運行的腳本語言,其程序代碼對于客戶端完全保密,但一般的ASP結合在HTML中使用時,還是可以通過單擊鼠標右鍵查看到部分源代碼。克服此缺陷的方法是在ASP文件或HTML文件的表頭部分加上下面的語句實現屏蔽。
這樣雖然部分用戶還可以通過轉存HEML文件得到源代碼,但大多數用戶無法打開源代碼進行查看。
3.2 對文件名加密和隱藏數據庫路徑
竊取文件首先要知適竊取文件對象的路徑及文件名。因此,對于重要的Access、數據庫,應取個不易被破譯的、非常規的、相對復雜的文件名,并把它放在幾層目錄下,且對目錄進行隱藏。例如,對于招生錄取的數據庫文件,不要簡單地命名為gaokao. mdb\"或”zhaosheng. mdb\",而是要以非常規的名字命名。對于下載的ASP文件,要更改其數據庫連接文件名,不能使用下載程序中的.inc文件作為ASP文件的包含文件。把數據庫連接文件的擴展名. inc修改為.ASP,竊取者便無法從服務器上下載數據庫連接文件。
3.3 對ASP文件加密
為有效地防止ASP源代碼泄露,可以對ASP頁面進行加密,方法一般有兩種:一種是使用組件技術將編程邏輯封裝入DLL文件中,由于數據庫的連接信息封裝在DLL文件中,因此具有很好的安全性。另一種,是使用微軟的Script Enconder對ASP頁面進行加密;Script Enconder只加密在HEMIL頁面中嵌入的ASP代碼,其他部分仍保持不變。Script Enconder還可以對當前目錄中的所有ASP文件進行批量加密,并把加密后的文件統一輸出到相應的目錄中。
3.4 設置用戶組和用戶權限
為用戶組和用戶設置權限和級別,規定其操作對象和使用范圍。如普通用戶只能讀取工資表中的記錄項而無權修改其工資項,非授權人員不能調閱人事檔案等。在設置密碼的基礎上,進一步提高了Access DB的安全系數。其設置可在“工具”、“安全”、“用戶/組權限”選項下完成。
3.5 對服務器進行必要的安全設置
為防止、數據庫被下載打開,可在服務器上故意設置打開,. mdlb類型文件的錯誤程序。一般情況下*.mdb類型文件可以使用MicrosoftAccess程序打開,那么我們可以使用“Internet信息服務”指定站點目錄下打開。*. mdb文件的執行程序為abc. exe,該文件可以使用記事本隨便填寫一些代碼,然后保存為abc. exe就行。
3.6 filesystemobject組件引起的安全問題解決方法
遠程客戶端可以通過ASP的filesystemobject組件,對目錄進行操作、文件復制、更名、刪除、修改或下載FAT分區上的任何文件等。為防止此種危害發生,應將Access DB建立在NTFS分區上,只設置讀取、更改權限,避免將W eb目錄設定為everyone fullcontrol,也可以把filesystemobject組件刪除或者改名。
3.7 提高Access DB的安全性的其他技術手段
通過ODBC對數據源進行設置后,在程序中寫入代碼: conn. Open “shujiyuan”,其數據庫的安全性即可大大提高。另一種增強網絡數據庫安全性的方法是將數據庫連接代碼封裝到DLL的AcaiveX組件中,,從而實現網絡數據庫安全性。
參考文獻:
[1] 黃媛媛. 淺析網絡數據庫的安全防范[J]. 長沙通信職業技術學院學報,2005(02).
[2] 錢菁. 網絡數據庫安全機制研究 [J]. 計算機應用研究,2003(12).