日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

数据库安全保护

發(fā)布時間:2023/12/18 数据库 46 豆豆
生活随笔 收集整理的這篇文章主要介紹了 数据库安全保护 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

什么是數(shù)據(jù)庫安全保護?

防止數(shù)據(jù)意外丟失和不一致數(shù)據(jù)的產(chǎn)生,以及當數(shù)據(jù)庫遭受破壞后迅速恢復(fù)正常。

DBMS對數(shù)據(jù)庫的安全保護方功能是通過四方面實現(xiàn)的,即安全性控制完整性控制并發(fā)性控制數(shù)據(jù)庫恢復(fù)


安全性控制:

含義:盡可能地杜絕所有可能的數(shù)據(jù)庫非法訪問。例如:繞過DBMS的授權(quán)機制,通過操作系統(tǒng)直接存取、修改或備份有關(guān)數(shù)據(jù)。


一般方法

DBMS是建立在操作系統(tǒng)之上的,安全的操作系統(tǒng)是數(shù)據(jù)庫安全的前提。操作系統(tǒng)應(yīng)能保證數(shù)據(jù)庫中的數(shù)據(jù)必須由DBMS訪問,而不允許用戶越過DBMS直接通過操作系統(tǒng)訪問。數(shù)據(jù)最后可以通過密碼的形式存儲到數(shù)據(jù)庫中。這里只討論數(shù)據(jù)庫有關(guān)的安全性措施,分為用戶標識和鑒定用戶存取權(quán)限控制定義視圖數(shù)據(jù)加密審計等。


用戶標識和鑒定:

系統(tǒng)提供一定的方式讓用戶標識自己的名字和身份,系統(tǒng)內(nèi)部記錄著所有合法用戶的標識,每次用戶要求進入系統(tǒng)時,由系統(tǒng)進行核實,通過鑒定后才提供計算機的使用權(quán),它是最外層的安全保護措施。常用方法:(1)用一個用戶名或用戶標識符來標明用戶的身份(2)用戶名與口令相結(jié)合(3)每個用戶預(yù)先約定好一個過程或者函數(shù),鑒別用戶身份時,系統(tǒng)提供一個隨機數(shù),用戶根據(jù)自己預(yù)先約定的計算過程或者函數(shù)進行計算,系統(tǒng)根據(jù)計算結(jié)果辨別用戶身份的合法性。


用戶存取權(quán)限控制:

存取權(quán)限由兩個要素組成:數(shù)據(jù)對象和操作類型。定義一個用戶的存取權(quán)限就是要定義這個用戶可以在哪些數(shù)據(jù)對象上進行哪些類型的操作。定義用戶存取權(quán)限稱為授權(quán)。權(quán)限可以分為系統(tǒng)權(quán)限和對象權(quán)限兩種,系統(tǒng)權(quán)限是由DBA授予某些數(shù)據(jù)庫用戶能夠?qū)?shù)據(jù)庫系統(tǒng)進行某種特定操作的權(quán)利,如創(chuàng)建一個基本表(CREATE TABLE),只有得到系統(tǒng)權(quán)限,才能成為數(shù)據(jù)庫用戶;對象權(quán)限可以由DBA授予,也可以由基本表、視圖等數(shù)據(jù)對象的創(chuàng)建者授予,使數(shù)據(jù)庫用戶具有對某些數(shù)據(jù)對象進行某些操作的權(quán)限,如查詢(SELECT)、添加(INSERT)、修改(UPDATE)和刪除(DELETE)等操作。
在系統(tǒng)初始化時,系統(tǒng)中至少有一個具有DBA權(quán)限的用戶,DBA可以通過GRANT語句將系統(tǒng)權(quán)限或?qū)ο髾?quán)限授予其他用戶,并可以通過REVOKE語句收回所授予的權(quán)限。
角色是多種權(quán)限的集合,可以把角色授予用戶或其他角色。可以避免許多重復(fù)性的工作,簡化了數(shù)據(jù)庫用戶的權(quán)限管理工作。


