国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 數(shù)據(jù)庫(kù) > SQL Server > 正文

SQL Server:安全設(shè)計(jì)從頭起

2024-08-31 00:49:36
字體:
供稿:網(wǎng)友

開發(fā)人員和管理人員通常不斷地考慮程序安全問題的策略──添加安全措施不再是一個(gè)可以完全接收的方法。程序的安全問題必須從設(shè)計(jì)的開始就得考慮,并貫穿開發(fā)的整個(gè)過程。以后如果要開發(fā)一個(gè)sql server的數(shù)據(jù)庫(kù),你一定要從開始就遵循這些安全設(shè)計(jì)規(guī)則。


最基本的要點(diǎn)
如果你不能理解sql server security基本的概念,就馬上先停止開發(fā)并先閱讀這些開發(fā)準(zhǔn)則,你不可能在不知道這些概念的基礎(chǔ)上就能夠正確地使一個(gè)數(shù)據(jù)庫(kù)安全化。程序的安全正如一輛卡車一樣。你具有一個(gè)發(fā)動(dòng)機(jī),一把鑰匙,當(dāng)鑰匙打開發(fā)動(dòng)機(jī)即發(fā)動(dòng)機(jī)啟動(dòng)之后,就有可能發(fā)生的全部過程。如果你忽略了某些細(xì)節(jié),駕駛過程中就會(huì)發(fā)生很多麻煩。在問題產(chǎn)生之后,你可以將卡車交給一個(gè)修理工,然而對(duì)于程序的安全問題,你自己將是數(shù)據(jù)庫(kù)的修理工。


開始,你必須選擇以下兩種安全模式:
l windows 認(rèn)證模式:用戶通過一個(gè)現(xiàn)成的windows用戶帳號(hào)來連接服務(wù)器。當(dāng)一個(gè)用戶試圖與一個(gè)服務(wù)器連接的時(shí)候,sql server將會(huì)認(rèn)證用戶的windows帳號(hào)的名稱和密碼。用戶不能同時(shí)進(jìn)入網(wǎng)絡(luò)和sql server,只能進(jìn)入其中的一個(gè)。這一方法也被稱為一個(gè)被依賴的連接。

l 混合模式:這一模式將windows認(rèn)證模式和sql server認(rèn)證聯(lián)接在一起。用戶可以通過一個(gè)windows用戶帳號(hào)進(jìn)行連接,這正如windows認(rèn)證一樣。但是,你也可以在sql server中直接建立用戶帳號(hào)。每一個(gè)sql server帳號(hào)都存儲(chǔ)了一個(gè)用戶名和密碼。

我們建議在可能的情況下都使用windows認(rèn)證模式。然而,混合模式很可以使用,特別是在sql server 7.0(或更早版本)都可以使用。.對(duì)于早期的sql server版本,sql server認(rèn)證存在一些缺點(diǎn)。windows認(rèn)證已經(jīng)集成了操作系統(tǒng)的安全系統(tǒng),這就提供了比sql server認(rèn)證更多的安全特性,很容易的使用,效率更加高,安全性更加好。在設(shè)計(jì)開始的時(shí)候,你應(yīng)該認(rèn)真考慮選擇哪一種模式最為合適。


密碼
無(wú)論采用哪一些模式,你應(yīng)該記住在sql server中為系統(tǒng)管理者(sa)設(shè)置一個(gè)密碼。當(dāng)安裝sql server時(shí),安裝程序會(huì)自動(dòng)建立一個(gè)帶有sql server注冊(cè)名稱(sa)和一個(gè)空白密碼的管理用戶。如果你保持這些用戶設(shè)置原樣而使用混合安全模式,任何具備一點(diǎn)sql server基礎(chǔ)知識(shí)的用戶都可以很容易地進(jìn)入到你的數(shù)據(jù)庫(kù)中并做任何他想要做的事情。如果你使用的是windows認(rèn)證模式,在理論上你無(wú)需為sa用戶設(shè)置一個(gè)密碼,因?yàn)閟ql server注冊(cè)不會(huì)接受這些的設(shè)置。但是設(shè)置是一個(gè)很良好的操作,尤其是當(dāng)你被迫轉(zhuǎn)移到將來使用的混合模式的時(shí)候。

