Oracle安全性管理採取的基本措施簡介
資料安全性是指保護資料以防止非法的使用,避免造成資料有意或無意的丟失、洩露或破壞。由於資料庫系統中集中存放有大量的資料,這些資料又為眾多使用者所共享,所以安全約束是一個極為突出的問題。[@more@]Oracle資料庫系統在實現資料庫安全性管理方面採取的基本措施有:
透過驗證使用者名稱稱和口令,防止非Oracle使用者註冊到Oracle資料庫,對資料庫進行非法存取操作。
授予使用者一定的許可權,例如connect,resource等,限制使用者操縱資料庫的權力。
授予使用者對資料庫實體(如表、表空間、過程等)的存取執行許可權,阻止使用者訪問非授權資料。
提供資料庫實體存取審計機制,使資料庫管理員可以監視資料庫中資料的存取情況和系統資源的使用情況。
採用檢視機制,限制存取基表的行和列集合。
在實際應用中,許多系統往往採用假使用者(即非資料庫使用者)身份來管理,而真實使用者的身份和登入口令就隱藏在應用系統中,或經過各種壓縮加密等處理的配置檔案中。但這樣往往留下隱患,只要從分析應用程式入手,最終會分析出系統使用的資料庫使用者和口令,那麼其安全性也就消失了。另一方面,系統程式碼是程式設計師寫出來的,如果程式設計師有破壞意圖,這種模式沒有一絲的安全,因為他透過自己掌握的程式碼不經分析就輕而易舉的獲得登入用的資料庫使用者和口令。
而採用真實資料庫使用者,存在著許可權分配上的難度,特別是使用者數和應用表數都很多時,這時必然要使用角色來管理應用許可權的分配。當然不能直接將許可權或角色直接分配給使用者,否則使用者可以不同過應用系統,而採用SQL*PLUS等前端工具進入系統,進行一些沒有經過應用系統檢查的操作,產生的結果可能不符合應用邏輯。
我們在實踐中發現,可以採用另一種方式利用角色功能,來防止上面出現的安全“漏洞”。在這種方式下,使用者採用自己的標識和口令註冊,但在未得到授權的角色前,是沒有操縱資料庫的任何許可權。而授權使用者使用的角色是埋在應用程式中的,只有應用程式才知道角色的名稱和口令,從而啟用角色,使使用者擁有相應的許可權。在應用系統之外,使用者可以連線到Oracle,但沒有啟用相應的角色,他是不能做任何事情的,而開發人員不知道使用者的標識和口令,他沒有辦法登入到Oracle,即使他能夠推算出角色的標識和口令。
下面根據一個例子給出具體的實現過程:
我們假設使用者xiaoli在工作中能夠對工資表account.paytable(account是表paytable的擁有者)有查詢和更新的許可權,而這些許可權我們不直接授予xiaoli,而是構造一個角色(比如考勤員checkerrole),這個角色恰好適合於xiaoli,再將角色授予xiaoli,但角色在啟用時需要口令,該口令不對xiaoli公開。每個使用者需要一個預設的角色,是使用者連線到Oracle時的預設角色。這個角色只有connect許可權,我們假為defaultrole。
下面給出具體的操作SQL。
(1)設定各種角色,及其許可權
CREATE ROLE checkerrole IDENTIFIEDBYxm361001;
CREATE ROLE defaultrole IDENTIFIEDBYdefaultrole;
GRANTSELECT,UPDATEONaccount.paytableTOcheckerrole;
GRANTCONNECTTOdefaultrole;
(2)建立使用者
CREATEUSERxiaoliIDENTIFIEDBYxiaoli;
(3)授權
GRANTcheckerroleTOxiaoli;
GRANTdefaultroleTOxiaoli;
(4)設定使用者預設的角色
ALTERUSERxiaoliDEFAULTROLEdefaultrole;
(5)註冊過程
CONNECTxiaoli/xiaoli@Oracle
此時使用者只有其預設角色的許可權。
(6)啟用角色
SETROLEcheckerroleIDENTIFIEDBYxm361001;
操作成功後,xiaoli擁有checkerrole的許可權。
這裡的角色和口令是固定的,在應用系統中可以由應用管理人員自行設定則更為方便安全。
透過驗證使用者名稱稱和口令,防止非Oracle使用者註冊到Oracle資料庫,對資料庫進行非法存取操作。
授予使用者一定的許可權,例如connect,resource等,限制使用者操縱資料庫的權力。
授予使用者對資料庫實體(如表、表空間、過程等)的存取執行許可權,阻止使用者訪問非授權資料。
提供資料庫實體存取審計機制,使資料庫管理員可以監視資料庫中資料的存取情況和系統資源的使用情況。
採用檢視機制,限制存取基表的行和列集合。
在實際應用中,許多系統往往採用假使用者(即非資料庫使用者)身份來管理,而真實使用者的身份和登入口令就隱藏在應用系統中,或經過各種壓縮加密等處理的配置檔案中。但這樣往往留下隱患,只要從分析應用程式入手,最終會分析出系統使用的資料庫使用者和口令,那麼其安全性也就消失了。另一方面,系統程式碼是程式設計師寫出來的,如果程式設計師有破壞意圖,這種模式沒有一絲的安全,因為他透過自己掌握的程式碼不經分析就輕而易舉的獲得登入用的資料庫使用者和口令。
而採用真實資料庫使用者,存在著許可權分配上的難度,特別是使用者數和應用表數都很多時,這時必然要使用角色來管理應用許可權的分配。當然不能直接將許可權或角色直接分配給使用者,否則使用者可以不同過應用系統,而採用SQL*PLUS等前端工具進入系統,進行一些沒有經過應用系統檢查的操作,產生的結果可能不符合應用邏輯。
我們在實踐中發現,可以採用另一種方式利用角色功能,來防止上面出現的安全“漏洞”。在這種方式下,使用者採用自己的標識和口令註冊,但在未得到授權的角色前,是沒有操縱資料庫的任何許可權。而授權使用者使用的角色是埋在應用程式中的,只有應用程式才知道角色的名稱和口令,從而啟用角色,使使用者擁有相應的許可權。在應用系統之外,使用者可以連線到Oracle,但沒有啟用相應的角色,他是不能做任何事情的,而開發人員不知道使用者的標識和口令,他沒有辦法登入到Oracle,即使他能夠推算出角色的標識和口令。
下面根據一個例子給出具體的實現過程:
我們假設使用者xiaoli在工作中能夠對工資表account.paytable(account是表paytable的擁有者)有查詢和更新的許可權,而這些許可權我們不直接授予xiaoli,而是構造一個角色(比如考勤員checkerrole),這個角色恰好適合於xiaoli,再將角色授予xiaoli,但角色在啟用時需要口令,該口令不對xiaoli公開。每個使用者需要一個預設的角色,是使用者連線到Oracle時的預設角色。這個角色只有connect許可權,我們假為defaultrole。
下面給出具體的操作SQL。
(1)設定各種角色,及其許可權
CREATE ROLE checkerrole IDENTIFIEDBYxm361001;
CREATE ROLE defaultrole IDENTIFIEDBYdefaultrole;
GRANTSELECT,UPDATEONaccount.paytableTOcheckerrole;
GRANTCONNECTTOdefaultrole;
(2)建立使用者
CREATEUSERxiaoliIDENTIFIEDBYxiaoli;
(3)授權
GRANTcheckerroleTOxiaoli;
GRANTdefaultroleTOxiaoli;
(4)設定使用者預設的角色
ALTERUSERxiaoliDEFAULTROLEdefaultrole;
(5)註冊過程
CONNECTxiaoli/xiaoli@Oracle
此時使用者只有其預設角色的許可權。
(6)啟用角色
SETROLEcheckerroleIDENTIFIEDBYxm361001;
操作成功後,xiaoli擁有checkerrole的許可權。
這裡的角色和口令是固定的,在應用系統中可以由應用管理人員自行設定則更為方便安全。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/64429/viewspace-917172/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 韓國對比特幣交易採取新的限制措施比特幣
- 講解Oracle資料庫提供的多種安全性措施 (2)Oracle資料庫
- 講解Oracle資料庫提供的多種安全性措施 (1)Oracle資料庫
- 應對勒索軟體,應採取哪些預防措施
- 專案經理的職業發展可採取的措施(轉)
- ElasticSearch基本簡介Elasticsearch
- WindowsNT安全性API簡介(轉)WindowsAPI
- oracle自動撤銷管理簡介Oracle
- 微軟Vista將採取嚴厲措施遏制盜版微軟
- ElasticSearch基本簡介(一)Elasticsearch
- FreeRTOS——基本簡介
- Web 應用安全性: HTTP簡介WebHTTP
- SQLServer安全性專題一:簡介SQLServer
- 美國伺服器遭受攻擊時,應該採取哪些措施?伺服器
- 遇到伺服器被劫持應該採取什麼措施?伺服器
- 騰訊全面打擊網路賭博 已採取處置措施
- Oracle 的基本函式介紹Oracle函式
- 喇叭的基本發音原理簡介
- 我國的跨境資料傳輸機制及可採取的實際措施
- Oracle RAC基本管理Oracle
- SQL Server安全性專題一:簡介SQLServer
- git rebase簡介(基本篇)Git
- Hbase簡介和基本用法
- IDA Pro基本簡介
- 機器學習基本概念簡介機器學習
- 遊戲陪玩原始碼前端效能優化,開發階段可採取的措施遊戲原始碼前端優化
- 專案經理面對專案陷困境該這樣採取措施
- 商務部:中國將採取276項智慧財產權保護措施
- logstash簡介及基本操作
- jQuery-簡介與基本使用jQuery
- Oracle的service功能簡介Oracle
- ORACLE temp表的簡介Oracle
- Caffeine快取的簡單介紹快取
- 新型惡意軟體入侵近3萬臺Mac,蘋果採取應對措施Mac蘋果
- Spring Cloud Gateway現高風險漏洞,建議採取措施加強防護SpringCloudGateway
- Oracle Text簡介Oracle
- Oracle:srvctl 簡介Oracle
- Oracle:PGA 簡介Oracle