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

歡迎訪問 生活随笔!

生活随笔

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

数据库

4.数据库安全性

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

目錄

4.1數據庫安全性概述

4.1.1數據庫地不安全因素

4.1.2安全標準簡介

4.2數據庫安全性控制

4.2.1用戶身份鑒別

1.靜態口令鑒別

2.動態口令鑒別

3.生物特征鑒別

4.智能卡鑒別

4.2.2存取控制

1.定義用戶權限,并將用戶權限登記到數據字典中

2.合法權限檢查

4.2.3自主存取控制方法

4.2.4授權:授予與收回

1.GRANT

2.REVOKE

3.創建數據庫模式的權限

4.2.5數據庫角色

1.角色的創建

2.給角色授權

3.將一個角色授予其他的角色或用戶

4.角色權限的收回

4.2.6強制存取控制方法

4.3視圖機制

4.4審計

1.審計事件

2.審計功能

3.AUDIT和NOAUDIT語句

4.5數據加密

1.存儲加密

2.傳輸加密

4.6其它安全性保護

4.6.1推理控制

4.6.2隱蔽信道

4.6.3數據隱私


4.1數據庫安全性概述

數據庫地安全性時指保護數據庫以防止不合法使用所造成地數據泄露、更改或破壞。

4.1.1數據庫地不安全因素

1.非授權用戶對數據庫地惡意存取和破壞

2.數據庫中重要或敏感地數據被泄露

為防止數據泄露,數據庫管理系統提供的主要技術有強制存取控制、數據加密存儲和加密傳輸等。此外,在安全性要求較高的部門提供審計功能,通過分析審計日志,可以對潛在的威脅提前采取措施加以防范,對非授權用戶的入侵行為及信息破壞情況能夠進行跟蹤,防止對數據庫安全責任的否認。

3.安全環境的脆弱性

4.1.2安全標準簡介

計算機以及信息安全技術方面有一系列的安全標準,具有影響的當推TCSEC和CC這兩個標準。

目前CC已經基本取代了TSCEC。

TCSEC又稱桔皮書,分別從安全策略、責任、保證和文檔4個方面來描述安全性級別劃分的指標。

TCSEC/TDI將系統劃分為4組7個等級

安全級別定義
A1

驗證涉及

B3安全域
B2結構化保護
B1標記安全保護
C2受控的存取保護
C1自主安全保護
D最小保護

1)C1:該級只提供了非常初級的自主安全保護,能夠實現對用戶和數據的分離,進行自主存取控制(DAC),保護或限制用戶權限的傳播。

2)C2:該級實際上是安全產品的最低檔,提供受控的存取保護,即將C1級的DAC進一步細化,以個人身份注冊負責,并實施審計和資源隔離。

3)B1:標記安全保護。對系統的數據加以標記,并對標記的主體和客體實施強制存取控制MAC以及審計等安全機制。B1級別的產品才被認為是真正意義上的安全產品。

4)B2:結構化保護。建立形式化的安全策略模型,并對系統內的所有主體和課題實施DAC和MAC。

5)B3:安全域。該級的TCB(Trusted Computing Base)必須滿足訪問監控器的要求,審計跟蹤能力更強,并提供系統回復過程。

6)A1:驗證設計,即提供B3級保護的同時給出系統的形式化設計說明和驗證,以確信各安全保護真正實現。

CC提出了目前國際上公認的表述信息技術性的結構,即把對信息產品的安全要求分為安全功能要求和安全保證要求。安全功能要求用以規范產品和系統的安全行為,安全保證要求解決如何正確有效地實施這些功能。安全功能要求和安全保證要求都以“類-子類-組件”地結構表述,組件是安全要求地最小構件塊。

CC的文本由三部分組成:

1)簡介和一般模型,介紹CC中的有關術語、基本概念和一般模型以及與評估有關的一些框架。

2)安全功能要求,列出了一系列類、子類和組件。由11大類、66個子類和135個組件構成。

3)安全保證要求,列出了一系列保證類、子類和組件。包括7大類、26個子類和135個組件構成。

