當前位置:首頁 » 數據倉庫 » 資料庫伺服器安全策略
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

資料庫伺服器安全策略

發布時間: 2023-05-11 20:29:29

㈠ 深入解析Oracle資料庫安全策略


Oracle是關系型資料庫管理系統,它功能強大、性能卓越,在當今大型資料庫管理系統中佔有重要地位。在正常情況下,Oracle資料庫會保證數據的安全、穩定,為用戶提供正確的數據,但由於計算機系統的故障(硬體故障、軟體故障、網路故障和系統故障)影響資料庫系統的操作,影響資料庫中數據的正確性,甚至破壞資料庫,使資料庫中全部或部分數據丟失,整個系統都將處於癱瘓狀態。因此,如何保證Oracle資料庫的安全就陵慧掘成為整個系統安全的重要組成部分。
Oracle資料庫的安全策略包括資料庫的備份和恢復、用戶角色管理。
一、資料庫備份所使用的結構
Oracle資料庫使用幾種結構來保護數據:資料庫後備、日誌、回滾段和控制文件。
1.資料庫後備是由構成Oracle資料庫的物理文件的操作系統後備所組成。當介質故障時進行資料庫恢復,利用後備文件恢復毀壞的數據文件或控制文件。
2.每一個Oracle資料庫實例都提供日誌,記錄資料庫中所作的全部修改。每一個運行的Oracle資料庫實例相應地有一個在線日誌,它與Oracle後台進程LGWR一起工作,立即記錄該實例所作的全部修改。歸檔(離線)日誌是可選擇的,一個Oracle資料庫實例一旦在線日誌填滿後,可形成在線日誌歸檔文件。歸檔的在線日誌文件被唯一標識並合並成歸檔日誌。
3.回滾段用於存儲正在進行的事務(為未提交的事務)所修改值的老值,該信息在資料庫恢復過程中用於撤消任何非提交的修改。
4.控制文件,一般用於存儲資料庫的物理結構的狀態。控制文件中某些狀態信息在實例恢復和介質恢復期間用於引導Oracle。
二、在線日誌
一個Oracle資料庫的每一實例有一個相關聯的在線日誌。一個在線日誌由多個在線日誌文件組成。在線日誌文件(online redo log file)填入日誌項(redo entry),日誌項記錄的數據用於重構對資料庫所作的全部修改。
三、歸檔日誌
Oracle要將填滿的在線日誌文件組歸檔時,則要建立歸檔日誌(archived redo log)。其對資料庫備份和恢復有下列用處:
1.資料庫後備以及在線和歸檔日誌文件,在操作系統和磁碟故障中可保證全部提交的事物可被恢復。
2.在資料庫打開和正常系統使用下,如果歸檔日誌是永久保存,在線後備可以進行和使用。
資料庫可運行在兩種不同方式下:NOARCHIVELOG方式或ARCHIVELOG方式。資料庫在NOARCHIVELOG方式下使用時,不能進行在線日誌的歸檔。如果資料庫在ARCHIVELOG方式下運行,可實施在線日誌的歸檔。
四、Oracle的備份特性
Oracle備份包括邏輯備份和物理備份。
1.邏輯備份
資料庫的邏輯備份包含讀一個資料庫記錄集和將記錄集寫入文件。
(1)輸出(Export)輸出可以是整個資料庫、指定用戶或指定表。
(2)輸入(Import)輸入將輸出建立的二進制轉儲文件讀入並執行其命令。
2.物理備份
物理備份包含拷貝構成資料庫的文件而不管其邏輯內容。
Oracle支持兩種不同類型的物理文件備份:離線備份(offline backup)和聯機備份(online backup)。
(1) 離線備份
離線備份用在當資料庫已正常關閉,資料庫處於"offline"時,要備份下列文件:
所有數據文件
所有控制文件
所有聯機日誌
init.ora(可選的)
(2) 聯機備份
聯機備份可用來備份任何運作在ARCHIVELOG方式下的資料庫。在這種方式下,聯機日誌被歸檔,在資料庫內部建立一個所有作業的完整記錄。
聯機備份過程具備強有力的功能。第一,提供了完全的時間點尺核(point-in-time)恢復。第二,在文件系統備份時允許資料庫保持打開狀態。
備份方式特性比較
五、Oracle資料庫的角色管理
Oracle資料庫系統在利用角色管理資料庫安全性方面採取的基本措施有:
通過驗證用戶名稱和口令,防止非Oracle用戶注冊到Oracle資料庫,對資料庫進行非法存取操作。
授予用戶一定的許可權,限制用戶操縱資料庫的權力。
授予用戶對資料庫實體的存取執行許可權,阻止用戶訪問非授權數據。
提供碧孫資料庫實體存取審計機制,使資料庫管理員可以監視資料庫中數據的存取情況和系統資源的使用情況。
採用視圖機制,限制存取基表的行和列集合。
六、Oracle資料庫的安全策略
由於Oracle資料庫備份有三種方式,每種方式具有不同的恢復特性,因此應集成資料庫與文件系統備份,集成邏輯備份和物理備份。
(一)、備份策略
在操作系統級別,使用大容量磁碟陣列,通過磁碟映像技術使每一個資料庫文件自動分布於每個物理磁碟。這樣,當某個磁碟出現物理損壞時,操作系統會自動引發映像磁碟來取代失效的磁碟,保證資料庫的正常運行。
在多個不同的物理磁碟上保持多個控制文件的備份。控制文件在資料庫恢復期間用於引導Oracle,因此保持多個控制文件的備份,可以確保在出現磁碟故障後,能有可用的控制文件用於資料庫恢復。
使資料庫運行在ARCHIVELOG(歸檔)方式下,歸檔日誌存放於另一映像的邏輯磁碟上。每晚進行一次聯機備份操作,備份所有數據文件、所有歸檔日誌文件、一個控制文件。每周進行一次輸出(Export)操作。
(二)、恢復策略
1.實例失敗
從實例失敗中恢復是自動進行的。實例失敗一般是由伺服器失敗引起的,當資料庫實例失敗後,重新啟動伺服器,啟動資料庫,Oracle檢查數據文件和聯機日誌文件,並把所有文件同步到同一個時間點上。
2.磁碟失敗
如果丟失的是控制文件,只要關閉資料庫,從保留有控制文件的地方拷貝一份即可。
如果丟失的是數據文件,可用前一天晚上的聯機備份進行恢復,步驟如下:
1)從備份中把丟失的文件存在原來位置。
2)載入資料庫
3)恢復資料庫
4)打開資料庫
3.錯誤刪除或修改對象
在這種情況下,一般希望能追溯返回到錯誤發生前的那個時間點上。這叫做時間點恢復。完成恢復的步驟如下:
1)從當前資料庫輸出(Export),輸入(Import)到備用資料庫,使備用資料庫與當前資料庫保持一致。
2)向前滾動備用資料庫到錯誤發生前的那個時間點。
3)從備用資料庫輸出受錯誤影響的邏輯對象。
4)使用上一步產生的輸出文件輸入那些受影響的對象到當前資料庫。
(三)、用戶角色管理
1.對所有客戶端按工作性質分類,分別授予不同的用戶角色。
2.對不同的用戶角色,根據其使用的數據源,分別授予不同的資料庫對象存取許可權。
基於以上的安全策略,可以防止非法用戶訪問資料庫,限制合法用戶操縱資料庫的許可權;可以使資料庫在故障發生後,不會丟失任何數據,並能使資料庫迅速恢復到故障發生前的那一時間點上,最大限度的保證數據的安全和整個系統的連續運行。

