SQL資料庫伺服器的安全策略 保護資料安全

2021-05-10 10:40:30 字數 3070 閱讀 2203

sql server 2000的安全配置在進行sql server 2000資料庫的安全配置之前,首先必須對作業系統進行安全配置,保證作業系統處於安全狀態。然後對要使用的運算元據庫軟體(程式)進行必要的安全審核,比如對asp、php等指令碼,這是很多基於資料庫的web應用常出現的安全隱患,對於指令碼主要是乙個過濾問題,需要過濾一些類似「,; @ /」等字元,防止破壞者構造惡意的sql語句。接著,安裝sql server2000後請打上最新sql補丁sp3。

sql server的安全配置

1.使用安全的密碼策略

我們把密碼策略擺在所有安全配置的第一步,請注意,很多資料庫賬號的密碼過於簡單,這跟系統密碼過於簡單是乙個道理。對於sa更應該注意,同時不要讓sa賬號的密碼寫於應用程式或者指令碼中。健壯的密碼是安全的第一步,建議密碼含有多種數字字母組合並9位以上。sql server2000安裝的時候,如果是使用混合模式,那麼就需要輸入sa的密碼,除非您確認必須使用空密碼,這比以前的版本有所改進。同時養成定期修改密碼的好習慣,資料庫管理員應該定期檢視是否有不符合密碼要求的賬號。

2.使用安全的賬號策略

由於sql server不能更改sa使用者名稱,也不能刪除這個超級使用者,所以,我們必須對這個賬號進行最強的保護,當然,包括使用乙個非常強壯的密碼,最好不要在資料庫應用中使用sa賬號,只有當沒有其他方法登入到 sql server 例項(例如,當其他系統管理員不可用或忘記了密碼)時才使用 sa。建議資料庫管理員新建立個擁有與sa一樣許可權的超級使用者來管理資料庫。安全的賬號策略還包括不要讓管理員許可權的賬號氾濫。

sql server的認證模式有windows身份認證和混合身份認證兩種。如果資料庫管理員不希望作業系統管理員來通過作業系統登入來接觸資料庫的話,可以在賬號管理中把系統賬號「builtinadministrators」刪除。不過這樣做的結果是一旦sa賬號忘記密碼的話,就沒有辦法來恢復了。很多主機使用資料庫應用只是用來做查詢、修改等簡單功能的,請根據實際需要分配賬號,並賦予僅僅能夠滿足應用要求和需要的許可權。比如,只要查詢功能的,那麼就使用乙個簡單的public賬號能夠select就可以了。

3.加強資料庫日誌的記錄

審核資料庫登入事件的「失敗和成功」,在例項屬性中選擇「安全性」,將其中的審核級別選定為全部,這樣在資料庫系統和作業系統日誌裡面,就詳細記錄了所有賬號的登入事件。請定期檢視sql server日誌檢查是否有可疑的登入事件發生,或者使用dos命令。

4.管理擴充套件儲存過程

對儲存過程進行大手術,並且對賬號呼叫擴充套件儲存過程的許可權要慎重。其實在多數應用中根本用不到多少系統的儲存過程,而sql server的這麼多系統儲存過程只是用來適應廣大使用者需求的,所以請刪除不必要的儲存過程,因為有些系統的儲存過程能很容易地被人利用起來提公升許可權或進行破壞。如果您不需要擴充套件儲存過程xp_cmdshell請把它去掉。使用這個sql語句:

use master

sp_dropextendedproc 'xp_cmdshell'

xp_cmdshell是進入作業系統的最佳捷徑,是資料庫留給作業系統的乙個大後門。如果您需要這個儲存過程,請用這個語句也可以恢復過來。

sp_addextendedproc 'xp_cmdshell', 'xpsql70.dll'

如果您不需要請丟棄ole自動儲存過程(會造成管理器中的某些特徵不能使用)。

這些過程如下:

sp_oacreate sp_oadestroy sp_oageterrorinfo sp_oagetproperty

sp_oamethod sp_oasetproperty sp_oastop

