王艷紅
摘 要為了保護(hù)數(shù)據(jù)不被破壞,泄露和修改,需要加強(qiáng)數(shù)據(jù)庫的安全。SQL Server數(shù)據(jù)庫在數(shù)據(jù)的安全及穩(wěn)定性等方面深得很多用戶的喜愛。
【關(guān)鍵詞】SQL Server 數(shù)據(jù)庫 安全機(jī)制
在當(dāng)今這樣一個信息爆發(fā)的時代,每天都會有大量數(shù)據(jù)需要保存,因此如何做好這些數(shù)據(jù)的管理也就成為大家關(guān)注的一個問題。那么存儲在數(shù)據(jù)庫中的這部分?jǐn)?shù)據(jù)的安全性也就成了數(shù)據(jù)分析師比較關(guān)心的問題。數(shù)據(jù)庫中的數(shù)據(jù)會經(jīng)常涉及到數(shù)據(jù)的輸入、輸出與處理,所以,如果數(shù)據(jù)出現(xiàn)安全問題將會造成嚴(yán)重的后果。SQL Server數(shù)據(jù)庫就是這樣一種在數(shù)據(jù)管理中應(yīng)用十分廣泛并且安全性較高的一項數(shù)據(jù)庫技術(shù),本文將在分析數(shù)據(jù)庫 SQL Server 安全性的基礎(chǔ)上對數(shù)據(jù)庫 SQLServer 的安全機(jī)制進(jìn)行分析介紹。
1 修改SQL SERVER數(shù)據(jù)庫的端口
如果需要遠(yuǎn)程訪問SQL SERVER數(shù)據(jù)庫,數(shù)據(jù)庫的端口肯定是開放的。默認(rèn)SQL Server數(shù)據(jù)庫端口1433,對數(shù)據(jù)庫的攻擊主要就是對1433端口利用相關(guān)工具進(jìn)行掃描。因此可修改SQL Server 端口,來防止入侵者的掃描。雖然解決不了根本問題,但能起到一定的防護(hù)作用。具體改變端口的步驟:
(1)打開“開始”—選擇“程序”—選擇“Microsoft SQL Server”—SQL Server 配置管理器,選擇“SQL Server 網(wǎng)絡(luò)配置”--“MSSQLSERVER 的協(xié)議”,雙擊 TCP/IP。
(2)在“TCP/IP 屬性”中選擇“IP 地址”選項卡,依次修改每一個IPN的TCP端口,這個端口是一個65535以下的數(shù)字。最后“確定”。
(3)重啟SQL Server服務(wù),端口就修改好了。但在需要遠(yuǎn)程連接SQL Server數(shù)據(jù)庫時,需對IP地址加上修改之后的端口。
2 加強(qiáng)數(shù)據(jù)庫登錄人員的身份驗證
SQL Server數(shù)據(jù)庫的身份驗證有Windows身份驗證和混合驗證兩種模式。為了加強(qiáng)數(shù)據(jù)庫的安全,建議盡可能使用 Windows 身份驗證,Windows 身份驗證使用一系列加密消息來驗證SQL SERVER中的用戶。另外使用Windows 身份驗證可以方便管理員的管理,因為如果修改了Windows的任何用戶或組,在SQL Server中就會自動生效,無需要單獨管理。但是,如果這時正好連接了SQL Server,需要直到下次用戶連接SQL Server才能生效。
SQL Server身份驗證需要提供用戶名和密碼,他們都需要有SQL SERVER創(chuàng)建并存儲。但是用戶名sa是不能更改和刪除的,所以使用SQL SERVER身份驗證,一定要為該賬戶設(shè)置一個強(qiáng)密碼。當(dāng)然可以在用戶登錄時利用強(qiáng)制密碼過期、強(qiáng)制密碼策略、用戶在下次登錄時必須更改密碼等手段來保護(hù)密碼,但這對于管理員來講是一件十分困難的事情。
3 加強(qiáng)對SQL Server數(shù)據(jù)庫的訪問控制
數(shù)據(jù)庫用戶登錄進(jìn)入數(shù)據(jù)庫系統(tǒng)以后,應(yīng)該按照自己的權(quán)限來訪問和處理數(shù)據(jù)庫中的數(shù)據(jù)。SQL Server數(shù)據(jù)庫系統(tǒng)中的角色管理和權(quán)限管理就很好的解決了這個問題。數(shù)據(jù)庫角色就是指定了一組數(shù)據(jù)庫用戶,這些用戶可以訪問相同數(shù)據(jù)庫對象并對其進(jìn)行操作。這樣,如果允許多個用戶在一個數(shù)據(jù)庫中執(zhí)行相同的操作時(這里沒有相應(yīng)的Windows用戶組),則可以向這個數(shù)據(jù)庫中添加一個角色(role)。在數(shù)據(jù)庫中,固定的數(shù)據(jù)庫角色其擁有的權(quán)限也是特定的。這樣對于某個數(shù)據(jù)庫來說,這一角色中的成員的所擁有的權(quán)限也是有限的??梢杂孟到y(tǒng)過程sp_dbfixedrolepermission來查看固定數(shù)據(jù)庫角色的所擁有的特定權(quán)限。
不同的安全對象所擁有的常用權(quán)限是不同的。例如數(shù)據(jù)庫擁有CREATE DATABASE、CREATE DEFAULT、CREATE FUNCTION、CREATE PROCEDURE、CREATE VIEW、CREATE TABLE、CREATE RULE、BACKUP DATABASE、BACKUP LOG等權(quán)限。表和視圖等擁有SELECT、DELETE、INSERT、UPDATE、REFERENCES等權(quán)限。而存儲過程只有等權(quán)限。這樣可以通過建立不同的對象來加強(qiáng)對數(shù)據(jù)的安全保護(hù)。另外,權(quán)限有三種狀態(tài):授予、拒絕、撤銷??梢允褂谜Z句來修改權(quán)限的狀態(tài)。因此,通過系統(tǒng)的角色管理和權(quán)限管理來進(jìn)一步加強(qiáng)數(shù)據(jù)庫數(shù)據(jù)的安全性。
4 數(shù)據(jù)庫的備份與恢復(fù)
備份數(shù)據(jù)庫可以說是防止數(shù)據(jù)庫系統(tǒng)發(fā)生故障的一種很好的保護(hù)措施。備份數(shù)據(jù)是一種既簡單又高效的恢復(fù)數(shù)據(jù)的一種方式。SQL Server 2008提供了四種備份方式:完整備份、差異備份、事務(wù)日志備份、文件和文件組備份。 SQL Server 2008數(shù)據(jù)庫恢復(fù)模式分為三種:完整恢復(fù)模式、大容量日志恢復(fù)模式、簡單恢復(fù)模式。在了解了數(shù)據(jù)庫的恢復(fù)和備份方式以后,就可以根據(jù)自己數(shù)據(jù)庫的實際情況進(jìn)行備份和恢復(fù)了。當(dāng)然,在備份數(shù)據(jù)庫的時候,一定要合理,可以從以下幾方面來進(jìn)行考慮,數(shù)據(jù)的安全,備份文件的大小,做備份和還原能承受的時間范圍等。
總之,SQL SERVER數(shù)據(jù)庫系統(tǒng)本身具有較強(qiáng)的可靠性,安全性和穩(wěn)定性,使其深得很多用戶的青睞。但從安全角度而言,它也并不是無懈可擊。因此,進(jìn)一步加強(qiáng)數(shù)據(jù)庫的安全,防止信息的泄露和損壞也是至觀重要的。
參考文獻(xiàn)
[1]雷燕瑞,陳冠星.基于 SQL Server 的數(shù)據(jù)庫安全策略研究[J].鎮(zhèn)江高專學(xué)報,2017,30(02):81-82.
[2]王桃群.提高SQL Server數(shù)據(jù)庫安全性的幾點思考[J].電腦知識與技術(shù),2017,13(02):1,7.
作者單位
華北理工學(xué)院信息工程學(xué)院/唐山學(xué)院 河北省唐山市 063000endprint