等保2.0 数据库Oracle测评(等保2.0数据安全要求)
sinye56 2024-09-29 22:10 8 浏览 0 评论
等级保护【数据库Oracle】测评:
详解【数据库Oracle】(三级):身份鉴别、访问控制、安全审计、资源控制四个控制点的测评要求项、测评方法及测评步骤!
身份鉴别
a)应对数据库系统的用户进行身份标识和鉴别;
测评方法及步骤:
1)以默认口令或者常见口令尝试登录数据库,查看是否成功,查看是否需要口令以及是否存在空口令
$ sqlplus/nolog
SQL>connuser/password as sysdba
2)或者使用Oracle客户端管理控制台(Enterprise Manager Console)进行登录
3)默认口令包括sys/change_on_install;system/manager,scott/tiger,常用口令包括oracle:admin/oracle;sys:admin:oracle等。(更改用户口令alter user user_name identified by password),或者用select * from dba_users;查看账号口令;
b)数据库系统管理用户身份标识应具有不易被冒用的特点,口令应有复杂度要求并定期更换;
测评方法及步骤:
1)select username,profile fromdba_user;了解用户使用的profile
2)select * from dba_profiles whereprofile='default';查看系统本身的profile的配置参数都有哪些?
PASSWORD_VERIFY_FUNCTIONverify_function为密码复杂度验证函数已经开启。这个oracle默认verify_function()函数,要求口令密码最小长度4、不能和用户名相同、至少有一个字母、数字和特殊字母,旧密码和新密码至少有三位不同。如果你觉得这个要求还太低,那你就创建自己复杂的验证函数
3)检查utlpwdmg.sql中"-- Check for the minimum length of the password"部分中"length (password)<"后的值;
c)应启用登录失败处理功能,可采取结束会话、限制非法登录次数和自动退出等措施;
测评方法及步骤:
1)select limitfrom dba_profiles where resource_name='FAILED_LOGIN_ATTEMPTS
FAILED_LOGIN_ATTEMPTS:最大错误登录次数
PASSWORD_GRACE_TIME:口令失效后锁定 时间
PASSWORD_LIFE_TIME:口令有效时间
PASSWORD_LOCK_TIME:登录超过有效次数锁定时间
查看有无对各项进行时间/次数上的设置和限制;
d)当对服务器进行远程管理时,应采取必要措施,防治鉴别信息在网络传输过程中被窃听;
测评方法及步骤:
1)询问管理员是否采取加密手段保证数据库的访问信息不被窃听
2)在9i中查看数据库安装目录下的\admin\DB_NAME\pfile\initSID.ora中REMOTE_OS_AUTHENT的赋值,确认是否允许管理员对数据库进行远程连接和管理,其他版本用命令“SHOW PARAMETERS AUTH;”记录是否允许远程访问
3)或者图形界面管理中查看打开Oracle客户端管理控制台(Enterprise Manager Console);添加被评估数据库的连接信息,使用sys或system用户登录数据库;在左侧菜单栏中打开“例程”,选中“配置”栏,再选择“一般信息”页面,点击“所有初始化参数”;在弹出的界面中,查看“remote_os_authent”参数行的设置,为是否允许远程连接,如实记录该原始数据或拷屏
4)查看lsnrctl status查看是否存在TCPS协议;
e)应为数据库系统的不同用户分配不同的用户名,确保用户名具有唯一性;
测评方法及步骤:
1)询问管理员,是否为不同的用户分配了不同的账户。可检索账户“selectusername,account_status from dba_users”,并询问是否建立制度,确保不同人员使用不同用户登录数据库系统;
f)应采用两种或两种以上组合的鉴别技术对管理用户进行身份鉴别;
测评方法及步骤:
1)询问管理员数据库是否采用了2种以上身份鉴别方式进行身份认证,如是否部署CA认证等第三方认证产品进行认证;
2)查看配置文件 db_1\NETWORK\ADMIN目录下或$TNS_ADMIN/sqlnet.ora的sqlnet.ora,查看SQLNET_AUTHENTICATION_SERVICES的值,确认数据库管理员指定的鉴别方式是否与管理员回答的一致,值为NTS时,则为使用windows系统认证,当为none时,则需要双重身份认证。但是不为双因子认证;
此条中判断以第一条为准,第二条仅做参考,不对结果造成影响;
访问控制
a)应启用访问控制功能,依据安全策略控制用户对资源的访问;
测评方法及步骤:
1)linux下在数据库的操作系统中打开$ORACLE_HOME\bin目录,并找到可执行程序Oracle;
在操作系统中运行命令:ls –al oracle;查看其运行、读写权限;
2)访谈管理员是否有其他方式(如防火墙、ACL、IPsec等方式)进行端口/IP级的访问限制,或者其他方式对数据库访问的控制,并进行验证;
判定依据主要参考第三条,第一二条为辅助依据;
b)应根据管理用户的角色分配权限,实现管理用户的权限分离,仅授予管理用户所需的最小权限;
测评方法及步骤:
1)查看应用账户是否属于DBA组权限
2)select grantee from dba_role_privs where grante_role='DBA' and grante not in('SYS','SYSTEM','CTXSYS','WmSYS','SYSMAN');
c)应实现操作系统和数据库系统特权用户的权限分离;
测评方法及步骤:
询问管理员是否由不同员工分别担任操作系统管理员与数据库管理员
登录操作系统,查看是否能对数据库系统进行操作;
d)应限制默认帐户的访问权限,重命名系统默认帐户,修改这些帐户的默认口令;
测评方法及步骤:
询问管理员:应尽量重命名数据库系统的默认账户,如果部分账户无法重命名,则应加强这些账户的口令强度,确保这些账户不被授权使用;
e)应及时删除多余的、过期的帐户,避免共享帐户的存在;
测评方法及步骤:
1、在sqlplus中执行命令
desc dba_users
selectusername,account_status from dba_users where account_status='OPEN'
2、查看返回结果中是否存在scott、outln、ordsys等范例数据库账号,在windows中或者用图形用户界面找到安全性查看用户状态检查是否有过期、共享帐户存在;
f)应对重要信息资源设置敏感标记;
测评方法及步骤:
1)检查是否安装oracle label security模块(如无,下面步骤可省略)select username from dba_users;查看有无lbacsys的用户,如无,则无安装Oracle Label Security模块
2)查看是否创建策略:select policy_name,statusfrom DBA_SA_POLICIES
3)查看标签创建情况:select * fromdba_sa_lables;
g)应依据安全策略严格控制用户对有敏感标记重要信息资源的操作;
测评方法及步骤:
登录sqlplus,查看用户的标签
select * fromdba_sa_lables
select * fromdba_sa_tables_policies;可让管理员演示选择特定的用户和表进行验证敏感标记功能是否正确;
安全审计
a)审计范围应覆盖到服务器和重要客户端上的每个数据库用户;
测评方法及步骤:
检查并记录数据库操作审计的配置策略
show parametersaudit;查看数据库审计的目录及审计是否开启,审计级别
1.windows中打开Oracle客户端管理控制台(Enterprise Manager Console)
2.添加被评估数据库的连接信息,使用sys或system用户登录数据库
3.在左侧菜单栏中打开“例程”,选中“配置”栏,再选择“一般信息”页面,点击“所有初始化参数”
4.在弹出的界面中,查看“audit_trail”参数行的设置,如实记录该原始数据或拷屏。如果为linux系统执行show parameters audit_trail;查看是否开启审计功能
5.进行管理员和一般用户登录登出,查看审计日志是否能正确记录
6.以上条件不满足时,询问管理员是否有第三方数据库审计软件;
b)审计内容应包括重要用户行为、系统资源的异常使用和重要系统命令的使用等系统内重要的安全相关事件;
测评方法及步骤:
查看AUDIT_TRAIL的值为NONE为关闭审计功能,audit_sys_operations为YES审计系统重要操作;
c)审计记录应包括事件的日期、时间、类型、主体标识、客体标识和结果等;
测评方法及步骤:
select * fromsys.aud$,select * fromdba_audit_trail,记录审计记录中事件的日期、时间、类型、主体标识、客体标识和结果等记录情况;
d)应能根据记录数据进行分析,并生产审计报表;
测评方法及步骤:
询问管理员是否安装并使用了oracle audit vault等日志分析工具并查看相关报表,或者是否采用了第三方数据库审计软件以及具有报表功能并定期生成报表;
e)应保护审计进程,避免受到未预期的中断;
测评方法及步骤:
询问是否严格限制数据库管理员权限,系统管理员能否进行与审计相关的操作。用户可以通过alter system set audit_trail='NONE' scope=spfile;,查看是否成功;
f)应保护审计记录,避免受到未预期的删除、修改或覆盖等;
测评方法及步骤:
询问数据库管理员,是否严格限制用户访问审计记录的权限,如采用audit vault等,或者第三方审计系统,并检查是否定期对审计日志做备份;
资源控制
a)应通过设定终端接入方式、网络地址范围等条件限制终端登录;
测评方法及步骤:
方法一:人工审计
1.以文本文件的方式,打开操作系统中的数据库服务配置文件“SQLNET.ORA”(数据库目录下的NETWORK\ADMIN\)
查看是否存在如下内容
tcp.validnode_checking=YES
tcp.excluded_nodes={list of IP address}
tcp.invited_nodes={list of IP address},如存在则对IP地址进行了限制
3.如实记录该原始数据或拷屏
4.如果没有在数据库系统上进行配置,询问是否在防火墙或者其他网络设备/安全设备上进行了相关的配置;
方法一:人工审计
1.以文本文件的方式,打开操作系统中的数据库服务配置文件“listener.ora”;
2.查看“ADMIN_RESTRICTIONS_listener_name=”的设置(此项设置为防止对oracle listener的未经授权的管理,需要),如实记录该原始数据或拷屏,如为ON则符合,不存在则不符合;
b)应根据安全策略设置登录终端的操作超时锁定;
测评方法及步骤:
查看空闲超时设置,selectlimit from dba_profiles where resource_name='IDLE_TIME'.查看超时设置,并记录或查看系统概要文件;
c)应限制单个用户对系统资源的最大或最小使用限度;
测评方法及步骤:
执行命令,查看用户使用的profile,select username,profile fromdba_users,查看其限制,set lines 300
查看默认用户的并行会话数和CPU使用时间
select limitfrom dba_profiles where profile='DEFAULT';,或CPU_PER_SESSION,IDLE_TIME,'SESSIONS_PER_USER'等各设置
下面是全部可用的参数:
SESSIONS_PER_USER 每个用户名所允许的并行会话数
CPU_PER_SESSION 一个会话一共可以使用的CPU时间,单位是百分之一秒
CPU_PER_CALL 一次SQL调用(解析、执行和获取)允许使用的CPU时间
CONNECT_TIME 限制会话连接时间,单位是分钟
IDLE_TIME 允许空闲会话的时间,单位是分钟
LOGICAL_READS_PER_SESSION 限制会话对数据块的读取,单位是块
LOGICAL_READS_PER_CALL 限制SQL调用对数据块的读取,单位是块
COMPOSITE_LIMIT “组合打法”
PRIVATE_SGA 限制会话在SGA中Shared Pool中私有空间的分配;
相关推荐
- 程序员:JDK的安装与配置(完整版)_jdk的安装方法
-
对于Java程序员来说,jdk是必不陌生的一个词。但怎么安装配置jdk,对新手来说确实头疼的一件事情。我这里以jdk10为例,详细的说明讲解了jdk的安装和配置,如果有不明白的小伙伴可以评论区留言哦下...
- Linux中安装jdk并配置环境变量_linux jdk安装教程及环境变量配置
-
一、通过连接工具登录到Linux(我这里使用的Centos7.6版本)服务器连接工具有很多我就不一一介绍了今天使用比较常用的XShell工具登录成功如下:二、上传jdk安装包到Linux服务器jdk...
- 麒麟系统安装JAVA JDK教程_麒麟系统配置jdk
-
检查检查系统是否自带java在麒麟系统桌面空白处,右键“在终端打开”,打开shell对话框输入:java–version查看是否自带java及版本如图所示,系统自带OpenJDK,要先卸载自带JDK...
- 学习笔记-Linux JDK - 安装&配置
-
前提条件#检查是否存在JDKrpm-qa|grepjava#删除现存JDKyum-yremovejava*安装OracleJDK不分系统#进入安装文件目...
- Linux新手入门系列:Linux下jdk安装配置
-
本系列文章是把作者刚接触和学习Linux时候的实操记录分享出来,内容主要包括Linux入门的一些理论概念知识、Web程序、mysql数据库的简单安装部署,希望能够帮到一些初学者,少走一些弯路。注意:L...
- 测试员必备:Linux下安装JDK 1.8你必须知道的那些事
-
1.简介在Oracle收购Sun后,Java的一系列产品就被整合到Oracle官网中,打开官网乍眼一看也不知道去哪里下载,还得一个一个的摸索尝试,而且网上大多数都是一些Oracle收购Sun前,或者就...
- Linux 下安装JDK17_linux 安装jdk1.8 yum
-
一、安装环境操作系统:JDK版本:17二、安装步骤第一步:下载安装包下载Linux环境下的jdk1.8,请去官网(https://www.oracle.com/java/technologies/do...
- 在Ubuntu系统中安装JDK 17并配置环境变量教程
-
在Ubuntu系统上安装JDK17并配置环境变量是Java开发环境搭建的重要步骤。JDK17是Oracle提供的长期支持版本,广泛用于开发Java应用程序。以下是详细的步骤,帮助你在Ubuntu系...
- 如何在 Linux 上安装 Java_linux安装java的步骤
-
在桌面上拥抱Java应用程序,然后在所有桌面上运行它们。--SethKenlon(作者)无论你运行的是哪种操作系统,通常都有几种安装应用程序的方法。有时你可能会在应用程序商店中找到一个应用程序...
- Windows和Linux环境下的JDK安装教程
-
JavaDevelopmentKit(简称JDK),是Java开发的核心工具包,提供了Java应用程序的编译、运行和开发所需的各类工具和类库。它包括了JRE(JavaRuntimeEnviro...
- linux安装jdk_linux安装jdk软连接
-
JDK是啥就不用多介绍了哈,外行的人也不会进来看我的博文。依然记得读大学那会,第一次实验课就是在机房安装jdk,编写HelloWorld程序。时光飞逝啊,一下过了十多年了,挣了不少钱,买了跑车,娶了富...
- linux安装jdk,全局配置,不同用户不同jdk
-
jdk1.8安装包链接:https://pan.baidu.com/s/14qBrh6ZpLK04QS8ogCepwg提取码:09zs上传文件解压tar-zxvfjdk-8u152-linux-...
- 运维大神教你在linux下安装jdk8_linux安装jdk1.7
-
1.到官网下载适合自己机器的版本。楼主下载的是jdk-8u66-linux-i586.tar.gzhttp://www.oracle.com/technetwork/java/javase/downl...
- window和linux安装JDK1.8_linux 安装jdk1.8.tar
-
Windows安装JDK1.8的步骤:步骤1:下载JDK打开浏览器,找到JDK下载页面https://d.injdk.cn/download/oraclejdk/8在页面中找到并点击“下载...
- 最全的linux下安装JavaJDK的教程(图文详解)不会安装你来打我?
-
默认已经有了linux服务器,且有root账号首先检查一下是否已经安装过java的jdk任意位置输入命令:whichjava像我这个已经安装过了,就会提示在哪个位置,你的肯定是找不到。一般我们在...
你 发表评论:
欢迎- 一周热门
- 最近发表
- 标签列表
-
- oracle忘记用户名密码 (59)
- oracle11gr2安装教程 (55)
- mybatis调用oracle存储过程 (67)
- oracle spool的用法 (57)
- oracle asm 磁盘管理 (67)
- 前端 设计模式 (64)
- 前端面试vue (56)
- linux格式化 (55)
- linux图形界面 (62)
- linux文件压缩 (75)
- Linux设置权限 (53)
- linux服务器配置 (62)
- mysql安装linux (71)
- linux启动命令 (59)
- 查看linux磁盘 (72)
- linux用户组 (74)
- linux多线程 (70)
- linux设备驱动 (53)
- linux自启动 (59)
- linux网络命令 (55)
- linux传文件 (60)
- linux打包文件 (58)
- linux查看数据库 (61)
- linux获取ip (64)
- linux进程通信 (63)