如果安全模式已經(jīng)啟動(dòng),注冊(cè)將成為關(guān)鍵。你必須使用正確的方法來啟動(dòng)程序,注冊(cè)也是同樣的,如果你不能正確地輸入用戶名和密碼,程序?qū)⒉荒苓B接到網(wǎng)絡(luò),同時(shí)也不能連接到sql server。

作為一個(gè)管理者,一旦你已經(jīng)啟動(dòng)了程序,你就做好安全管理的準(zhǔn)備。可以通過定義以下的特性而實(shí)現(xiàn):

l 用戶(帳號(hào)):一個(gè)sql serve安全帳號(hào)代表著一個(gè)唯一的用戶。一個(gè)用戶也只有一個(gè)windows帳號(hào)或者一個(gè)sql server注冊(cè),這與數(shù)據(jù)庫(kù)中的用戶帳號(hào)相統(tǒng)一。

l 組(帳號(hào)):每一個(gè)用戶都屬于一個(gè)或多個(gè)組,這由認(rèn)證模式?jīng)Q定。每一個(gè)組都具有特定許可。作為一個(gè)組的成員,你將獲得所有組的許可。

l 對(duì)象所有權(quán):所有權(quán)屬于建立對(duì)象的用戶。所有者可以將訪問權(quán)限分配給用戶。如果你是一個(gè)視的所有者,你還可以決定哪些用戶可以通過視來查看數(shù)據(jù)。

l 許可:一個(gè)許可代表著具有執(zhí)行某些操作的權(quán)利,比如打開一個(gè)視或者更改一個(gè)存儲(chǔ)程序。sql server承認(rèn)許可的三種狀態(tài):grant給你一個(gè)用戶訪問;revoke刪除訪問;deny防止用戶訪問對(duì)象。

l 任務(wù):這是一個(gè)sql server安全帳號(hào),可以將帳號(hào)的集合作為一個(gè)簡(jiǎn)單的單元來處理。任務(wù)定義在特定數(shù)據(jù)庫(kù)中用戶可以做哪些和哪些不可以做。


從安全的角度而考慮
 
設(shè)計(jì)過程應(yīng)該用效地定義哪些地方需要進(jìn)行安全設(shè)置和如何設(shè)置。在這一過程之前你應(yīng)該從兩個(gè)方面考慮:

l 敏感數(shù)據(jù);

l 可以查看敏感數(shù)據(jù)的人。

敏感數(shù)據(jù)包括所有可能的數(shù)據(jù),包括整個(gè)數(shù)據(jù)庫(kù)中的所有數(shù)據(jù),雖然這樣的安全級(jí)別很少存在。你的工作就是定義為敏感數(shù)據(jù)并進(jìn)行保護(hù)。

你選擇的認(rèn)證模式和建立的注冊(cè)將通過限制哪些用戶可以進(jìn)入到數(shù)據(jù)庫(kù)而實(shí)施第一步安全步驟。

第二步就要列舉可以訪問數(shù)據(jù)庫(kù)的所有用戶,然后決定所有數(shù)據(jù)是否對(duì)所有的用戶都適用。通常,你需要對(duì)一些數(shù)據(jù)進(jìn)行保護(hù),比如工資或者其他私人數(shù)據(jù)。這就意味著只有特定的用戶可以訪問和查看數(shù)據(jù)。你還可以設(shè)置哪些用戶更改數(shù)據(jù)。

始終記住的一條規(guī)則是“最小權(quán)利”概念。如果有人在他的工作中不需要訪問數(shù)據(jù),那即不要給他訪問的權(quán)限。應(yīng)該避免所有的用戶都具有sa用戶的訪問權(quán)限。