定義視圖:

為不同的用戶定義不同的視圖,可以限制各個用戶的訪問范圍。通過視圖機制把要保密的數(shù)據(jù)對無權(quán)存取這些數(shù)據(jù)的用戶隱藏起來,從而自動地對數(shù)據(jù)提供一定程度地安全保護。


數(shù)據(jù)加密:

前面幾種數(shù)據(jù)庫安全措施,都是防止從數(shù)據(jù)庫系統(tǒng)中竊取保密數(shù)據(jù),不能防止通過不正常渠道非法訪問數(shù)據(jù),例如,偷取存儲數(shù)據(jù)的硬盤,或在通信線路上竊取數(shù)據(jù),為了防止此類手段,比較好的辦法是對數(shù)據(jù)加密。加密的基本思想是根據(jù)一定的算法將原始數(shù)據(jù)(術(shù)語明文)加密成為不可直接識別的格式(術(shù)語密文),數(shù)據(jù)以密文的形式存儲和傳輸。


審計:

實際上任何系統(tǒng)的安全性措施都不是絕對可靠的,對于某些高度敏感的保密數(shù)據(jù),必須以審計作為預(yù)防手段。審計功能是一種監(jiān)視措施,它跟蹤記錄有關(guān)數(shù)據(jù)的訪問活動。使用審計功能把用戶對數(shù)據(jù)庫的的所有操作自動記錄下來,存放在一個特殊文件中,即審計日志(Audit Log)中。利用這些信息,可以重現(xiàn)導(dǎo)致數(shù)據(jù)庫現(xiàn)有狀況的一系列事件,以進一步找出非法存取數(shù)據(jù)的人、時間和內(nèi)容等。但使用審計功能會大大增加系統(tǒng)開銷,所以DBMS通常將其作為可選特征,并提供相應(yīng)的操作語句,可靈活地打開或關(guān)閉審計功能。


完整性控制:

含義:數(shù)據(jù)庫的完整性是指保護數(shù)據(jù)的正確性、有效性和相容性,防止錯誤的數(shù)據(jù)進入數(shù)據(jù)庫造成無效操作。
數(shù)據(jù)庫的完整性和安全性是數(shù)據(jù)庫保護的兩個不同的方面,安全性措施的防范對象是非法用戶和非法操作,完整性措施的防范對象是合法用戶的不合語義的數(shù)據(jù)


完整性約束條件的分類

【按約束條件使用的對象劃分】
(1)值的約束和結(jié)構(gòu)約束。值的約束即對數(shù)據(jù)類型、數(shù)據(jù)格式、取值范圍和空值等進行規(guī)定。結(jié)構(gòu)的約束即對數(shù)據(jù)之間聯(lián)系的約束。

【按約束對象的狀態(tài)劃分】
(2)靜態(tài)約束和動態(tài)約束


方法

聲明式數(shù)據(jù)完整性:約束(Constraint)、默認值(Default)、規(guī)則(Rule)
程序化數(shù)據(jù)完整性:存儲過程(Stored Procedure)、觸發(fā)器(Trigger)


并發(fā)控制與封鎖:

含義前面的完整性控制是保證各個事務(wù)本身能得到正確的數(shù)據(jù),只考慮一個用戶使用數(shù)據(jù)庫的情況,但實際上數(shù)據(jù)庫中有許多用戶,每個時刻可能只有一個用戶程序運行,也可能有多個用戶并行地存取數(shù)據(jù)庫,這樣就會發(fā)生多個用戶并發(fā)存取同一數(shù)據(jù)的情況,如果對并發(fā)操作不加控制可能會產(chǎn)生不正確的數(shù)據(jù),破壞數(shù)據(jù)的完整性。并發(fā)控制就是要解決這類問題,以保持數(shù)據(jù)庫中數(shù)據(jù)的一致性,即在任何一個時刻數(shù)據(jù)庫都將以相同的形式給用戶提供數(shù)據(jù)。


方法

