李迎斌 郭明明
【摘 要】數據庫的安全性是信息技術發展的前提,Sql Server 2008在安全性方面日臻完善,越來越多的用戶選擇使用作為服務器,文中簡要介紹了Sql Server 2008數據庫的安全策略。
【關鍵詞】Sql Server 2008;數據庫;安全性;驗證模式
數據安全對于各種數據庫的重要性居于首位,歷來都是其著重考量的指標。SQL Server 2008中,服務器安全性的高效管理大部分通過依賴強壯的安全機制、有效的賬戶管理及對服務器角色的制約,使得服務器的應用更加安全便捷。
1 SQL Server 2008的安全機制
1.1 客戶機和服務器方面
用戶需為合法賬號和密碼,客戶機、服務端依據驗證方式判斷其是否正確,才可以使用SQL Server的應用系統或其管理工具來訪問服務端的數據庫。針對Windows OS用戶而言,大部分與Windows賬戶的安全問題相關。
1.2 網絡傳輸方面
通常情況下,對安全性要求較高的網絡采用數據的加解密技術,雖然這種做法會降低網絡傳輸速度。
1.3 數據庫方面
在SQL Server中,存在“數據庫用戶”的概念,任意一個可以登錄數據庫服務端的賬號和密碼均映射一個工作數據庫,并對數據庫級的權限進行管理。
1.4 數據庫方面
經過上述過程過濾,用戶才可以進入數據庫,訪問數據對象時能夠做哪些操作稱為訪問權限,常用的權限如下:插入、刪除、更新和檢索。
2 配置訪問權限
身份驗證和訪問許可是SQL Server實現其安全性的基礎,認證用以判斷連接賬戶的正確與否,并決定連接SQL Server的權限。允許登錄數據庫服務器的合法身份包括Windows用戶與SQL Server用戶。
2.1 SQL Server的驗證模式[1]
(1)Windows身份驗證
此種驗證在域環境下較適用,將Windows賬號與SQL Server的賬戶進行映射,不需要額外賬戶就能夠連接SQL Server數據庫。用戶不用考慮服務器,僅需經過Windows驗證就可以。
Windows身份驗證的優勢:連接更加便捷,免去了賬號和密碼的填寫過程;Windows負責管理賬戶,安全性與SQL Server驗證模式相比更高效;功能豐富,包括:密碼的期限、復雜度和長度限定、賬號鎖等。
Windows賬戶的管理工作由操作系統完成,其強大的管理工具能夠有效設置密碼有效期、鎖定等,SQL Server不需擴展這些功能,數據庫管理員釋放更多負擔,專注于數據庫其他工作上面。
(2)SQL Server和Windows混合身份驗證
此種情況下,可根據實際情況選擇Windows或是SQL Server賬號登錄SQL Server服務器,實際應用時,SQL Server先確定是否采用了有效的SQL Server賬戶,都由SQL Server創建并存放,而并不基于Windows賬戶。當且僅當用戶使用合法的賬戶才被授權連接,否則會被拒絕。當無效的登錄發生時,SQL Server 2008才檢查Windows賬戶的信息。此時,SQL Serve將確定登錄賬戶的連接權限,如果賬戶有權限,連接就能夠被接受。
2.2 服務器角色
服務器角色的作用同“Windows操作系統中的組”相似,是執行服務器級操作的權限的集合。固有的服務器角色包括:Sysadmin,Dbcreator,Serveradmin,Securityadmin,Processadmin,Setupadmin,Diskadmin,Bulkadmin。在具體應用當中,應該根據不同要求選定角色、分配權限。配置過程為:選定當前數據庫下的“安全性”-“登錄名”,用戶右擊“屬性”-“服務器角色”,為用戶配置角色及權限。
3 數據庫訪問審核
有效的審核僅過濾重要的事務,禁止未經授權的行為,對整個系統的安全特別有益,全部的平臺都或多或少提供審查功能。
SQL Server 2008的設置步驟如為:
通過數據庫的“屬性”-“安全性”-“登錄審核”項,可以審核“登錄失敗”、“登錄成功”或“登錄失敗和成功”等結果狀態。設置完畢,用戶在Windows OS的“事件查看器”中看到已審核過的項目,隨即可測試審核是否啟用。
4 SQL Server 2008在加密方面的創新
4.1 SQL Server的密鑰是存放在外部的硬件安全模塊中,并加密存放其中的數據,而采用的加密算法對與數據庫相連的程序是透明的,此種方式增加了數據庫管理員編寫代碼的便利性,不需額外修改。
第一個創新之處就是增加了EKM(可擴展密鑰管理)功能,并可使用存放于硬件安全模塊(HSM)的加密密鑰,其在Enterprise、Developer和Evaluation三個版本中均有體現。
第二個辦法稱之為透明數據加密[2],不需修改程序就可以對數據庫文件、數據和日志等執行實時I/O加解密,此過程使用的密鑰(DEK)是設置于服務器數據庫中的證書來有效保障的,并保存在數據庫引導記錄中,便于解密時使用。
4.2 以往的身份驗證都采用Windows協議,SQL Server 2008較之避免黑客入侵與遭受病毒的攻擊能力更強,并聯合Windows的自定制的驗證系統的支持,以完善驗證功能,提高了安全性能。
4.3 另一個延伸的全新功能是安全審核功能,包括記載數據庫運行的相關審核信息,操作所需數據的存儲、開啟、使用。
4.4 策略的管理與安全審核是SQL Server 2008在安全性方面的創新基礎,包含了高效適應和強制性等特點[3],其強大的執行策略對一個數據庫、工作平臺及整個系統來說都完全得到最大程度的滿足,并強制不符合規則、安全隱患較大的數據庫服務器進行整修。
5 SQL Server常見漏洞解析
5.1 更改SA密碼
由于SA為各版本SQL Server的默認超級管理員賬戶,其密碼直接關系到數據庫的安全,應該將密碼設置的復雜度高些,甚至更改SA的名稱。
5.2 刪除閑置用戶名
數據庫內自動建立了一些用戶名(例如默認的管理員組),常常因其公知性成為不合法用戶攻擊的目標,較穩妥的辦法可以將其刪除并重新建立。
5.3 刪除不必要的存儲過程
因某些存儲過程易被利用以提高不必要的權限或執行破壞操作,包含下述功能的存儲過程最好刪除:執行操作系統命令,操縱OLE自動化對象,注冊表訪問,進程管理類,文件操作類,任務管理類。
5.4 禁止非必須的網絡連接
SQL Server包含外圍應用配置器,用以降低外部應用、暫停或禁止非必要的服務,有效減少遭受攻擊的途徑,增強安全性。“外圍應用配置器”工具能夠啟用、禁用或暫停SQL Server安裝時某些服務功能與遠程連接。
5.5 協同防火墻篩查特定端口
端口不做另行更改時,SQL Server一般監聽TCP 1433,并將1433 UDP用于用戶機同服務端之間的協議。故此,易被不法入侵者利用,需與防火墻協同以限定對特定端口的使用。SQL Server提供的配置工具能夠修改默認端口、命名實例以偵聽同一個端口,隱藏端口也是可行的。
5.6 其他漏洞
禁用非必須的協議,加密數據(用戶自行編寫代碼),及時給SQL Server下載補丁。
6 備份機制
在數據的保存與管理過程中,SQL Server 2008給用戶以完善的數據庫備份功能,尤其是和維護計劃協同作用能夠給用戶解決更加靈活、便捷的備份方案。SQL Server 2008包括四種備份方式[4]:差異備份、完整備份、事務日志備份、文件和文件組備份。數據庫備份是長周期的工作,其對于保證系統的可靠性具有至關重要的作用,能夠高效、安全地把數據庫文件和其中的數據,通過一些手段及不同方式存儲至其他位置的媒介內。在數據庫或數據遭受損壞后,管理員能夠將備份過的數據文件通過還原的方式以降低損失甚至避免損失。
【參考文獻】
[1]朱文彬.地方電視臺SQL Server 2008數據庫的安全性簡析[J].電子技術與軟件工程,2014,02:210-211.
[2]雷治安,陳騰楠.基于SQL Server 2008中的加密和密鑰管理探析[J].電子世界,2012,13:10-11.
[3]陳霓.SQL Server 2008數據庫的安全性分析[J].電腦開發與應用,2012,01:64-66.
[4]曹起武.淺談SQL Server 2008中備份計劃的實施[J].中小企業管理與科技(下旬刊),2012,03:287-288.
[責任編輯:楊玉潔]