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