㈡ 資料庫安全控制的主要策略有哪些

1、 網站伺服器安全 防止伺服器被黑客入侵。首先,要選擇比較好的託管商,託管的機房很重要。現在很多服務商都在說硬體防火牆防CC攻擊,其實一般小託管商很少具備這些配置。機房裡其他電腦的安全也是很重要的,例如現在很多攻擊方法是通過嗅探的方法得到管理密碼的,或者ARP欺騙,其最大的危害就是根本找不到伺服器漏洞,卻莫名其妙地被黑了。其次,對於伺服器本身,各種安全補丁一定要及時更新,把那些用不到的埠全部關閉掉,越少的服務等於越大的安全系數。 2、 網站程序安全 程序漏洞是造成安全隱患的一大途徑。網站開發人員應該在開發網站的過程中注意網站程序各方面的安全性測試,包括在防止sql注入、密碼加密、數據備份、使用驗證碼等方面加強安全保護措施。 3、 網站信息安全 信息安全有多層含義。首先,最基本的是網站內容的合法性,網路的普及也使得犯罪分子利用網路傳播快捷的特性而常常發布違法、違規的信息。要避免網站上出現各種違法內容、走私販毒、種族歧視及政治性錯誤傾向的言論。其次,防止網站信息被篡改,對於大型網站來說,所發布的信息影響面大,如果被不法分子篡改,,引起的負面效應會很惡劣。輕者收到網監的警告,重者伺服器被帶走。 4、 網站數據安全 說到一個網站的命脈,非資料庫莫屬,網站資料庫裡面通常包含了政府網站的新聞、文章、注冊用戶、密碼等信息,對於一些商業、政府類型的網站,裡面甚至包含了重要的商業資料。網站之間的競爭越來越激烈,就出現了優部分經營者不正當競爭,通過黑客手段竊取數據,進行推廣,更有黑客直接把「拿站」當做一項牟利的業務。所以,加強一個網站的安全性,最根本的就是保護資料庫不要被攻擊剽竊掉。

㈢ 防範安全隱患 網路資料庫安全隱患及防範策略探討

中圖分類號:TN915.08 文獻標識碼:A摘 要:隨著信息技術的飛速發展,網路技術和資料庫技術日漸成熟,21世紀計算機網路的運行速度越來越快,高速的網路也逐漸走向商業、家庭。由於信息在當今人類的經濟、軍事、生活等方面越來越重要,信息的安全也漸漸被人們所重視。因此網路資料庫的安全問題是目前網路信息安全的重點之一,網路環境下資料庫數據被盜、丟失使得網路環境下資料庫安全性研究極為重要。本文詳細論述網路環境下資料庫將面臨的安全威脅,從資料庫安全的基礎概念著手,讓大家知道提高資料庫的安全策略是什麼,做好哪些防範才能使資料庫安全。
關鍵詞:網路環境 資料庫安全 威脅 策略
一、網路資料庫的含義
將海量數據匯集,且按照規格有組織的整理好,存儲在計算機的硬碟上面,方便人們查找使用數據集合稱為「資料庫」。我們所說的數據有數字、文字、圖形、圖像、聲音、符號、文件、檔案等一切描述事物的符號記錄。而在開放式的網路中數據具有共享性,我們需要把數據與資源共享兩種方式融合在一起那就是我們所說的「網路資料庫」,它是需要後台資料庫加上前台程序,然後通過瀏覽器將數據儲存、查詢等一系列操作的系統。網路資料庫的設計是根據數據棋型來設計的資料庫,它在關系資料庫的基礎上面集合網路技術、存儲技術、檢索技術為一體的新型資料庫,它使web資料庫的應用成為網路信息時代的一大亮點。目前網路資料庫在信息檢索、電子商務、網上醫療、網路數字圖書館等多個領域得到了廣泛的使用。其重要性也被越來越多的人所重視。
二、網路資料庫的安全知識與安全機制
資料庫的安全簡單說是指保證資料庫的正常運作,不被非授權用戶非法使用、盜取、修改以及破壞數據。在現實操作中網路管理員一般會忽略伺服器端的安全設置,而是把問題拋給程序開發者來處理。資料庫安全主要包括三個方面:互聯網系統安全、操作系統安全、資料庫管理系統安全等三個方面。
(一)互聯網系統安全機制
Intemet系統安全是資料庫第一道保障,一般的入侵都是從網路系統開始的。但是現在互聯網系統面臨著木馬程序的攻擊、網路犯罪欺騙、網路非法入侵與網路病毒等威脅。這些威脅都有可能使信息系統的完整性、秘密性、可信性遭到破壞。從技術角度來說預防互聯網系統安全的技術有很多種:如防火牆它是目前應用廣泛的一種防禦方式;防病毒軟體它可以使網路資料庫免受木馬病毒的攻擊,現在市面上的防病毒軟體有瑞星、360、諾頓等;入侵檢查它是專門為保護計算機系統安全而配置的以及能及時發現威脅並報告威脅的一種技術,其可以時時監控系統是否有被入侵,並能主動的實施安全防禦並且保護系統。
(二)操作系統安全機制
現在很多企業家庭大多都用Windows的操作系統,這個系統本身就有缺陷、安全配置、網路病毒等三個方面的威脅。但是這些威脅可以通過人工操作來避免。網路管理員必須定期對操作系統進行升級更新,合理化安全配置以及病毒掃描,這樣能及時發現操作系統的漏洞並且能及時制定修補計劃。
(三)資料庫管理系統安全機制
資料庫管理系統它都是採用多個不同的安全設置方法與用戶設置做為不同的訪問許可權,而且可以定期進行數據備份,以防系統出問題造成數據丟失。數據安全可以分為:數據加密、數據備份與恢復、數據存儲的安全性、數據傳輸的安全性、數據存取許可權等等。資料庫管理系統又分為兩部分:一個是資料庫,存儲數據信息的倉庫;另一個是資料庫管理系統,它不但陸猜皮可以給用戶與應用程序提供數據訪問,而且兆銷也具有管理資料庫、資料庫維護等工作的能力。資料庫與它的管理系統在整個網路環境中,做為信息數據早差儲存和處理訪問的重要工作地必須具有以下能力:資料庫的保密性、資料庫的完整性、資料庫的一致性、資料庫的可用性、資料庫的跟蹤性。
三、資料庫的安全威脅
網路資料庫的安全意義是保護網路中資料庫信息的保密性、完整性、一致性、可用性。保護網路資料庫的安全我們需要保護其系統中的數據信息不被惡意破壞、修改、泄漏。一般保護資料庫安全的技術有:授權控制、身份辨別、資料庫安全審計等等。我們只要做好防範有很多威脅是可以避免的,資料庫在網路環境中面臨的威脅有以下幾點:
1.軟體環境出現意外,如系統崩潰軟體不能運行;硬體環境受損,如電纜介面斷裂、硬碟不能啟動、磁碟損壞等。
2.病毒入侵嚴重的可以導致系統崩潰,進一步破壞數據。
3.資料庫被不正確訪問,引發資料庫中數據的錯誤。
4.未授權訪問資料庫,盜取資料庫中數據信息。
5.未授權修改資料庫中數據,使數據真實性丟失。
6.通過非正常路徑對資料庫進行攻擊。
7.人為的破壞,管理員操作不當使數據丟失。
四、資料庫常用安全技術
網路由於其開放性,它絕對沒有安全存在,我們可以通過安全管理減少很多不必要的損失。從保護資料庫的安全出發,可從資料庫管理系統去考慮問題。保證資料庫安全的技術主要有:用戶身份認證、許可權訪問控制、信息流控制、資料庫加密、資料庫安全審計、防火牆等。
(一)資料庫的物理安全
物理安全是保證資料庫安全的基本。它重點指保護資料庫伺服器、存放資料庫的環境與網路等物理安全。一般指連接伺服器的網路電線與放置交換機的環境是否安全,避免自然災害的侵襲如:雷擊、火災、洪水、電壓是否穩定等等物理問題。
(二)用戶身份認證
用戶身份認證是系統提供的第一道安全保護閘門。每一次用戶進入資料庫時系統都會提示身份驗證,用戶只能輸入正確的命令才能進入,身份信息如不正確會發出警告。這樣可以防止非授權用戶進入資料庫對數據信息造成破壞、盜取等行為。目前使用最多的身份驗證手段是設置用戶名與密碼。但是也有更高級別的驗證方法正在迅速發展起來如:智能IC卡、指紋、人臉等強度高的認證技術。用戶身份的識別只能通過資料庫授權與驗證才能知道是否為合法的用戶。
(三)訪問控制技術
所謂的訪問控制是指已經進入系統的用戶,資料庫管理系統內部這些用戶進行訪問許可權的控制,是防止系統安全漏洞的一種保護方法,也是其核心技術。訪問控制就是控制資料庫可以被哪些用戶訪問,不被哪些用戶訪問。只有被授權的用戶才能對資料庫的數據進行讀、寫、刪、查。一般授權有:按功能模塊來授權用戶、賦予用戶資料庫系統許可權等兩種。用戶訪問控制是資料庫安全技術中最有效的方法,也是目前人們用的最多的一種技術。
(四)數據加密處理
資料庫系統提供的一系列安全措施是可以滿足資料庫的日常應用,但如果數據比較敏感、重要,像公司的財務數據、軍事數據、國家機密、以及個人隱私等這些數據,採用以上所述的幾種安全措施是不夠的,為了數據的保密性一般都會使用數據加密技術,增加數據儲存的安全性。根據網路數據的共享性這一特點,我們可以採用公開密鑰的加密辦法,這種加密辦法可以經受住來自操作系統和DBMS的攻擊,但是它的缺點是只能加密資料庫中的部分數據,但這也足夠機密數據進行數據加密保護。
(五)數據備份與恢復
軟硬體的故障我們不能百分百的保證,因此資料庫備份是很有必要的。如果資料庫被入侵、被病毒破壞、以及發生自燃災害、盜竊等情況數據就會丟失造成損失,但是如果我們做好了數據備份並且在短時間內恢復好資料庫,那麼造成的影響應該會很小。因此定期做好數據備份、對資料庫進行安全管理是保護資料庫的手段之一。備份資料庫的方法有:靜態、動態、邏輯備份三種,還可以採用磁碟鏡像、數據備份文件、資料庫在線日誌來恢復資料庫。保證網路環境下資料庫安全的前提是要做好防範工作,防禦能力提高了才能抵制外來的侵襲
五、結束語
計算機和網路已經成為人類工作和生活的一部分,在計算機操作系統、網路協議、資料庫中安全問題是一直備受關注的問題之一。隨著網路技術的發展,在網路環境中資料庫需求越來越大,然而資料庫的安全問題也備受人們關注。在信息技術高速發展的當今社會各個行業都把數據信息儲存在資料庫系統中,這使得資料庫安全顯得尤為重要。通過上述文章的詳解,有一點大家應該知道,那就是做好防禦工作是有備無患的明智之舉。在做預防工作之前最好是先了解一下資料庫安全性方面的知識,以免進入操作誤區。

