等保2.0数据库测评 - Oracle 11g数据库
sinye56 2024-10-01 19:57 5 浏览 0 评论
一、Oracle介绍
Oracle Database,又名Oracle RDBMS,或简称Oracle。是甲骨文公司的一款关系数据库管理系统。
本次安装环境为Windows10专业版操作系统,数据库版本为11.2.0.1,单机部署过程比较简单就不在此进行讲解。本文针对Oracle 11g等保测评进行实际操作,不妥之处还恳请留言指正,共同学习。
二、等保测评
身份鉴别
a) 应对登录的用户进行身份标识和鉴别,身份标识具有唯一性,身份鉴别信息具有复杂度要求并定期更换;
1)登录Oracle检查是否采用用户名和口令登录。
2)执行命令:
(1)密码有效期:“select limit from dba_profiles where profile='DEFAULT' and resource_name='PASSWORD_LIFE_TIME';”
(2)密码失效后锁定时间:“select limit from dba_profiles where profile='DEFAULT' and resource_name='PASSWORD_REUSE_TIME';”
(3)失效后保留次数:“select limit from dba_profiles where profile='DEFAULT' and resource_name='PASSWORD_REUSE_MAX';”
(4)失效后密码保留时间:“select limit from dba_profiles where profile='DEFAULT' and resource_name='PASSWORD_GRACE_TIME';”
(5)复杂度:“select limit from dba_profiles where profile='DEFAULT' and resource_name='PASSWORD_VERIFY_FUNCTION';”
查看输出结果:
如果为null表示未设置。
如果不为null,其中:
PASSWORD_LOGIN_ATTEMPTS = 登录尝试次数;
PASSWORD_LIFE_TIME = 设置口令有效期;
PASSWORD_ROUSE_MAX =设置重新启用一个先前用过的口令前必须对该口令进行重新设置的次数(重复用的次数);
PASSWORD_VERIFY_FUNCITON =设置口令复杂度校验函数;
PASSWORD_GRACE_TIME=口令修改的宽限期天数,一般为7天;
备注:
“PASSWORD_VERIFY_FUNCTION”的Profile字段值为Default,某用户要使用Default的相关配置,就要设置DBA_USERS表中的Profile字段值为Default。
“PASSWORD_VERIFY_FUNCTION”表示该函数对口令进行校验,默认值是null,即不使用任何函数对口令进行校验。
3)执行命令:“Select username,account_status from dba_users;”查看用户名信息是否唯一:
4)执行命令:“select username, account_status, profile from dba_users where account_status NOT like '%LOCKED';”查看未锁定的所有用户:
b) 应具有登录失败处理功能,应配置并启用结束会话、限制非法登录次数和当登录连接超时自动退出等相关措施;
1)执行命令:“select limit from dba_profiles where profile='DEFAULT' and resource_name='FAILED_LOGIN_ATTEMPTS';检查登录失败次数。
2)执行命令:“select limit from dba_profiles where profile='DEFAULT' and resource_name='PASSWORD_LOCK_TIME';“登录失败锁定时间:
结果为“unlimited”,表示未配置;结果为“1”,重试失败后锁定一天。
3)执行命令:“SELECT LIMIT FROM DBA_PROFILES WHERE PROFILE='DEFAULT' AND RESOURCE_NAME='IDLE_TIME';”查询输出结果。若为’UNLIMITED’则无登录超时限制。
若为’UNLIMITED’则无登录超时限制。
4)可在sqlnet.ora配置文件中设置空闲超时时间。
c) 当进行远程管理时,应采取必要措施防止鉴别信息在网络传输过程中被窃听;
1)是否采用加密等安全方式对系统进行远程管理是否用户都是localhost,全为localhost则为本地管理,可判定为不适用。
2)远程管理根据实际管理情况进行判定(如了解数据库管理工具采用什么措施防止鉴别信息在传输过程中被窃听)。采用sqlplus或PL/SQL连接数据库,对数据库进行管理,客户端与服务器端之间通信是加密的,故Oracle该项符合。
d) 应采用口令、密码技术、生物技术等两种或两种以上组合的鉴别技术对用户进行身份鉴别,且其中一种鉴别技术至少应使用密码技术来实现。
访谈管理员并进行验证,是否采用双因子身份鉴别技术,鉴别技术是什么 。实际实现双因素认证比较困难,一般情况判定为不符合。
访问控制
a) 应对登录的用户分配账户和权限;
执行命令“Select username,account_status from dba_users;”或点菜单栏“用户”,查看账户的管理权限:
b) 应重命名或删除默认账户,修改默认账户的默认口令
执行命令:Select username,account_status from dba_users where account_status='OPEN';查看账户列表,是否存在默认账户如下:
c) 应及时删除或停用多余的、过期的账户,避免共享账户的存在
1)询问管理员数据库中的账户使用情况,是否存在无人使用的账户,如果存在建议删除。
2)检查网络管理员,安全管理员、系统管理员不同用户是否采用不同账户登录数据库。
d) 应授予管理用户所需的最小权限,实现管理用户的权限分离
点击菜单栏”用户“查看已启用的账户,查看账户的权限分配情况,账户的管理权限是否不同,是否建立三员。
e) 应由授权主体配置访问控制策略,访问控制策略规定主体对客体的访问规则
1)访谈和查看管理员是否制定了访问控制策略
2)查看管理员权限;(此测评点如果Oracle已经启用身份鉴别,且具备权限分离可判定为符合)
f) 访问控制的粒度应达到主体为用户级或进程级,客体为文件、数据库表级
结合a)、b)、c)、d)、e)项,并访谈管理员并核查访问控制粒度主体是否为用户级,客体是否为数据库表级。
(此测评点多数测评机构默认判定为符合)
g)应对重要主体和客体设置安全标记,并控制主体对有安全标记信息资源的访问
通过访谈管理员是否对重要主体和客体设置安全标记。Oracle自身应该不具备这个功能,可能需要依赖操作系统或者第三方来实现。该项一般默认都不符合。
安全审计
a) 应启用安全审计功能,审计覆盖到每个用户,对重要的用户行为和重要安全事件进行审计
1)执行命令:select value from v$parameter where name='audit_trail';检查是否开启审计。
2)执行命令:"show parameter audit_file_dest;"和“show parameter audit;”和检查审计数据存储路径。
3)访谈管理员是否通过第三方工具(数据库审计系统)收集审计数据进行分析。
b) 审计记录应包括事件的日期和时间、用户、事件类型、事件是否成功及其他与审计相关的信息
1)
2)核查是否部署第三方工具(数据库审计系统)增强MySQL日志功能。记录第三方审计工具的审计内容,查看是否包括事件的日期和时间、用户、事件类型、事件是否成功及其他与审计相关的信息。
c) 应对审计记录进行保护,定期备份,避免受到未预期的删除、修改或覆盖等
应保证各个管理员尽可以访问与自身相关的日志文件,如关键日志仅允许特权账户访问
1)访谈管理员对审计记录如何保护,对审计记录是否定期备份,备份策略。
是否采取了备份、转存等手段对审计记录进行保护,避免未预期的删除、修 改或覆盖,数据库本地日志保存时间超过6个月。采用第三方数据库审计产品,审计记录保存时间超过6个月。
2)是否严格限制用户访问审计记录的权限,可以通过普通用户登录然后是否能够访问修改删除日志。
d) 应对审计进程进行保护,防止未经授权的中断
根据Oracle可以根据权限建立各类型的账户,可以防止审计进程未经授权的终端:
入侵防范
a) 应遵循最小安装的原则,仅安装需要的组件和应用程序
数据库系统此测评项可判定为不适用。
b) 应关闭不需要的系统服务、默认共享和高危端口
数据库系统此测评项不适用。
c) 应通过设定终端接入方式或网络地址范围对通过网络进行管理的管理终端进行限制
可在sqlnet.ora配置文件中设信任IP地址。
d) 应提供数据有效性检验功能,保证通过人机接口输入或通过通信接口输入的内容符合系统设定要求
数据库系统此测评项不适用。
e) 应能发现可能存在的已知漏洞,并在经过充分测试评估后,及时修补漏洞
1、 访谈管理员是否定期或不定期进行漏洞扫描或渗透测试,周期按照天/月/季度/半年/年等方式(建议漏洞扫描周期最长半年一次)。
2、通过本次漏洞扫描是否发现与数据库相关的高危漏洞,若存在,是否及时进行漏洞修补。
执行命令:”select banner from sys.v_$version;“检查数据库版本。
f) 应能够检测到对重要节点进行入侵的行为,并在发生严重入侵事件时提供报警
数据库系统此测评项不适用。
恶意代码防范
应采用免受恶意代码攻击的技术措施或主动免疫可信验证机制及时识别入侵和病毒行为,并将其有效阻断
数据库系统此测评项不适用。
可信验证
可基于可信根对计算设备的系统引导程序、 系统程序、重要配置参数和应用程序等进行可信验证,并在应用程序的关键执行环节进行动态可信验证,在检测到其可信性受到破坏后进行报警,并将验证结果形成审计记录送至安全管理中心
通过访谈管理员,是否采取了可信技术,可信技术主要是基于可信芯片、可信根,目前实现此技术的可能性不大,一般判定为不符合。
数据完整性
a)应采用密码技术保证重要数据在传输过程中的完整性,包括但不限于鉴别数据、重要业务数据、重要审计数据、重要配置数据、重要视频数据和重要个人信息等;
传输过程中的完整性一般是通过通信协议来实现的,常见的包括TLS、SSH等协议,对数据库而言,查看是否启用了安全协议进行数据通信,同时询问管理员,确认是否还有其他保证数据传输过程中的完整性措施。
(本地管理判定为不适用,远程管理根据实际情况判定)
b)应采用密码技术保证重要数据在存储过程中的完整性,包括但不限于鉴别数据、重要业务数据和重要个人信息等。
对数据库配置文件进行一个完整性检测,需要配置文件初始可信状态时的哈希值,然后再根据目前的文件生成一个哈希值,对比前后的一致性,确认数据是否被篡改过,根据了解一般数据库自身不带这种机制,询问管理人员是否使用了第三方软件对数据库重要数据进行了完整性校验。
实际操作中可核查数据库表中的业务数据、审计数据有无存在哈希字段,据了解数据在前端一般通过json或xml格式进行传输,相关数据库表字段中具有完整性校验字段。目前一般做不到,判定为不符合。
数据保密性
a)应采用密码技术保证重要数据在传输过程中的保密性,包括但不限于鉴别数据、重要业务数据、重要审计数据、重要配置数据、重要视频数据和重要个人信息等;
若password是以明文密码传送给数据库,建议不在生产环境中使用。若数据库未开启SSL时,我通过Wireshare对数据库认证过程的数据包进行抓取,可能发现传输的密码字段信息。
总结,最直接验证的办法就是抓包验证重要的加密数据(鉴别数据、需要加密的业务数据、个人信息等)是否明文传输。
b)应采用密码技术保证重要数据在存储过程中的保密性,包括但不限于鉴别数据、重要业务数据和重要个人信息等。
检查数据库表中的重要数据是否明文存储,根据经验除鉴别数据外,业务数据、审计数据实际很少加密存储,所以一般不符合或者部分符合。如果使用数据库加密功能,就可以符合符合,数据库加密主要分库内加密和库外加密,库内加密主要是调用的数据库本身的加密功能,库外加密主要通过第三方厂家的数据库加密功能。
此处主要针对鉴别信息(其他像业务数据、审计数据和配置数据一般情况未加密)传输相关的参数大致有下类三个:
SCRAM-SHA-256属于挑战-响应架构, 可防止密码在不可信连接上嗅探,并支持以密码散列的形式将密码存储在服务器上, 这种形式被认为是安全的。
MD5使用自定义安全性较低的质询-响应机制。 它可以防止密码嗅探,并避免以纯文本形式将密码存储在服务器上, 但如果攻击者设法从服务器窃取密码哈希,则不提供保护。(MD5哈希算法现在不再被认为是安全的算法)
据了解,Oracle数据库加密方式有两种,其中a)加密 API 例如包和 dbms_crypto (在 Oracle 数据库 10g 第 1 版和更高版本中)。使用这些包,我们可以构建我们自己的基础架构,对数据进行加密。这种方法的灵活性最强,但是构建和管理却相当复杂。DBMS_CRYPTO支持DES加密、双密钥的3DES以及三密钥的3DES加密,采用三个不同大小的AES和RC4加密算法。
b)透明的数据加密是 Oracle 数据库 10g 第 2 版和更高版本的一个特性;使用该特性后,我们就不必手动进行密码管理了。数据库管理密码,但是正如名称所指,加密是透明的——数据仅仅以加密的方式存储而已。当我们选择了这种方式,扩展性比较差。
数据备份恢复
a)应提供重要数据的本地数据备份与恢复功能;
1)访问管理员配置数据、审计数据、业务数据的备份策略,检查备份策略的备份情况与管理员所说是否一致,是否具有恢复测试记录。
2)可以通过数据库管理工具进行备份,如navicat等工具,工具具备Oracle自带的逻辑备份。它的备份原理是通过协议连接到Oracle数据库,将需要备份的数据查询出来。
b)应提供异地实时备份功能,利用通信网络将重要数据实时备份至备份场地;
部署异地备份机房,并符合备份策略通过网络定期进行异地备份。
c)应提供重要数据处理系统的热冗余,保证系统的高可用性;
集群部署、双机热备均可判定为符合。
剩余信息保护
a)应保证鉴别信息所在的存储空间被释放或重新分配前得到完全清除;
一般情况下数据库系统内核层默认无法实现剩余信息保护功能,需要第三方工具才能实现。
b)应保证存有敏感数据的存储空间被释放或重新分配前得到完全清除。
一般情况下数据库系统内核层默认无法实现剩余信息保护功能,需要第三方工具才能实现。
个人信息保护
a)应仅采集和保存业务必需的用户个人信息;
检查数据库中是否存储个人信息,若有,检查个人信息保护机制和个人信息保护管理制度
b)应禁止未授权访问和非法使用用户个人信息。
检查个人信息保护机制和个人信息保护管理制度,验证非授权人员是否可以访问个人信息存储的相关组件内容。
总结
在等保测评检查中会发现Oracle数据库大部分配置都可以实现,但是在实际测评过程中很多单位不愿意配置等保中要求的策略,一方面是管理员认为不方便自己运维管理,另一方面可能是数据库在实时生产环境中,管理员担心更改相关安全配置后影响系统的正常运行,所以我们在测评中要做好安全和生产、安全和管理的平衡。
相关推荐
- 一个不错的软件版本命名规范!
-
之前写了一篇如何自动生成版本号的文章,《让你的C程序,自动打印版本信息》初衷是让自己的程序在运行时自动打印与版本相关的信息,避免测试时因为版本信息不确定导致的一些功能对应不上去的问题,当时留了一个坑,...
- 国产操作系统迎来发展风口 公务领域更能培育起Linux生态
-
谷歌和微软在俄罗斯市场的一番套路猛如虎,就让我们深刻地意识到了,只有自己的东西才能靠得住。也由此,国内操作系统发展迎来了发展风口。我就看到有朋友就秀出了他们单位采购的纯国产的主机,一款华为的主机,纯国...
- 5个大有“前途”的Linux桌面发行版本
-
ZD至顶网CIO与应用频道08月27日专栏:Linux无处不在。你的服务器里,你的电话、汽车、手表、烤面包机、冰箱……和台式机里都有Linux的身影。虽然在桌面上见到Linux的用户比在自动调温...
- Linux 常用应用软件大全
-
编译自:https://www.fossmint.com/most-used-linux-applications/作者:MartinsD.Okoi译者:HankChow对于许多应用程序...
- Linux 4.1 系列的最大版本 4.1.18 LTS发布,带来大量修改
-
(LCTT译注:这是一则过期的消息,但是为了披露更新内容,还是发布出来给大家参考)著名的内核维护者GregKroah-Hartman貌似正在度假中,因为SashaLevin2016年2月16日的...
- Linux发行版需要杀软吗?卡巴斯基推出免费KVRT病毒扫描清理工具
-
IT之家6月4日消息,你认为使用Linux发行版,需要杀毒软件吗?或许很多用户认为Linux发行版偏小众,因此受到黑客攻击的风险也相对较小,不过卡巴斯基并不这么认为,近期推出了适用于...
- 适合开发人员的 5款 Linux 发行版
-
什么是Linux?Linux是基于Unix的操作系统。由LinusTorvalds开发于1991年首次发布其内核。因为Linux是开源软件,其发行版由不同组织发布,因此不同的发行版具有不同的风格...
- VMware Workstation 17.0 Pro 发布:新增 TPM 2.0 完美兼容Win11
-
IT之家11月18日消息,VMwareWorkstation17.0Pro现已发布,它带来了许多新特性,例如微软Windows11硬性要求:虚拟可信平台模块(TPM)2.0。...
- 你是否需要一个容器专用的Linux发行版本?
-
单单使用容器是不够的,提供商们认为你需要一个容器专用的Linux发行版本。我们可以让容器在不同的操作系统上运行,不同的操作系统都有自己的虚拟化服务,如:SolarisZones、BSDJails、...
- Tizen 3.0版本发布 采用Linux 4.1内核
-
2015-09-2111:31:39作者:马荣【中关村在线软件资讯】9月21日消息:尽管三星靠着Android系统设备在移动市场赚钱,但是仍然没有忘记自家的Tizen开发。现在Tizen3.0版...
- 欧拉操作系统演进:应用累计超130万套 支持鲲鹏、英特尔、飞腾等芯片
-
21世纪经济报道记者倪雨晴深圳报道4月15日,在欧拉开发者大会(openEulerDeveloperDay2022)的主论坛上,欧拉首个数字基础设施全场景长周期版openEuler22.03...
- Papyros:以Material Design为灵感的Linux发行版本
-
项目团队并不希望只是采用传统的桌面主题,而是致敬谷歌Android系统的MaterialDesign设计语言想要打造出某些不同以往足够吸引用户的Linux发行版本,自然该版本还在不断的更新和改进中,...
- 比特网早报:全国空间计量技术委员会成立,银河麒麟操作系统上架微信Linux4.0.0版本
-
2024年11月6日消息,昨夜今晨,科技圈都发生了哪些大事?行业大咖抛出了哪些新的观点?比特网为您带来值得关注的科技资讯:全国空间计量技术委员会在北京成立近日,经市场监管总局批准,全国空间计量技术委员...
- 2024年最稳定的5个Linux发行版,赶紧收藏!
-
Linux是最流行的免费开源平台之一。Linux已被广泛使用,因为它安全、可扩展和灵活。Linux发行版收集开源代码,对其进行编译,并将其组合成一个可以轻松启动和安装的操作系统。它们还提供不同的...
- 彰显Linux生态繁华,Ubuntu、Fedora等四发行版同时发布新版本
-
上周对于开源社区来说是忙碌的一周。EndeavourOS和TrueNASScale于周二(4月16日)发布,Fedora于周三(4月17日)发布,Ubuntu于周四(4月18日)发布。四个新版本中都...
你 发表评论:
欢迎- 一周热门
- 最近发表
- 标签列表
-
- 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)