尹 慧
隨著人類步入信息時代,面對浩如煙海的各類信息,如何快速、準確、安全地獲取學校相關信息,妥善管理保存學校有價值信息,對檔案工作提出新的要求。檔案數據庫系統在實現檔案網絡化管理和數字化管理的過程中,扮演著數據中心的核心作用。檔案信息的錄入、修改、查詢等工作都是對存儲于數據庫里的數據信息進行的處理。因此,如何將檔案數據庫打造成銅墻鐵壁似的安全系統,就成了所有檔案系統網絡工作者必須要面對和解決的問題。這里以SQL Server為例,對數據庫的安全配置以及一些相關的使用問題做一簡介。
1 SQL Server 2000數據庫安全配置前期工作
在進行SQL Server 2000數據庫的安全配置之前,必須對操作系統(如Windows XP)進行必要的安全配置,然后將安裝的SQL Server 2000進行升級,打上SQL Server最新的安全補丁。
2 使用安全的密碼策略
對于SQL Server 2000來說,一個復雜安全的密碼是數據庫系統安全的第一步。因此,數據庫賬號的密碼不能過于簡單,同時不要讓數據庫賬號的密碼寫于應用程序或者腳本中,健壯的密碼是安全的第一步。
在對SQL Server 2000進行安裝的時候,如果是使用混合模式,那么最好輸入SA賬號的密碼,而且是比較復雜的。在以后的維護中,要定期修改密碼。對于數據庫管理員來說,應該定期查看是否有不符合密碼要求的賬號出現。比如使用下面的SQL語句:
Use master
Select name,Password from syslogins where password is null
修改SA賬號密碼,按步驟操作:1)展開服務器組,然后展開服務器;2)展開安全性,然后點擊登錄;3)在細節窗格中,右鍵點擊SA,然后點擊屬性;4)在密碼方框中輸入新的密碼。
3 使用安全的賬號策略
SQL Server允許用SA賬號登錄的用戶(有時也包括其他用戶)來訪問操作系統特性。這些操作系統調用是由擁有服務器進程的賬戶的安全性來創建的。如果服務器被攻破,那么這些操作系統調用可能被利用來向其他資源進行攻擊。因此,為SQL Server服務授予必要的權限是十分重要的。由于SQL Server系統不能更改SA用戶名稱,也不能刪除這個超級用戶,所以必須對這個賬號進行最強的保護。當然,包括使用一個非常強壯的密碼,最好不要在數據庫的應用中使用SA賬號。對于數據庫管理員來說,應該新建立一個擁有與SA賬號一樣權限的超級用戶來對數據庫進行管理。安全的賬號策略還包括不要讓管理員權限的賬號泛濫。
很多主機使用數據庫應用只是用來做查詢、修改等簡單功能的,請根據實際需要分配賬號,并賦予僅僅能夠滿足應用要求和需要的權限。比如,只要查詢功能的,那么就使用一個簡單的public賬號能夠select就可以了。
4 對擴展存儲過程進行有效管理
一般來說,在大多數情況下,數據庫信息應用不需要應用到較多的存儲過程,SQL Server較多的系統存儲過程實際上對于數據庫系統留有安全隱患。所以應盡可能刪除一些不必要的存儲過程,因為有些系統的存儲過程能很容易被人利用起來提升權限,從而進行破壞。
如果不需要擴展存儲過程xp_cmdshell就把它去掉,使用下面的SQL語句:
Use master
sp_dropextendedproc ‘xp_cmdshell
xp_cmdshell是進入操作系統的最佳捷徑,是數據庫留給操作系統的一個大后門。如果需要這個存儲過程,用下面的語句也可以恢復過來:
sp_addextendedproc ‘xp_cmdshell, ‘xpsql70.dll
審核數據庫登錄事件的“失敗和成功”,在實例屬性中選擇“安全性”,將其中的審核級別選定為全部,這樣在數據庫系統和操作系統日志里面,就詳細記錄了所有賬號的登錄事件。 對于數據庫管理人員來說,需要定期查看SQL Server日志,檢查是否有可疑的登錄事件發生。
5 在防火墻上禁用SQL Server端口
SQL Server的默認安裝將監視TCP端口1433以及UDP端口1434。配置操作系統的防火墻來過濾掉到達這些端口的數據包。而且,還應該在防火墻上阻止與指定實例相關聯的其他端口。
6 修改TCP/IP使用的端口
在實例屬性中選擇網絡配置中的TCP/IP協議的屬性,將TCP/IP使用的默認端口1433變為其他端口。
7 使用最安全的文件系統
NTFS最適合安裝SQL Server的文件系統,它比FAT文件系統更穩定且更容易恢復,而且它還包括一些安全選項,例如文件和目錄ACL以及文件加密(EFS)。在安裝過程中,如果偵測到NTFS,SQL Server將在注冊表鍵和文件上設置合適的ACL,但不去更改這些權限。
通過EFS,數據庫文件將在運行SQL Server的賬戶身份下進行加密。只有這個賬戶才能解密這些文件,如果需要更改運行SQL Server的賬戶,那么必須首先在舊賬戶下解密這些文件,然后在新賬戶下重新進行加密。
8 審核指向SQL Server的連接
SQL Server可以記錄事件信息,用于系統管理員的審查。至少應該記錄失敗的SQL Server連接嘗試,并定期查看這個日志。在可能的情況下,不要將這些日志和數據文件保存在同一個硬盤上。
要在SQL Server的Enterprise Manager中審核失敗連接,按步驟操作:1)展開服務器組;2)右鍵點擊服務器,然后點擊屬性;3)在安全性選項卡的審核等級中點擊失敗;4)要使這個設置生效,必須停止并重新啟動服務器。
9 使用協議加密
SQL Server 2000使用Tabular Data Stream協議來進行網絡數據交換,如果不加密的話,所有的網絡傳輸都是明文的,包括密碼、數據庫內容等。這是一個很大的安全威脅,能被人在網絡中截獲到他們需要的東西,包括數據庫賬號和密碼。所以,在條件容許情況下,最好使用SSL來加密協議,當然這需要一個證書來支持。
以上是對當前SQL Server處于網絡環境下可能面臨的威脅及安全隱患進行安全設置的簡介。維護系統的安全是一項長期的工作,需要不斷對數據庫系統進行升級,加強技術性安全措施。
參考文獻
[1]劉啟原,劉怡.數據庫與信息系統的安全[M].北京:科學出版社,2000
[2]李海泉,李健.計算機網絡安全與加密技術[M].北京:科學出版社,2001
[3]曹效陽.淺談SQL Server中的安全策略[J].現代計算機,2006(1)
[4]劉瑜,陳鐵英.Microsoft SQL Server數據庫的安全策略及實現方法[J].計算機工程與設計,2003,24(1):68-71