等保测评oracle数据库所需的命令以及内容解析

oracle数据库等保测评所需包括内容解析命令


oracle登录身份有三种:normal普通身份、sysdba系统管理员身份、sysoper系统操作员。
sysdba权限:
(1)启动和关闭操作
(2)更改数据库状态为打开/装载/备份,更改字符集
(3)创建数据库
(4)创建服务器参数文件spfile
(5)日志归档和恢复
(6)包括“会话权限”权限
sysoper权限:
(1)启动和关闭操作
(2)更改数据库状态为打开/装载/备份
(3)创建服务器参数文件spfile
(4)日志归档和恢复
(5)包含“会话权限”权限
1、设计五方面内容:身份鉴别、访问控制、安全审计、入侵防范、数据备份恢复。
2、身份鉴别测评项:
(1)查看口令复杂度函数:select * from dba_profiles where
profile=‘DEFAULT’ and RESOURCE_NAME = ‘PASSWORD_VERIFY_FUNCTION’ ;其中 password_verify_function 的值不为unlimited;
Password_verify_function:该字段允许将复杂的PL/SQL密码验证脚本做为参数传递到create profile语句。Oracle数据库提供了一个默认的脚本,但是自己可以创建自己的验证规则或使用第三方软件验证。 对Function名称,指定的是密码验证规则的名称,指定为Null则意味着不使用密码验证功能。
(2)select * from dba_profiles where profile ='DEFAULT’and
resource_name=‘PASSWORD_LIFE_TIME’; 指定同一密码所允许使用的天数password_life_time 不为unlimited。
(3)检查utlpwdmg.sql 中“–check for the minimum length of the password”部分中的“length(password)<”后的值;这个值为8或者以上
C:\oraclexe\app\oracle\product\11.2.0\server\rdbms\admin

(4)查看是否启用登录失败限制策略:select limit from dba_profiles where profile =’DEFAULT’ and resource_name =’FAILED_LOGIN_ATTEMPTS’;指定在帐户被锁定之前所允许尝试登陆的最大次数 failed_logiin_attempts的值不为UNLIMITED;
(5)查看是否启用登录失败锁定策略:select * from dba_profiles where profile = ‘DEFAULT’ and resource_name =‘PASSWORD_LOCK_TIME’;指定登陆尝试失败次数到达后帐户的锁定时间(以天为单位)password_lock_time的值不为UNLIMITED;
(6)查看是否启用登录超时退出策略: select * from dba_profiles where profile =‘DEFAULT’ and resource_name=‘IDLE_TIME’;IDLE_TIME的值不为UNLIMITED;指定会话允许连续不活动的总的时间,以分钟为单位,超过该时间,会话将断开
(7)查看 initSID.ora(%ORACLE_HOME \db_1\database)中REMOTS_OS_AUTHENT的赋值。如果是FALSE,则符合。如果是TRUE,原厂操作系统认证。
(8)查看listener.ora(%ORACLE_HOME \db_1\NETWORK\ADMIN)文件中的“LISTENER” -“DESCRIPTION”-”ADDRESS_LIST”-”ADRESS”-”PROTOCOL”项目的赋值,应存在PROTOCOL=TCPS(实际为TCP)

(9)查看远程登录:show parameter remote_login_passwordfile;结果为NONE,远程无法登录。其中exclusive 是唯一的数据库密码文件登录。