封鎖技術(shù)和時標技術(shù)。封鎖技術(shù)是目前DBMS普遍采用的并發(fā)控制方法。這里介紹封鎖技術(shù)。
所謂封鎖就是當一個事務(wù)在對某個數(shù)據(jù)對象(可以是數(shù)據(jù)項、記錄、數(shù)據(jù)集以及整個數(shù)據(jù)庫)進行操作之前,必須獲得相應(yīng)的鎖,以保證數(shù)據(jù)操作的正確性和一致性。


封鎖類型:
(1)排他型封鎖。又稱寫封鎖,簡稱為X封鎖,原理是禁止并發(fā)操作。當事務(wù)T對某個數(shù)據(jù)對象R實現(xiàn)X封鎖后,其他事務(wù)要等T解鎖X封鎖后,才能對R進行封鎖。
(2)共享封鎖。又稱讀封鎖,簡稱為S鎖,原理是允許其他用戶對同一數(shù)據(jù)對象進行查詢,但不能對該數(shù)據(jù)對象進行修改。當事務(wù)T對某個數(shù)據(jù)對象R實現(xiàn)S封鎖后,其他事務(wù)只能對R加S鎖,而不能加X鎖,直到T釋放R上的S鎖。

封鎖協(xié)議
實際上,鎖是一個控制塊,其中包括被加鎖記錄的標識符及持有鎖的事務(wù)的標識符等。在封鎖時,要考慮一定的封鎖規(guī)則,例如,何時開始封鎖、封鎖多長時間、何時釋放等,這些封鎖規(guī)則稱為封鎖協(xié)議。對封鎖方式規(guī)定不同的規(guī)則,就形成了各種不同的封鎖協(xié)議。

封鎖粒度
封鎖粒度指封鎖的數(shù)據(jù)對象的大小。根據(jù)對數(shù)據(jù)的不同處理,封鎖的對象可以是這樣的一些邏輯單元:字段、記錄、表和數(shù)據(jù)庫等。

死鎖和活鎖
封鎖技術(shù)可有效解決并行操作的一致性問題,但也可產(chǎn)生新的問題,即活鎖和死鎖問題。
(1)活鎖。當某個事務(wù)請求對某一數(shù)據(jù)進行排他性封鎖時,由于其他事務(wù)對該數(shù)據(jù)的操作而使這個事務(wù)處于永久等待狀態(tài),這種狀態(tài)稱為活鎖。
(2)死鎖。在同時處于等待狀態(tài)的兩個或多個事務(wù)中,其中的每一個在它能夠進行之前,都等待著某個數(shù)據(jù),而這個數(shù)據(jù)已被它們中的某個事務(wù)所封鎖,這種狀態(tài)稱為死鎖。


數(shù)據(jù)庫的恢復(fù):

含義:盡管有許多保護措施,但數(shù)據(jù)庫的數(shù)據(jù)仍然無法保證絕對不遭受破壞,例如硬件的故障、軟件的錯誤、操作的失誤、惡意的破壞以及計算機病毒等都有可能發(fā)生,使數(shù)據(jù)庫中的數(shù)據(jù)丟失。因此,系統(tǒng)必須具有檢測故障并把數(shù)據(jù)從錯誤狀態(tài)中恢復(fù)到某一正確狀態(tài)的功能,這就是數(shù)據(jù)庫的恢復(fù)。


基本原理:利用數(shù)據(jù)的冗余。數(shù)據(jù)庫中任何被破壞或不正確的數(shù)據(jù)都可以利用存儲在其他地方的冗余數(shù)據(jù)來修復(fù)。
因此恢復(fù)系統(tǒng)應(yīng)該提供兩種類型的功能:一種是生成冗余數(shù)據(jù),即對可能發(fā)生的故障做某些準備,最常用的技術(shù)是登記日志文件和數(shù)據(jù)轉(zhuǎn)儲;另一種是冗余重建,即利用這些冗余數(shù)據(jù)恢復(fù)數(shù)據(jù)庫。



總結(jié)

以上是生活随笔為你收集整理的数据库安全保护的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。