具體的建議
當(dāng)進(jìn)行安全設(shè)置的時(shí)候,經(jīng)驗(yàn)也是一個(gè)很好的老師,但通常也會(huì)有適用于通用數(shù)據(jù)庫(kù)的設(shè)計(jì)準(zhǔn)則:

l 從開始就獲得數(shù)據(jù)庫(kù)和對(duì)象的所有權(quán)。當(dāng)建立一個(gè)新的數(shù)據(jù)庫(kù)時(shí),你將會(huì)成為數(shù)據(jù)庫(kù)的所有者,并能夠設(shè)置數(shù)據(jù)庫(kù)中所有發(fā)生一切。你可以以管理者的身份注冊(cè)數(shù)據(jù)庫(kù)。然而,對(duì)象的所有權(quán)屬于建立對(duì)象的用戶。雖然這可能造成所有權(quán)的轉(zhuǎn)移,但可以確定這些的注冊(cè)能夠被用于建立所有的對(duì)象。

l 理解所有權(quán)鏈。這一安全特性防止用戶建立自己的視而偷看一些敏感數(shù)據(jù)。例如,假設(shè)你建立一個(gè)從兩個(gè)表中集中的數(shù)據(jù)的視,如果你是這兩個(gè)表的所有者,當(dāng)你允許其他用戶使用視的許可時(shí),sql server不會(huì)檢查表的有關(guān)許可。

l 使用視和存儲(chǔ)程序以分配給用戶訪問數(shù)據(jù)的權(quán)利,而不是讓用戶編寫一些直接訪問表格的特別查詢語(yǔ)句。通過這種方式,你無(wú)需在表格中將訪問權(quán)利分配給用戶。視和存儲(chǔ)程序也可以限制查看的數(shù)據(jù)。例如,如果你的雇員表格包含一些秘密的工資信息,你可以建立一個(gè)省略了工資欄的視。

l 如果用戶從特定程序中進(jìn)入你的程序,你可以建立程序任務(wù)。一個(gè)程序任務(wù)就是分配到特定程序的用戶,并給予用戶的有關(guān)許可。使用程序任務(wù),用戶不能直接地認(rèn)證數(shù)據(jù)庫(kù),相反,他們先認(rèn)證他們自己的程序,這就決定哪些程序任務(wù)與服務(wù)器相連接。

l 時(shí)刻注意程序補(bǔ)丁。不可否認(rèn)的,程序補(bǔ)丁是一些訣竅的集合。程序的發(fā)布,更新等都會(huì)引入新的問題,使用程序補(bǔ)丁是防止外界干擾和保護(hù)數(shù)據(jù)的最好和最容易的方法。可以訪問微軟主頁(yè)上的sql service pack下載頁(yè),查看當(dāng)前最新的程序補(bǔ)丁。


結(jié)論
程序安全機(jī)制是每一個(gè)開發(fā)人員都必須面臨的問題。不要等到數(shù)據(jù)庫(kù)開發(fā)過程中和使用中才考慮到安全問題──安全是設(shè)計(jì)過程中的重要組成部分。除此之外,不要隨意地應(yīng)用安全設(shè)置而希望達(dá)到最佳的效果,應(yīng)該學(xué)會(huì)選擇安全模式并正確地應(yīng)用。


發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 喀喇沁旗| 黄梅县| 永丰县| 古浪县| 刚察县| 凤翔县| 友谊县| 阳春市| 泰顺县| 廉江市| 马龙县| 石林| 达日县| 万山特区| 仙桃市| 博野县| 文登市| 新建县| 尚志市| 吉木萨尔县| 同仁县| 遂昌县| 三门峡市| 商洛市| 巴里| 红安县| 延安市| 乃东县| 黄平县| 陈巴尔虎旗| 惠水县| 渑池县| 霞浦县| 津南区| 浑源县| 玉屏| 固始县| 澳门| 鹤峰县| 昌邑市| 抚松县|