去掉不需要的登錄檔訪問的儲存過程,登錄檔儲存過程甚至能夠讀出作業系統管理員的密碼來,命令如下:

xp_regaddmultistring xp_regdeletekey xp_regdeletevalue

xp_regenumvalues xp_regread xp_regremovemultistring

xp_regwrite

還有一些其他的擴充套件儲存過程,也最好檢查檢查。在處理儲存過程的時候,請確認一下,避免造成對資料庫或應用程式的傷害。

5.使用協議加密

sql server 2000使用的tabular data stream協議來進行網路資料交換,如果不加密的話,所有的網路傳輸都是明文的,包括密碼、資料庫內容等,這是乙個很大的安全威脅。能被人在網路中截獲到他們需要的東西,包括資料庫賬號和密碼。所以,在條件容許情況下,最好使用ssl來加密協議,當然,您需要乙個證書來支援。

6.不要讓人隨便探測到您的tcp/ip埠

預設情況下,sql server使用1433埠監聽,很多人都說sql server配置的時候要把這個埠改變,這樣別人就不會輕易地知道使用的什麼埠了。可惜,通過微軟未公開的1434埠的udp探測可以很容易知道sql server使用的什麼tcp/ip埠。不過微軟還是考慮到了這個問題,畢竟公開而且開放的埠會引起不必要的麻煩。在例項屬性中選擇tcp/ip協議的屬性。選擇隱藏 sql server例項。如果隱藏了sql server例項,則將禁止對試圖列舉網路上現有的 sql server例項的客戶端所發出的廣播作出響應。這樣,別人就不能用1434來探測您的tcp/ip埠了(除非用port scan)。

7.修改tcp/ip使用的埠

請在上一步配置的基礎上,更改原預設的1433埠。在例項屬性中選擇網路配置中的tcp/ip協議的屬性,將tcp/ip使用的預設埠變為其他埠.

8.拒絕來自1434埠的探測

由於1434埠探測沒有限制,能夠被別人探測到一些資料庫資訊,而且還可能遭到dos攻擊讓資料庫伺服器的cpu負荷增大,所以對windows 2000作業系統來說,在ipsec過濾拒絕掉1434埠的udp通訊,可以盡可能地隱藏您的sql server。

9.對網路連線進行ip限制

sql server 2000資料庫系統本身沒有提供網路連線的安全解決辦法,但是windows 2000提供了這樣的安全機制。使用作業系統自己的ipsec可以實現ip資料報的安全性。請對ip連線進行限制,只保證自己的ip能夠訪問,也拒絕其他ip進行的埠連線,對來自網路上的安全威脅進行有效的控制。

上面主要介紹的一些sql server的安全配置,經過以上的配置,可以讓sql server本身具備足夠的安全防範能力。當然,更主要的還是要加強內部的安全控制和管理員的安全培訓,而且安全性問題是乙個長期的解決過程,還需要以後進行更多的安全維護。

伺服器安全策略 IP安全策略設定方法

協議ip協議埠 源位址目標位址 描程式設計客棧述 方式icmp icmp 阻止udp 135任何ip位址 我的ip位址 135 udp 阻止udp 136任何ip位址 我的ip位址 136 udp 阻止udp 137任何ip位址 我的ip位址 137 udp 阻止udp 138任何ip位址 我的ip...

Linux伺服器安全策略實戰

阿里雲大學 linux伺服器安全策略實戰 安全是it行業乙個老生常談的話題了,從近幾年層出不窮的安全事件中折射出了很多安全問題,處理好資訊保安問題已變得刻不容緩。因此做為運維人員,就必須了解一些安全運維準則,同時,要保護自己所負責的業務。本課程主要講解linux伺服器的安全策略。課時列表 課時1 l...

Oracle 資料庫的安全策略

oracle 資料庫的安全策略 一 oracle 是關係型資料庫管理系統,它功能強大 效能卓越,在當今大型資料庫管理系統中占有重要地位。在我們開發的一 mis 系統中,選用了 oracle7.3 資料庫。在正常情況下,oracle 資料庫會保證資料的安全 穩定,為使用者提供正確的資料,但由於計算機系...