摘要:隨著互聯網的發展,網絡環境下的數據庫系統面臨著黑客攻擊、病毒感染等一系列威脅,如何保證數據的保密性、完整性、可靠性和可用性是個復雜問題。該文從網絡數據庫安全研究現狀入手,分析了Windows 2000 Server系統安全設置包括網絡安全設置、MS SQL Server的安全設置、信息安全評價等很多安全知識。并提出了一些安全措施和策略。
關鍵詞:網絡數據庫;MS SQL Server;安全措施
Web-based Database Security Research
ZHANG Li, TANG Jun
(Economic and Trade Home Panjin Liaohe Oil Field Company,Panjin 124000,China)
Abstract: With the development of the Internet, the network environment, the database system faces hacker attacks, virus infections and a series of threats, how to ensure data confidentiality, integrity, reliability and availability is a complex issue. In this paper, the status quo from the network database security research analyzes the windows 2000 Server system security settings, including network security settings, MS SQL Server security settings, information security evaluation, and many other safety knowledge. And made a number of security measures and strategies.
Key words: network database; MS SQL Server; safety
網絡數據庫系統是開放環境下的信息倉庫,管理著大量數據信息。同時可能受到來自多方面頻繁的安全攻擊,從而導致一系列安全問題。一旦出現數據丟失、損壞、非法篡改或失密會造成很大的損失。如今,網絡數據庫相關安全機制的研究隨著網絡和數據庫技術的發展而不斷深化,網絡數據庫的安全管理日益成為人們關注的焦點。
1 網絡數據庫安全研究現狀
信息安全的研究有很多方面,包括防火墻、入侵檢測、風險評估等,但是以防火墻為代表的反入侵網絡安全技術不等于信息安全的全部,在絕大多數信息系統中,核心數據和資料都以數據庫的方式存儲,因此數據庫安全成為被忽視的信息安全核心地帶。下面從三個方面分別介紹國內外在數據庫安全方面的發展現狀。
1)數據庫管理系統:目前在計算機應用領域廣泛使用的美國產的大型數據庫,Oracle, Sybase, DB2, SQL Server均是數億甚至百億美元的投入,他們的強大功能在相當時間內是國產數據庫所難以替代的。面對這種現實情況,為保護存儲在數據庫中數據(信息)的安全,使用數據庫安全保密中間件對這些數據庫進行加密,則顯得具有特別的現實意義!
2)數據庫數據加密:對一些重要部門或敏感領域的應用,僅靠數據庫管理系統(DBMS)所采取的措施難以完全保證數據的安全性,某些用戶尤其是一些內部用戶仍可能非法獲取用戶名、口令字,或利用其他方法越權使用數據庫,甚至可以直接打開數據庫文件來竊取或篡改信息。因此,有必要對數據庫中存儲的重要數據進行加密處理,以實現數據存儲的安全保護。我國經過近幾年的研究,我國的數據庫加密技術已經比較成熟,那么數據庫加密將會出現新的格局。
3)數據庫審計系統:數據庫的安全不僅僅依賴于管理系統的訪問控制等設置,事后的審計追蹤對數據庫的保護也有重要意義。國外已經有對各種數據庫系統都適用的數據庫審計系統。目前我國的審計系統還處于起步階段,對于審計的數據量以及響應速度與國外相比都有一定的差距。
總的來說,我國的數據庫安全研究起步晚,產業化投入較少,力量分散,與技術先進國家有差距,但我國的網絡信息安全研究畢竟己具備了一定的基礎和條件,尤其是作為信息安全的核心技術密碼學研究方面積累較多,基礎較好。隨著國家對數據庫安全重視程度的提高,加大投入,恰當組織,相信可以取得實質性的進展。
2 網絡數據庫的安全研究
介紹了網絡數據庫系統安全的基本概念和通用策略,重點針對Microsoft SQL Server服務器安全進行分析。
2.1 客戶機/服務器結構
SQL Server:利用C/S結構把工作負載分成在客戶C端和服務器S端運行的任務:
1)客戶端:商務邏輯處理,把數據呈現給用戶;
2)服務器端:管理數據庫,在多個請求之間分配存儲區、網絡帶寬和磁盤操作等可利用的資源。
圖1顯示了客戶機/服務器結構。
2.2 SQL Server管理機制
2.2.1 SQL Server的服務程序
1)MS SQL Server:處理所有的T-SQL語句,管理服務器上所有構成數據的文件。
2)SQL Server Agent:創建和管理本地或多服務器上的作業、報警和操作員。
3)Microsoft分布事務協調器(MSDTC):協調分布式事務。
2.2.2 SQL Server的客戶軟件
1)企業管理器(SQL Server Enterprise Manager)
2)管理工具和向導
3)命令行管理工具:osql,bcp
4)SQL Server:幫助及Online Books
2.2.3 系統數據庫
1)master:數據庫:從整體上控制用戶數據庫和SQL Server操作。
2)msdb數據庫:作業、警報和操作員信息。
3)model數據庫:模板數據庫。
4)temp數據庫:為臨時表和其它存儲需要提供存儲空間。
5)distribution數據庫:存儲復制用的歷史和事務數據。
2.2.4 用戶數據庫
1)pubs, Northwind數據庫;示例數據庫。
2)用戶自行創建的數據庫。
2.2.5 SQL Server數據庫對象
表(table)、視圖(view)、存儲過程(stored procedure)、觸發器(trigger)、索引(index)、缺省值(default)、規則(rule)、用戶定義數據類型(user-defined datatype)。
2.2.6 引用SQL Server對象
全名: 服務器,數據庫,擁有者,對象。
2.2.7 安全機制:兩種登錄方式
1)Windows 2000 Server登錄。
2)SQL Server登錄。
2.2.8 SQL: Structured Query Language
1)數據定義語言(DDL):create,drop,alter
2)數據操縱語言(DML):select,insert,update,delete
3)數據控制語臺(DCL):grant,revoke
2.2.9 SQL Server與Windows 2000 Server的集成
1)安全性
2)對多處理器的支持(SMP)
3)作為Windows 2000 Server服務程序運行,允許遠程啟動/關閉
4)性能監控程序(Performance Monitor)
5)索引服務器(Index Server)
2.3 SQL Server安全保護策略
2.3.1 訪問控制策略
圖2給出了SQL Server安全控制策略示意圖。由圖可見,SQL Server的安全控制策略是一個層次結構系統的集合。只有滿足上一層系統的安全性要求之后,才可以進入下一層。
各層SQL Server安全控制策略是通過各層安全控制系統的身份驗證實現的。身份驗證是指當用戶訪問系統時,系統對該用戶的帳號和口令的確認過程。身份驗證的內容包括確認用戶的帳號是否有效、能否訪問系統、能訪問系統的哪些數據等。
2.3.2 備份恢復策略
備份和恢復是數據庫管理員維護數據庫安全性和完整性的重要操作。備份可以防止由于數據庫和表遭受破壞、介質失效或用戶錯誤而造成的數據災難。恢復是在意外發生后,利用備份來恢復數據庫的操作。任何數據維護系統都必須具有備份和恢復數據庫的功能。
下面列出兩種網絡環境下數據庫服務器常用的備份和恢復策略:
1)雙機熱備份
最快的然而是最昂貴的保護是準備一個備份服務器隨時替代主服務器,備份服務器必須能支持Microsoft SQL Server運行,并能完整備份所有數據庫、系統和用戶帳號,因為事務處理日志和數據庫的轉儲由主服務器創建,所以他們必須迅速的裝載到備份服務器,如果主服務器需要中止工作一段時間,只需投入備份服務器代替主服務器即可,備份服務器將接管事務處理日志,就好像什么也沒有發生。
2)異機備份
異機備份策略,是最好最經濟的備份方式,特別是當服務器崩潰或Microsoft SQL Server系統崩潰時,因為此時除了雙機熱備份可以啟用備份服務器直接使用外,通過其它的各種備份策略(不包括異機備份策略)必須重裝服務器操作系統(Microsoft Windows NT)或重裝Microsoft SQL Server,采用異機備份策略,則不必擔心,這時候只需待裝好Microsoft SQL Serve時,從異機傳送數據恢復即可。
若利用Microsoft SQL Enterprise Manager管理工具來實現備份恢復具體實現方法可分為下面三種:
1)完全手工方式
首先選擇要備份和恢復的數據庫,然后單擊鼠標右鍵,在快捷菜單中的“ALL TASKS”,下選擇備份或者恢復數據庫。利用這種方式,用戶要進行多步操作,其中要涉及到一些參數的設置,使用起來容易出錯,而且一旦操作失誤可能帶來很大的損失。
2)半手工方式
這種方式要求管理員事先建立備份或者恢復數據庫的作業,待到需要備份或者恢復數據庫的時候,管理員打開“SQL Server Enterprise Manager”,在“Manager”里找到相應的作業,然后執行。這種方式雖然是基于作業方式實現的,但是管理員必須打開數據庫管理器,在繁多的作業中進行選擇,一旦選擇錯誤并執行,就有可能帶來意想不到的損失。
3)全自動方式
這種方式也要求管理員事先建立好恢復或者備份數據庫的作業,然后定制一個執行計劃,讓計算機在特定的條件下自己執行備份和恢復操作。這種方式看起來簡單、省事,但是機器在異常情況下(如掉電),就不能按照計劃執行了。這幾種實現和恢復數據庫的方法都需要用戶對Microsoft SQL Enterprise Manager管理工具相當熟悉,而且處理步驟較為煩瑣,操作起來容易發生失誤。那么 如 果 不使用Microsoft SQL Enterprise Manager管理工具來操作,就需要自己編寫備份恢復程序來實現具體的操作。自己編寫的程序可以根據需要來靈活定制備份周期和備份策略,這是一種最好的方式,但是需要我們自己編寫所需的程序,并且對數據庫接口比較熟悉。
3 結束語
該文介紹了數據庫應用的相關安全性、windows 2000 Server系統安全設置包括網絡安全設置、MS SQL Server的安全設置、信息安全評價等很多安全知識。并提出了一些安全措施。該文的研究和實現對于提高中小型網絡數據庫的安全性有比較好的效果,對于大型數據庫有一定的借鑒意義。
參考文獻:
[1] 薩師煊,王珊.數據庫系統概論[M].北京:高等教育出版社,2000.
[2] 吳溥峰,張玉清.數據庫安全綜述[J].計算機工程,2006,32(12):85-88.
[3] 徐壽懷,胡美琛.數據庫安全研究的現狀與問題[J].計算機工程,1997,23(3):50-53.