




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
Oracle數(shù)據(jù)庫安全綜述鄧明翥2007061035摘要信息時代,數(shù)據(jù)安全性和日俱增。對于企業(yè)數(shù)據(jù)庫來說。安全性和系統(tǒng)性能同樣重要.一旦數(shù)據(jù)丟失或者非法用戶侵入,對于任何一個使用系統(tǒng)來說都是致命的問題.提高Oracle數(shù)據(jù)庫安全性就要做好安全管理工作.文章從Oracle入手從安全機制和安全策略兩個角度分析其安全,并給出一些安全管理操作的具體方法,最后通過對比給出其安全策略的優(yōu)點。1數(shù)據(jù)庫系統(tǒng)簡介1?1背景介紹隨著網(wǎng)絡技術(shù)的飛速發(fā)展。網(wǎng)絡安全問題日漸突出。數(shù)據(jù)庫技術(shù)自20世紀60年代產(chǎn)生至今,也已得到了快速的發(fā)展和廣泛使用,數(shù)據(jù)庫中由于數(shù)據(jù)大量集中存放,且為眾多用戶直接共享,安全性問題尤為突出。數(shù)據(jù)庫是按照數(shù)據(jù)結(jié)構(gòu)來組織、存儲和管理數(shù)據(jù)的倉庫,它產(chǎn)生于距今五十年前。經(jīng)過幾十年的發(fā)展,數(shù)據(jù)庫技術(shù)在理論上得到不斷完善的同時,也廣泛地投入到財務、教育、電子政務、金融等領域中得到大規(guī)模的使用。目前,市場上不僅有能滿足個人用戶需要的桌面小型數(shù)據(jù)庫管理系統(tǒng),也有能提供大規(guī)模數(shù)據(jù)管理功能、使用在網(wǎng)絡環(huán)境的大中型數(shù)據(jù)庫管理系統(tǒng)。1?2數(shù)據(jù)庫系統(tǒng)產(chǎn)品簡介隨著大規(guī)模數(shù)據(jù)組織和管理日益引起人們的關(guān)注,數(shù)據(jù)庫系統(tǒng)顯現(xiàn)出越來越大的市場價值,許多公司都推出了各具特色的數(shù)據(jù)庫管理系統(tǒng)。下面對在市場上占據(jù)主流、具有一定代表意義的兩款數(shù)據(jù)庫系統(tǒng)做簡要介紹。SQLServer簡介SQLServer是由Microsoft公司開發(fā)和推廣的關(guān)系數(shù)據(jù)庫管理系統(tǒng)。它最初是由Microsoft、Sybase、Ashton-Tate三家公司共同開發(fā)的,并于1988年推出了第一個OS/2版本。由于Microsoft公司強大的開發(fā)能力和市場影響力,自1988年起,不斷有新版本SQLServer推出并迅速占領中小型數(shù)據(jù)庫市場。根據(jù)來自BZResearch2007年數(shù)據(jù)庫整合和統(tǒng)計報告的數(shù)據(jù),SQLServer的市場占有率為74.7%,高居第一。其中,SQLServer2000的用戶群最為龐大,SQLServer2008是最新版本。本文所提及的SQLServer,如未特別指出,都指的是SQLServer2000。SQLServer具有典型的C/S結(jié)構(gòu)。使用圖形化用戶界面,使系統(tǒng)管理和數(shù)據(jù)庫管理更加直觀、簡介。同時,還提供了豐富的編程接口工具,為用戶進行程序
設計提供了更大的選擇余地。由于SQLServer和WindowsNT完整集成,利用了NT的許多功能,使得配置維護比較簡單;在Windows安全機制的基礎上,實現(xiàn)了自身的安全管理,有著較良好的安全性。OracleDatabase簡介OracleDatabase,又名OracleRDBMS,或簡稱Oracle,是甲骨文公司的一款大型關(guān)系數(shù)據(jù)庫管理系統(tǒng)。Oracle是大型數(shù)據(jù)庫系統(tǒng)的典型代表。由于其采用了獨特的資源管理和索引技術(shù),得以在低檔軟硬件平臺上用較少的資源就可以支持更多的用戶,而在高檔平臺上就可以支持成百上千個用戶。Oracle提供了基于角色(ROLE)分工的安全管理。在數(shù)據(jù)庫管理功能、完整性檢查、安全性、一致性等方面都有良好的表現(xiàn)。同時,提供了和第三代高級語言的借口軟件PRO*系列,能在C、C++等語言中嵌入SQL語句以及過程化(PL/SQL)語句,對數(shù)據(jù)庫中的數(shù)據(jù)進行操縱,加上它具有許多優(yōu)秀的開發(fā)工具如POWERBUILD、SQL*FORMS,易于移植,因此在許多大型商務系統(tǒng)中得到使用。2數(shù)據(jù)庫系統(tǒng)安全概述數(shù)據(jù)庫系統(tǒng)安全是指為數(shù)據(jù)庫系統(tǒng)建立的安全保護措施,以保護數(shù)據(jù)庫系統(tǒng)軟件和其中的數(shù)據(jù)不因偶然和惡意的原因而遭到破壞、更改和泄漏。本章將針對數(shù)據(jù)庫系統(tǒng)的安全評估標準、數(shù)據(jù)庫系統(tǒng)的安全需求數(shù)據(jù)庫系統(tǒng)的安全機制展開闡述。2?1安全威脅當前對數(shù)據(jù)庫的主要安全威脅有物理威脅和邏輯威脅:①物理威脅主要是像各種外力,如:911恐怖事件,火災等造成的數(shù)據(jù)庫服務器故障或數(shù)據(jù)庫中存儲介質(zhì)的損壞造成的數(shù)據(jù)丟失。②邏輯威脅主要是指對信息的未授權(quán)存取,如:惡意用戶侵入某銀行數(shù)據(jù)庫系統(tǒng)竊取信用卡數(shù)據(jù)信息。2?2數(shù)據(jù)庫安全技術(shù)目前對數(shù)據(jù)庫安全物理威脅的主要解決方案包括數(shù)據(jù)備份/恢復、數(shù)據(jù)導入/導出、數(shù)據(jù)庫的災難恢復,計算機的集群和磁盤陣列等技術(shù),在此本文不進行討論。本文以Oracle數(shù)據(jù)庫為例闡述對邏輯威脅的主要解決方法,包括身份認證、存取控制、網(wǎng)絡加密、數(shù)據(jù)加密、審計等技術(shù)。
2.3數(shù)據(jù)庫系統(tǒng)的安全評估標準20世紀80年代,美國國防部根據(jù)軍用計算機系統(tǒng)的安全需要,制訂了《可信計算機系統(tǒng)安全評估標準》(TrustedSecureSystemEvaluationCriteria,簡稱TCSEC)以及該標準的可信數(shù)據(jù)庫系統(tǒng)的解釋(TrustedDatabaseInterpretation,簡稱TDI),形成了最早的信息安全及數(shù)據(jù)庫安全評估體系。TCSEC/TD1將系統(tǒng)安全性分為4組7個等級,分別是D(最小保護)、C1(自主安全保護)、C2(受控存取保護))B1(標記安全保護))B2(結(jié)構(gòu)化保護))B3(安全域))A1(驗證設計),按系統(tǒng)可靠或可信程度依次增高。90年代后期,《信息技術(shù)安全評價通用準則》(CommonCriteria,簡稱CC)被ISO接受為國際標準,確立了現(xiàn)代信息安全標準的框架。這些標準指導了安全數(shù)據(jù)庫系統(tǒng)的研究和開發(fā)安全數(shù)據(jù)庫及其使用系統(tǒng)研究。我國從80年代開始進行數(shù)據(jù)庫技術(shù)的研究和開發(fā),從90年代初開始進行安全數(shù)據(jù)庫理論的研究和實際系統(tǒng)的研制。2001年,軍隊制訂了《軍用數(shù)據(jù)庫安全評估標準》;2002年,公安部發(fā)布了公安部行業(yè)標準——GA/T389-2002:《計算機信息系統(tǒng)安全等級保護/數(shù)據(jù)庫管理系統(tǒng)技術(shù)要求》。根據(jù)2004年底的統(tǒng)計,極大國外數(shù)據(jù)庫管理系統(tǒng)在國內(nèi)市場的占有率達到95%,國產(chǎn)數(shù)據(jù)庫的總市場容量大約為3.5%,其它開源產(chǎn)品大約占1.5%。國外的數(shù)據(jù)庫產(chǎn)品不提供源程序代碼,也很少有可供公開調(diào)用的內(nèi)核接口,這些都加大了自主安全保護的技術(shù)難度。加之發(fā)達國家限制C2級以上安全級別的信息技術(shù)和產(chǎn)品對我國的出口,研究開發(fā)數(shù)據(jù)庫安全技術(shù)具有重要的現(xiàn)實意義。2?4數(shù)據(jù)庫系統(tǒng)的安全需求和其他計算機系統(tǒng)的安全需求相類似,數(shù)據(jù)庫系統(tǒng)的安全需求可以歸納為完整性、保密性和可用性三個方面。數(shù)據(jù)庫的完整性主要包括物理完整性和邏輯完整性。物理完整性主要包括物理完整性和邏輯完整性。物理完整性是指保證數(shù)據(jù)庫的數(shù)據(jù)不受物理故障,如硬件故障、掉電的影響,并有可能在災難毀壞時重建和恢復數(shù)據(jù)庫。邏輯完整性是指對數(shù)據(jù)庫邏輯結(jié)構(gòu)的保護,包括數(shù)據(jù)的語義完整性和操作完整性。前者主要指數(shù)據(jù)存取在邏輯上滿足完整性約束,后者主要指在并發(fā)事務中保證數(shù)據(jù)的邏輯一致性。數(shù)據(jù)庫的保密性指不允許未經(jīng)授權(quán)的用戶存取數(shù)據(jù);數(shù)據(jù)庫的可用性則是指不應拒絕授權(quán)用戶對數(shù)據(jù)庫的正常操作,同時保證系統(tǒng)的運行效率并提供用戶友好的人機交互。一般而言,數(shù)據(jù)庫的保密性和可用性是一對矛盾。對這一矛盾的分析和解決構(gòu)成了數(shù)據(jù)庫系統(tǒng)的安全模型和一系列安全機制的主要目標。2?5數(shù)據(jù)庫系統(tǒng)的安全模型數(shù)據(jù)庫系統(tǒng)的安全模型是用于精確描述數(shù)據(jù)庫系統(tǒng)的安全需求和安全策略的有效方式。從20世紀70年代開始,一系列數(shù)據(jù)庫安全模型和原型得到研究。80年代末開始,研究的重點集中于如何在數(shù)據(jù)庫系統(tǒng)中實現(xiàn)多級安全,即如何
將傳統(tǒng)的關(guān)系數(shù)據(jù)庫理論和多級安全模型結(jié)合,建立多級安全數(shù)據(jù)庫系統(tǒng)。到目前為止,先后提出的基于多級關(guān)系模型的數(shù)據(jù)路多級安全模型主要有BLP模型、Biba模型、SeaView模型和JS模型等。依據(jù)存取控制策略、授權(quán)管理模式的不同,可以將安全模型分為三類,即自主訪問控制模型(DAC)、強制訪問控制模型(MAC)和基于角色的訪問控制(RBAC)。DAC模型是基于用戶身份的訪問和控制。在DAC模型中,對資源對象的“擁有”是用戶最核心的權(quán)限屬性,每個用戶都要被分配一定的權(quán)限。DAC模型可對用戶提供靈活的訪問控制,但安全性較低,很容易遭受類似特洛伊木馬的攻擊。MAC模型通過無法回避的存取限制來防止各種直接或間接地攻擊。在強制訪問控制之下,系統(tǒng)給主體和客體分配了不同的安全屬性,系統(tǒng)通過對主題和客體的安全屬性進行匹配比較決定是否允許訪問繼續(xù)進行。RBAC模型提供了解決具有大量用戶、數(shù)據(jù)庫客體和訪問權(quán)限系統(tǒng)中的授權(quán)管理問題。在RBAC中,將權(quán)限賦予不同的角色;用戶在不同的會話中,激活不同的角色,從而可以獲得不同的權(quán)限。RBAC在不同的配置下可顯示出不同的控制功能,既可以構(gòu)造出MAC系統(tǒng),也可以構(gòu)造出DAC系統(tǒng),因此比較靈活,易于配置管理。關(guān)于上述三種模型的具體機制,在此不詳細闡述,請參閱相關(guān)文獻。3Oracle的安全策略3?1系統(tǒng)安全性策略系統(tǒng)安全策略的定義⑴為:系統(tǒng)安全策略是數(shù)據(jù)庫系統(tǒng)為達到安全目標和相應的安全級別所定義的安全技術(shù)、方法、機制的總和。DBMS將系統(tǒng)安全策略體現(xiàn)在其軟件之中,最后由DBA給予實現(xiàn),主要體現(xiàn)在安全管理。Oracle9i的系統(tǒng)安全策略主要功能如下:(1) 系統(tǒng)和數(shù)據(jù)的安全性策略數(shù)據(jù)庫用戶管理(DBU)。數(shù)據(jù)庫主要是由DBU訪問的。DBA可授權(quán)DBU使用Create、Alter、Drop語句對數(shù)據(jù)庫對象的操作權(quán)限,用戶身份驗證。數(shù)據(jù)庫用戶可以通過操作系統(tǒng)、網(wǎng)絡服務、數(shù)據(jù)庫或者安全套接字層SSL進行身份確認。(2) 操作系統(tǒng)(OS)安全性由于Oracle數(shù)據(jù)庫和使用程序是運行在網(wǎng)絡操作系統(tǒng)(NOS)之上,然后進行安全認證的。所以前兩者的安全性需要和操作系統(tǒng)安全一同考慮。DBA必須具有對NOS的文件進行Create和Delete的權(quán)限而數(shù)據(jù)庫用戶卻不具有。如果操作系統(tǒng)為數(shù)據(jù)庫用戶分配角色,則DBA必須有修改操作系統(tǒng)賬戶安全區(qū)域的操作系統(tǒng)權(quán)限。
3?1?1用戶驗證Oracle采用數(shù)據(jù)庫驗證、外部驗證和企業(yè)驗證三種用戶驗證方式。3?1?1?1數(shù)據(jù)庫驗證當創(chuàng)建用戶和指定口令時,便使用數(shù)據(jù)庫驗證,同時具有了口令管理能力。Oracle通過在一個概要文件中設置參數(shù)并把該文件分配給一個用戶的方式來實現(xiàn)的。一個概要文件可以限制會話的數(shù)量、每個會話使用的CPU時間、調(diào)用次數(shù)、讀的次數(shù)、空閑時間以及連接時間。概要文件可以防止破壞者利用所有的資源以拒絕服務的攻擊方式破壞系統(tǒng)。3?1?1?2外部驗證外部驗證是指在Oracle之外的驗證,即網(wǎng)絡操作系統(tǒng)(NOS)和網(wǎng)絡驗證服務。使用外部驗證后在Oracle就無需再驗證。若選此項,則在init.ora文件設置相關(guān)參數(shù)通知Oracle。使用NOS進行驗證的優(yōu)點是,用戶更快更方便地連接數(shù)據(jù)庫;對用戶驗證進行集中控制;用戶信息只有一份副本并保存在NOS中,Oracle中無需保存,當然兩者用戶應是相同的,同時審計信息只保存在NOS中。網(wǎng)絡驗證服務屬于高級安全技術(shù)。主要使用網(wǎng)絡安全服務,例如Kerberos或PKI3.1.1.3企業(yè)驗證企業(yè)驗證使用于網(wǎng)絡環(huán)境下的分布式數(shù)據(jù)庫。分布式環(huán)境存在多個數(shù)據(jù)庫服務器,它們組成資源的總和定義為全局資源??梢允褂萌仲Y源(任何一個數(shù)據(jù)庫服務器)的用戶定義為全局用戶。企業(yè)驗證是全局用戶使用全局資源的驗證,即Oracle安全服務(OSS)。由Oracle安全服務器完成。用安全信息和全局資源存儲在網(wǎng)絡(LAN/Intranet/Internet)的目錄中,存儲該目錄的服務器稱為目錄服務器。通常使用輕量目錄協(xié)議(LDAP)訪問該服務器,使用全局口令登錄到Oracle分布式數(shù)據(jù)庫的用戶稱為全局用戶。可將全局用戶的權(quán)限定義為不同的角色即全局角色。全局角色的全體組成企業(yè)角色。Oracle安全服務器OSS實現(xiàn)全局用戶的登錄過程:1) 全局用戶登錄到Oracle分布式數(shù)據(jù)庫系統(tǒng)中;2) OSS動態(tài)地將某個全局角色分配給該用戶;3) 該全局角色所具有的權(quán)限即可訪問該權(quán)限的數(shù)據(jù)庫服務器。換言之,系統(tǒng)中的多個數(shù)據(jù)庫服務器具有不同的權(quán)限,它們和全局角色存在對應(映射)關(guān)系。最簡單的是一對一映射,最復雜的是多對多映射。
3?1?2用戶許可用戶登錄到一個數(shù)據(jù)庫服務器到退出期間稱為會話。Oracle可通過設置來限制會話數(shù)量。會話數(shù)量的設置稱為并發(fā)許可(協(xié)議)。許可是并發(fā)使用的,由此許可指定的是并發(fā)用戶的最大數(shù)量,即同時連接到數(shù)據(jù)庫(服務器)的用戶會話數(shù)量。通過命名用戶的許可,可以限制可訪問一個數(shù)據(jù)庫的命名用戶數(shù)量。系統(tǒng)運行期間可以跟蹤實際會話數(shù)量,也能改變并發(fā)會話的最大數(shù)量。當達到上限時,只有DBA能夠連接到數(shù)據(jù)庫。而對于一般用戶,Oracle會給他發(fā)送一條消息,顯示到達最大數(shù)量的限制,同時將該消息寫入到警告文件中。除此之外,還可以設置并發(fā)會話的警告限制數(shù)量。在到達該值時,一般用戶還可以繼續(xù)建立新的會話直到達到最大限制值。然后,Oracle給每個連接的警告文件寫一條消息,并且給一般用戶發(fā)送一條快要達到最大限制的消息。通過命名用戶許可,限制指定的數(shù)據(jù)庫服務器上使用Oracle的命名用戶數(shù)量。使用這個許可就是在啟動實例以前,設置在數(shù)據(jù)庫可以創(chuàng)建的用戶數(shù)量。當實例運行時,也可以改變這個最大值或完全停用這個限制。3?2數(shù)據(jù)安全性策略主要包括在對象級控制數(shù)據(jù)庫訪問和使用的機制。主要有決定哪個用戶訪問特定的模式對象,在對象上允許每個用戶的特定類型操作,也可以定義審計每個模式對象的操作。為數(shù)據(jù)庫建立安全等級,例如,如果允許其他用戶建立任何模式對象,或?qū)ο蟮拇嫒?quán)限授予系統(tǒng)中的其他用戶,這樣的安全性是很差的。另外,當希望只有DBA有權(quán)限建立對象,并向角色和用戶授予對象的存取權(quán)限時,必須嚴格控制數(shù)據(jù)庫的安全。數(shù)據(jù)的重要性決定了數(shù)據(jù)和數(shù)據(jù)庫的安全性。如果數(shù)據(jù)的重要性差,那么數(shù)據(jù)的安全性略差一些。反之,就應該有嚴格的安全性策略。用戶來維護對數(shù)據(jù)對象訪問的有效控制。數(shù)據(jù)安全的實現(xiàn)方法主要有:用戶賬號、對象授權(quán)、角色、細粒度存取控制和相關(guān)使用程序上下文控制。細粒度存取控制最簡單的情況是在SQL語句中加了一個WHERE條件,用它來限制用戶對表和視圖里元組數(shù)據(jù)的存取。使用程序上下文是一個安全數(shù)據(jù)緩沖,用來存儲存取控制決定的信息。3?3用戶安全性策略在Oracle數(shù)據(jù)庫中,將用戶分為一般用戶、最終用戶、管理員(DBA)、使用程序員和使用程序管理員。由于一般用戶和管理員具有相對的普遍性,在次只針對一般用戶和管理員的安全性策略進行介紹。3?3?1一般用戶的安全性策略口令安全性。如果是通過數(shù)據(jù)庫進行用戶身份驗證,就應該使用口令加密方
式和數(shù)據(jù)庫進行連接。當執(zhí)行分布式查詢時,會發(fā)生在兩個Oracle服務器之間建立連接。當試圖連接到一個服務器時,Oracle在將信息發(fā)送到服務器時對口令進行加密。如果連接失敗且審計可用時,這個失敗作為審計日志記錄下來。Oracle就會用加密的信息重新連接。如果連接成功,就將前面連接失敗的審計記錄信息覆蓋。以防止惡意用戶加密的口令強行重新連接。DBA應該根據(jù)所有各類用戶實行相關(guān)的權(quán)限管理,即應充分利用/角色/這個機制的方便性對權(quán)限進行有效管理。3.3.2DBA的安全性策略當系統(tǒng)規(guī)模較小時,只需一個DBA,則系統(tǒng)安全管理員SSA也是DBA。當系統(tǒng)規(guī)模很大時,系統(tǒng)擁有多個DBA,這時兩者是分開的。安全管理員將相關(guān)管理權(quán)限分成幾個組,然后將不同的角色授予相應的DBA。當創(chuàng)建數(shù)據(jù)庫后,立即更改有管理權(quán)限的sys和system用戶的口令,防止非法用戶訪問數(shù)據(jù)庫。當作為sys和system用戶連入數(shù)據(jù)庫后,用戶有強大的權(quán)限用各種方式對數(shù)據(jù)庫進行改動。只有DBA能用管理權(quán)限連入數(shù)據(jù)庫,并保證只有DBA能作SYSDBA角色的成員,因為SYSDBA可以沒有任何限制地操作和恢復數(shù)據(jù)庫及數(shù)據(jù)庫對象。4Oracle提供的安全機制數(shù)據(jù)庫的安全性可以分為兩類,即數(shù)據(jù)庫系統(tǒng)安全性和數(shù)據(jù)庫數(shù)據(jù)安全性[2].4.1系統(tǒng)安全性層面系統(tǒng)安全性是指在系統(tǒng)級控制數(shù)據(jù)庫的存取和使用的機制。包括:①用戶名/口令的組合是否有效;②用戶是否具有連接數(shù)據(jù)庫的授權(quán);③用戶可以執(zhí)行哪些操作;④用戶可用的磁盤空間的數(shù)量:⑤用戶的資源限制;⑥數(shù)據(jù)庫審計是否有效。4?1?1數(shù)據(jù)備份Oracle提供了比較完備的數(shù)據(jù)備份技術(shù)。具體請參見Oracle9i使用手冊。4.1.2身份認證在網(wǎng)絡環(huán)境下多用戶系統(tǒng)中,身份認證是安全機制中重要環(huán)節(jié)。身份認證包括標識和驗證,標識是指用戶向系統(tǒng)出示自己的身份證明,常用的方法是輸入用戶名和口令;驗證則是系統(tǒng)驗證用戶的身份證明。Oracle允許不同類型的驗證,
以Oracle數(shù)據(jù)庫為基礎的驗證允許擁有用戶賬戶ID和密碼,密碼以加密的格式存儲在數(shù)據(jù)字典中oOracle也支持基于主機操作系統(tǒng)的用戶賬號轉(zhuǎn)為Oracle賬戶的驗證。此外,Oracle高級安全選件還提供更加安全的驗證方法⑶,如:NTS、KERBEROSS、RADIUS等驗證方式。4.1.3存取控制數(shù)據(jù)庫的存取控制機制是定義和控制用戶對數(shù)據(jù)庫數(shù)據(jù)的存取訪問權(quán)限,以確保只授權(quán)給有資格的用戶訪問數(shù)據(jù)庫的權(quán)限并防止和杜絕對數(shù)據(jù)庫中數(shù)據(jù)的非授權(quán)訪問。數(shù)據(jù)庫管理系統(tǒng)需要對精細的數(shù)據(jù)粒度加以控制,數(shù)據(jù)庫中的粒度有記錄、表格、屬性、字段和值等。Oracle可利用權(quán)限、角色、概要文件、細粒度訪問等技術(shù)提供存取控制支持。4?1?3?1權(quán)限默認情況下新的Oracle用戶不具備任何權(quán)限。新用戶在登錄數(shù)據(jù)庫以及運行數(shù)據(jù)庫操作前必須被授予權(quán)限。Oracle數(shù)據(jù)庫包含系統(tǒng)權(quán)限和對象權(quán)限。系統(tǒng)權(quán)限允許用戶建立和使用對象,但不授權(quán)訪問真正的數(shù)據(jù)庫對象。系統(tǒng)權(quán)限允許用戶運行如:ALTERTABLECREATETABLE等權(quán)限。對象權(quán)限被用來允許訪問特殊的數(shù)據(jù)庫對象,如表或視圖。Oracle允許對象的擁有者將他們擁有的針對這些對象的權(quán)限授予其他用戶或角色。4?1?3?2角色角色是用來簡化用戶權(quán)限分派的管理任務,用戶可以被指派多個角色。將權(quán)限組織到角色中后再利用角色對一個或多個用戶授權(quán)使授權(quán)管理變得更加容易。Oracle擁有一些特定權(quán)限的默認角色。如:Connect角色允許用戶登錄和建立自己的表、索引等;Resource角色允許用戶建立觸發(fā)器和存儲過程等對象。數(shù)據(jù)庫管理員DBA角色被授予所有管理數(shù)據(jù)庫和用戶的系統(tǒng)權(quán)限。用戶為方便管理可以建立自定義的角色。4?1?3?3概要文件Oracle利用概要文件來允許管理員針對一些系統(tǒng)資源,密碼的利用。這些概要文件可以被定義、命名、然后指派給特定的用戶或用戶組。概要文件可以用來設置用戶在特定的系統(tǒng)資源上的限制,如CPU時間、同時建立的有效會話數(shù)、特定用戶建立會話的最大時間等。此外,概要文件也可以用來強制定義密碼規(guī)則,如密碼有效期、密碼格式、在若干次登錄失敗嘗試后鎖定賬戶,也可以利用自定義密碼格式規(guī)則函數(shù)來限制密碼的設置規(guī)則。
4?1?3.4細粒度訪問Oracle提供了細粒度訪問控制機制OracleLabelSecurity⑸,可實施對單個表或整個模式上的行級訪問控制。要利用OracleLabelSecurity,需要創(chuàng)建一個或多個安全策略,其中每一個安全策略都包含一組標簽。標簽用來標明哪些用戶能夠訪問什么類型數(shù)據(jù)。在創(chuàng)建了一個策略之后,將該策略使用于需要保護的表,并將這些標簽授予用戶。當Oracle數(shù)據(jù)庫在分析SQL語句時會檢測表是否受到某個安全策略的保護,根據(jù)用戶的訪問權(quán)限數(shù)據(jù)庫向該SQL。語句的WHERE子句中添加安全性謂詞。所有這些都發(fā)生在Oracle數(shù)據(jù)庫引擎的內(nèi)部。所以不管該SQL。語句的來源如何,用戶都不可能繞過該安全性機制,從而達到行級安全的訪問控制。4.1.4審計任何的數(shù)據(jù)庫系統(tǒng)都不可能是絕對安全的,可以利用Oracle數(shù)據(jù)庫系統(tǒng)的審計功能,監(jiān)視和記錄所選擇用戶的活動情況,數(shù)據(jù)庫的審計記錄存放在SYS方案的AUD$表中。開啟審計功能后會影響一些數(shù)據(jù)庫的性能,在初始狀態(tài)Oracle對審計功能是關(guān)閉的。要開啟審計功能,可在初始化參數(shù)中將參數(shù)“AUDIT—TRAII。”值設置為“DB或TRUE”。Oracle支持三種類型的審計:語句審計、權(quán)限審計和方案對象審計。語句審計是針對DDL、DML語句的審計,如“AUDITTABI。E”的語句審計對所有的CREATE和DROPTABLE語句都進行審計;權(quán)限審計是對系統(tǒng)權(quán)限的審計,如只針對“CREATETABLE”的權(quán)限審計,則只審計CREATETABLE語句;方案對象審計是針對特定的DMI。語句和特定方案對象的GRANT、REVOKE語句的審計。從Oracle9i后支持細粒度審計,可以用于監(jiān)視基于內(nèi)容的數(shù)據(jù)訪問。此外,也可利用數(shù)據(jù)庫提供的觸發(fā)器功能進行編程自定義審計方案,如可以用觸發(fā)器編寫登錄,注銷以及其他數(shù)據(jù)庫事件的Oracle審計信息。4.2數(shù)據(jù)安全性層面在多用戶數(shù)據(jù)庫系統(tǒng)中,數(shù)據(jù)安全性包括:①防止非授權(quán)用戶對數(shù)據(jù)進行存取操作:②防止非授權(quán)用戶對模式對象的存取操作;⑨控制系統(tǒng)資源的使用;④控制磁盤的使用;⑤審計用戶的操作.4.2.1數(shù)據(jù)加密一般而言數(shù)據(jù)庫系統(tǒng)提供的基本安全技術(shù)能夠滿足大多數(shù)的使用,但對于一些重要部門或敏感領域的使用,僅靠上述這些措施是難以完全保證數(shù)據(jù)的安全性,某些用戶尤其是一些內(nèi)部用戶仍可能非法獲取用戶名、口令字,或利用其他方法越權(quán)使用數(shù)據(jù)庫,因此有必要對數(shù)據(jù)庫中存儲的重要數(shù)據(jù)進行加密處理。數(shù)據(jù)庫密碼系統(tǒng)要求將明文數(shù)據(jù)加密成密文數(shù)據(jù),數(shù)據(jù)庫中存儲密文數(shù)據(jù),查詢時
將密文數(shù)據(jù)取出解密得到明文信息。Oracle9i提供了特殊DBMS-OBFUSCATION—TOOLKIT包,在OraclellOg中又增加了DBMSCRYPT0包用于數(shù)據(jù)加密/解密,支持DES、AES等多種加密/解密算法。各詳細算法在此不作介紹。5Oracle的安全管理操作5?1創(chuàng)建概要文件創(chuàng)建一個概要文件user_limited,把它提供給用戶normal_user"使用.如果連續(xù)3次和normal_user的連接失敗,該賬戶將自動由oracle鎖定,再使用normal_user賬戶的正確口令,系統(tǒng)會提示出錯信息.1天后此賬戶自動解鎖,可繼續(xù)使用.創(chuàng)建命令代碼如下:SQL>CREATEPROFILEuser_limitedLIMITFAILED_LOGIN_ATTEMPTS3PASSWORD_LOCK_TIMEl;SQL>ALTERUSERnormal_userPROFILEuser_limited;5?2修改概要文件如果將上述概要文件的允許失敗連接次數(shù)改為5.賬戶鎖定時間改為10.修改代碼如下:SQL>ALTERPROFILEuser_limitedLIMITFAILED_LOGIN_ATTEMPTS5PASSWORD_LOCK_TLME10;5.3啟用審計審計是監(jiān)視和記錄所選用戶的數(shù)據(jù)活動。審計通常用于調(diào)查可疑活動和監(jiān)視和收集特定數(shù)據(jù)庫活動的數(shù)據(jù)。如果數(shù)據(jù)被非授權(quán)用戶刪除。管理員可對該數(shù)據(jù)庫的所有連接進行審計,以及對數(shù)據(jù)庫的所有刪除進行審計.管理員還可以對某種類型的SQL語句、執(zhí)行相應動作的系統(tǒng)權(quán)限、全部用戶或指定用戶的活動進行審計。達到監(jiān)視數(shù)據(jù)庫對象的數(shù)據(jù)處理操作的目的.管理員可以啟用和禁用審計信息記錄。當在數(shù)據(jù)庫中啟用審計時,在語句執(zhí)行階段生成審計記錄.如審計normal_user用戶的所有更新操作代碼為:SQL>AUDITUPDATETABLEBYnormal_user,
6Oracle和SQLserver比較6?1開放性SQLServer只能在windows上運行,沒有絲毫的開放性,操作系統(tǒng)的系統(tǒng)的穩(wěn)定對數(shù)據(jù)庫是十分重要的°Windows9X系列產(chǎn)品是偏重于桌面使用,NTserver只適合中小型企業(yè)。而且windows平臺的可靠性,安全性和伸縮性是非常有限的。它不象Unix那樣久經(jīng)考驗,尤其是在處理大數(shù)據(jù)量的關(guān)鍵業(yè)務時。Oracle能在所有主流平臺上運行(包括Windows)。完全支持所有的工業(yè)標準。采用完全開放策略,可以使客戶選擇最適合的解決方案,對開發(fā)商全力支持。6?2可伸縮性和并行性SQLserver并行實施和共存模型并不成熟。很難處理日益增多的用戶數(shù)和數(shù)據(jù)卷,伸縮性有限。Oracle平行服務器通過使一組結(jié)點共享同一簇中的工作來擴展windowNT的能力,提供高可用性和高伸縮性的簇的解決方案。如果windowsNT不能滿足需要,用戶可以把數(shù)據(jù)庫移到UNIX中。6?3安全性SQLserver沒有獲得任何安全證書。OracleServer獲得最高認證級別的ISO標準認證。6.4性能SQLServer多用戶時性能不佳。Oracle性能最高,保持windowsNT下的TPC-D和TPC-C的世界記錄。6?5客戶端支持及使用模式SQLServerC/S結(jié)構(gòu),只支持windows客戶,可以用ADO,DAO,OLEDB,ODBC連接。Oracle多層次網(wǎng)絡計算,支持多種工業(yè)標準,可以用ODBC,JDBCQCI等網(wǎng)絡客戶連接。6?6操作簡便SQLServer操作簡單,但只有圖形界面。.Oracle較復雜,同時提供GUI和命令行,在WindowsNT和Unix下操作相同。
6.7使用風險SQLserver完全重寫的代碼,經(jīng)歷了長期的測試,不斷延遲,許多功能需要時間來證明。并不十分兼容早期產(chǎn)品。使用需要冒一定風險。Oracle長時間的開發(fā)經(jīng)驗,完全向下兼容。得到廣泛的使用。完全沒有風險。7Oracle特色詳述7.1Oracle9i特色詳述2001年6月,Oracle又推出了新一代Internet電子商務基礎架構(gòu)Oracle9i。Oracle9i的關(guān)鍵聚焦領域包括:提供世界領先的零數(shù)據(jù)丟失保護環(huán)境通過對更多聯(lián)機操作的支持來減少脫機維護的要求提供對已損壞數(shù)據(jù)庫的快速而準確的修復使最終用戶能夠識別并更正其自身的錯誤7?1?1世界領先的數(shù)據(jù)保護環(huán)境Oracle9i包括許多改進數(shù)據(jù)保護的新特性。除了對現(xiàn)有Standby產(chǎn)品進行了重點增強外,還包括了一個提供監(jiān)視、自動化和控制的框架。和管理備用數(shù)據(jù)庫有關(guān)的許多任務也是自動化的,包括初始化實例、錯誤跳轉(zhuǎn)和輕松的主從之間的來回切換。管理員也可以有選擇性地指定每個備用站點滯后于生產(chǎn)環(huán)境的日志使用延遲(目的是在線免除人為錯誤或損壞錯誤),并選擇一個零數(shù)據(jù)丟失模式,在此模式下重做日志被同步發(fā)送到備用站點。在Oracle9i中還增強了LogMiner,以便提供全面的基于SQL的LogAnalysis(日志分析)。目前LogMiner支持索引編排的集簇表、鏈式行、直接加載、標量對象類型、LOB、LONG數(shù)據(jù)類型和DDL。LogMiner也顯示主鍵并支持根據(jù)更改內(nèi)容查詢?nèi)罩荆ɡ?,顯示對雇員“Smith”的所有更改)。一個新的圖形用戶界面以及其他數(shù)據(jù)庫特性也使此產(chǎn)品易學、易用。7?1?2聯(lián)機數(shù)據(jù)演變Oracle9i包含一個新的聯(lián)機重新組織和重新定義體系結(jié)構(gòu),此體系結(jié)構(gòu)提供了更為強大的重新組織功能。目前管理員可以對表定義執(zhí)行各種聯(lián)機操作,包括按堆組織的表的聯(lián)機重新組織。在本質(zhì)上,Oracle9i目前允許聯(lián)機“CREATETABLEASSELECT操作。在此新體系結(jié)構(gòu)中,表的內(nèi)容被復制到一個新表中。在復制內(nèi)容的同時,數(shù)據(jù)庫跟蹤對原始表的更新。在復制完成后,更新將被使用于新表。一旦使用了更新,就可以在新表上創(chuàng)建索引。在創(chuàng)建索引后,將使用任何其他更新,而且結(jié)果表將替代原始表。在更新字典數(shù)據(jù)的同時,僅在操作開始和結(jié)束時以獨占模式鎖定表。使用這一新的體系結(jié)構(gòu),可以聯(lián)機更改表的任何物理屬
性??梢詫⒈硪苿拥揭粋€新位置,可以將表分區(qū),也可以將表從一種組織(例如堆積)轉(zhuǎn)換為另一種組織(例如索引編排的)。此外,許多邏輯屬性都可以更改。例如可以更改列的名稱、類型和大小并可以對列進行添加、刪除或合并。主要的限制是不能修改表的主鍵。目前Oracle9i也支持索引編排表上次級索引的聯(lián)機創(chuàng)建、重建等。目前可以聯(lián)機創(chuàng)建索引并同時對其進行分析。次級索引支持塊提示的有效使用。管理員也能夠快速地停止數(shù)據(jù)庫以便執(zhí)行要求非活動事務處理的操作。此外,在Oracle9i中可以動態(tài)調(diào)整緩沖區(qū)高速緩存和共享池的大小。最后,Oracle9i也可以在對象處于聯(lián)機狀態(tài)并被用戶訪問的同時驗證對象的結(jié)構(gòu)(分析驗證)。Oracle10g新增特色721Oracle10gRelease1(10.1.0)Simpl
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 門窗安裝合伙協(xié)議書
- 酒店早茶承包協(xié)議書
- 鄧州房屋認定協(xié)議書
- 分公司私下入股協(xié)議書
- 超市索賠和解協(xié)議書
- 轉(zhuǎn)讓手工工廠協(xié)議書
- 退租裝修恢復協(xié)議書
- 高校幫扶縣區(qū)協(xié)議書
- 金融公司代理協(xié)議書
- 餐飲經(jīng)營占股協(xié)議書
- 外籍人員雇傭合同(中英文對照)6篇
- 《不可或缺的醫(yī)療保障:課件中的健康險》
- 財產(chǎn)申報表-被執(zhí)行人用
- 委托聘請演員合同協(xié)議
- 養(yǎng)老院安全常識培訓
- 威海銀行筆試試題及答案
- 2025年部編版新教材語文一年級下冊第三次月考試題及答案(二)
- 純化水設備培訓
- 新能源汽車電池研發(fā)合同
- 自愿援疆申請書
- 智慧照明系統(tǒng)施工方案
評論
0/150
提交評論