㈣ 伺服器‌安全策略有哪些

一、修改windows默認的遠程埠
也許有高手認為自己做的挺安全的,就算是默認埠也不用被入侵以及被破密。其實修改默認的遠程埠一方面是防止入侵,另外一方面也是防止被掃描影響系統的穩定。
有了解過掃描3389軟體的人都知道,一般的攻擊者都是掃描3389埠的,所以改成空此其它的埠可以防止被掃描到您的主機。為什麼說州虧此另外一方面也是防止被掃描3389埠影響到系統的穩定呢?如果您的伺服器默認是使用3389埠,掃描軟體就會強力嘗試密碼字典里的密碼,與您的主機建議很多的連接,佔用系統里的資源導致伺服器出現卡的現象。所以修改默認的遠程埠是有幾個好處的,希望大家重視。

二、修改windows默認的用戶名
我們做安全也是針對攻擊的行為而製作相對的策略,攻擊的人嘗試密碼破解的時候,都是使用默認的用戶名administrator,當你修改了用戶名之後,它猜不出您的用戶名,即使密碼嘗試上千萬次都不會成功的,如果要使用用戶名字典再加下密碼字典,我估計攻擊者就沒有那個心思了,而且也不會一時間破密到您的用戶名。所以修改用戶名就會減低被入侵的可能。
那麼修改成什麼樣的用戶名才是比較安全呢?個人建議使用中文冊迅再加上數字再上字母這樣的用戶名就非常強大了。例如: 非誠勿擾ADsp0973

三、使用復雜的密碼
從掃描以及破解的軟體看,都是使用簡單的常用的密碼進行破解的,例如1q2w3e4r5t或者123456或者12345qwert等簡單的組合密碼,所以使用這些密碼是非常不安全的。我個人就建議避免使用簡單的密碼防止被破解。
建議使用的密碼里包含 大字字母+小字字母+數字+特殊字元。 長度至少要12以上這樣會好一些。

㈤ 資料庫的安全策略有哪些

