发布日期:2015-10-08 11:50 来源: 标签: 系统维护 系统安全 Oracle数据库 系统安全加固
本章节我们将学习Oracle数据库系统安全加固,希望对大家有所帮助。

Oracle虽然被称为是无法攻破的,但是已经被发现的安全漏洞还是非常多的。比较安全的解决办法是随时关注Oracle的安全公告,并及时安装安全补丁。由于涉及Oracle数据库的业务都是非常关键的,在安装安全补丁前一定要做好备份工作,并与Oracle公司或者你的应用系统开发商取得联系。

 Oracle安全公告和补丁位置如下:

http://otn.oracle.com/deploy/security/alerts.htm

 除此之外,遵从下面的安全实践将能够大大提高Oracle数据库系统的安全程度。

 1 帐户安全设置

实施步骤 :

① 用命令SELECT 的'DBA'选项列出所有被授予了DBA角色的用户,根据需要分配用户角色,命令:SELECT GRANTEE FROM DBA_ROLE_PRIVS WHERE GRANTED=’DBA’

 ② 删除不需要的帐号,比如SCOTT等示例用户;对于不明确是否能删除的用户可以暂时锁定该用户,或赋予非常复杂的口令。

删除用户及其所有的数据对象命令:drop user dbuser cascade

取消用户角色权限:revoke connect from dbuser

应检查的用户名包括:SCOTT, DBSNMP, TRACESVR, CTXSYS, MDSYS, DEMO, CTXDEMO, APPLSYS, PO8, NAMES, SYSADM, ORDPLUGIN, OUTLN, ADAMS, BLAKE, JONES, CLARK, AURORA$ORB$UNAUTHENTICATED, APPS。

 ③ 修改口令文件PROFILE,防止利用空口令或默认口令进行连接:

ALTER PROFILE "DEFAULT"  LIMIT PASSWORD_LIFE_TIME 90;

ALTER PROFILE "DEFAULT"  LIMIT PASSWORD_GRACE_TIME 10;  

ALTER PROFILE "DEFAULT"  LIMIT PASSWORD_LOCK_TIME 15;

ALTER PROFILE "DEFAULT"  LIMIT PASSWORD_REUSE_MAX  5;

ALTER PROFILE "DEFAULT"  LIMIT FAILED_LOGIN_ATTEMPTS 5;

创建口令验证函数,在init.ora文件里创建口令验证参数OPS$。

OS_AUTHENT_PREFIX =OPS$

 2 口令安全设置 

实施步骤:

① 在文件/$oracle/admin/listener.ora 中添加下面字串:

PASSWORDS_LISTENER_LISTENER=(password)

Password为设置的数据库侦听口令。

 ② 数据库管理员应修改SYSTEM、SYS等特权用户的口令,和其它一些应用系统内部使用的(比如由中间件、通讯程序、维护程序等使用的)用户的口令。

 ③ 修改口令文件PROFILE进行保护:

ALTER PROFILE "DEFAULT"  LIMIT PASSWORD_LIFE_TIME 90;

ALTER PROFILE "DEFAULT"  LIMIT PASSWORD_GRACE_TIME 10;  

ALTER PROFILE "DEFAULT"  LIMIT PASSWORD_LOCK_TIME 15;

ALTER PROFILE "DEFAULT"  LIMIT PASSWORD_REUSE_MAX  5;

ALTER PROFILE "DEFAULT"  LIMIT FAILED_LOGIN_ATTEMPTS 5;

创建口令验证函数,在init.ora文件里创建口令验证参数OPS$。

OS_AUTHENT_PREFIX =OPS$

 3数据库目录和文件的权限设置

实施步骤:

① 修改Oracle 目录下的子目录属性为755或755小于的属性。设置Oracle目录的Suid 和Sgid合理。

② 与应用系统开发商确认是否有用户需要使用UTL_FILE程序包。如果没有用户使用,应收回普通用户对该包的执行权限。

③ 如果确实有用户需要使用UTL_FILE包,应确保只有确实需要的用户才拥有UTL_FILE的执行权。同时在init.ora中设定参数“UTL_FILE_DIR”使用UTL_FILE包的程序确实需要访问的目录。

④ 与应用系统开发商商议,是否可以改变DB_LINK的创建方式,在创建DB_LINK时不指定用户名和口令。

 4日志管理

实施步骤:

执行SET AUTOTRACE ON命令将启动AUTOTRACE功能,定期查看警告文件oradbALRT.LOG里的,以期尽快发现数据库用户连接、触发等警告信息。

 注意事项:启用检查数据库警告信息不会对数据库造成影响。如果设置SET AUTOTRACE ON应用系统会产生大量的警告信息,造成硬盘空间大量占用,请管理员权衡利弊。

 5 限制访问客户端IP 

 实施步骤:

数据库监听客户端IP地址的连接记录,存储在/$oracle/log/listener.log文件里,请管理员定期查看和分析该日志文件。

在/$oracle/network/admin目录下修改SQLNET.ORA文件,增加如下内容:

tcp.validnode_checking=YES

tcp.invalidnodes=(192.168.0.1.test)

对于访问数据库客户端IP的限制,借助操作系统或者防火墙等设备实现也是可行的。

相关评论

专题信息
    对系统进行安全加固的目的是通过深入了解系统的设计模型、当前的安全运行状况、曾经发生的安全事件、系统使用的安全策略,提出能够提高系统安全防御水平的加固建议。本教程就将讲解常用应用系统安全加固方法。