CC評估保證級(EAL)的劃分
評估保證級定義TCSEC安全級別(近似相當)
EAL1功能測試
EAL2結構測試C1
EAL3系統地測試和檢查C2
EAL4系統地設計、測試和復查B1
EAL5半形式化設計和測試B2
EAL6半形式化驗證的設計和測試B3
EAL7形式化驗證的設計和測試A1

4.2數據庫安全性控制

數據庫有關的安全性主要包括用戶身份鑒別、多層存儲控制、審計、視圖和數據加密等技術。

4.2.1用戶身份鑒別

用戶身份鑒別是數據庫管理系統提供的最外層安全保護措施。每個用戶在系統中都有一個用戶標識。每個用戶標識由用戶名和用戶標識號(UID)兩部分組成。UID在系統的整個生命周期內是唯一的。系統內部記錄著所有合法用戶的標識,系統鑒別是指由系統提供一定的方式讓用戶標識自己的名字或身份。每次用戶進入系統時,由系統進行核對,通過鑒定后才提供使用數據庫管理系統的權限。

用戶鑒別的方法有多種,往往是多種方法結合。

1.靜態口令鑒別

靜態口令一i版由用戶自己設定,鑒別時只要按要求輸入正確的口令,系統將允許用戶使用數據庫管理系統。

2.動態口令鑒別

這種方式的口令是動態變化的,每次鑒別時均需使用動態產生的新口令登錄數據庫管理系統,即采用一次一密的方法。常用的方式如短信密碼和動態令牌方式。

3.生物特征鑒別

它是通過生物特征進行認證的技術這種方式通過采用圖像處理和模式識別等技術實現了基于生物特征的認證。

4.智能卡鑒別

只能卡是一種不可復制的硬件,內置集成電路的芯片,具有硬件加密功能。智能卡由用戶隨身攜帶,登錄數據庫管理系統時用戶將智能卡插入專用的讀卡器進行身份驗證。

4.2.2存取控制

存取機制主要包括定義用戶權限和合法權限檢查兩部分。

1.定義用戶權限,并將用戶權限登記到數據字典中

用戶對某一數據對象的操作權力稱為權限。數據庫管理系統提供適當的語言來定義用戶權限,這些定義經過編譯后存儲在數據字典中,被稱作安全規則或授權規則。

2.合法權限檢查

每當用戶發出存取數據庫的操作請求后(請求一般包括操作類型、操作對象和操作用戶等信息),數據庫管理系統查找數據字典,根據安全規則進行合法權限檢查,若用戶的操作請求超出了定義的權限,系統將拒絕執行此操作。

定義用戶權限和合法權限檢查機制一起組成了數據庫管理系統的存取控制子系統。

C2級的數據庫管理系統支持自主存取控制,B1級的數據庫管理系統支持強制存取控制。

這兩類方法的簡單定義是:

1)在自主存取控制方法中,用戶對于不同的數據庫對象由不同的存取權限,不同的用戶對同一對象也有不同的權限,而且用戶還可將其擁有的存取權限轉授給其他用戶。

2)在強制存取控制方法中,每一個數據庫對象被標記以一定的密級,每一個用戶也被授予某一個級別的去可證,對于任意一個對象,只有具有合法去可證的用戶才可以存取。

4.2.3自主存取控制方法

用戶權限由兩個要素組成:數據庫對象和操作類型。定義一個用戶的存取權限就是要定義這個用戶可以在哪些數據庫對象上進行哪些類型的操作。在數據庫系統中,定義存取權限稱為授權。

在非關系系統中,用戶只能對數據進行操作,存取控制的數據庫對象也僅限于數據本身。

在關系數據庫系統中,存取控制的對象不僅有數據本身(基本表中數據、屬性列上的數據),還有數據庫模式(包括模式、基本表、視圖和索引的創建等)。

關系數據庫中的存取權限
對象類型對象操作類型
數據庫模式模式CREATE SCHEMA
基本表CREATE TABLE,ATER TABLE
視圖CREATE VIEW
索引CREATE INDEX
數據基本表和視圖

SELECT,INSERT,UPDATE,DELETE,REFERENCES

,ALL PRIVILEGES

屬性列

SELECT,INSERT,UPDATE,REFERENCES,ALL?

PRIVILEGES

4.2.4授權:授予與收回

SQL中用GRANT和REVOKE語句向用戶授予或收回對數據的操作權限。GRANT語句向用戶授予權限,REVOKE語句收回已經授予用戶的權限。

