Oracle数据库安全配置规范
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Oracle数据库安全配置规范
1概述
1.1目的
本规范明确了oracle数据库安全配置方面的基本要求。为了提高oracle数据库的安全性而提出的。
1.2范围
本规范适用于XXXXX适用的oracle数据库版本。
2配置标准
2.1账号管理及认证授权
2.1.1按照用户分配账号
[目的]应按照用户分配账号,避免不同用户共享账号。
[具体配置]
create user abc1 identified bypassword1;
createuser abc2 identifiedby password2;
建立role,并给role授权,把role赋给不同的用户删除无关账号。
[检测操作]
2.1.2删除无用账号
[目的]应删除或锁定与数据库运行、维护等工作无关的账号。
[具体配置]
alter user usernamelock;
drop user username cascade;
[检测操作]
2.1.3限制DBA远程登入
[目的]限制具备数据库超级管理员(SYSDBA)权限的用户远程登录。
[具体配置]
1.在spfile中设置REMOTE_LOGIN_PASSWORDFILE=NONE来禁止
SYSDBA用户从远程登陆。
2.在sqlnet.ora中设置SQLNET.AUTHENTICATION_SERVICES=NONE来
禁用SYSDBA角色的自动登入。
[检测操作]
1.以Oracle用户登入到系统中。
2.以sqlplus‘/assysdba’登入到sqlplus环境中。
3.使用showparameter 命令来检查参数REMOTE_LOGIN_PASSWORDFI
LE是否设置为NONE。Show parameter REMOTE_LOGIN_PASSWORDF ILE
4.检查在$ORACLE_HOME/network/admin/sqlnet.ora文件参数SQLNE
T.AUTHENTICATION_SERVICES是否被设置成NONE.
2.1.4最小权限
[目的]在数据库权限配置能力内,根据用户的业务需要,配置其所需的最小权限。[具体配置]
!给用户赋相应的最小权限
grant 权限to username;
!收回用户多余的权限
revoke权限from username;
[检测操作]
2.1.5数据库角色
[目的]使用数据库角色(ROLE)来管理对象的权限。
[具体配置]
1.使用Create Role命令创建角色。
2.使用Grant命令将相应的系统、对象或Role的权限赋予应用用户。
[检测操作]
1.以DBA用户登入到sqlplus中。
2.通过查询dba_role_privs、dba_sys_privs和dba_tab_privs等视图来
检查是否使用ROLE来管理对象权限。
2.1.6用户属性
[目的]对用户的属性进行控制,包括密码策略、资源限制等。
[具体配置]
可通过下面类似命令来创建profile,并把它赋予一个用户
CREATE PROFILEapp_user2LIMIT
FAILED_LOGIN_ATTEMPTS 6
PASSWORD_LIFE_TIME 60
PASSWORD_REUSE_TIME60
PASSWORD_REUSE_MAX5
PASSWORD_VERIFY_FUNCTION verity_function
PASSWORD_LOCK_TIME 1/24
PASSWORD_GRACE_TIME 90;
ALTER USER jd PROFILEapp_user2;
!可通过设置profile来限制数据库账户口令的复杂程度,口令生产周期和账户的锁定方式等。
!可通过设置profile来限制数据库账户的CPU资源占用。
[检测操作]
2.1.7数据字典保护
[目的]启用数据字典保护,只有SYSDBA用户才能访问数据字典基础表。
[具体配置]
通过设置下面初始化参数来限制只有SYSDBA权限的用户才能访问数据字典。O7_DICTIONARY_ACCESSIBILITY=FALSE
[检测操作]
以普通dba用户登入到数据库,不能查看X$开头的表,比如:
select * from sys,x$ksppi;
1:以Oracle用户登入到系统中。
2:以sqlplus ‘/as sysdba’登入到sqlplus环境中。
3:使用show parameter 命令来检查参数O7_DICTIONARY_ACCESSIBILITY是否设置为FALSE。
Show parameter O7_DICTIONARY_ACCESSIBILITY
2.1.8DBA组操作系统用户数量
[目的]限制在DBA组中的操作系统用户数量,通常DBA组中只有Oracle安装用户。
[具体配置]
通过/etc/passwd 文件来检查是否有其它用户在DBA组中。
[检测操作]
无其它用户属于DBA组。或者通过/etc/passwd文件来检查是否有其它用
户在DBA组中。
2.2口令
2.2.1口令复杂度
[目的]对于采用静态口令进行认证的数据库,口令长度至少6位,并包括数字、小写字母、大写字母和特殊符号4类中至少2类。
[具体配置]
为用户建profile,调整PASSOWRD_VERIFY_FUNCTION,指定密码复杂度[检测操作]
修改密码为不符合要求的密码,将失败。
Alter user abcd1 identifiedby abcd1;将失败
2.2.2口令期限
[目的]对于采用静态口令认证技术的数据库,账户口令的生存期不长于90天。[具体配置]
为用户建相关profile,指定PASSWORD_GRACE_TIME为90天。[检测操作]
到期不修改密码,密码将会失败。连接数据库将不会成功connect username/password报错