計算機安全是當前信息社會非常關注的問題,而資料庫系統更是擔負著存儲和管理數據信息的任務,因而如何保證和加強其安全性,更是迫切需要解決的熱門課題。下面將討論資料庫的安全策略,並簡單介紹各種策略的實現方案。x0dx0a一、資料庫的安全策略x0dx0a資料庫安全策略是涉及信息安全的高級指導方針,這些策略根據用戶需要、安裝環境、建立規則和法律等方面的限制來制定。x0dx0a資料庫系統的基本安全性策略主要是一些基本性安全的問題,如訪問控制、偽裝數據的排除、用戶的認證、可靠性,這些問題是整個安全性問題的基本問題。資料庫的安全策略主要包含以下幾個方面:x0dx0a1.保證資料庫存在安全x0dx0a資料庫是建立在主機硬體、操作系統和網路上的系統,因此要保證資料庫安全,首先應該確保資料庫存在安全。預防因主機掉電或其他原因引起死機、操作系統內存泄漏和網路遭受攻擊等不安全因素是保證資料庫安全不受威脅的基礎。x0dx0a2.保證資料庫使用安全x0dx0a資料庫使用安全是指資料庫的完整性、保密性和可用性。其中,完整性既適用於資料庫的個別元素也適用於整個資料庫,所以在資料庫管理系統的設計中完整性是主要的關心對象。保密性由於攻擊的存在而變成資料庫的一大問題,用戶可以間接訪問敏感資料庫。最後,因為共享訪問的需要是開發資料庫的基礎,所以可用性是重要的,但是可用性與保密性是相互沖突的。x0dx0a二、資料庫的安全實現x0dx0a1.資料庫存在安全的實現x0dx0a正確理解系統的硬體配置、操作系統和網路配置及功能對於資料庫存在安全十分重要。比如對於硬體配置情況,就必須熟悉系統的可用硬碟數量,每個硬碟的可用空間數量,可用的CPU數量,每個CPU的Cache有多大,可用的內存數量,以及是否有冗餘電源等問題;對於操作系統,則應該周期性的檢查內存是否有泄漏,根文件系統是否需要清理,重要的日誌是否已經察看;對於網路就應該隨時確保網路沒有過載,網路暢通、網路安全是否得到保證等等。因為這一部分不是本文的重點,所以不再一一細述,總之,這三方面的安全運行是和維護資料庫存在安全不可分割的。x0dx0a2.資料庫完整性的實現x0dx0a資料庫的完整性包括庫的完整性和元素的完整性。x0dx0a資料庫的完整性是DBMS(資料庫管理系統)、操作系統和系統管理者的責任。資料庫管理系統必須確保只有經批準的個人才能進行更新,還意味著數據須有訪問控制,另外資料庫系統還必須防範非人為的外力災難。從操作系統和計算系統管理者的觀點來看,資料庫和DBMS分別是文件和程序。因此整個資料庫的一種形式的保護是對系統中所有文件做周期性備份。資料庫的周期性備份可以控制由災禍造成的損失。資料庫元素的完整性是指它們的正確性和准確性。由於用戶在搜集數據、計算結果、輸入數值時可能會出現錯誤,所以DBMS必須幫助用戶在輸入時能發現錯誤,並在插入錯誤數據後能糾正它們。DBMS用三種方式維護資料庫中每個元素的完整性:通過欄位檢查在一個位置上的適當的值,防止輸入數據時可能出現的簡單錯誤;通過訪問控制來維護資料庫的完整性和一致性;通過維護資料庫的更改日誌,記錄資料庫每次改變的情況,包括原來的值和修改後的值,資料庫管理員可以根據日誌撤消任何錯誤的修改。x0dx0a3.資料庫保密性的實現x0dx0a資料庫的保密性可以通過用戶身份鑒定和訪問控制來實現。x0dx0aDBMS要求嚴格的用戶身份鑒定。一個DBMS可能要求用戶傳遞指定的通行字和時間日期檢查,這一認證是在操作系統完成的認證之外另加的。DBMS在操作系統之外作為一個應用程序被運行,這意味著它沒有到操作系統的可信賴路徑,因此必須懷疑它所收的任何數據,包括用戶認證。因此DBMS最好有自己的認證機制。x0dx0a訪問控制是指根據用戶訪問特權邏輯地控制訪問范圍和操作許可權。如一般用戶只能訪問一般數據、市場部可以得到銷售數據、以及人事部可以得到工資數據等。DBMS必須實施訪問控制政策,批准對所有指定的數據的訪問或者禁止訪問。DBMS批准一個用戶或者程序可能有權讀、改變、刪除或附加一個值,可能增加或刪除整個欄位或記錄,或者重新組織完全的資料庫。x0dx0a4.資料庫可用性的實現x0dx0a資料庫的可用性包括資料庫的可獲性、訪問的可接受性和用戶認證的時間性三個因素。下面解釋這三個因素。x0dx0a(1)數據的可獲性x0dx0a首先,要訪問的元素可能是不可訪問的。例如,一個用戶在更新幾個欄位,其他用戶對這些欄位的訪問便必須被暫時阻止。這樣可以保證用戶不會收到不準確的信息。當進行更新時,用戶可能不得不阻止對幾個欄位或幾個記錄的訪問通道,以便保證數據與其他部分的一致性。不過有一點要注意,如果正在更新的用戶在更新進行期間退出,其他用戶有可能會被永遠阻止訪問該記錄。這種後遺症也是一個安全性問題,會出現拒絕服務。x0dx0a(2)訪問的可接受性x0dx0a記錄的一個或多個值可能是敏感的而不能被用戶訪問。DBMS不應該將敏感數據泄露給未經批準的個人。但是判斷什麼是敏感的並不是那麼簡單,因為可能是間接請求該欄位。一個用戶也許請求某些包含敏感數據的記錄,這可能只是由非敏感的特殊欄位推出需要的值。即使沒有明確地給出敏感的值,資料庫管理程序也可能拒絕訪問這樣的背景信息,因為它會揭示用戶無權知道的信息。x0dx0a(3)用戶認證的時間性x0dx0a為了加強安全性,資料庫管理員可能允許用戶只在某些時間訪問資料庫,比如在工作時間。

㈥ sqlserver有哪些安全策略

Microsoft建立了一種既靈活又強大的安全管理機制,它能夠對用戶訪問SQL Server伺服器系統和資料庫的安全進行全面地管理。按照本文介紹的步驟,你可以為SQL Server 7.0(或2000)構造出一個靈活的、可管理的安全策略,而且它的安全性經得起考驗。

