a我考网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 99|回复: 1

[综合] Oracle辅导:Oracle数据库安全性管理策略方法

[复制链接]
发表于 2012-8-4 13:54:49 | 显示全部楼层 |阅读模式
数据库平安性问题一向是环绕着数据库打点员的恶梦,数据库数据的丢失踪以及数据库被犯警用户的侵入使得数据库打点员身心倦怠不胜。环绕数据库的平安性问题提出了一些平安性策略,但愿对数据库打点员有所辅佐。对于数据库数据的平安问题,数据库打点员可以参考有关系统双机热备份功能以及数据库的备份和恢复的资料。组和平安性: : Q  z& l% b+ u- d0 ^, H3 V
  在操作系统下成立用户组也是保证数据库平安性的一种有用体例。Oracle轨范为了平安性目的一般分为两类:一类所有的用户都可执行,另一类只DBA可执行。在Unix情形下组设置的设置装备摆设文件是/etc/group,关于这个文件若何设置装备摆设,请参阅Unix的有关手册。
/ u- z4 d/ O9 x& N% |7 `  保证平安性的几种体例:, D, h/ \. [# K
  (1) 在安装OracleServer前,建树数据库打点员组(DBA)而且分配root和Oracle软件拥有者的用户ID给这个组。DBA能执行的轨范只有710权限。在安装过程中SQL*DBA系统权限呼吁被自动分配给DBA组。
8 V0 b3 x4 e% E. t/ V/ |* h0 T  (2) 许可一部门Unix用户有限制地访谒Oracle处事器系统,增添一个由授权用户组的Oracle组,确保给Oracle处事器适用例程Oracle组ID,公用的可执行轨范,好比SQL*Plus,SQL*Fo
, ]# i0 K4 L5 H9 k  |  rms等,应该可被这组执行,然后该这个适用例程的权限为710,它将许可同组的用户执行,而其他用户不能。- d1 h( A# p3 `" C$ p) a2 a
  (3) 改那些不会影响数据库平安性的轨范的权限为711。注:在我们的系统中为了安装和调试的便利,Oracle数据库中的两个具有DBA权限的用户Sys和System的缺省密码是manager。为了您数据库系统的平安,我们强烈建议您该失踪这两个用户的密码,具体操作如下:
' c& J/ i- I7 _% \6 ~/ k$ a  在SQL*DBA下键入:
2 n4 i* D' w" A4 W2 l- _) R; D  alter user sys indentified by password;6 H7 a" Z( R5 R. [
  alter user system indentified by password;
; |, h' _4 m3 o1 j  S8 q  其中password为您为用户设置的密码。$ W; \+ B) C* _' z" A
  Oracle处事器适用例程的平安性:
! E- `1 l0 b% i  以下是呵护Oracle处事器不被犯警用户使用的几条建议:/ O3 P. N  Z( I5 V# i/ M
  (1) 确保$ORACLE_HOME/bin目录下的所有轨范的拥有权归Oracle软件拥有者所有;
' ~1 e# z  I7 H5 L7 j  (2) 给所有用户适用便程(sqiplus,sqiforms,exp,imp等)711权限,使处事器上所有的用户都可访谒Oracle处事器;
$ d5 q9 S1 e# Q0 A6 p( K: W. B) H- l. K
  (3) 给所有的DBA适用例程(好比SQL*DBA)700权限。Oracle处事器和Unix组当访谒当地的处事器时,您可以经由过程在操作系统下把Oracle处事器的脚色映射到Unix的组的体例来使用Unix打点处事器的平安性,这种体例顺应于当地访谒。
回复

使用道具 举报

 楼主| 发表于 2012-8-4 13:54:50 | 显示全部楼层

Oracle辅导:Oracle数据库安全性管理策略方法

</p>  在Unix中指定Oracle处事器脚色的名目如下:
: \2 h& y! \4 L( R: _6 U  ora_sid_role[_dla], I. x2 y- F0 u; D" R4 G
  其中sid是您Oracle数据库的oracle_sid;1 @5 X$ }. G' \6 v5 d! d
  role 是Oracle处事器中脚色的名字;% x) F3 \- D( @+ z2 ~
  d (可选)暗示这个脚色是缺省值;7 E. f" g$ S  T. d5 I7 @, U+ m
  a (可选)暗示这个脚色带有WITH ADMIN选项,您只可以把这个脚色授予其他脚色,不能是其他用户。
& s( U3 v+ x6 u% S% L  以下是在/etc/group文件中设置的例子:3 N: Y+ E: i" O/ ]. u/ u
  ora_test_osoper_d:NONE:1:jim,narry,scott1 l: a8 O2 A5 W0 v$ x1 z# J" N5 e
  ora_test_osdba_a:NONE:3:pat
8 J0 P5 r: r3 ~( [  ora_test_role1:NONE:4:bob,jane,tom,mary,jim9 a" G. b( c2 q, l$ `
  bin: NONE:5:root,oracle,dba2 N6 M5 q1 @' p; s! `
  root:NONE:7:root& r$ Y: D* M  T. Z# M' d# J
  词组“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时,您键入的密码暗示了脚色所对应的权限。2 G) b1 l: A+ H0 m* ~. w/ [5 g
  SQL*DBA呼吁的平安性:
* ?) A" R$ u/ y! O; b- P  如不美观您没有SQL*PLUS应用轨范,您也可以使用SQL*DBA作SQL查权限相关的呼吁只能分配给Oracle软件拥有者和DBA组的用户,因为这些呼吁被授予了非凡的系统权限。
# t- ~% y( s$ M$ d5 c  (1) startup
; c  P+ J$ d" g" i  (2) shutdown
& y2 ~6 A8 J- F# x) r- d: S, U8 a  (3) connect internal
9 _& Z* [7 j  G8 G  数据库文件的平安性:/ y2 n& U0 Y% }8 R: s
  Oracle软件的拥有者应该这些数据库文件($ORACLE_HOME/dbs/*.dbf)设置这些文件的使用权限为0600:文件的拥有者可读可写,同组的和其他组的用户没有写的权限。Oracle软件的拥有者应该拥有包含数据库文件的目录,为了增添平安性,建议收回同组和其他组用户对这些文件的可读权限。) x, Y+ Q* w% E; x/ C9 [9 @
  收集平安性:' K& R' r# w  F; p/ V' r8 I% g$ w
  当措置收集平安性时,以下是额外要考虑的几个问题。, ~4 X, [2 A/ D  S1 ~
  (1)在收集上使用密码在网上的苑芷鹈户可以经由过程加密或不加密体例键入密码,当您用不加密体例键入密码时,您的密码很有可能被犯警用 户截获,导致破损了系统的平安性。
( q, {/ f- \  T1 K6 N  (2)收集上的DBA权限节制您可以经由过程下列两种体例对收集上的DBA权限进行节制:
4 ~! m2 k7 V4 M* |  A 设置成拒绝远程DBA访谒;
9 a8 P3 ^, ~* o$ l  B 经由过程orapwd给DBA设置非凡的密码。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Woexam.Com ( 湘ICP备18023104号 )

GMT+8, 2024-6-18 08:53 , Processed in 0.749975 second(s), 23 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表