Oracle 安全管理思路

Oracle 安全管理思路

 

1. 文档信息及版本
一般信息     细节
名称 Oracle 安全管理
状态 已完成
版本 1.1
作者 Eric
贡献者 Eric


版本 时间 姓名 注解
     1.0 2005-9-15 Eric
     1.1 2005-10-18 Eric

2. 采用满足需求的最小安装
随着版本的不断升级,Oracle 的功能也越来越多,因此安全威胁也越 来越大。因此最好根据需求只安装所需内容。如:不需要 web 功能,就不要安装相应组件。

3. 安装时的安全
Oracle 的安装目录要和系统盘分开。在Windows下,Oracle 服务不用SYStem 权限运行,Unix下,Oracle的帐号和组的权限也要作相应设置。创建数据库管理员组(DBA)分配 root 和 Oracle 软件拥有者的用户 ID给这个组。DBA     能执行的程序只有 710 权限。在安装过程中 SQL*DBA 系统权限命令被自动分配给 DBA 组。

4. 删除或修改默认的用户名和密码
Oracle 的默认安装会建立很多缺省的用户名和密码,而大部分的数据库管理员都不清楚到底有多少数据库用户,从而留下了很大的安全隐患。下面是 Oracle 的常用的用户名和密码。

Windows 下的常见用户名和密码:
用户名 密码 权限
ADAMS WOOD
AQDEMO AQDEMO
AQUSER AQUSER
AURORA$ORB$UN
AUTHENTICATED INVALID

BLAKE PAPER
CATALOG CATALOG
CDEMO82 CDEMO82
CDEMOCOR CDEMOCOR
CDEMOUCB CDEMOUCB
CLARK CLOTH
COMPANY COMPANY 所有权限
CTXSYS CTXSYS DBA
DBSNMP DBSNMP
DEMO DEMO
DEMO8 DEMO8
EMP EMP
EVENT EVENT DBA
FINANCE FINANCE 所有权限
FND FND
GPFD GPFD
GPLD GPLD
JONES STEEL
MDSYS MDSYS 所有权限
MFG MFG 所有权限
MILLER MILLER
MMO2 MMO2
MTSSYS MTSSYS
OCITEST OCITEST
ORDPLUGINS ORDPLUGINS
ORDSYS ORDSYS
OUTLN OUTLN
PO PO DBA
POWERCARTUSER POWERCARTUSER
PRIMARY PRIMARY
PUBSUB PUBSUB DBA
RE RE
RMAIL RMAIL
SAMPLE SAMPLE DBA
SCOTT TIGER
SECDEMO SECDEMO
SYS CHANGE_ON_INSTALL 超级用户 DBA
SYSTEM MANAGER DBA
TRACESVR TRACE
TSDEV TSDEV
TSUSER TSUSER
USER0 USER0
USER1 USER1
USER2 USER2
USER3 USER3
USER4 USER4
USER5 USER5
USER6 USER6
USER7 USER7
USER8 USER8
USER9 USER9
VRR1 VRR1 DBA
AURORA$JIS$UTLLITY$ 随机密码 Oracle 9I 中存在
AURORA$ORB$UNAUTHENTICATED 随机密码 Oracle 9I 中存在
OSE$HTTP$ADMIN 随机密码 Oracle 9I 中存在

