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