ACCESS數(shù)據(jù)庫的安全系統(tǒng)的幾點(diǎn)看法
2024-09-07 19:05:09
供稿:網(wǎng)友
access是MicroSoft公司始于1994年發(fā)表的微機(jī)數(shù)據(jù)庫治理系統(tǒng)。作為一種功能強(qiáng)大的MIS系統(tǒng)開發(fā)工具,它具有界面友好,易學(xué)易用,開發(fā)簡單,接口靈活等特點(diǎn),是一個典型的新一代數(shù)據(jù)治理和信息系統(tǒng)開發(fā)工具。 與Microsoft的其他數(shù)據(jù)庫產(chǎn)品如FOXPRO等相比,Access具有較獨(dú)特的優(yōu)勢-提供了更強(qiáng)大的數(shù)據(jù)組織,用戶治理,安全檢查等功能。在一個工作組級別的網(wǎng)絡(luò)環(huán)境中,使用Access開發(fā)的多用戶數(shù)據(jù)庫治理系統(tǒng)具有傳統(tǒng)的XBASE數(shù)據(jù)庫系統(tǒng)所無法比擬的客戶服務(wù)器(Cient/Server)結(jié)構(gòu)和相應(yīng)的數(shù)據(jù)庫安全機(jī)制。本文擬就Access數(shù)據(jù)庫系統(tǒng)的網(wǎng)絡(luò)應(yīng)用及安全機(jī)制做較深入的探討。
建立Access的安全系統(tǒng)
1.創(chuàng)建Access工作組
一個Access工作組定義為一組用戶,他們共享一個或多個Access應(yīng)用程序,并且在他們的Access副本中附加公共的SYSTEM.MDA庫。由Access的系統(tǒng)治理員(Admin用戶)來給這些用戶授予對數(shù)據(jù)庫系統(tǒng)的相應(yīng)的操作權(quán)限,這樣,不同的用戶就能以不同的權(quán)限訪問相關(guān)的數(shù)據(jù)庫資源,而在XBASE系統(tǒng)中,要實(shí)現(xiàn)這樣的功能需要數(shù)據(jù)庫開發(fā)人員在編程中實(shí)施控制,且不十分完善。
Access提供了一個新的應(yīng)用程序MicrosoftAccessWorkgroupAdministrator,它能自動完成Access工作組的創(chuàng)建工作。對一個工作組而言,Access系統(tǒng)治理員需要用這個程序創(chuàng)建一個新的SYSTEM.MDA(或用其他任意的文件名:*.MDA)庫,并把工作組中的每個用戶的Access指向這個新的SYSTEM.MDA。可以這樣理解,一個系統(tǒng)數(shù)據(jù)庫*.MDA對應(yīng)一個工作組。
2.創(chuàng)建工作組中的Access帳戶
Access帳戶包括Access組與Access用戶。一個Access組由一個或多個Access用戶成員構(gòu)成。在Access的安裝過程中,Access自動默認(rèn)建立了兩個用戶組(Admins與Users)和一個用戶(Admin),這兩個用戶組與ADMIN用戶是不答應(yīng)刪除的。以Admins用戶組中的用戶(如:Admin)登錄(LOGON)進(jìn)入Access后,可以創(chuàng)建新的Access組與用戶,并將新用戶放置到相應(yīng)的組中。
Admins組是Access的治理員組,缺省時只包括Admin用戶,該組中的用戶默認(rèn)對數(shù)據(jù)庫具有全權(quán),并且可以治理其他的用戶和用戶組。Users組是Access的缺省用戶組,每個用戶,包括Admin及新建用戶都屬于該組,缺省時,Users組中的用戶對數(shù)據(jù)庫也具有全權(quán)。
3.設(shè)置Admin用戶的登錄口令
Admin用戶的登錄口令是整個數(shù)據(jù)庫系統(tǒng)的安全入口,為什么這樣說呢?因?yàn)榧偃鐩]有Admin登錄口令,所有用戶的Access副本均以Admin用戶的身份登錄數(shù)據(jù)庫,而不是以Access治理員所創(chuàng)建的用戶名進(jìn)行登錄,只有設(shè)置了Admin的登錄口令,Access才啟動它的安全系統(tǒng),這也就是為什么無法刪除Admin用戶的原因。
4.分配數(shù)據(jù)庫權(quán)限
數(shù)據(jù)庫權(quán)限是針對某個具體的數(shù)據(jù)庫而言的。Access系統(tǒng)治理員(Admins組中的一個用戶)在打開一個需要工作組共享的數(shù)據(jù)庫之后,就可以根據(jù)具體情況對工作組中的Access組與Access用戶進(jìn)行權(quán)限的分配了。不同的Access數(shù)據(jù)庫對象具有不同的權(quán)限集合,Access的數(shù)據(jù)庫對象包括六種,分別是表、查詢、表單、報(bào)表、宏和模塊,必須分別予以授權(quán)。對Access組的授權(quán)適用于該組中的每一個用戶。
在這里需要強(qiáng)調(diào)指出的是:必須首先屏蔽Users組對數(shù)據(jù)庫的所有權(quán)限,前面講過,所有Access用戶都屬于Users組,而Users組缺省是對數(shù)據(jù)庫對象是具有全權(quán)的,所以在做具體數(shù)據(jù)庫的權(quán)限之前,必須首先將它的所有權(quán)限屏蔽掉。我們不理解為什么微軟要給Users組對數(shù)據(jù)庫的全部許可權(quán),從工作實(shí)踐中我們認(rèn)為這是一個錯誤,它毫無意義的增加了Access治理員的工作強(qiáng)度與難度(因?yàn)榻?jīng)常會有忘記屏蔽Users組權(quán)限而使整個安全系統(tǒng)形同虛設(shè)的事情發(fā)生)。我們認(rèn)為Users組對數(shù)據(jù)庫對象應(yīng)缺省為具有最低的權(quán)限,這樣是最有效的和安全的。
至此,整個Access數(shù)據(jù)庫系統(tǒng)的安全機(jī)制已基本建立起來了(工作流程詳見附圖1,2)。但是,這樣的數(shù)據(jù)庫系統(tǒng)就是真正安全的嗎?還不是,因?yàn)锳ccess安全系統(tǒng)本身有一個很大的漏洞,假如不設(shè)法堵住這個漏洞,在某些情況下,Access系統(tǒng)治理員精心建立起來的安全系統(tǒng)將變得毫無意義。下面,我們將具體討論Access安全系統(tǒng)漏洞產(chǎn)生的原因以及相應(yīng)的解決辦法。
消除Access的安全漏洞
1.由Admin用戶引發(fā)的安全漏洞
為什么Access系統(tǒng)存在安全漏洞呢?這要從Admin用戶說起。我們知道,Admin用戶是Access系統(tǒng)的缺省用戶,也就是說,除非你的Access系統(tǒng)在安裝后已經(jīng)重新鏈接到了某個新的工作組安全系統(tǒng)上,你將以默認(rèn)的Admin用戶登錄Access。而微軟將其用于標(biāo)記該Admin帳戶的用戶ID號設(shè)成了一個固定值,這就意味著全世界的Access系統(tǒng)的Admin用戶在Access中都是同一個用戶。這樣,問題就出現(xiàn)了----假如一個未鏈入你的工作組安全系統(tǒng)的用戶在網(wǎng)絡(luò)文件系統(tǒng)級別上可以獲得對你的數(shù)據(jù)庫系統(tǒng)文件的Admin權(quán),他將以Admin用戶的身份擁有對該數(shù)據(jù)庫系統(tǒng)的所有權(quán)利!由Access本身建立起來的第二級安全機(jī)制將不起任何作用.這種情況實(shí)在太輕易發(fā)生----工作組用戶只要在他的計(jì)算機(jī)上重新安裝一次Access軟件,他將會輕而易舉地避開你設(shè)置的安全系統(tǒng)的防護(hù),而做為默認(rèn)的Admin用戶簦錄并操作工作組中任何數(shù)據(jù)庫系統(tǒng)。
2.解決方案
如何解決由Admin用戶所引發(fā)的安全漏洞呢?在市面上有關(guān)Access的參考書籍中很難找出答案。實(shí)踐中,我們總結(jié)出了一套行之有效的解決方案,現(xiàn)提出來供大家參考。
我們的基本思路就是屏蔽Admin用戶對數(shù)據(jù)庫的所有權(quán)限,首先,在Admins用戶組中增加一個新的與Admin用戶等同的新用戶,例如為搘ww",然后以這個新用戶登錄Access,從Admins用戶組將Admin用戶撤出,并屏蔽掉Admin用戶對數(shù)據(jù)庫的所有權(quán)限,這樣,Admin用戶就成為了一個普通用戶,實(shí)際的數(shù)據(jù)庫系統(tǒng)治理員則變?yōu)樾掠脩?www),而你的數(shù)據(jù)庫安全系統(tǒng)就對所有的用戶起安全防護(hù)作用了。
結(jié)束語
盡管Access系統(tǒng)存在著某些安全漏洞,但它仍不失為微機(jī)平臺上一個優(yōu)秀的數(shù)據(jù)庫治理系統(tǒng),在工作組級或部門級的數(shù)據(jù)庫應(yīng)用領(lǐng)域,采用Access開發(fā)的數(shù)據(jù)庫系統(tǒng)將會真正實(shí)現(xiàn)以往只有用大型數(shù)據(jù)庫治理系統(tǒng)如Oracle等才能開發(fā)出的客戶/服務(wù)器模式的數(shù)據(jù)庫應(yīng)用程序,同時,經(jīng)過修正的Access安全系統(tǒng)也會使數(shù)據(jù)庫治理員在數(shù)據(jù)庫的網(wǎng)絡(luò)安全方面高枕無憂。由于國內(nèi)對Access的應(yīng)用起步較晚,有關(guān)的技術(shù)資料也比較缺乏,這在一定程度上制約了Access這樣一個優(yōu)秀的數(shù)據(jù)庫產(chǎn)品的應(yīng)用,我們希望通過本文能夠拋磚引玉,使國內(nèi)用戶能進(jìn)一步的熟悉、了解和使用Access,使國內(nèi)微機(jī)平臺上出現(xiàn)更多的用Access開發(fā)的數(shù)據(jù)庫產(chǎn)品。