設(shè)置安全性過(guò)程
通用的軟件維護(hù)和數(shù)據(jù)庫(kù)更新都會(huì)對(duì)系統(tǒng)安全起著重要作用,通常包括以下步驟:
分配一個(gè)可靠的密碼給缺省的系統(tǒng)管理(SA)帳號(hào)。然后,建立自己唯一命名的帳號(hào),并將這一帳號(hào)放入sysadmin。一定要確認(rèn)新帳號(hào)也有一個(gè)可靠的密碼。
將獨(dú)立的密碼分配給每一個(gè)用戶。更好的,使用Windows集成安全性,并讓W(xué)indows遵循穩(wěn)定密碼規(guī)則。
決定哪些用戶需要查看數(shù)據(jù),然后分配合適的許可。請(qǐng)不要隨便賦予用戶各種權(quán)限。例如不要把每一個(gè)人的工資隨便讓其他人訪問(wèn)。
決定哪些用戶需要更新數(shù)據(jù),然后分配合適的許可。帳號(hào)管理人員應(yīng)該可以查看所有用戶的信息,但程序員一定要限制更新這些信息的權(quán)限。特別的,只有負(fù)責(zé)特定帳號(hào)的管理者是唯一可以更改用戶數(shù)據(jù)的人。
通過(guò)這些系列信息你可以學(xué)會(huì)很多知識(shí),但你應(yīng)該從開(kāi)始就具備這些觀點(diǎn)。否則,數(shù)據(jù)庫(kù)的任何用戶就可以偷竊或刪除你的重要數(shù)據(jù)。
什么東西最容易發(fā)生錯(cuò)誤?
對(duì)于記錄,應(yīng)該知道SQL Server并非絕對(duì)安全的。你應(yīng)該提出一些想法并努力有效地保護(hù)你的服務(wù)器。在安裝服務(wù)器之前有兩點(diǎn)你必須完成的:
設(shè)置管理人員的帳號(hào)和密碼。
保護(hù)系統(tǒng)防止受到Slammer worm的感染。
使一些特殊的東西安全化
SQL Server2000通過(guò)SA帳號(hào)而具有缺省的安全設(shè)置。在安裝過(guò)程中,SQL Server自動(dòng)建立一個(gè)管理的用戶,并分配一個(gè)空白密碼給SA用戶名稱。一些管理人員喜歡將SA密碼設(shè)置為空白或者一個(gè)通用的密碼以便每一個(gè)人都能知道。如果你犯這樣的錯(cuò)誤,進(jìn)入你的數(shù)據(jù)庫(kù)的任何人都可以為所欲為。具備管理者允許的任何人也可以做任何想做的事——不僅僅是數(shù)據(jù)庫(kù),而是整個(gè)計(jì)算機(jī)。所以,必須限制用戶根據(jù)他們的需要進(jìn)行訪問(wèn)數(shù)據(jù)庫(kù),不要給他們權(quán)利太少,也不能太多。
暫且把每一天管理的SA帳號(hào)放在一邊,讓我們看看帶有安全密碼的帳號(hào)。建立另一帳號(hào)以便管理(或者是一個(gè)SQL Server帳號(hào)或者是一個(gè)Windows帳號(hào),取決于你的認(rèn)證模式)。你所要避免的是太容易地猜到帳號(hào)名稱或者帳號(hào)密碼,因?yàn)槿魏稳说玫竭@些帳號(hào)。
一個(gè)引起警戒的壞事—Slammer worm(Slammer蠕蟲(chóng))
2003年1月份出現(xiàn)了一些非常致命的惡意代碼,即為Slammer worm。這一代碼專(zhuān)門(mén)針對(duì)于SQL Server的安裝進(jìn)行攻擊。通過(guò)利用SQL Servera代碼中的缺欠,蠕蟲(chóng)能夠在SQL Server安裝的時(shí)候復(fù)制本身程序而損壞整個(gè)機(jī)器和其他機(jī)器。蠕蟲(chóng)生成時(shí)以15秒可以充滿網(wǎng)絡(luò)。微軟已經(jīng)花了很大力量來(lái)阻止這一蠕蟲(chóng),但是蠕蟲(chóng)還是無(wú)法完全消除。有些人開(kāi)始抱怨SQL Server的測(cè)試版本的原因,因?yàn)槭撬诎惭b時(shí)導(dǎo)致了系統(tǒng)的損壞。
很多月份已經(jīng)過(guò)去了,有必要還要對(duì)蠕蟲(chóng)那么警惕嗎?回答是肯定的。因?yàn)槊恳惶爝€有很多Slammer的復(fù)制而感染機(jī)器。如果一個(gè)沒(méi)有任何補(bǔ)丁的SQL Server連接到網(wǎng)絡(luò),你將會(huì)變成這一行為的犧牲品。從道德上而言,在將SQL Server與網(wǎng)絡(luò)線連接之前,必須保護(hù)你的服務(wù)器,并運(yùn)行所有的新服務(wù)補(bǔ)丁。