一、驗證方法選擇
本文對驗證(authentication)和授權(authorization)這兩個概念作不同的解釋。驗證是指檢驗用戶的身份標識;授權是指 允許用戶做些什麼。在本文的討論中,驗證過程在用戶登錄SQL Server的時候出現,授權過程在用戶試圖訪問數據或執行命令的時候出現。
構造安全策略的第一個步驟是確定SQL Server用哪種方式驗證用戶。SQL Server的驗證是把一組帳戶、密碼與Master資料庫Sysxlogins表中的一個清單進行匹配。Windows NT/2000的驗證是請求域控制器檢查用戶身份的合法性。一般地,如果伺服器可以訪問域控制器,我們應該使用Windows NT/2000驗證。域控制器可以是Win2K伺服器,也可以是NT伺服器。無論在哪種情況下,SQL Server都接收到一個訪問標記(Access Token)。訪問標記是在驗證過程中構造出來的一個特殊列表,其中包含了用戶的SID(安全標識號)以及一系列用戶所在組的SID。正如本文後面所介紹 的,SQL Server以這些SID為基礎授予訪問許可權。注意,操作系統如何構造訪問標記並不重要,SQL Server只使用訪問標記中的SID。也就是說,不論你使用SQL Server 2000、SQL Server 7.0、Win2K還是NT進行驗證都無關緊要,結果都一樣。
如果使用SQL Server驗證的登錄,它最大的好處是很容易通過Enterprise Manager實現,最大的缺點在於SQL Server驗證的登錄只對特定的伺服器有效,也就是說,在一個多伺服器的環境中管理比較困難。使用SQL Server進行驗證的第二個重要的缺點是,對於每一個資料庫,我們必須分別地為它管理許可權。如果某個用戶對兩個資料庫有相同的許可權要求,我們必須手工設 置兩個資料庫的許可權,或者編寫腳本設置許可權。如果用戶數量較少,比如25個以下,而且這些用戶的許可權變化不是很頻繁,SQL Server驗證的登錄或許適用。但是,在幾乎所有的其他情況下(有一些例外情況,例如直接管理安全問題的應用),這種登錄方式的管理負擔將超過它的優 點。
二、Web環境中的驗證
即使最好的安全策略也常常在一種情形前屈服,這種情形就是在Web應用中使用SQL Server的數據。在這種情形下,進行驗證的典型方法是把一組SQL Server登錄名稱和密碼嵌入到Web伺服器上運行的程序,比如ASP頁面或者CGI腳本;然後,由Web伺服器負責驗證用戶,應用程序則使用它自己的 登錄帳戶(或者是系統管理員sa帳戶,或者為了方便起見,使用Sysadmin伺服器角色中的登錄帳戶)為用戶訪問數據。
這種安排有幾個缺點,其中最重要的包括:它不具備對用戶在伺服器上的活動進行審核的能力,完全依賴於Web應用程序實現用戶驗證,當SQL Server需要限定用戶許可權時不同的用戶之間不易區別。如果你使用的是IIS 5.0或者IIS 4.0,你可以用四種方法驗證用戶。第一種方法是為每一個網站和每一個虛擬目錄創建一個匿名用戶的NT帳戶。此後,所有應用程序登錄SQL Server時都使用該安全環境。我們可以通過授予NT匿名帳戶合適的許可權,改進審核和驗證功能。
第二種方法是讓所有網站使用Basic驗證。此時,只有當用戶在對話框中輸入了合法的帳戶和密碼,IIS才會允許他們訪問頁面。IIS依靠一個NT 安全資料庫實現登錄身份驗證,NT安全資料庫既可以在本地伺服器上,也可以在域控制器上。當用戶運行一個訪問SQL Server資料庫的程序或者腳本時,IIS把用戶為了瀏覽頁面而提供的身份信息發送給伺服器。如果你使用這種方法,應該記住:在通常情況下,瀏覽器與服 務器之間的密碼傳送一般是不加密的,對於那些使用Basic驗證而安全又很重要的網站,你必須實現SSL(Secure Sockets Layer,安全套接字層)。
在客戶端只使用IE 5.0、IE 4.0、IE 3.0瀏覽器的情況下,你可以使用第三種驗證方法。你可以在Web網站上和虛擬目錄上都啟用NT驗證。IE會把用戶登錄計算機的身份信息發送給IIS,當 該用戶試圖登錄SQL Server時IIS就使用這些登錄信息。使用這種簡化的方法時,我們可以在一個遠程網站的域上對用戶身份進行驗證(該遠程網站登錄到一個與運行著Web 伺服器的域有著信任關系的域)。
最後,如果用戶都有個人數字證書,你可以把那些證書映射到本地域的NT帳戶上。個人數字證書與伺服器數字證書以同樣的技術為基礎,它證明用戶身份標 識的合法性,所以可以取代NT的Challenge/Response(質詢/回應)驗證演算法。Netscape和IE都自動在每一個頁面請求中把證書信 息發送給IIS。IIS提供了一個讓管理員把證書映射到NT帳戶的工具。因此,我們可以用數字證書取代通常的提供帳戶名字和密碼的登錄過程。
由此可見,通過NT帳戶驗證用戶時我們可以使用多種實現方法。即使當用戶通過IIS跨越Internet連接SQL Server時,選擇仍舊存在。因此,你應該把NT驗證作為首選的用戶身份驗證辦法。
三、設置全局組
構造安全策略的下一個步驟是確定用戶應該屬於什麼組。通常,每一個組織或應用程序的用戶都可以按照他們對數據的特定訪問要求分成許多類別。例如,會 計應用軟體的用戶一般包括:數據輸入操作員,數據輸入管理員,報表編寫員,會計師,審計員,財務經理等。每一組用戶都有不同的資料庫訪問要求。

㈦ 保證資料庫安全的一般方法包括哪四種

1.資料庫用戶的管理,按照資料庫系統的大小和資料庫用戶所需的工作量,具體分配資料庫用戶的數據操作許可權,控制系統管理員用戶賬號的使用。

2.建立行之有效的資料庫用戶身份確認策略,資料庫用戶可以通過操作系統、網路服務以及資料庫系統進行身份確認,通過主機操作系統進行用戶身份認證。

3.加強操作系統安全性管理,數據伺服器操作系統必須使用正版軟體,同時要有防火牆的保護。

4.網路埠按需開放,根據實際需要只開放涉及業務工作的具體網路埠,屏蔽其它埠,這樣可以在較大程度上防止操作系統受入侵。

㈧ 資料庫安全的安全策略

資料庫的安全配置在進行安全配置之前,首先必須對操作系統進行安全配置,保證操作系統處於安全狀態。然後對要使用的操作資料庫軟體(程序)進行必要的安全審核,比如對ASP、PHP等腳本,這是很多基於資料庫的Web應用常出現的安全隱患,對於腳本主要是一個過濾問題,需要過濾一些類似「,; @ /」等字元,防止破壞者構造惡意的SQL語句。接著,安裝SQL Server2000後請打上最新SQL補丁SP4 。
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本身具備足夠的安全防範能力。當然,更主要的還是要加強內部的安全控制和管理員的安全培訓,而且安全性問題是一個長期的解決過程,還需要以後進行更多的安全維護。

㈨ 資料庫系統防黑客入侵技術綜述


