一、优炫数据库介绍
优炫数据库系统主要包含:优炫数据库(以下简称UXDB)、优炫数据库管理平台(以下简称 UXDBWeb)和优炫数据库图形化开发软件(以下简称UXDBAdmin)。UXDB是一款数据库软件, 数据处理引擎(DB)和分布式存储(UXFS)是非常重要的两个功能模块,同时包含数据迁移 工具。UXDBWeb和UXDBAdmin是两款独立的软件,两者的不同在于使用对象和管理内容 不同,UXDBWeb安装在管理端,供管理人员使用,主要实现对UXDB的DB部分、UXFS部分、 系统、安全部分的监控和管理;UXDBAdmin一般安装在客户端,供开发人员使用,主要通 过sql语句,实现对DB部分基本操作。
本次安装环境为Windows10专业版操作系统,数据库版本为v2.1.1.3 ,单机部署过程比较简单就不在此进行讲解。本文针对优炫数据库等保测评进行实际操作,不妥之处还恳请留言指正,共同学习。
二、等保测评
身份鉴别
a) 应对登录的用户进行身份标识和鉴别,身份标识具有唯一性,身份鉴别信息具有复杂度要求并定期更换;
1)优炫数据库本身没有密码复杂度策略设置,经测试发现数据库仅不允许空口令登录,允许设置弱口令。
3)用户唯一标识优炫数据库自动实现,这点默认符合。
b) 应具有登录失败处理功能,应配置并启用结束会话、限制非法登录次数和当登录连接超时自动退出等相关措施;
优炫数据可配置连接限制,此连接限制是指用户登录失败三次锁定账户,需要管理员进行解锁,解锁方式:如下图的可以登录项的off修改为on,无登录超时自动退出措施。
c) 当进行远程管理时,应采取必要措施防止鉴别信息在网络传输过程中被窃听;
核查是否采用加密等安全方式对系统进行远程管理,防止鉴别信息在网络传输过程中被窃听。检查远程管理时管理员所使用的管理协议,查看传输过程中的鉴别信息是否是经过加密处理的、抗重放的,并可使用抓包工具,判断管理员远程管理时传输过程中的鉴别信息被窃听的可能性。
SSL连接加密所有跨网络发送的数据:口令、查询、返回的数据。ux_hba.conf文件允许 管理员哪些主机可以使用不加密的连接(host),以及哪些主机需要使用SSL加密的连接 (hostssl)。客户端还可以指定它们只通过 SSL 连接到服务器。我们还可以使用Stunnel 或SSH加密传输。客户端和主机都可以提供SSL证书给对方。UXDB有一个对使用SSL连接加密客户端/服务器通讯的本地支持,它可以增加安全性。这个特性要求在客户端和服务器端都安装OpenSSL并且打开这个支持。 当安装OpenSSL后,可以通过将uxsinodb.conf中的ssl设置为on打开UXDB服务器的SSL支持。 服务器在同一个TCP端口监听普通连接和SSL连接,并且将与任何正在连接的客户端协商是否使用SSL。
d) 应采用口令、密码技术、生物技术等两种或两种以上组合的鉴别技术对用户进行身份鉴别,且其中一种鉴别技术至少应使用密码技术来实现。
访谈管理员并进行验证,是否采用双因子身份鉴别技术,鉴别技术是什么 。实际实现双因素认证比较困难,一般情况判定为不符合。
访问控制
a) 应对登录的用户分配账户和权限;
1)查看用户,并结合结合访谈管理员是否存在网络管理员,安全管理员,系统管理员、审计管理员等多个账户,为各个管理用户分配对应的权限,根据所列出的账户,查看是否存在默认账户,默认账户是否已禁用(优炫数据库自身没有默认账户)。
b) 应重命名或删除默认账户,修改默认账户的默认口令
优炫数据库没有特定的默认账户,数据库一般情况不存在默认口令,输入命令:查看是否存在默认账户。
c) 应及时删除或停用多余的、过期的账户,避免共享账户的存在
1)询问管理员数据库中的账户使用情况,是否存在无人使用的账户,如果存在建议删除。
2)检查网络管理员,安全管理员、系统管理员不同用户是否采用不同账户登录数据库。根据所列出的账户,询问数据库管理员各个账户的作用,是否存在多余的、过期的和共享账户。
d) 应授予管理用户所需的最小权限,实现管理用户的权限分离
1)询问数据库管理员管理账户是否按照最小权限进行划分。
e) 应由授权主体配置访问控制策略,访问控制策略规定主体对客体的访问规则
1)访谈和查看管理员是否制定了访问控制策略
2)查看管理员权限;(此测评点如果数据库已经启用身份鉴别,且具备权限分离可判定为符合)
f) 访问控制的粒度应达到主体为用户级或进程级,客体为文件、数据库表级
结合a)、b)、c)、d)、e)项,并访谈管理员并核查访问控制粒度主体是否为用户级,客体是否为数据库表级。询问数据库管理员是否具有安全策略,数据库是否具有重要的表。在企业管理器中右键点击重要的表,查看其权限。
(此测评点多数测评机构默认判定为符合)
g)应对重要主体和客体设置安全标记,并控制主体对有安全标记信息资源的访问
通过访谈管理员是否对重要主体和客体设置安全标记。SQL Server数据库自身应该很难实现这个功能,可能需要依赖操作系统或者第三方来实现。该项一般默认都不符合。
安全审计
a) 应启用安全审计功能,审计覆盖到每个用户,对重要的用户行为和重要安全事件进行审计
1)数据库本地仅看到会话信息
2)访谈管理员是否通过第三方工具(数据库审计系统)收集审计数据进行分析。
b) 审计记录应包括事件的日期和时间、用户、事件类型、事件是否成功及其他与审计相关的信息
1)检查日志记录的各类信息(目前未看到其他查看日志的功能等)。
2)核查是否部署第三方工具(数据库审计系统)增强优炫数据库日志功能。记录第三方审计工具的审计内容,查看是否包括事件的日期和时间、用户、事件类型、事件是否成功及其他与审计相关的信息。
c) 应对审计记录进行保护,定期备份,避免受到未预期的删除、修改或覆盖等
应保证各个管理员尽可以访问与自身相关的日志文件,如关键日志仅允许特权账户访问
1)访谈管理员对审计记录如何保护,对审计记录是否定期备份,备份策略。
是否采取了备份、转存等手段对审计记录进行保护,避免未预期的删除、修 改或覆盖,数据库本地日志保存时间超过6个月。采用第三方数据库审计产品,审计记录保存时间超过6个月。
2)是否严格限制用户访问审计记录的权限,可以通过普通用户登录然后是否能够访问修改删除日志。
d) 应对审计进程进行保护,防止未经授权的中断
优炫数据库可以根据权限建立各类型的账户,可以防止审计进程未经授权的中断,如果数据库已建立审计账户且各个数据库管理员权限已分离,可判定为符合。
入侵防范
a) 应遵循最小安装的原则,仅安装需要的组件和应用程序
数据库系统此测评项可判定为不适用。
b) 应关闭不需要的系统服务、默认共享和高危端口
数据库系统此测评项不适用。
c) 应通过设定终端接入方式或网络地址范围对通过网络进行管理的管理终端进行限制
优炫数据库具备登录地址限制的相关配置,也可以多数情况下是限制数据库服务器的登录地址,从而实现对数据库的登录地址限制,进查看说明文档,优炫数据库对用户的登录地址限制是在ux_hba.conf配置文件中配置策略,但是我没找到这个文件。
d) 应提供数据有效性检验功能,保证通过人机接口输入或通过通信接口输入的内容符合系统设定要求
数据库系统此测评项不适用。
e) 应能发现可能存在的已知漏洞,并在经过充分测试评估后,及时修补漏洞
1) 访谈管理员是否定期或不定期进行漏洞扫描或渗透测试,周期按照天/月/季度/半年/年等方式(建议漏洞扫描周期最长半年一次)。
2)通过本次漏洞扫描是否发现与数据库相关的高危漏洞,若存在,是否及时进行漏洞修补,检查数据库版本去了解此版本的漏洞情况。
f) 应能够检测到对重要节点进行入侵的行为,并在发生严重入侵事件时提供报警
数据库系统此测评项不适用。
恶意代码防范
应采用免受恶意代码攻击的技术措施或主动免疫可信验证机制及时识别入侵和病毒行为,并将其有效阻断
数据库系统此测评项不适用。
可信验证
可基于可信根对计算设备的系统引导程序、 系统程序、重要配置参数和应用程序等进行可信验证,并在应用程序的关键执行环节进行动态可信验证,在检测到其可信性受到破坏后进行报警,并将验证结果形成审计记录送至安全管理中心
通过访谈管理员,是否采取了可信技术,可信技术主要是基于可信芯片、可信根,目前实现此技术的可能性不大,一般判定为不符合。
数据完整性
a)应采用密码技术保证重要数据在传输过程中的完整性,包括但不限于鉴别数据、重要业务数据、重要审计数据、重要配置数据、重要视频数据和重要个人信息等;
传输过程中的完整性一般是通过通信协议来实现的,常见的包括TLS、SSL、SSH等协议,对数据库而言,查看是否启用了安全协议进行数据通信,同时询问管理员,确认是否还有其他保证数据传输过程中的完整性措施。SSL连接加密所有跨网络发送的数据:口令、查询、返回的数据。ux_hba.conf文件允许 管理员哪些主机可以使用不加密的连接(host),以及哪些主机需要使用SSL加密的连接 (hostssl)。客户端还可以指定它们只通过 SSL 连接到服务器。我们还可以使用Stunnel 或SSH加密传输。客户端和主机都可以提供SSL证书给对方。UXDB有一个对使用SSL连接加密客户端/服务器通讯的本地支持,它可以增加安全性。这个特性要求在客户端和服务器端都安装OpenSSL并且打开这个支持。 当安装OpenSSL后,可以通过将uxsinodb.conf中的ssl设置为on打开UXDB服务器的SSL支持。 服务器在同一个TCP端口监听普通连接和SSL连接,并且将与任何正在连接的客户端协商是否使用SSL。(本地管理可判定为不适用,远程管理根据实际情况判定)
b)应采用密码技术保证重要数据在存储过程中的完整性,包括但不限于鉴别数据、重要业务数据和重要个人信息等。
对数据库配置文件进行一个完整性检测,需要配置文件初始可信状态时的哈希值,然后再根据目前的文件生成一个哈希值,对比前后的一致性,确认数据是否被篡改过,根据了解一般数据库自身不带这种机制,询问管理人员是否使用了第三方软件对数据库重要数据进行了完整性校验。
实际操作中可核查数据库表中的业务数据、审计数据有无存在哈希字段,据了解数据在前端一般通过json或xml格式进行传输,相关数据库表字段中具有完整性校验字段。目前一般做不到,判定为不符合。
数据保密性
a)应采用密码技术保证重要数据在传输过程中的保密性,包括但不限于鉴别数据、重要业务数据、重要审计数据、重要配置数据、重要视频数据和重要个人信息等;
若password是以明文密码传送给数据库,建议不在生产环境中使用。若数据库未开启SSL时,我通过Wireshare对数据库认证过程的数据包进行抓取,可能发现传输的密码字段信息。SSL连接加密所有跨网络发送的数据:口令、查询、返回的数据。ux_hba.conf文件允许 管理员哪些主机可以使用不加密的连接(host),以及哪些主机需要使用SSL加密的连接 (hostssl)。客户端还可以指定它们只通过 SSL 连接到服务器。我们还可以使用Stunnel 或SSH加密传输。UXDB有一个对使用SSL连接加密客户端/服务器通讯的本地支持,它可以增加安全性。这个特性要求在客户端和服务器端都安装OpenSSL并且打开这个支持。当安装OpenSSL后,可以通过将uxsinodb.conf中的ssl设置为on打开UXDB服务器的SSL支持。服务器在同一个TCP端口监听普通连接和SSL连接,并且将与任何正在连接的客户端协商是否使用SSL。
总结,最直接验证的办法就是抓包验证重要的加密数据(鉴别数据、需要加密的业务数据、个人信息等)是否明文传输。
b)应采用密码技术保证重要数据在存储过程中的保密性,包括但不限于鉴别数据、重要业务数据和重要个人信息等。
检查数据库表中的重要数据是否明文存储,根据经验除鉴别数据外,业务数据、审计数据实际很少加密存储,所以一般不符合或者部分符合。如果使用数据库加密功能,就可以符合符合,数据库加密主要分库内加密和库外加密,库内加密主要是调用的数据库本身的加密功能,库外加密主要通过第三方厂家的数据库加密功能。
优炫数据库用户的口令默认以MD5散列的方式存储,管理员无法判断赋予用户的实际口令。如果MD5加密用于客户端认证,那么未加密的口令甚至都不可能临时出现在服务器上, 因为客户端在透过网络发送之前,先用MD5加密。
优炫数据库可选SCRAM-SHA-256对口令进行加密。
数据备份恢复
a)应提供重要数据的本地数据备份与恢复功能;
1)访问管理员配置数据、审计数据、业务数据的备份策略,检查备份策略的备份情况与管理员所说是否一致,是否具有恢复测试记录。
UXDBAdmin提供了一种以纯文本或归档格式创建备份的简单方法。然后可以使用客户机应 用程序(如uxsql或查询工具)来恢复纯文本备份文件,或者使用ux_restore实用程序来恢复归 档备份。ux_dump实用程序必须具有对希望备份的所有数据库对象的读访问权。可以备份单 个表、模式或完整的数据库。
2)可以通过数据库管理工具进行备份。
b)应提供异地实时备份功能,利用通信网络将重要数据实时备份至备份场地;
部署异地备份机房,并符合备份策略通过网络定期进行异地备份。
c)应提供重要数据处理系统的热冗余,保证系统的高可用性;
集群部署、双机热备均可判定为符合。
剩余信息保护
a)应保证鉴别信息所在的存储空间被释放或重新分配前得到完全清除;
一般情况下数据库系统内核层默认无法实现剩余信息保护功能,需要第三方工具才能实现。
b)应保证存有敏感数据的存储空间被释放或重新分配前得到完全清除。
一般情况下数据库系统内核层默认无法实现剩余信息保护功能,需要第三方工具才能实现。
个人信息保护
a)应仅采集和保存业务必需的用户个人信息;
检查数据库中是否存储个人信息,若有,检查个人信息保护机制和个人信息保护管理制度
b)应禁止未授权访问和非法使用用户个人信息。
检查个人信息保护机制和个人信息保护管理制度,验证非授权人员是否可以访问个人信息存储的相关组件内容。
总结
优炫数据库是一款国产数据库,目前使用单位很少很少,部分安全配置功能还未完全满足等保2.0检查的相关要求,也可能是我没弄明白,希望懂优炫数据的朋友指导,同时也希望国产数据库越来越完善吧。