Oracle数据库系统加固规范 真不错的。拿来给大家分享一下1账号管理、认证授权1.1账号1.1.1SHG-0 racle-01-01-01编号SHG-Oracle-01-01-01名称为不同的管理员分配不同的账号应按照用户分配账号,避免不同用户间共享账号,提高安全实施目的性问题影响账号混淆,权限不明确,存在用户越权使用的可能。selectfrom all users系统当前状态select k from dba users记录用户列表1、参考配置操作create user abcl identified by passwordcreate user abc2 identified by password实施步骤建立role,并给role授权,把role赋给不同的用户2、补充操作说明1、abcl和abc2是两个不同的账号名称,可根据不同用户,取不同的名称;删除用户:例如创建了一个用户A,要删除它可以这样做回退方案connect sys/密码 as sysdba;drop user A cascade;//就这样用户就被删除了判断依据标记用户用途,定期建立用户列表,比较是否有非法用户实施风险重要等级★★★备注1.1.2SHG-0 racle-01-01-02编号SHG-Oracle-01-01-02名称删除或锁定无效账号实施目的删除或锁定无效的账号,减少系统安全隐患。问题影响允许非法利用系统默认账号select水fromLll users系统当前状态select半from dba users记录用户列表参考配置操作alter user username lock;/锁定用户实施步骤drop user username cascade;//删除用户回退方案删除新增加的帐户首先锁定不需要的用户判断依据在经过一段时间后,桷认该用户对业务确无影响的情况下,可以删除实施风险重要等级★★★备注1.3SHG-0 racle-01-01-03编号SHG-Oracle-01-01-03名称限制超级管理员远程登录限制具备数据库超级管理员( SYSDBA)权限的用户远程登实施目的录问题影响允许数据库超级管理员远程非法登陆系统当前状念查看 spfile, sqlnet.ora内容1、参考配置操作在 spfile中设置 REMOTE LOGⅠ A PASSWORDFILE-NONE来禁止SYSDBA用户从远程登陆。在 sqlnet.ora中设置实施步骤SQLNET. AUTHENTICATI0 N SERVICES=NONE来禁用 SYSDBA角色的白动脊录。回退方案还原 spfile, sqlnet.ora文件配置判定条件1.不能通过Sq1凇Net远程以 SYSDBA用户连接到数据库。判断依据2.在数据库主机上以 sqlplus‘/ as sysdba’连接到数据库需要输入口令。检测操作1.以 Oracle用户登陆到系统中2.以 sqlplus‘/ as sysdba’登陆到 sqlplus环境中。3.使用 show parameter命令来检査参数REMOTE LOGIN PASSWORDFILE是否设置为NONE。Show parameter REMOtE LOGIn PASSWOrdfile4.检查在$ ORACLE HOME/ network/ admin/ sqlnet.ora文件中参数SQLNET. AUTHENTICATIO0 N SERVICES是否被设置成NONE。实施风险重要等级★★★备注1.1.4SHG0 racle-01-01-04编号SHG-Oracle-01-01-04名称权限最小化在数据库权限配置能力内,根据用户的业务需要,配置其所实施目的需的最小权限。问题影响账号权限越大,对系统的威胁性越高select from user sys priusselect x from user role privs系统当前状怂select from user tab prius记录用户拥有权限参考配置操作rant权限 to usernamerevoke权限 from username;实施步骤2、补充操作说明用第·条命令给用户赋相应的最小权限用第二条命令收回用户多余的权限回退方案还原添加或删除的权限判断依据业务测试正常实施风险高重要等级备注1.1.5SHG0 racle0101-05编号SHG-Oracle-01-01-05名称数据库角色实施目的使用数据库角色(ROLE)来管理对象的权限问题影响账号管理混乱select x from dba role privs系统当前状态selt* from user role prius;记录用户拥有的role.创建角色,修改角色1.创建角色,不指定密码:create role testrolc2.创建角色,指定密码create role testrole identified by passwd3.修改角色alter role testrole identified by passwd4.给角色授予权限Grant select on Table name to testrole实施步骤把角色赋予用户:(特别说明,授予角色不是实时的。如下:)grant testrole to User Name起用角色:给用户赋予角色,角色并不会立即起作用。1.角色不能立即起作用。必须下次断开此次连接,下次连接才能起作用。2.或者执行命令:有密码的角色 set. role testroleidentified by passwd立即生效;3.无密码的角色: set roletestrole;删除相应的Role回退方案revoke role name from user name判断依据对应用用户不要赋予 dba Role或不必要的权限实施风险重要等级备注1.1.6SHG-0 racle-01-01-06编号SHG-Oracle-01-01-06名称用户 profile实施目的对用户的属性进行控制,包括密码略、资源限制等问题影响账号安全性低SELECTprofileFROM dba users WhERE系统当前状态username- user name记录用户赋予的 profile可通过下面类似命令来创建 profile,并扣它赋予个用户SQL> Show parameter resource limitSQL> alter system set resource limit=true实施步骤CREATE PROFILE profile name LIMitFAILED LOGIN ATTEMPTS 6PASSWORD LIFE TIME 60PASSWORD REUSE TIME 60PASSWORD REUSE MAX 5PASSWORD VERIFY FUNCTION verily functionPASSWORD LOCK TIME 1/24PASSWORD GRACE TIME 90ALTER USER user name PROFiLE profile namealter user diya profile default回退方笨恢复默认1.可通过设置 profile来限制数据库账户口令的复杂程度,口令生存周期和账户的锁定方式等。2.可通过设置 profile来限制数据库账户的CP资源占用。判断依据4、检测操作1.以DBA用户登陆到 sqlplus中。2.查询视图dba_ profiles和 dba usres来检查 profile是否创建。实施风险重要等级★备注1.1.7SHG-0 racle-01-01-07编号SIG Oracle-01-01-07