Value值有三种:
1>NONE:默认值。在这种情况下,oracle会忽略口令文件,并且sysdba(系统管理员)访问只给予本地特许的登录。
2>EXCLUSIVE exclusive该参数说明只有一个数据库可以使用这个口令文件。在这种模式下,口令文件可以包含用于多个特许的oracle账户的口令。这是推荐的操作模式,特别是在运行RMAN时,如果希望将RMAN与来自于远程客户端的数据库连接,则必须使用该参数设置。(RMAN是一种用于备份、还原和恢复数据库的oracle工具)
3>SHARED:该参数说明多个数据库可以使用相同的口令文件。这种模式只能保存SYS用户账户的口令。
(10)dba_profiles各个字段含义:
Resource_parameter部分(RESOURCE_TYPE=KERNEL):
1.Session_per_user:指定限制用户的并发会话的数目。
2.Cpu_per_session:指定会话的CPU时间限制,单位为百分之一秒。
3.Cpu_per_call:指定一次调用(解析、执行和提取)的CPU时间限制,单位为百分之一秒。
4.Connect_time:指定会话的总的连接时间,以分钟为单位。
5.Idle_time:指定会话允许连续不活动的总的时间,以分钟为单位,超过该时间,会话将断开。
6.Logical_reads_per_session:指定一个会话允许读的数据块的数目,包括从内存和磁盘读的所有数据块。
7.Logical_read_per_call:指定一次执行SQL(解析、执行和提取)调用所允许读的数据块的最大数目。
8.Private_sga:指定一个会话可以在共享池(SGA)中所允许分配的最大空间,以字节为单位。
9.Composite_limit:指定一个会话的总的资源消耗,以service units单位表示。
Password_parameter部分(RESOURCE_TYPE=PASSWORD):
1.Failed_login_attempts:指定在帐户被锁定之前所允许尝试登陆的的最大次数。
2.Password_life_time:指定同一密码所允许使用的天数。
3.Password_reuse_time和password_reuse_max:这两个参数必须互相关联设置,password_reuse_time指定了密码不能重用前的天数,
而password_reuse_max则指定了当前密码被重用之前密码改变的次数。两个参数都必须被设置为整数。
4.Password_lock_time:指定登陆尝试失败次数到达后帐户的锁定时间,以天为单位。
5.Password_grace_time:指定宽限天数,数据库发出警告到登陆失效前的天数。如果数据库密码在这中间没有被修改,则过期会失效。
6.Password_verify_function:该字段允许将复杂的PL/SQL密码验证脚本做为参数传递到create profile语句。Oracle数据库提供了一个默认的脚本,
但是自己可以创建自己的验证规则或使用第三方软件验证。 对Function名称,指定的是密码验证规则的名称,指定为Null则意味着不使用密码验证功能。

