時間:2015-06-28 00:00:00 來源:IT貓撲網(wǎng) 作者:網(wǎng)管聯(lián)盟 我要評論(0)
SQL Server 2000的安全配置在進(jìn)行SQL Server 2000數(shù)據(jù)庫的安全配置之前,首先必須對操作系統(tǒng)進(jìn)行安全配置,保證操作系統(tǒng)處于安全狀態(tài)。然后對要使用的操作數(shù)據(jù)庫軟件(程序)進(jìn)行必要的安全審核,比如對ASP、PHP等腳本,這是很多基于數(shù)據(jù)庫的Web應(yīng)用常出現(xiàn)的安全隱患,對于腳本主要是一個過濾問題,需要過濾一些類似",; @ /"等字符,防止破壞者構(gòu)造惡意的SQL語句。接著,安裝SQL Server2000后請打上最新SQL補(bǔ)丁SP3。
??? SQL Server的安全配置
??? 1.使用安全的密碼策略
??? 我們把密碼策略擺在所有安全配置的第一步,請注意,很多數(shù)據(jù)庫賬號的密碼過于簡單,這跟系統(tǒng)密碼過于簡單是一個道理。對于sa更應(yīng)該注意,同時不要讓sa賬號的密碼寫于應(yīng)用程序或者腳本中。健壯的密碼是安全的第一步,建議密碼含有多種數(shù)字字母組合并9位以上。SQL Server2000安裝的時候,如果是使用混合模式,那么就需要輸入sa的密碼,除非您確認(rèn)必須使用空密碼,這比以前的版本有所改進(jìn)。同時養(yǎng)成定期修改密碼的好習(xí)慣,數(shù)據(jù)庫管理員應(yīng)該定期查看是否有不符合密碼要求的賬號。
??? 2.使用安全的賬號策略
??? 由于SQL Server不能更改sa用戶名稱,也不能刪除這個超級用戶,所以,我們必須對這個賬號進(jìn)行最強(qiáng)的保護(hù),當(dāng)然,包括使用一個非常強(qiáng)壯的密碼,最好不要在數(shù)據(jù)庫應(yīng)用中使用sa賬號,只有當(dāng)沒有其他方法登錄到 SQL Server 實(shí)例(例如,當(dāng)其他系統(tǒng)管理員不可用或忘記了密碼)時才使用 sa。建議數(shù)據(jù)庫管理員新建立個擁有與sa一樣權(quán)限的超級用戶來管理數(shù)據(jù)庫。安全的賬號策略還包括不要讓管理員權(quán)限的賬號泛濫。
??? SQL Server的認(rèn)證模式有Windows身份認(rèn)證和混合身份認(rèn)證兩種。如果數(shù)據(jù)庫管理員不希望操作系統(tǒng)管理員來通過操作系統(tǒng)登錄來接觸數(shù)據(jù)庫的話,可以在賬號管理中把系統(tǒng)賬號"BUILTIN\Administrators"刪除。不過這樣做的結(jié)果是一旦sa賬號忘記密碼的話,就沒有辦法來恢復(fù)了。很多主機(jī)使用數(shù)據(jù)庫應(yīng)用只是用來做查詢、修改等簡單功能的,請根據(jù)實(shí)際需要分配賬號,并賦予僅僅能夠滿足應(yīng)用要求和需要的權(quán)限。比如,只要查詢功能的,那么就使用一個簡單的public賬號能夠select就可以了。
??? 3.加強(qiáng)數(shù)據(jù)庫日志的記錄
??? 審核數(shù)據(jù)庫登錄事件的"失敗和成功",在實(shí)例屬性中選擇"安全性",將其中的審核級別選定為全部,這樣在數(shù)據(jù)庫系統(tǒng)和操作系統(tǒng)日志里面,就詳細(xì)記錄了所有賬號的登錄事件。請定期查看SQL Server日志檢查是否有可疑的登錄事件發(fā)生,或者使用DOS命令。
??? 4.管理擴(kuò)展存儲過程
??? 對存儲過程進(jìn)行大手術(shù),并且對賬號調(diào)用擴(kuò)展存儲過程的權(quán)限要慎重。其實(shí)在多數(shù)應(yīng)用中根本用不到多少系統(tǒng)的存儲過程,而SQL Server的這么多系統(tǒng)存儲過程只是用來適應(yīng)廣大用戶需求的,所以請刪除不必要的存儲過程,因?yàn)橛行┫到y(tǒng)的存儲過程能很容易地被人利用起來提升權(quán)限或進(jìn)行破壞。如果您不需要擴(kuò)展存儲過程Xp_cmdshell請把它去掉。使用這個SQL語句:
??? use master
??? sp_dropextendedproc 'Xp_cmdshell'
??? Xp_cmdshell是進(jìn)入操作系統(tǒng)的最佳捷徑,是數(shù)據(jù)庫留給操作系統(tǒng)的一個大后門。如果您需要這個存儲過程,請用這個語句也可以恢復(fù)過來。
??? sp_addextendedproc 'xp_cmdshell', 'xpSQL70.dll'
??? 如果您不需要請丟棄OLE自動存儲過程(會造成管理器中的某些特征不能使用)。
??? 這些過程如下: Sp_OACreate Sp_OADestroy Sp_OAGetErrorInfo Sp_OAGetProperty
?Sp_OAMethod Sp_OASetProperty Sp_OAStop
??? 去掉不需要的注冊表訪問的存儲過程,注冊表存儲過程甚至能夠讀出操作系統(tǒng)管理員的密碼來,命令如下:
??? Xp_regaddmultistring Xp_regdeletekey Xp_regdeletevalue
??? Xp_regenumvalues Xp_regread Xp_regremovemultistring
??? Xp_regwrite
??? 還有一些其他的擴(kuò)展存儲過程,也最好檢查檢查。在處理存儲過程的時候,請確認(rèn)一下,避免造成對數(shù)據(jù)庫或應(yīng)用程序的傷害。
??? 5.使用協(xié)議加密
??? SQL Server 2000使用的Tabular Data Stream協(xié)議來進(jìn)行網(wǎng)絡(luò)數(shù)據(jù)交換,如果不加密的話,所有的網(wǎng)絡(luò)傳輸都是明文的,包括密碼、數(shù)據(jù)庫內(nèi)容等,這是一個很大的安全威脅。能被人在網(wǎng)絡(luò)中截獲到他們需要的東西,包括數(shù)據(jù)庫賬號和密碼。所以,在條件容許情況下,最好使用SSL來加密協(xié)議,當(dāng)然,您需要一個證書來支持。
??? 6.不要讓人隨便探測到您的TCP/IP端口
??? 默認(rèn)情況下,SQL Server使用1433端口監(jiān)聽,很多人都說SQL Server配置的時候要把這個端口改變,這樣別人就不會輕易地知道使用的什么端口了??上Вㄟ^微軟未公開的1434端口的UDP探測可以很容易知道SQL Server使用的什么TCP/IP端口。不過微軟還是考慮到了這個問題,畢竟公開而且開放的端口會引起不必要的麻煩。在實(shí)例屬性中選擇TCP/IP協(xié)議的屬性。選擇隱藏 SQL Server實(shí)例。如果隱藏了SQL Server實(shí)例,則將禁止對試圖枚舉網(wǎng)絡(luò)上現(xiàn)有的 SQL Server實(shí)例的客戶端所發(fā)出的廣播作出響應(yīng)。這樣,別人就不能用1434來探測您的TCP/IP端口了(除非用Port Scan)。
??? 7.修改TCP/IP使用的端口
??? 請在上一步配置的基礎(chǔ)上,更改原默認(rèn)的1433端口。在實(shí)例屬性中選擇網(wǎng)絡(luò)配置中的TCP/IP協(xié)議的屬性,將TCP/IP使用的默認(rèn)端口變?yōu)槠渌丝凇?/p>
??? 8.拒絕來自1434端口的探測
??? 由于1434端口探測沒有限制,能夠被別人探測到一些數(shù)據(jù)庫信息,而且還可能遭到DoS攻擊讓數(shù)據(jù)庫服務(wù)器的CPU負(fù)荷增大,所以對Windows 2000操作系統(tǒng)來說,在IPSec過濾拒絕掉1434端口的UDP通信,可以盡可能地隱藏您的SQL Server。
??? 9.對網(wǎng)絡(luò)連接進(jìn)行IP限制
??? SQL Server 2000數(shù)據(jù)庫系統(tǒng)本身沒有提供網(wǎng)絡(luò)連接的安全解決辦法,但是Windows 2000提供了這樣的安全機(jī)制。使用操作系統(tǒng)自己的IPSec可以實(shí)現(xiàn)IP數(shù)據(jù)包的安全性。請對IP連接進(jìn)行限制,只保證自己的IP能夠訪問,也拒絕其他IP進(jìn)行的端口連接,對來自網(wǎng)絡(luò)上的安全威脅進(jìn)行有效的控制。
??? 上面主要介紹的一些SQL Server的安全配置,經(jīng)過以上的配置,可以讓SQL Server本身具備足夠的安全防范能力。當(dāng)然,更主要的還是要加強(qiáng)內(nèi)部的安全控制和管理員的安全培訓(xùn),而且安全性問題是一個長期的解決過程,還需要以后進(jìn)行更多的安全維護(hù)。
關(guān)鍵詞標(biāo)簽:數(shù)據(jù)安全,SQL數(shù)據(jù)庫服
相關(guān)閱讀
熱門文章 淺談JSP JDBC來連接SQL Server 2005的方法 SqlServer2005對現(xiàn)有數(shù)據(jù)進(jìn)行分區(qū)具體步驟 sql server系統(tǒng)表損壞的解決方法 MS-SQL2005服務(wù)器登錄名、角色、數(shù)據(jù)庫用戶、角色、架構(gòu)的關(guān)系
人氣排行 配置和注冊O(shè)DBC數(shù)據(jù)源-odbc數(shù)據(jù)源配置教程 如何遠(yuǎn)程備份(還原)SQL2000數(shù)據(jù)庫 SQL2000數(shù)據(jù)庫遠(yuǎn)程導(dǎo)入(導(dǎo)出)數(shù)據(jù) SQL2000和SQL2005數(shù)據(jù)庫服務(wù)端口查看或修改 修改Sql Server唯一約束教程 SQL Server 2005降級到2000的正確操作步驟 sql server系統(tǒng)表損壞的解決方法 淺談JSP JDBC來連接SQL Server 2005的方法