1. 前言
隨著計算機技術的飛速發展,資料庫的應用十分廣泛,深入到各個領域,但隨之而來產生了數據的安全問題。各種應用系統的資料庫中大量數據的安全問題、敏感數據的防竊取和防篡改問題,越來越引起人們的高度重視。資料庫系統作為信息的聚集體,是計算機信息系統的核心部件,其安全性至關重要,關繫到企業興衰、國家安全。因此,如何有效地保證資料庫系統的安全,實現數據的保密性、完整性和有效性,已經成為業界人士探索研究的重要課題之一,本文就安全防入侵技術做簡要的討論。
資料庫系統的安全除依賴自身內部的安全機制外,還與外部網路環境、應用環境、從業人員素質等因素息息相關,因此,從廣義上講,資料庫系統的安全框架可以劃分為三個層次:
⑴ 網路系統層次;
⑵ 宿主操作系統層次;
⑶ 資料庫管理系統層次。
這三個層次構築成資料庫系統的安全體系,與數據安全的關系是逐步緊密的,防範的重要性也逐層加強,從外到內、由表及裡保證數據的安全。下面就安全框架的三個層次展開論述。
2. 網路系統層次安全技術
從廣義上講,資料庫的安全首先倚賴於網路系統。隨著Internet的發展普及,越來越多的公司將其核心業務向互聯網轉移,各種基於網路的資料庫應用系統如雨後春筍般涌現出來,面向網路用戶提供各種信息服務。可以說網路系統是資料庫應用的外部環境和基礎,資料庫系統要發揮其強大作用離不開網路系統的支持,資料庫系統的用戶(如異地用戶、分布式用戶)也要通過網路才能訪問資料庫的數據。網路系統的安全是資料庫安全的第一道屏障,外部入侵首先就是從入侵網路系統開始的。網路入侵試圖破壞信息系統的完整性、機密性或可信任的任何網路活動的集合,具有以下特點[1]:
a)沒有地域和時間的限制,跨越國界的攻擊就如同在現場一樣方便;
b)通過網路的攻擊往往混雜在大量正常的網路活動之中,隱蔽性強;
c)入侵手段更加隱蔽和復雜。
計算機網路系統開放式環境面臨的威脅主要有以下幾種類型[2]:a)欺騙(Masquerade);b)重發(Replay);c)報文修改(Modification of message);d)拒絕服務(Deny of service);e)陷阱門(Trapdoor);f)特洛伊木馬(Trojan horse);g)攻擊如透納攻擊(Tunneling Attack)、應用軟體攻擊等。這些安全威脅是無時、無處不在的,因此必須帶銀採取有效的措施來保障系統的安全。
從技術角度講,網路系統層次的安全防範技術有很多種,大致可以分為防火牆、入侵檢測、協作式入侵檢測技術等。
⑴防火牆。防火牆是應用最廣的一種防範技術。作為系統的第一道防線,其主要作用是監控可信任網路和不可信任網路之間的訪問通道,可在內部與外部網路之間形成一道防護屏障,攔截來自外部的非法訪問並阻止內部信息的外泄,但它無法阻攔來自網路內部的非法操作。它根據事先設定的規則來確定是否攔截信息流的進出,但無法動態識別或自塵肢適應地調整規則,因而其智能化程度很有限。防火牆技術主要有三種:數據包過濾器(packet filter)、代理(proxy)和狀態分析(stateful inspection)。現代防火牆產品通常混合使用這幾種技術。
⑵入侵檢測。入侵檢測(IDS-- Instrusion Detection System)是近年來發展起來的一種防範技術,綜合採用了統計技術、規則方法、網路通信技術、人工智慧、密碼學、推理等技術和方法,其作用是監控網路和計算機系統是否出現被入侵或濫用的徵兆。1987年,Derothy Denning首次提出了一種檢測入侵的思想,經過不斷發展和完善,作為監控和識別攻擊的標准解決方案,IDS系統已經成為安全防禦系統的重要組成部分。
入侵檢測採用的分析技術可分為三大類:簽名、統計和數據完整性分析法。
①簽名分析法。主要用來監測對系統的已知弱點進行攻擊的行為。人們從攻擊模式中歸納出它的簽名,編寫到IDS系統的代碼里。簽名分析實際上是一種模板匹配操作。
②統計分析法。以統計學為理論基礎,以系統正常使用情況下觀察到的動作模式為依據來判別某個動作是否偏離了正常軌道。
③數據完整性分析法。以密碼學為理論基礎,可以查證文件或者對象是否被別人修改過。
IDS的種類包括基於網路和基於主機的入侵監測系統、基於特徵的和基於非正常的入侵監測系統、實時和非實時的入侵監測系統等[1]。
⑶協作派行世式入侵監測技術
獨立的入侵監測系統不能夠對廣泛發生的各種入侵活動都做出有效的監測和反應,為了彌補獨立運作的不足,人們提出了協作式入侵監測系統的想法。在協作式入侵監測系統中,IDS基於一種統一的規范,入侵監測組件之間自動地交換信息,並且通過信息的交換得到了對入侵的有效監測,可以應用於不同的網路環境[3]。
3. 宿主操作系統層次安全技術
操作系統是大型資料庫系統的運行平台,為資料庫系統提供一定程度的安全保護。目前操作系統平台大多數集中在Windows NT 和Unix,安全級別通常為C1、C2級。主要安全技術有操作系統安全策略、安全管理策略、數據安全等方面。
操作系統安全策略用於配置本地計算機的安全設置,包括密碼策略、賬戶鎖定策略、審核策略、IP安全策略、用戶權利指派、加密數據的恢復代理以及其它安全選項[7]。具體可以體現在用戶賬戶、口令、訪問許可權、審計等方面。
用戶賬戶:用戶訪問系統的"身份證",只有合法用戶才有賬戶。
口令:用戶的口令為用戶訪問系統提供一道驗證。
訪問許可權:規定用戶的許可權。
審計:對用戶的行為進行跟蹤和記錄,便於系統管理員分析系統的訪問情況以及事後的追查使用。
安全管理策略是指網路管理員對系統實施安全管理所採取的方法及策略。針對不同的操作系統、網路環境需要採取的安全管理策略一般也不盡相同,其核心是保證伺服器的安全和分配好各類用戶的許可權。
數據安全主要體現在以下幾個方面:數據加密技術、數據備份、數據存儲的安全性、數據傳輸的安全性等。可以採用的技術很多,主要有Kerberos認證、IPSec、SSL、TLS、VPN(PPTP、L2TP)等技術。
4. 資料庫管理系統層次安全技術
資料庫系統的安全性很大程度上依賴於資料庫管理系統。如果資料庫管理系統安全機制非常強大,則資料庫系統的安全性能就較好。目前市場上流行的是關系式資料庫管理系統,其安全性功能很弱,這就導致資料庫系統的安全性存在一定的威脅。
由於資料庫系統在操作系統下都是以文件形式進行管理的,因此入侵者可以直接利用操作系統的漏洞竊取資料庫文件,或者直接利用OS工具來非法偽造、篡改資料庫文件內容。這種隱患一般資料庫用戶難以察覺,分析和堵塞這種漏洞被認為是B2級的安全技術措施[4]。
資料庫管理系統層次安全技術主要是用來解決這一問題,即當前面兩個層次已經被突破的情況下仍能保障資料庫數據的安全,這就要求資料庫管理系統必須有一套強有力的安全機制。解決這一問題的有效方法之一是資料庫管理系統對資料庫文件進行加密處理,使得即使數據不幸泄露或者丟失,也難以被人破譯和閱讀。
我們可以考慮在三個不同層次實現對資料庫數據的加密,這三個層次分別是OS層、DBMS內核層和DBMS外層。
⑴在OS層加密。在OS層無法辨認資料庫文件中的數據關系,從而無法產生合理的密鑰,對密鑰合理的管理和使用也很難。所以,對大型資料庫來說,在OS層對資料庫文件進行加密很難實現。
⑵在DBMS內核層實現加密。這種加密是指數據在物理存取之前完成加/脫密工作。這種加密方式的優點是加密功能強,並且加密功能幾乎不會影響DBMS的功能,可以實現加密功能與資料庫管理系統之間的無縫耦合。其缺點是加密運算在伺服器端進行,加重了伺服器的負載,而且DBMS和加密器之間的介面需要DBMS開發商的支持。
定義加密要求工具
DBMS
資料庫應用系統
加密器
(軟體或硬體)
⑶在DBMS外層實現加密。比較實際的做法是將資料庫加密系統做成DBMS的一個外層工具,根據加密要求自動完成對資料庫數據的加/脫密處理:
定義加密要求工具加密器
(軟體或硬體)
DBMS
資料庫應用系統
採用這種加密方式進行加密,加/脫密運算可在客戶端進行,它的優點是不會加重資料庫伺服器的負載並且可以實現網上傳輸的加密,缺點是加密功能會受到一些限制,與資料庫管理系統之間的耦合性稍差。
下面我們進一步解釋在DBMS外層實現加密功能的原理:
資料庫加密系統分成兩個功能獨立的主要部件:一個是加密字典管理程序,另一個是資料庫加/脫密引擎。資料庫加密系統將用戶對資料庫信息具體的加密要求以及基礎信息保存在加密字典中,通過調用數據加/脫密引擎實現對資料庫表的加密、脫密及數據轉換等功能。資料庫信息的加/脫密處理是在後台完成的,對資料庫伺服器是透明的。
加密字典管理程序
加密系統
應用程序
資料庫加脫密引擎
資料庫伺服器
加密字典
用戶數據
按以上方式實現的資料庫加密系統具有很多優點:首先,系統對資料庫的最終用戶是完全透明的,管理員可以根據需要進行明文和密文的轉換工作;其次,加密系統完全獨立於資料庫應用系統,無須改動資料庫應用系統就能實現數據加密功能;第三,加解密處理在客戶端進行,不會影響資料庫伺服器的效率。
資料庫加/脫密引擎是資料庫加密系統的核心部件,它位於應用程序與資料庫伺服器之間,負責在後台完成資料庫信息的加/脫密處理,對應用開發人員和操作人員來說是透明的。數據加/脫密引擎沒有操作界面,在需要時由操作系統自動載入並駐留在內存中,通過內部介面與加密字典管理程序和用戶應用程序通訊。資料庫加/脫密引擎由三大模塊組成:加/脫密處理模塊、用戶介面模塊和資料庫介面模塊,如圖4所示。其中,"資料庫介面模塊"的主要工作是接受用戶的操作請求,並傳遞給"加/脫密處理模塊",此外還要代替"加/脫密處理模塊"去訪問資料庫伺服器,並完成外部介面參數與加/脫密引擎內部數據結構之間的轉換。"加/脫密處理模塊"完成資料庫加/脫密引擎的初始化、內部專用命令的處理、加密字典信息的檢索、加密字典緩沖區的管理、SQL命令的加密變換、查詢結果的脫密處理以及加脫密演算法實現等功能,另外還包括一些公用的輔助函數。
數據加/脫密處理的主要流程如下:
1) 對SQL命令進行語法分析,如果語法正確,轉下一步;如不正確,則轉6),直接將SQL命令交資料庫伺服器處理。
2) 是否為資料庫加/脫密引擎的內部控制命令?如果是,則處理內部控制命令,然後轉7);如果不是則轉下一步。
3) 檢查資料庫加/脫密引擎是否處於關閉狀態或SQL命令是否只需要編譯?如果是則轉6),否則轉下一步。
4) 檢索加密字典,根據加密定義對SQL命令進行加脫密語義分析。
5) SQL命令是否需要加密處理?如果是,則將SQL命令進行加密變換,替換原SQL命令,然後轉下一步;否則直接轉下一步。
6) 將SQL命令轉送資料庫伺服器處理。
7) SQL命令執行完畢,清除SQL命令緩沖區。
以上以一個例子說明了在DBMS外層實現加密功能的原理。
5. 結束語
本文對資料庫系統安全防入侵技術進行綜述,提出了資料庫系統的安全體系三個層次框架,並對三個層次的技術手段展開描述。文中還以在DBMS外層實現加密功能的原理為例,詳細說明了如何應用資料庫管理系統層次的安全技術。
資料庫系統安全框架的三個層次是相輔相承的,各層次的防範重點和所採取的技術手段也不盡相同,一個好的安全系統必須綜合考慮核運用這些技術,以保證數據的安全。