3、访问控制测评项:
(1)查看每个登录用户的角色和权限,是否是最小权限。Mgmt_uiew,sys,system,dbsnmp,sysman是open状态,其他用户都为锁定状态。
(2)验证系统用户的默认口令是否修改:
sys : CHANGE_ON_INSTALL
system:manager
dbsnmp:dbsnmp
(3)select username,account_status from dba_users;查看结果中是否存在scott、outln、ordsys等范例数据库账号。应不存在account_status为“expired”的账户,所有账户均为必要的管理账户或数据库应用程序账户,不存在测试账户/临时账户。每一歌数据库账户与实际用户应为一一对应关系。不存在多人共享账户的情况。
(4)对重要主体和客体设置安全标记,并控制主体对安全标记信息资源的访问。检查是否安装oracle label security模块。如果安装,会有LBACSYS用户。
查看是否创建策略: select policy_name,status from DBA_SA_POLICIES;结果存在状态为‘enable’的标签策略
查看是否创建级别:select * from dba_sa_levels order by level_num;返回结果不为空
查看标签创建情况:select * from dba_sa_labels;返回结果不为空
查看策略与模式、表的对应关系:select * from dba_sa_tables_policies; 判断是否针对重要信息资源设置敏感标签,返回结果不为空,且包含重要数据存储表格名称。
4、安全审计测评项:
(1)查看是否开启审计功能:select value from v p a r a m e t e r w h e r e n a m e = ′ a u d i t t r a i l ′ ; 结 果 不 应 该 为 n o n e 。 参 数 取 值 为 t r u e 或 者 d b , 将 审 计 结 果 存 入 基 表 , o s 利 用 操 作 系 统 审 计 功 能 , n o n e 或 者 f a l s e 不 审 计 , 没 有 默 认 值 ( 2 ) s h o w p a r a m e t e r a u d i t t r a i l ; 结 果 应 不 为 n o n e ; 参 数 a u d i t t r a i l 的 值 : d b / t r u e : 启 用 审 计 , 并 且 把 审 计 结 果 放 到 数 据 库 的 s y s . a u d parameter where name ='audit_trail';结果不应该为none。 参数取值为true或者db,将审计结果存入基表,os利用操作系统审计功能,none或者false不审计,没有默认值 (2)show parameter audit_trail;结果应不为none; 参数audit_trail的值: db/true :启用审计,并且把审计结果放到数据库的sys.aud parameterwherename=audittrail;nonetruedbosnonefalse2showparameteraudittrail;noneaudittraildb/true:sys.aud表中
os:启用审计,并且把审计结果存放在操作系统的数据信息中
db_extended:启用审计,把审计结果存放在数据库的sys.aud 表 中 , 并 且 在 c l o b 列 的 s q l b i n d 和 s q l t e x t 字 段 记 录 额 外 的 信 息 x m l : 启 用 审 计 , 以 x m l 格 式 写 所 有 的 审 计 记 录 e x t e n d e d : 启 用 审 计 , 在 审 计 跟 踪 中 记 录 所 有 列 , 包 括 s q l t e x t 和 s q l b i n g 值 n o n e / f a l s e : 禁 用 审 计 ( 3 ) s h o w p a r a m e t e r a u d i t s y s o p e r a t i o n s ; 用 于 审 计 S Y S D B A 的 活 动 。 不 应 为 f a l s e , 应 为 t r u e 。 相 关 的 审 计 信 息 不 会 记 录 在 a u d 表中,并且在clob列的sqlbind和sqltext字段记录额外的信息 xml:启用审计,以xml格式写所有的审计记录 extended:启用审计,在审计跟踪中记录所有列,包括sqltext和sqlbing值 none/false:禁用审计 (3)show parameter audit_sys_operations;用于审计SYSDBA的活动。不应为false ,应为true。 相关的审计信息不会记录在aud clobsqlbindsqltextxml:xmlextended:sqltextsqlbingnone/false:3showparameterauditsysoperations;SYSDBAfalsetrueaud中,因为有可能此时数据库还未启动,只能记录在操作系统层面的文件中。默认为false,不意味着没有审计信息,像conn / as sysdba这样的操作仍然会被记录。audit_file_dest参数指定的审计信息的文件夹。
将audit_sys_operations设置成true后,那么做为sysdba或sysoper连接数据库的用户所发布的每条语句都会被写入操作系统的审计中,从而能够给出DBA所进行操作的完整记录。
(4)select sel,upd,del,ins,gra from dba_obj_audit_opts;查看对象审计设置,应不全部为“-/-”。
(5)select * from dba_stmt_audit_opts; 可以用来查看statement审计级别的audit options,即数据库设置过哪些statement级别的审计 (Statement 是 Java 执行数据库操作的一个重要接口,用于在已经建立数据库连接的基础上,向数据库发送要执行的SQL语句。Statement对象,用于执行不带参数的简单SQL语句)应不全部为“-/-”
(6)select * from dba_priv_audit_opts;返回权限审计选项。应不全部为“-/-”。
(7)询问是否呀那个限制管理员权限,可以让用户通过命令:
alter system set audit_trail = none 并重启实例关闭审计功能,看是否能成功。测试其他人员无法对审计进程进行开启、关闭操作、并记录。
5、入侵防范测评项:
(1)查看sqlnet.ora文件是否配置参数:tcp.validnode_checking,tcp,invited_nodes;
tcp.validnode_checking = yes
Tcp,invited_nodes=() #运维访问的IP列表,各IP之间用逗号分隔。在sqlnet.ora文件中tcp.validnode_checking = yes
Tcp.invited_nodes 已配置参数ip列表。
C:\oraclexe\app\oracle\product\11.2.0\server\network\ADMIN\sample
(2) 访谈Oracle补丁升级机制,查看补丁安装情况:
#cd $ORACLE_HOME/Opatch
Opatch lsinventory

6、数据备份恢复
select * from dba_profiles where profile =‘DEFAULT’;
select username,account_status from dba_users;
select value from v$parameter where name =‘audit_trail’;
show parameter audit_trail;
show parameter audit_sys_operations;
select sel,upd,ins,gra from dba_obj_audit_opts;
select * from dba_stmt_audit_opts;
select * from dba_priv_audit_opts;

  • 3
    点赞
  • 59
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

萧@柯

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值