Unix 下的常见用户名和密码:
用户名 密码 权限
ADAMS EOOF
AQDEMO AQDEMO
AQUSER AQUSER
AURORA$RB$UN
AUTHENTICATED INVALID
BLAKE PAPER
CDEMO82 CDEMO82
CDEMOCOR CDEMOCOR
CDEMORID CDEMORID
CLARK CLOTH
COMPANY COMPANY 所有权限
CTXSYS CTXSYS DBA
DBSNMP DBSNMP
EMP EMP
EVENT EVENT DBA
FINANCE FINANCE 所有权限
FND FND
GPFD GPFD
GPLD GPLD
JONES STEEL
MDSYS MDSYS 所有权限
MFG MFG 所有权限
MILLER MILLER
MODTEST YES DBA
MMO2 MMO2
MOREAU MOREAU
NAMES NAMES
OCITEST OCITEST
ORDPLUGINS ORDPLUGINS
ORDSYS ORDSYS
OULN OUTLN
PO PO DBA
POWERCARTUSER POWERCARTUSER
PRIMARY  
PUBSUB PUBSUB DBA
SCOTT TIGER
SECDEMO SECDEMO
SYS CHANGE_ON_INSTALL 超级用户 DBA
SYSTEM MANAGER DBA
TSDEV TSDEV
TSUSER TSUSER
USER0 USER0
USER1 USER1
USER2 USER2
USER3 USER3
USER4 USER4
USER5 USER5
USER6 USER6
USER7 USER7
USER8 USER8
USER9 USER9
VRR1 VRR1 DBA
AURORA$JIS$UTILITY$ 随机密码 Oracel 9I 中存在
AURORA$ORB$UN 随机密码 Oracel 9I 中存在
AUTHENTICATED  
OSE$HTTP$ADMIN 随机密码 Oracel 9I 中存在


可以通过下面语句查看系统用户:
SQL> select username from all_users;
USERNAME
------------------------------------------------------------
SYS
SYSTEM
HEHUA
OUTLN
DBSNMP
SCOTT
LZHTEST
ADAMS
JONES
CLARK
BLAKE

已选择11行



可以通过下面的语句查看系统中 DBA 用户:
select username from dba_users;
USERNAME
------------------------------------------------------------
SYS
SYSTEM
HEHUA
OUTLN
DBSNMP
SCOTT
LZHTEST
ADAMS
JONES
CLARK
BLAKE

5. 安装最新的安全补丁
Oracle     虽然称为“Unbreakable”,但是安全漏洞还是非常多的,一个 比较安全的办法是时刻关注 oracle     的安全公告,并及时安装安全补 丁。安全公告和补丁位置如下:http://otn.oracle.com/deploy/security/alerts.htm

6. 密码策略设置
在 Oracle,我们可以通过修改用户概要文件来设置密码的安全策略,可以自定义密码的复杂度。在概要文件中有以下参数是和密码安全有关系的:
FAILED_LOGIN_ATTEMPTS:最大错误登录次数
PASSWORD_GRACE_TIME:口令失效后锁定时间
PASSWORD_LIFE_TIME:口令有效时间
PASSWORD_LOCK_TIME:登录超过有效次数锁定时间 PASSWORD_REUSE_MAX:口令历史记录保留次数
PASSWORD_REUSE_TIME:口令历史记录保留时间 PASSWORD_VERIFY_FUNCTION:口令复杂度审计函数。
缺省这个安全策略是没有启用的。如下图:

也可以用下列语句达到目的:
ALTER PROFILE "DEFAULT"
LIMIT FAILED_LOGIN_ATTEMPTS 3
PASSWORD_LOCK_TIME 1
          PASSWORD_GRACE_TIME 5
PASSWORD_LIFE_TIME 60
PASSWORD_REUSE_TIME30
PASSWORD_VERIFY_FUNCTION DEFAULT
其中口令复杂性检查函数 PASSWORD_VERIFY_FUNCTION 是 Oracle 中 自带的,作为复杂性函数中的 default 检查函数,但是缺省这个函数没 有创建,需要运行在 oracle     软件的主目录下的 rdbms/admin     下的 utlpwdmg.sql 才可以使用:

SQL> connect sys/passwd@oratest as sysdba
SQL> @?/rdbms/admin/utlpwdmg.sql
函数已创建。
配置文件已更改

这样就可以使用这个函数来检查密码的复杂度,启用口令复杂性函 数,选择 defalut。默认的这个函数可以检查密码是否与用户名相同, 是否小于 4 个字符,是否是一组特定的词,密码中是否包含 1 个字符、 一个数字和一个标点符号,然后再和旧口令进行检查。当然你也可以 修改或者创建你自己的口令复杂度函数,然后启用。
需要值得注意的是如果用 alter     user 来修改口令,并不能完全用密码复杂度检查,最好用 password 函数进行密码修改。

