国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > Oracle > 正文

保證Oracle數據庫安全性的策略和方法

2024-08-29 13:37:11
字體:
來源:轉載
供稿:網友

  數據庫安全性問題一直是圍繞著數據庫治理員的噩夢,數據庫數據的丟失以及數據庫被非法用戶的侵入使得數據庫治理員身心疲憊不堪。圍繞數據庫的安全性問題提出了一些安全性策略,希望對數據庫治理員有所幫助。 對于數據庫數據的安全問題,數據庫治理員可以參考有關系統雙機熱備份功能以及數據庫的備份和恢復的資料。
  
  一、組和安全性:
  
  在操作系統下建立用戶組也是保證數據庫安全性的一種有效方法。Oracle程序為 了安全性目的一般分為兩類:一類所有的用戶都可執行,另一類只DBA可執行。在Unix環境下組設置的配置文件是/etc/group,關于這個文件如何配置,請參閱Unix的有關手冊。
  
  保證安全性的幾種方法:
  
  (1) 在安裝OracleServer前,創建數據庫治理員組(DBA)而且分配root和Oracle軟件擁有者的用戶ID給這個組。DBA能執行的程序只有710權限。在安裝過程中SQL*DBA系統權限命令被自動分配給DBA組。
  
  (2) 答應一部分Unix用戶有限制地訪問Oracle服務器系統,增加一個由授權用戶組的Oracle組,確保給Oracle服務器實用例程Oracle組ID,公用的可執行程序,比如SQL*Plus,SQL*Fo
  
  rms等,應該可被這組執行,然后該這個實用例程的權限為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帶有WITHADMIN選項。為了使這些數據庫角色起作用,您必須shutdown您的數據庫系統,設置Oracle數據庫參數文件initORACLE_SID.ora中os_roles參數為True,然后重新啟動您的數據庫。假如您想讓這些角色有connectinternal權限,運行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設置非凡的密碼。
  
  二、建立安全性策略:
  
  系統安全性策略:
  
  (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) 應用程序開發者和他們的權限數據庫應用程序開發者是唯一一類需要非凡權限組完成自己工作的數據庫用戶。
開發者需要諸如createtable,createPRocedure等系統權限,然而,為了限制開發者對數據庫的操作,只應該把一些特定的系統權限授予開發者。
  
  (2) 應用程序開發者的環境
  
  A 程序開發者不應與終端用戶競爭數據庫資源;
  
  B 用程序開發者不能損害數據庫其他應用產品。
  
  (3) free和controlled應用程序開發
  
  應用程序開發者有一下兩種權限:
  
  A free development
  
  應用程序開發者答應創建新的模式對象,包括table,index,procedure,package等,它答應應用程序開發者開發獨立于其他對象的應用程序。
  
  B controlled development
  
  應用程序開發者不答應創建新的模式對象。所有需要table,indes procedure等都由數據庫治理者創建,它保證

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 乌拉特中旗| 花莲县| 尼玛县| 陕西省| 长乐市| 宁阳县| 乃东县| 花莲县| 洪洞县| 涟水县| 浦北县| 揭东县| 论坛| 宁阳县| 清水县| 将乐县| 舞阳县| 苏尼特左旗| 海宁市| 美姑县| 宜昌市| 通化县| 昌宁县| 突泉县| 皮山县| 湟中县| 明光市| 远安县| 神农架林区| 桦南县| 巴东县| 通化市| 蛟河市| 页游| 蒲城县| 曲松县| 离岛区| 安图县| 永新县| 明溪县| 丰镇市|