1.GRANT

GRANT語句的一般形式為:

GRANT<權限>[,<權限>]... ON<對象類型><對象名>[,<對象類型><對象名>]... TO<用戶>[,<用戶>]... [WITH GRANT OPTION];

其語義為:將對指定操作對象的指定操作權限授予指定的用戶。發出該GRANT語句的可以是數據庫管理員,也可以是該數據庫對象創建者,還可以是已經擁有該權限的用戶。接受權限的用戶可以是一個或多個具體用戶,也可以是PUBLIC,即全體用戶。

如果制定了WITH GRANT OPTION子句,則獲得某種權限的用戶還可以把這種權限再授予其他用戶。如果沒有指定,則獲得某種權限的用戶只能使用該權限,不能傳播該權限。

SQL標準允許具有WITH GRANT OPTION的用戶把相應權限或其子集傳遞授予其他用戶,但不允許循環授予,即被授予者不能把權限再授回給授權者或其祖先。

例如,將查詢Student表的權限授給用戶U1:

GRANT SELECT ON TABLE Student TO U1;

對屬性列授權時必須明確指出相應的屬性列名。

2.REVOKE

授予用戶的權限可以由數據庫管理員或其他授權者用REVOKE語句收回,REVOKE語句的一般形式為:

REVOKE<權限>[,<權限>]... ON<對象類型><對象名>[,<對象類型><對象名>]... FROM<用戶>[,<用戶>]...[CASCADE|RESTRICT];

例如,把用戶U4修改學生學號的權限收回:

REVOKE UPDATE(Sno) ON TABLE Student FROM U4;

3.創建數據庫模式的權限

GRANT和REVOKE語句向用戶授予或回收對數據的操作權限。對創建數據庫模式一類的數據庫對象的授權則由數據庫管理員在創建用戶時實現。

CREATE USER語句的一般格式如下:

CREATE USER<username>[WITH][DBA|RESOURSE|CONNECT];

對CREATE USER語句說明如下:

1)只有系統的超級用戶才有權創建一個新的數據庫用戶。

2)新創建的數據庫用戶有三種權限:CONNECT、RESOURSE和DBA。

3)CREATE USER命令中如果沒有指定創建的新用戶的權限,默認該用戶擁有CONNECT權限。擁有CONNRCT權限的用戶不能創建新用戶,不能創建模式,也不能創建基本表,只能登錄數據庫。

4)擁有RESOURSE權限的用戶能創建基本表和視圖,成為所創建對象的屬主,但不能創建模式,不能創建新用戶。數據庫對象的屬主可以使用GRANT語句把該對象上的存取權限授予其他用戶。

5)擁有DBA權限的用戶是系統中的超級用戶,可以創建新用戶、模式、基本表和視圖等;DBA擁有對所有數據庫對象的存取權限,還可以把這些權限授予一般用戶。

注意:CREATE USER語句不是SQL標準,因此不同的關系數據庫管理系統的語法和內容相差甚遠。

4.2.5數據庫角色

數據庫角色是被命名的一組與數據庫操作相關的權限,角色是權限的集合。因此,可以為一組具有相同權限的用戶創建一個角色,使用角色來管理數據庫權限可以簡化授權的過程。在SQL中首先用CREATE ROLE語句創建角色,然后用GRANT語句給角色授權,用REVOKE語句收回授予角色的權限。

1.角色的創建

CREATE ROLE<角色名>

2.給角色授權

GRANT<權限>[,<權限>]... ON<對象類型>對象名 TO<角色>[,<角色>]...;

3.將一個角色授予其他的角色或用戶

GRANT<角色1>[,<角色2>]... TO<角色3>[,<用戶1>]... [WITH ADMIN OPTION];

該語句把角色授予用戶,或授予另一個角色。授予者或者是角色的創建者,或者擁有在這個角色上的ADMIN OPTION。

如果指定了WITH ADMIN OPTION子句,則獲得某種權限的角色或用戶還可以把這種權限再授予其他角色。

一個角色包含的權限包括直接授予這個角色的全部權限加上其他角色授予這個角色的全部權限。

4.角色權限的收回

REVOKE<權限>[,<權限>]... ON<對象類型><對象名> FROM<角色>[,<角色>]

