莊淼
摘要:SQL Server作為一種數(shù)據(jù)庫(kù)管理系統(tǒng),因其操作簡(jiǎn)便,程序并不復(fù)雜因此被廣泛應(yīng)用到各行各業(yè)中,是當(dāng)前中小型數(shù)據(jù)庫(kù)管理的重要工具。但是,隨著信息技術(shù)、計(jì)算機(jī)技術(shù)的不斷發(fā)展,數(shù)據(jù)庫(kù)中的數(shù)據(jù)信息日益增長(zhǎng),而網(wǎng)絡(luò)的全面普及,使得數(shù)據(jù)庫(kù)與網(wǎng)絡(luò)資源之間關(guān)系更為密切,海量的數(shù)據(jù)信息成為非法入侵的重要對(duì)象??梢哉f(shuō),網(wǎng)絡(luò)的安全對(duì)數(shù)據(jù)庫(kù)的安全性有著極為重要的影響,加強(qiáng)SQL Server數(shù)據(jù)庫(kù)安全影響因素分析,提高系統(tǒng)安全性能刻不容緩?;诖?,本文立足SQL Server數(shù)據(jù)庫(kù)實(shí)際,以數(shù)據(jù)庫(kù)系統(tǒng)安全設(shè)計(jì)的重要性為切入點(diǎn),對(duì)當(dāng)前SQL Server數(shù)據(jù)庫(kù)存在的安全隱患進(jìn)行全面剖析,并提出了相應(yīng)的優(yōu)化措施,以期能夠推動(dòng)SQL Server數(shù)據(jù)庫(kù)的安全性。
關(guān)鍵詞:SQL Server數(shù)據(jù)庫(kù);安全性能;優(yōu)化設(shè)計(jì)
中圖分類號(hào):TP311? ? ? ? 文獻(xiàn)標(biāo)識(shí)碼:A
文章編號(hào):1009-3044(2019)17-0001-02
開(kāi)放科學(xué)(資源服務(wù))標(biāo)識(shí)碼(OSID):
近幾年,隨著SQL Server數(shù)據(jù)庫(kù)的全面普及,給人們的日常生活、工作都帶來(lái)了很多便捷,尤其是現(xiàn)代工業(yè)產(chǎn)業(yè)都需要SQL Server數(shù)據(jù)庫(kù)的技術(shù)支撐,SQL Server數(shù)據(jù)庫(kù)的有效發(fā)展對(duì)整個(gè)社會(huì)的科技、經(jīng)濟(jì)、文化等領(lǐng)域的發(fā)展都有著極為重要的促進(jìn)作用。因此,立足SQL Server數(shù)據(jù)庫(kù)的廣泛應(yīng)用,探討其安全影響因素,優(yōu)化設(shè)計(jì)措施,對(duì)推動(dòng)現(xiàn)代社會(huì)科技發(fā)展以及經(jīng)濟(jì)增長(zhǎng)都有著極為深遠(yuǎn)的現(xiàn)實(shí)意義。
1 SQL Server數(shù)據(jù)庫(kù)安全設(shè)計(jì)的重要性
隨著網(wǎng)絡(luò)信息技術(shù)的廣泛發(fā)展和全面普及,在很大程度上推動(dòng)了SQL Server數(shù)據(jù)庫(kù)相關(guān)技術(shù)的進(jìn)一步發(fā)展和應(yīng)用。尤其是在信息技術(shù)、計(jì)算機(jī)技術(shù)等的應(yīng)用過(guò)程中,數(shù)據(jù)庫(kù)技術(shù)是基礎(chǔ),同時(shí)也是關(guān)鍵,主要是由于數(shù)據(jù)庫(kù)中儲(chǔ)存著海量信息,因此數(shù)據(jù)庫(kù)的安全運(yùn)行決定著這些數(shù)據(jù)的安全性。可以說(shuō),在確保數(shù)據(jù)庫(kù)正常運(yùn)行的基礎(chǔ)上,進(jìn)一步優(yōu)化系統(tǒng)設(shè)計(jì),是提高數(shù)據(jù)庫(kù)安全性的重要手段[1]。SQL Server數(shù)據(jù)庫(kù)在很多企事業(yè)中應(yīng)用較為普遍,建立一個(gè)高效、安全的數(shù)據(jù)庫(kù)運(yùn)行機(jī)制能夠確保系統(tǒng)的有效運(yùn)行。
在當(dāng)前SQL Server數(shù)據(jù)庫(kù)的運(yùn)行過(guò)程中,數(shù)據(jù)庫(kù)安全設(shè)計(jì)的優(yōu)化關(guān)鍵就在于保護(hù)數(shù)據(jù)庫(kù)中的信息數(shù)據(jù),確保數(shù)據(jù)信息的安全和完整,提高數(shù)據(jù)庫(kù)的保密性。因?yàn)?,一旦?shù)據(jù)庫(kù)遭遇非法入侵,其所存儲(chǔ)的數(shù)據(jù)的安全性將受到嚴(yán)重威脅,極易出現(xiàn)資料外泄,從而給用戶造成嚴(yán)重的經(jīng)濟(jì)損失。對(duì)此,為了確保SQL Server數(shù)據(jù)庫(kù)中數(shù)據(jù)的安全,就必須要加強(qiáng)系統(tǒng)的安全設(shè)計(jì)。
2 SQL Server數(shù)據(jù)庫(kù)安全影響因素分析
2.1不良的口令政策
在SQL Server數(shù)據(jù)庫(kù)的使用過(guò)程中,很多用戶長(zhǎng)期采用單一口令,或是直接默認(rèn)口令來(lái)進(jìn)行SQL Server數(shù)據(jù)庫(kù)以及數(shù)據(jù)信息的保護(hù)工作,這是影響SQL Server數(shù)據(jù)庫(kù)安全的重要因素之一。因此,必須要加強(qiáng)口令政策,定期更改系統(tǒng)口令,同時(shí)用戶所設(shè)置的口令必須要達(dá)到10位數(shù)以上,并采用數(shù)字+字母+符合的形式,以此來(lái)增強(qiáng)口令的性能級(jí)別。
2.2 SQL 注入
SQL注入是基于現(xiàn)行的SQL Server數(shù)據(jù)庫(kù)應(yīng)用,將非法請(qǐng)求傳送到數(shù)據(jù)庫(kù)后臺(tái)執(zhí)行的一種技術(shù)手段。在如何實(shí)現(xiàn)將非法請(qǐng)求傳遞到數(shù)據(jù)庫(kù)后臺(tái)的工作中,如果SQL Server數(shù)據(jù)庫(kù)在接收到傳遞信息時(shí),未對(duì)指令的安全性進(jìn)行驗(yàn)證就直接傳遞到SQL進(jìn)行運(yùn)作請(qǐng)求,那么就為SQL注入提供了直接攻擊和非法入侵的條件[2]。比如,攻擊者通過(guò)對(duì)SQL語(yǔ)句進(jìn)行偽裝或篡改,或是按照系統(tǒng)原有的網(wǎng)絡(luò)格式對(duì)正確指令進(jìn)行修改,從而將帶有病毒性的SQL請(qǐng)求以正確指令的形式向SQL Server數(shù)據(jù)庫(kù)進(jìn)行傳輸。
2.3 交叉站點(diǎn)腳本
SQL Server數(shù)據(jù)庫(kù)在接收傳輸數(shù)據(jù)或是指令后,必須要進(jìn)行嚴(yán)格的審核和驗(yàn)證,對(duì)數(shù)據(jù)或指令進(jìn)行清潔處理,從而有效避免出現(xiàn)交叉站點(diǎn)腳本攻擊。交叉站點(diǎn)腳本攻擊方式能夠?qū)eb服務(wù)器原有的數(shù)據(jù)庫(kù)連接進(jìn)行破壞,通常情況下黑客(入侵者)可以借助網(wǎng)絡(luò)蠕蟲(chóng),將客戶方的站點(diǎn)腳本路徑改為網(wǎng)絡(luò)應(yīng)用程序的輸出路徑,以此來(lái)收集用戶cookie的相關(guān)數(shù)據(jù)資源,進(jìn)而獲取用戶的賬戶登錄信息。
2.4數(shù)據(jù)丟失
影響SQL Server數(shù)據(jù)庫(kù)安全的因素中,最常見(jiàn)同時(shí)也是最不受重視的問(wèn)題就是數(shù)據(jù)的丟失情況。在數(shù)據(jù)庫(kù)進(jìn)行數(shù)據(jù)傳輸、存儲(chǔ)以及使用過(guò)程中由于人為操作不當(dāng),會(huì)導(dǎo)致重要數(shù)據(jù)的傳輸區(qū)域的安全性得不到有效保障,從而使得數(shù)據(jù)庫(kù)備份磁帶的安全性受到影響。常見(jiàn)情況是一些十分重要的數(shù)據(jù)在合法查詢的答案中產(chǎn)生,使得重要信息意外泄露,因此需要加強(qiáng)數(shù)據(jù)的監(jiān)督和檢查。
3 SQL Server數(shù)據(jù)庫(kù)安全性能的優(yōu)化措施
3.1設(shè)置驗(yàn)證模式,使用強(qiáng)密碼
加強(qiáng)SQL Server數(shù)據(jù)庫(kù)安全性能的優(yōu)化設(shè)計(jì),首先要強(qiáng)化身份驗(yàn)證和訪問(wèn)許可。其中,在身份驗(yàn)證中可以設(shè)計(jì)兩種模式:Windows身份驗(yàn)證和混合驗(yàn)證。當(dāng)然,為了能夠切實(shí)提高SQL Server數(shù)據(jù)庫(kù)的安全,建議使用Windows身份驗(yàn)證。當(dāng)用戶通過(guò)Windows進(jìn)行賬號(hào)連接時(shí),SQL Server系統(tǒng)將借助Windows主體對(duì)用戶的賬號(hào)和密碼進(jìn)行審查和驗(yàn)證,也就是說(shuō)由Windows對(duì)用戶的身份進(jìn)行最終確認(rèn)[3]。Windows身份驗(yàn)證是依托于Kerberos 安全協(xié)議所提供的強(qiáng)密碼驗(yàn)證手段。若是選擇混合驗(yàn)證模式時(shí),因?yàn)镾QL Server數(shù)據(jù)庫(kù)系統(tǒng)的管理員賬號(hào)sa并非保密的,因此就成為非法入侵的首要攻擊對(duì)象,所以除非系統(tǒng)程序需要使用sa賬號(hào),否則應(yīng)當(dāng)禁止sa賬戶。尤其是在對(duì)sa賬戶進(jìn)行密碼設(shè)置時(shí),應(yīng)當(dāng)選擇強(qiáng)密碼驗(yàn)證,這是因?yàn)槿绻鹲a賬戶密碼為空或是弱密碼,很多入侵者通過(guò)相關(guān)軟件工具能夠?qū)ζ淇诹钸M(jìn)行破解,如圖1所示,借助X-SCAN工具就能夠獲得主機(jī)10.106.1.27的SQL Server數(shù)據(jù)庫(kù)管理員的賬號(hào)密碼。
如果sa賬戶密碼一旦被入侵者破解獲取,那么其就可以通過(guò)對(duì)系統(tǒng)存儲(chǔ)過(guò)程sp_configure的調(diào)用,實(shí)現(xiàn)對(duì)擴(kuò)展存儲(chǔ)過(guò)程xp_cmd?shell的運(yùn)行,進(jìn)而將命令字符通過(guò)xp_cmdshell轉(zhuǎn)化為系統(tǒng)的操作命令并執(zhí)行,最后以文本形式對(duì)有所輸出進(jìn)行返回。比如,入侵者要想在SQL Server數(shù)據(jù)庫(kù)服務(wù)器所在主機(jī)新建一個(gè)hacker$系統(tǒng)賬號(hào),就可以通過(guò)對(duì)系統(tǒng)存儲(chǔ)過(guò)程進(jìn)行調(diào)動(dòng),執(zhí)行exec xp_cmdshell 'net user hacker$ hacker888/add'命令,將新建的hacker$系統(tǒng)賬號(hào)提升為管理員,進(jìn)而對(duì)服務(wù)器所在主機(jī)進(jìn)行非法入侵,盜取相關(guān)數(shù)據(jù)信息,后果不堪設(shè)想。
3.2加強(qiáng)SQL Server數(shù)據(jù)庫(kù)的訪問(wèn)控制
除了通過(guò)設(shè)置身份驗(yàn)證外,還可以借助訪問(wèn)許可的控制來(lái)提高SQL Server數(shù)據(jù)庫(kù)的安全性。在SQL Server數(shù)據(jù)庫(kù)安全性能優(yōu)化設(shè)計(jì)過(guò)程中,進(jìn)行系統(tǒng)訪問(wèn)許可控制主要是對(duì)用戶訪問(wèn)數(shù)據(jù)庫(kù)的圖表、應(yīng)用、數(shù)據(jù)等項(xiàng)目進(jìn)行權(quán)限控制,同時(shí)根據(jù)用戶的身份信息對(duì)其刪除、增減、修改等權(quán)限進(jìn)行約束。SQL Server數(shù)據(jù)庫(kù)的訪問(wèn)控制設(shè)計(jì)主要是依托用戶身份分類管理來(lái)實(shí)現(xiàn)的,訪問(wèn)控制設(shè)計(jì)技術(shù)是整個(gè)系統(tǒng)安全設(shè)計(jì)的重要環(huán)節(jié),主要由SQL Server數(shù)據(jù)庫(kù)系統(tǒng)的授權(quán)設(shè)計(jì)、SQL Server數(shù)據(jù)庫(kù)的訪問(wèn)權(quán)限管理以及SQL Server數(shù)據(jù)庫(kù)權(quán)限分類三部分組成,加強(qiáng)這三部分的安全設(shè)計(jì),就能夠在很大程度上提高SQL Server數(shù)據(jù)庫(kù)安全管理的有效性。
3.3數(shù)據(jù)庫(kù)的備份和恢復(fù)策略
在影響SQL Server數(shù)據(jù)庫(kù)安全的因素中操作不當(dāng)、人為破壞、黑客攻擊等都有可能會(huì)導(dǎo)致數(shù)據(jù)庫(kù)數(shù)據(jù)丟失,因此通過(guò)系統(tǒng)備份和數(shù)據(jù)恢復(fù)技術(shù)能夠?qū)?shù)據(jù)丟失風(fēng)險(xiǎn)降至最低,并確保SQL Server數(shù)據(jù)庫(kù)的正常運(yùn)作。因此,SQL Server數(shù)據(jù)庫(kù)優(yōu)化設(shè)計(jì)過(guò)程中,強(qiáng)化備份和恢復(fù)功能是極為重要的措施。一旦數(shù)據(jù)庫(kù)發(fā)生系統(tǒng)故障,就可以通過(guò)備份文件和日志文件將數(shù)據(jù)恢復(fù)到出現(xiàn)故障前的狀態(tài),雖然不能確保數(shù)據(jù)完全恢復(fù),但是也能將數(shù)據(jù)丟失所帶來(lái)的損失降至最低。因此,在設(shè)計(jì)備份和恢復(fù)功能時(shí),要著重注意以下幾方面問(wèn)題:①備份類型的選擇。常用的備份類型有完全備份、日志備份、差異備份等。完全備份就是對(duì)整個(gè)SQL Server數(shù)據(jù)庫(kù)進(jìn)行全面?zhèn)浞?,其?yōu)點(diǎn)是備份涵蓋面廣,但是在備份過(guò)程中消耗時(shí)間長(zhǎng),占用空間資源大。因此,全面?zhèn)浞菘擅恐芏ㄆ谶M(jìn)行一次,通常用戶大多選擇這一備份形式。日志備份是與數(shù)據(jù)庫(kù)文件區(qū)分并獨(dú)立存在的文件,主要是對(duì)數(shù)據(jù)庫(kù)中插入、更新、刪除、提交等模式變化進(jìn)行記錄,在進(jìn)行備份時(shí)只需要對(duì)上次備份進(jìn)行復(fù)制就可以實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)數(shù)據(jù)的備份,由于這種模式耗時(shí)少,因此需要在較短時(shí)間內(nèi)自動(dòng)進(jìn)行備份。差異備份主要是指在對(duì)系統(tǒng)進(jìn)行全面?zhèn)浞莺蟮竭M(jìn)行差異備份這一時(shí)間段,對(duì)系統(tǒng)中存在修改、增減的文件進(jìn)行備份,這種備份方式所占磁盤空間不大,同時(shí)備份時(shí)間適宜,建議以天為單位進(jìn)行備份。②備份設(shè)備。在對(duì)SQL Server數(shù)據(jù)庫(kù)進(jìn)行數(shù)據(jù)備份時(shí),所選用的備份設(shè)備要便于能夠存儲(chǔ)備份數(shù)據(jù)庫(kù),比如磁盤設(shè)備等。
結(jié)語(yǔ):通過(guò)實(shí)踐研究顯示在SQL Server數(shù)據(jù)庫(kù)的應(yīng)用過(guò)程中,要想提高數(shù)據(jù)庫(kù)的安全性能,就必須要意識(shí)到影響其安全性的因素,通過(guò)采取設(shè)置驗(yàn)證模式,使用強(qiáng)密碼、加強(qiáng)SQL Server數(shù)據(jù)庫(kù)的訪問(wèn)控制、數(shù)據(jù)庫(kù)的備份和恢復(fù)策略等優(yōu)化設(shè)計(jì)手段,為SQL Server數(shù)據(jù)庫(kù)的安全管理提供有力保障,確保系統(tǒng)數(shù)據(jù)的查詢、使用以及存儲(chǔ)過(guò)程更加安全可靠。
參考文獻(xiàn):
[1] 武萬(wàn)軍. SQL數(shù)據(jù)庫(kù)的構(gòu)建與安全性維護(hù)技術(shù)方案研究[J].數(shù)字技術(shù)與應(yīng)用,2016(3):210-210.
[2] 陳巖巖 . SQL Server數(shù)據(jù)庫(kù)性能的影響因素及性能優(yōu)化路徑[J].現(xiàn)代信息科技,2017.
[3] 陳紅艷. 淺析SQL Server數(shù)據(jù)庫(kù)的安全問(wèn)題[J].科技創(chuàng)新導(dǎo)報(bào),2016(35).
[4] 錢文波, 謝金寶. SQL Server數(shù)據(jù)庫(kù)性能優(yōu)化技術(shù)[J].微型機(jī)與應(yīng)用,1999,18(3):7-9.
【通聯(lián)編輯:唐一東】