㈩ Oracle資料庫安全

導讀:隨著計算機的普及以及網路的發展,資料庫已經不再僅僅是那些程序員所專有的話題,更是被很多人所熟悉的,數據安全已經不再是以前的「老生長談」,也更不是以前書本上那些「可望不可及」的條條框框。同時,安全問題也是現今最為熱門的話題,也是企業比較關心的問題,可見安全問題的重要性,那就大家一起來探討一下Oracle資料庫安全問題。
以下就資料庫喚悉悶系統不被非法用戶侵入這個問題作進一步的闡述。
一、組和安全性:
在操作系統下建立用戶組也是保證資料庫安全性的一種有效方法。Oracle程序為了安全性目的一般分為兩類:一類所有的用戶都可執行,另一類只DBA可執行。在Unix環境下組設置的配置文件是/etc/group,關於這個文件如何配置,請參閱Unix的有關手冊,以下是保證安全性的幾種方法:
(1)在安裝Oracle Server前,創建資料庫管理員組(DBA)而且分配root和Oracle軟體擁有者的用戶ID給這個組。DBA能執行的程序只有710許可權。在安裝過程中SQL*DBA系統許可權命令被自動分配給DBA組。
(2)允許一部分Unix用戶有限制地訪問Oracle伺服器系統,增加一個由授權用戶組的Oracle組,確保給Oracle伺服器實用常式Oracle組ID,公用的可執行程序,比如SQL*Plus,SQL*forms等,應該可被這組執行,然後該這個實用常式的許可權為710,它將允許同組的用戶執行,而其他用戶不能。
(3)改那些不會影響資料庫安全性的程序的許可權為711。(註:在我們的系統中為了安裝和調試的方便,Oracle資料庫中的兩個具有DBA許可權的用戶Sys和System的預設密碼是manager。為了您資料庫系統的安全,我們強烈建議您該掉這兩個用戶的密碼,具體操作如下:
在SQL*DBA下鍵入:
alter user sys indentified by password;
alter user system indentified by password;
其中password為您為用戶設置的密碼。
二、Oracle伺服器實用常式的安全性:
以下是保護Oracle伺服器不被非法用戶使用的幾條建議:
(1) 確保$ORACLE_HOME/bin目錄下的所有程序的擁有權歸Oracle軟體擁有者所有;
(2) 給所有用戶實用便程(sqiplus,sqiforms,exp,imp等)711許可權,使伺服器上所有的用戶都可訪問Oracle伺服器;
(3) 給所有的DBA實用常式(比如SQL*DBA)700許可權。Oracle伺服器和Unix組當訪問本地的服務時,您可以通過在操作系統下把Oracle伺服器的角色映射到Unix的組的方式來使用Unix管理伺服器的安全性,這種方法適應於本地訪問。
在Unix中指定Oracle伺服器角色的格式如下:
ora_sid_role[_dla]
其中 sid 是您Oracle資料庫的oracle_sid;
role 是Oracle伺服器中角色的名字;
d (可選)表示這個角色是預設值;a (可選)表示和彎這個角色帶有WITH ADMIN選項,您只可以把這個角色授予其他角色,不能是其他用戶。
以下是在/etc/group文件中設置的例子:
ora_test_osoper_d:NONE:1:jim,narry,scott
ora_test_osdba_a:NONE:3:pat
ora_test_role1:NONE:4:bob,jane,tom,mary,jim
bin: NONE:5:root,oracle,dba
root:NONE:7:root
片語「ora_test_osoper_d」表示組的名字;片語「NONE」表示這個組的密碼;數字1表示這個組的ID;接下來陸斗的是這個組的成員。前兩行是Oracle伺服器角色的例子,使用test作為sid,osoper和osdba作為Oracle伺服器角色的名字。osoper是分配給用戶的預設角色,osdba帶有WITH ADMIN選項。為了使這些資料庫角色起作用,您必須shutdown您的資料庫系統,設置Oracle資料庫參數文件initORACLE_SID.ora中os_roles參數為True,然後重新啟動您的資料庫。如果您想讓這些角色有connect internal許可權,運行orapwd為這些角色設置密碼。當您嘗試connect internal時,您鍵入的密碼表示了角色所對應的許可權。
SQL*DBA命令的安全性:
如果您沒有SQL*PLUS應用程序,您也可以使用SQL*DBA作SQL查許可權相關的命令只能分配給Oracle軟體擁有者和DBA組的用戶,因為這些命令被授予了特殊的系統許可權。
(1) startup
(2) shutdown
(3) connect internal
資料庫文件的安全性:
Oracle軟體的擁有者應該這些資料庫文件($ORACLE_HOME/dbs/*.dbf)設置這些文件的使用許可權為0600:文件的擁有者可讀可寫,同組的和其他組的用戶沒有寫的許可權。
Oracle軟體的擁有者應該擁有包含資料庫文件的目錄,為了增加安全性,建議收回同組和其他組用戶對這些文件的可讀許可權。
網路安全性:
當處理網路安全性時,以下是額外要考慮的幾個問題。
(1) 在網路上使用密碼在網上的遠端用戶可以通過加密或不加密方式鍵入密碼,當您用不加密方式鍵入密碼時,您的密碼很有可能被非法用戶截獲,導致破壞了系統的安全性。
(2) 網路上的DBA許可權控制您可以通過下列兩種方式對網路上的DBA許可權進行控制:
A 設置成拒絕遠程DBA訪問;
B 通過orapwd給DBA設置特殊的密碼。[nextpage]
三、建立安全性策略:
系統安全性策略
(1)管理資料庫用戶:資料庫用戶是訪問Oracle資料庫信息的途徑,因此,應該很好地維護管理資料庫用戶的安全性。按照資料庫系統的大小和管理資料庫用戶所需的工作量,資料庫安全性管理者可能只是擁有create,alter,或drop資料庫用戶的一個特殊用戶,或者是擁有這些許可權的一組用戶,應注意的是,只有那些值得信任的個人才應該有管理資料庫用戶的許可權。
(2) 用戶身份確認:資料庫用戶可以通過操作系統,網路服務,或資料庫進行身份確認,通過主機操作系統進行用戶身份認證的優點有:
A 用戶能更快,更方便地聯入資料庫;
B 通過操作系統對用戶身份確認進行集中控制:如果操作系統與資料庫用戶信息一致,Oracle無須存儲和管理用戶名以及密碼;
C 用戶進入資料庫和操作系統審計信息一致。
(3) 操作系統安全性
A 資料庫管理員必須有create和delete文件的操作系統許可權;
B 一般資料庫用戶不應該有create或delete與資料庫相關文件的操作系統許可權;
C 如果操作系統能為資料庫用戶分配角色,那麼安全性管理者必須有修改操作系統帳戶安全性區域的操作系統許可權。
數據的安全性策略:
數據的生考慮應基於數據的重要性。如果數據不是很重要,那麼數據的安全性策略可以稍稍放鬆一些。然而,如果數據很重要,那麼應該有一謹慎的安全性策略,用它來維護對數據對象訪問的有效控制。
用戶安全性策略:
(1) 一般用戶的安全性:
A 密碼的安全性:如果用戶是通過資料庫進行用戶身份的確認,那麼建議使用密碼加密的方式與資料庫進行連接。這種方式的設置方法如下:
在客戶端的oracle.ini文件中設置ora_encrypt_login數為true;
在伺服器端的initORACLE_SID.ora文件中設置dbling_encypt_login參數為true。
B 許可權管理:對於那些用戶很多,應用程序和數據對象很豐富的資料庫,應充分利用「角色」這個機制所帶的方便性對許可權進行有效管理。對於復雜的系統環境,「角色」能大大地簡化許可權的理。
(2) 終端用戶的安全性:
您必須針對終端用戶制定安全性策略。例如,對於一個有很多用戶的大規模資料庫,安全性管理者可以決定用戶組分類為這些用戶組創建用戶角色,把所需的許可權和應用程序角色授予每一個用戶角色,以及為用戶分配相應的用戶角色。當處理特殊的應用要求時,安全性管理者也必須明確地把一些特定的許可權要求授予給用戶。您可以使用「角色」對終端用戶進行許可權管理。
資料庫管理者安全性策略:
(1) 保護作為sys和system用戶的連接:
當資料庫創建好以後,立即更改有管理許可權的sys和system用戶的密碼,防止非法用戶訪問資料庫。當作為sys和system用戶連入資料庫後,用戶有強大的許可權用各種方式對資料庫進行改動。
(2) 保護管理者與資料庫的連接:
應該只有資料庫管理者能用管理許可權連入資料庫,當以sysdba或startup,shutdown,和recover或資料庫對象(例如create,drop,和delete等)進行沒有任何限制的操作。
(3) 使用角色對管理者許可權進行管理
應用程序開發者的安全性策略:
(1) 應用程序開發者和他們的許可權資料庫應用程序開發者是唯一一類需要特殊許可權組完成自己工作的資料庫用戶。開發者需要諸如create table,create,procere等系統許可權,然而,為了限制開發者對資料庫的操作,只應該把一些特定的系統許可權授予開發者。
(2) 應用程序開發者的環境:
A 程序開發者不應與終端用戶競爭資料庫資源;
B 用程序開發者不能損害資料庫其他應用產品。
(3) free和controlled應用程序開發應用程序開發者有一下兩種許可權:
A free development
應用程序開發者允許創建新的模式對象,包括table,index,procere,package等,它允許應用程序開發者開發獨立於其他對象的應用程序。
B controlled development
應用程序開發者不允許創建新的模式對象。所有需要table,indes procere等都由資料庫管理者創建,它保證了資料庫管理者能完全控制數據空間的使用以及訪問資料庫信息的途徑。但有時應用程序開發者也需這兩種許可權的混和。
(4) 應用程序開發者的角色和許可權資料庫安全性管理者能創建角色來管理典型的應用程序開發者的許可權要求。
A create系統許可權常常授予給應用程序開發者,以至於他們能創建他的數據對象。
B 數據對象角色幾乎不會授予給應用程序開發者使用的角色。
(5) 加強應用程序開發者的空間限製作為資料庫安全性管理者,您應該特別地為每個應用程序開發者設置以下的一些限制:
A 開發者可以創建table或index的表空間;
B 在每一個表空間中,開發者所擁有的空間份額。應用程序管理者的安全在有許多資料庫應用程序的資料庫系統中,您可能需要一應用程序管理者,應用程序管理者應負責起以下的任務:
a)為每一個應用程序創建角色以及管理每一個應用程序的角色;
b)創建和管理資料庫應用程序使用的數據對象;
c)需要的話,維護和更新應用程序代碼和Oracle的存儲過程和程序包。
我相信有了以上的這些建議,作為一個Oracle的管理者絕對可以做好他本職的工作了。可是,我們再怎麼努力,都始終得面對這樣一個現實,那就是Oracle畢竟是其他人開發的,而我們卻在使用。所以,Oracle到底有多少漏洞--我想這個不是你和我所能解決的。不過既然作為一篇討論Oracle數據安全的文章,我認為有必要把漏洞這一塊也寫進去,畢竟這也是「安全」必不可少的一部分。呵呵!
所以
Oracle漏洞舉例:
1.Oracle9iAS Web Cache遠程拒絕服務攻擊漏洞(2002-10-28)
2.Oracle 8.1.6的oidldapd中的漏洞
3.Oracle 9iAS OracleJSP 泄漏JSP文件信息漏洞
4.Linux ORACLE 8.1.5漏洞
總而言之一句話--「Oracle數據安全是一個博大而又精深的話題;如果你沒有耐心,就永遠不會得到它的精髓之所在。」希望大家能深入的去學習這篇文章,學好了也是百一而無一害。