用戶可以收回角色的權限,從而修改角色擁有的權限。

4.2.6強制存取控制方法

在強制存取控制中,數據庫管理類系統所管理的全部實體被分為主體和客體兩大類。

主體是系統中的活動實體,既包括數據庫管理系統所管理的實際用戶,也包括代表用戶的各進程。客體是系統中的被動實體,是受主體操縱的,包括文件、基本表、索引、視圖等。對于主體和客體,數據庫管理系統為它們每個實例(值)指派一個敏感度標記。

敏感度標記被分成若干級,例如絕密(Top Secret TS)、機密(Secret S)、可信(Confidential C)、公開(Pubilc P)等。密級的次序是TS>=S>=C>=P。主體的敏感度標記稱為許可證級別,客體的敏感度標記稱為密級。強制存取控制機制是通過對比主體的敏感度標記和客體的敏感度標記,最終確定主體是否能夠存取客體。

當某一用戶(或某一主體)以標記label注冊入系統時,系統要求他對任何客體的存取必須遵循以下規則:

1)僅當主體的許可證級別大于或等于客體的密級時,該主體才能讀取相應的客體。

2)僅當主體的許可證級別小于或等于客體的密級時,該主體才能寫相應的客體。

按照規則2),用戶可以為寫入的數據對象賦予高于子集的許可證級別的密級。這樣一旦數據被寫入,該用戶自己也不能再讀該數據對象了。如果違反了規則2),就有可能把數據的密級從高流向低,造成數據的泄露。

強制存取控制是對數據本身進行密級標記,文論數據如何復制,標記與數據是一個不可分的整體,只有符合密級標記要求的用戶才可以操縱數據,從而提供了更高級別的安全性。較高安全性級別提供的安全保護要包含較低級別的所有保護,因此在實現強制存取控制時要首先實現自主存取控制,即自主存取控制與強制存取控制共同構成數據庫管理系統的安全機制。其安全檢查的流程是,系統首先進行自主存取控制,對通過自主存取控制檢查的允許存取的數據庫對象再由系統自動進行強制存取控制檢查,只有通過強制存取控制檢查的數據庫對象方可存取。

4.3視圖機制

可以為不同的用戶定義不同的視圖,把數據對象限制在一定的范圍內。也就是說,通過視圖機制把要保密的數據對無權存取的用戶隱藏起來,從而對數據提供一定程度的安全保護。

視圖機制間接地實現支持存取謂詞的用戶權限定義。

例如,建立計算機系學生的視圖,把對該視圖的SELECT權限授予王平,把該視圖上的所有操作權限授予張明:

CREATE VIEW CS_Student AS SELECT* FROM Student WHERE Sdept='CS';GRANT SELECT ON CS_Student TO 王平;GRANT ALL PRIVILEGES ON CS_Student TO 張明;

4.4審計

審計功能就是數據庫管理系統達到C2以上安全級別必不可少的一項指標。審計功能把用戶對數據庫的所有操作自動記錄下來放入審計日記(audit log)中。審計員可以利用審計日記監控數據庫中的各種行為,重現導致數據庫現有狀況的一系列事件,找出非法存取數據的人、時間和內容等。

審計通常是很浪費空間和時間的,所有數據庫管理系統往往都將審計設置為可選特征,允許數據庫管理員u你根據具體應用對安全性的要求靈活地打開或關閉審計功能。

可審計時間有服務器時間、系統權限、語句事件及模式對象事件,還包括用戶鑒別、自主訪問控制和強制訪問控制事件。

1.審計事件

1)服務器事件:審計數據庫服務器發生的事件,包含數據庫服務器的啟動、停止、數據庫服務器配置文件的重新加載。

2)系統權限:對系統擁有的結構或模式對象進行操作的審計,要求該操作的權限是通過系統權限獲得的。

3)語句事件:對SQL語句,如DDL、DML、DQL及DCL語句的審計。

4)模式對象事件:對待定模式對象上進行的SELECT或DML操作的審計。模式對象包括表、視圖、存儲過程、函數等。模式對象不包括依附于表的索引、約束、觸發器、分區表等。

2.審計功能

1)基本功能,提供多種審計查閱方式:基本的、可選的、有限的,等等。