7. 数据库使用的注意事项
 不要使用 SQLPLUS username/password     进入 SQL*Plus。 不要使用带有
Ø USERID 参数的 EXP80 或者 IMP80,而要使用参数文件,指定 PARFILE的参数。
 不要使用带有 USERID 参数的
Ø SQLLDR。
因为在 UNIX 系统中,以上命令可能会被通过 PS –ef 查到 Oracle 的用户名和密码。

8. 权限设置
 采用最小授权原则,给用户尽量少的权限。
Ø
 撤销 Public组的一些不必要权限,严格限制以下程序包的权限:
Ø
ü UTL_FILE:该程序包允许 oralce 用户读取服务器上的文件,如果设置 错误的话,可能可以得到任何文件。
 UTL_HTTP:该程序包允许
ü oracle 用户通过 HTTP 访问外部资源包括恶意的 web 代码和文件。
 UTL_TCP:     该程序包允许 oracle 通过 TCP
ü 建立连接,从而从网络上得到可执行文件。
 UTL_SMTP:     该程序包允许 oracle 通过 SMTP
ü 方式进行通信,从而转发关键文件。


9. 登录认证方式设置
由于 Oracle     默认采用得是密码方式认证,由于密码容易被窃取,所以 Oracle8i 支持以下认证方式:
CyberSafe Kerberos SecurID
Identix Biometric
RADIUS
SSL
比较安全的做法是采用以上的认证方式。
1、 在服务器和客户端中 sqlnet.ora 中设置:SQLNET.AUTHENTICATION_SERVICES=(oracle 提供的认证方法)
2、 在数据库初始化文件 init_实例.ora 文件中设置:
REMOTE_OS_AUTHENT=FALSE

10. 传输加密
Oracle     采用的是 TNS     协议传输数据,在传输过程中不能保证其中的 数据被窃听乃至修改,因此最好对传输进行加密。 由于美国加密算法的出口限制,Oracle 在国际版中提供以下加密算法:
DES
DES40
RC4_40
RC4_56
启用 NET8     Assistant 进行加密配置或者直接修改 sqlnet.ora 文件,如下图:

11. 连接IP限制
由于 Oracle 的 TNS     监听器有许多安全漏洞,其中的一些漏洞甚至能让入侵者得到操作系统的超级用户权限或者修改数据库中的数据,因此在打好补丁的同时,对连接 IP 的限制也能做到防患于未然。
在$ORACLE_HOME/network/admin     目录下修改SQLNET.ORA文件,增加如下内容: tcp.validnode_checking = YES tcp.invited_nodes = (192.168.0.1, test)
另外一个比较可行的办法就是使用防火墙进行限制。


12. 关掉Extproc功能
由于 extproc 存在安全问题允许用户不进行身份认证就可以调用系统函数,因此如果不需要该功能必须关闭。修改 TNSNAMES.ORA 和 LISTENER.ORA 文件,删除以下条目:
icache_extproc,
PLSExtproc,
Extproc
13. 审计
ORACLE     数据库具有对其内部所有发生的活动的审计能力,审计日志一般放在 sys.aud$表中,也可以写入操作系统的审计跟踪文件中。 可审计的活动有三种类型:登录尝试、数据库活动和对象存取,缺省 情况下,数据库不启动审计,要求管理员配置数据库后才能启动审计。
要开启审计,需要修改数据库的初始化文件 init_实例.ora 文件,增加AUDIT_TRAIL,它的值有:
NONE     禁止审计
DB     启用审计写入 SYS.AUD$
OS     启用审计,写入操作系统

要进行登录审计:
audit session; 如果只记录失败或者成功的登录:
audit session whenever not successful;
audit session whenever successful;

要进行操作审计:
audit     操作动作 要进行对象审计
audit     操作 on 对象

14. 备份
通过对数据库进行备份以便在需要的时候进行恢复。Oracle提供了逻辑备份(Export)和物理备份(脱机备份和联机备份)

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值