Oracle数据库安全配置标准.docx
- 文档编号:231522
- 上传时间:2022-10-07
- 格式:DOCX
- 页数:8
- 大小:25.63KB
Oracle数据库安全配置标准.docx
《Oracle数据库安全配置标准.docx》由会员分享,可在线阅读,更多相关《Oracle数据库安全配置标准.docx(8页珍藏版)》请在冰豆网上搜索。
XX公司
Oracle数据库安全配置标准(试行)
1目的
为保证公司应用系统的信息安全,规范数据库层面的安全配置操作,制定本标准。
2范围
本标准适用于公司各个业务系统中使用的Oracle10g及以上数据库系统。
3安全配置标准
3.1安装数据库的主机要求
l主机应当专门用于数据库的安装和使用;
l数据库主机避免安装在域控制器上;
l硬件要求请参考Oracle10g及以上各发行版自带的发行说明;
l主机操作系统层面应当保证安全:
Oracle数据库可以安装在WindowsServer,Linux,及各类Unix系统上,数据库软件安装之前,应当保证主机操作系统层面的安全,需要对主机进行安全设置,补丁更新,防病毒软件安装等。
3.2数据库补丁安装标准
日常运行维护中如果Oracle推出新的补丁,则应按照《基础平台运维管理办法》的相关规定,在进行评估、验证之后,升级相关补丁。
3.3数据库口令安全配置标准
3.3.1密码复杂性配置要求
1.密码长度至少为8位
2.必须为DBA帐户和普通帐户提供复杂的口令,需要包含以下字符:
n英语大写字母A,B,C,…Z
n英语小写字母a,b,c,…z
n西方阿拉伯数字0,1,2,…9
n非字母数字字符,如标点符号,@,#,$,%,&,*等
n为用户建profile,调整PASSWORD_VERIFY_FUNCTION,对密码负载度进行设置:
策略
安全设置
配置说明
口令的有效期
PASSWORD_LIFE_TIME
90天
用户锁定
FAILED_LOGIN_ATTEMPTS
连续失败登录10次,用户锁定
口令宽限期
PASSWORD_GRACE_TIME
7天
用户被加锁天数
PASSWORD_LOCK_TIME
1天
原有口令被修改多少次才能被重新使用
PASSWORD_REUSE_MAX
10次
原有口令多少天能够被使用
PASSWORD_REUSE_TIME
300天
备注:
应用连接用户(包括监控及备份用户)的密码策略依据应用程序设置相关密码策略。
3.3.2创建应用账号并授权
创建用户:
SQL>createuserusernameidentifiedbypassword;
基本授权:
SQL>grantconnect,resourcetousername;
创建表空间:
SQL>createtablespacetablespace_namedatafile‘/home/oracle/tablespace_name.dbf’size500m;
用户与表空间对应:
SQL>alteruserusernamedefaulttablespacetablespace_name;
3.3.3禁用不必要的数据库帐户
针对每个数据库里的数据库帐号,确保没有测试帐号和无用的帐号存在。
如果存在,应该及时禁用。
使用如下语句查看数据库账号,并锁定不必要的账号
SQL>selectusername,password,account_status,default_tablespacefromdba_users;
SQL>alterusertestaccountlock;
3.3.4修改数据库缺省用户的初始密码
在数据库安装时,应对数据库缺省用户的初始密码及时进行修改。
3.3.5禁止操作系统与数据库间的单点登录
除软件系统管理用户(如oracle,grid,splex)外不允许拥有commandline的操作系统用户绕过数据库安全设置而直接访问数据库,即不允许其余用户加入到dba组中。
3.3.6强制新用户登录时更改密码
对于新增的数据维护用户,在系统中设置自动控制强制首次登陆修改密码,操作命令如下:
alteruserusernamepasswordexpire;
3.4目录和文件安全标准
3.4.1数据库安装文件系统要求
数据库软件应当安装在支持权限分配的分区文件系统上(如NTFS,EXT3等)。
3.4.2目录保护配置要求
受保护的目录如下表所示:
保护的目录
应用的权限
%ORACLE_HOME%(Windows系统)
Administrators:
完全控制
System:
完全控制
AuthenticatedUsers:
读取和执行、列出文件夹内容、读取
Users:
读取及运行、列出文件夹目录
$ORACLE_HOME(Linux/Unix系统)
oracle属主用户:
读、写、执行
oracle属组用户:
读、执行
其它用户:
读、执行
3.4.3数据库控制文件配置要求
对于controlfile的配置,要求数据库有2套或以上的Controlfile配置,以保证数据库的高安全性。
3.4.4数据库重做日志的配置要求
对于数据库redolog的配置,要求按照至少3组或以上的redolog,每组redolog含2个或以上的成员进行配置。
3.5监听器安全配置标准
3.5.1设置监听器密码
通过设置监听器密码可以阻止大部分的菜鸟黑客的进攻,设置密码有两种方法,一种是通过lsnrctl命令来设置,另一种是直接修改listener.ora文件,第一种方法设置的密码是经过加密后存储在listener.ora中,而第二种方法是以明文的形式放在listener.ora中的,所以推荐使用第一种方式。
具体命令如下:
LSNRCTL>setcurrent_listener<监听器名>
LSNRCTL>change_password
oldpassword:
<如果之前没有设置密码就直接按回车>
Newpassword:
<输入新密码>
Reenternewpassword:
<再次输入新密码>
LSNRCTL>setpassword
Password:
<输入刚刚设置的新密码>
LSNRCTL>save_config
设置好密码后,打开listener.ora,看是否有一条PASSWORDS_<监听器名>的记录,类似于PASSWORDS_LISTENER=F4BAA4A006C26134。
为监听器设置了密码后,必须到客户端重新配置连接。
上面的操作只适用于oracle9i及以前的版本,Oracle10g以后,设置Listener密码已经不是安全检查的必要条件了,因为默认在10g里面除了启动监听的用户之外,其它用户都无法停止Listener(还有另外一些lsnrctl的命令也同样被禁止了,比如trace,reload等),即使Listener没有设置密码,因此对于Oracle10g及以上版本可不设置监听器密码。
3.5.2开启监听器日志
开启监听器日志功能是为了捕获监听器命令和防止密码被暴力破解。
开启监听器日志功能的命令为:
LSNRCTL>setcurrent_listener<监听器名>
LSNRCTL>setpassword
Password:
<输入监听器密码>
LSNRCTL>setlog_directory
LSNRCTL>setlog_file
LSNRCTL>setlog_statuson
LSNRCTL>save_config
通过运行上面的命令,监听器将会在
3.5.3设置ADMIN_RESTRICTIONS
在listener.ora文件中设置了ADMIN_RESTRICTIONS参数后,当监听器在运行时,不允许执行任何管理任何,届时,set命令将不可用,不论是在服务器本地还是从远程执行都不行,这时如果要修改监听器设置就只有手工修改listener.ora文件了,通过手工修改listener.ora,要使修改生效,只能使用lsnrctlreload命令或lsnrctlstop/start命令重新载入一次监听器配置信息。
在listener.ora文件中手动加入下面这样一行:
ADMIN_RESTRICTIONS_<监听器名>=ON
3.5.4保护$TNS_ADMIN目录
$TNS_ADMIN目录即我们通常看到的ORACLE_HOME/network/admin目录,它下面包含有listener.ora,tnsnames.ora,sqlnet.ora,protocol.ora等重要配置文件,前面已经提到,监听器的密码就是保存在listener.ora中的,如果不保护好,可能造成密码泄露,或整个文件被修改,这个目录下的listener.ora,sqlnet.ora,protocol.ora文件应该只开放给Oracle主账户(通常是oracle或Administrator),而其他账户不能有任何权限,tnsnames.ora文件在Linux或Unix系统上权限可以设置为0644,在windows上可以设置其他用户为浏览,读取权限。
3.5.5保护TNSLSNR和LSNRCTL
在Linux或Unix服务器上,应该将这两个文件的权限设为0751,如果想更严格一点,可以设为0700,这样就只有安装oracle时指定的宿主用户可以执行它们了,这两个文件位于ORACLE_HOME/bin目录下。
保护这两个文件的目的是为了防止黑客直接破坏它们,如果tnslsnr被破坏,监听器肯定不能启动,如果lsnrctl被破坏,可能植入恶意代码,在运行lsnrctl时就会执行其它黑客行为。
3.5.6移除不用的服务
默认安装时,会安装一个PL/SQL外部程序(ExtProc)条目在listener.ora中,它的名字通常是ExtProc或PLSExtProc,但一般不会使用它,可以直接从listener.ora中将这项移除,因为对ExtProc已经有多种攻击手段了。
有时可能会在多个实例之间拷贝listener.ora,请检查拷贝来的文件中是否含有不需要的服务,确保只留下确实需要的服务项目,减少监听器受攻击的面。
3.5.7数据库使用的端口
当Oracle10g选择TCP/IP网络协议后,数据库监听如下端口:
端口
协议
安全配置
说明
根据应用实际需要进行配置
TCP
开放
客户端连接端口
3.6数据库备份配置标准
按照《备份管理办法》中的相关要求,使用备份工具,遵循并执行相关备份策略。
3.7数据库审计配置标准
Oracle数据库对不用的数据库用户组设置不同的审计策略:
(1)对于应用系统连接数据库用户(包括架构应用用户和外挂应用用户),应通过密码封存的方式来控制此类用户直接登录后台数据库的行为。
在此基础上,可不对此类用户开启数据库审计日志。
(2)对于批处理用户,首先要保证此类用户是独立的用户而不是数据库管理用户(即拥有sysdba和sysoper权限的用户),其次需要对此类用户的密码和用途进行严格管理,保证只有相应系统的应用系统管理员知悉此用户的密码并只将此用户用于批处理操作。
在此基础上,可不对此类用户开启数据库审计日志。
(3)对于数据库管理用户(即拥有sysdba和sysoper权限的用户),按照如下方式开启对该类用户所有操作的审计日志:
altersystemsetaudit_sys_operations=TRUEscope=spfile;(重起生效)
altersys
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Oracle 数据库 安全 配置 标准