2)提供多套審計規則,審計規則一般在數據庫初始化時設定,以方便審計員管理。

3)提供審計分析和報表功能。

4)審計日志管理功能,包括為防止審計員誤刪審計記錄,審計日志必須先轉儲后刪除;對轉儲的審計記錄文件提供完整性和保密性保護;只允許審計員查閱和轉儲審計記錄,不允許任何用戶新增和修改審計記錄等。

5)系統提供查詢審計設置及審計記錄信息的專門視圖。對于系統權限級別、語句級別及模式對象級別的審計記錄也可通過相關的系統表直接查看。

3.AUDIT和NOAUDIT語句

AUDIT語句用來設置審計功能,NOAUDIT語句則取消審計功能。

審計一般可以分為用戶級審計和系統審計。用戶審計是任何用戶可設置的審計,主要是用戶針對自己創建的數據庫表或視圖進行審計,記錄所有用戶對這些表或視圖的一切成功和不成功的訪問要求以及各種類型的SQL操作。

例如,對修改SC表結構或修改SC表數據的操作進行審計:

AUDIT ALTER,UPDATE ON SC;

例如,取消對SC表的一切審計:

NOAUDIT ALTER,UPDATE ON SC;

審計設置以及審計日志一般都存儲在數據字典中。必須把審計開關打開(及把系統參數audit_trail設為true),才可以在系統表SYS_AUDITTRAIL中看到審計信息。

4.5數據加密

加密的基本思想是根據一定的算法將原始數據——明文(plain text)變換為不可直接識別的格式——密文(cipher text),從而使得不知道解密算法的人無法獲知數據的內容。

數據加密主要包括存儲加密和傳輸加密。

1.存儲加密

對于存儲加密,一般提供透明和非透明兩種存儲加密方式。透明存儲加密是內核級加密保護方式,對用戶完全透明;非透明存儲加密則是通過多個加密函數實現的。

透明存儲加密是數據在寫到磁盤時對數據進行加密,授權用戶讀取數據時再對其進行解密。由于數據加密對用戶透明,數據庫的應用程序不需要做任何修改,只需再創建表語句中說明需加密的阻斷即可。

2.傳輸加密

常用的傳輸加密方式如鏈路加密和端到端加密。其中鏈路加密對傳輸數據再鏈路層進行加密,它的傳輸信息由報頭和報文兩部分組成,前者時路由選擇信息,而后者是傳送的數據信息。這種方式對報文和報頭均加密。端到端加密對傳輸數據再發送端加密,接收端解密。它只加密報文,不加密報頭。與鏈路加密相比,它只在發送端和接收端需要密碼設備,而中間節點不需要密碼設備,因此它所需密碼設備數量相對較少。

4.6其它安全性保護

除自主存取控制和強制存取控制之外,還有推理控制以及數據應用中隱蔽信道和數據隱私保護等技術。

4.6.1推理控制

推理控制處理的是強制存取控制未解決的問題。例如,利用列的函數依賴關系,用戶能從低安全等級信息推導除其無權訪問的高安全等級信息。

數據庫推理控制機制用來避免用戶利用其能夠訪問的數據推知更高密級的數據,即用戶利用其被允許的多次查詢的結果,結合相關的領域背景知識以及數據之間的約束,推導出其不能訪問的數據。

4.6.2隱蔽信道

隱蔽信道處理內容也是強制存取控制未解決的問題。

通常,如果INSERT語句對UNIQUE屬性列寫入重復值,則系統會報錯且操作失敗。那么針對UNIQUE約束列,高安全等級用戶可先向該列插入數據,而低安全等級用戶向該列插入相同數據。如果插入失敗,則表明發送者已向該列插入數據,此時二者約定發送者傳輸信息位為0;如果插入成功,則表明發送者未向該列插入數據,此時二者約定發送者傳輸信息位為1.

通過這種方式,高安全等級用戶按事先約定方式主動向低安全等級用戶傳輸信息,使得信息從高安全等級向低安全等級流動,從而導致高安全等級敏感信息泄露。

4.6.3數據隱私

所謂數據隱私是控制不愿被他人知道或他人不便知道的個人數據的能力。

總結

以上是生活随笔為你收集整理的4.数据库安全性的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。