反转基因福娃 发表于 2024-11-12 11:49:35

等保2.0数据库测评之华为高斯数据库(GaussdDB)测评

一、高斯数据库(GaussdDB)介绍

高斯数据库是一款开源关系型数据库管理系统,提供面向多核的极致性能、全链路的业务和数据安全。多用于大并发、大数据量、以联机事务处置惩罚为主的交易型应用,如电商、金融、O2O、电信CRM/计费等,应用可按需选择差别的主备部署模式。另外也用于在工业监控和长途控制、智慧城市的延展、智能家居、车联网等物联网场景下,传感监控设备多,采样率高,数据存储为追加模型,操纵和分析并重的场景。
目前支持此数据库的操纵系统:openEuler 20.03LTS(推荐接纳此操纵系统)、麒麟V10、CentOS 7.6。

https://img-blog.csdnimg.cn/img_convert/c021e0cf4227f51da4f01e0e3956ffdd.png
二、等保测评
身份鉴别
a.应对登录的用户进行身份标识和鉴别,身份标识具有唯一性,身份鉴别信息具有复杂度要求并定期更换;

1)以下为登录/毗连Gaussdb数据库的方法
实行cps template-instance-list --service gaussdb gaussdb命令检察gaussdb部署节点

https://img-blog.csdnimg.cn/img_convert/5ad71ece50768297bc5cb0a053e0200e.png

登录gaussdb主节点,即上一步status为“active”的节点,切换至root用户
实行su - gaussdba切换至gaussdba用户
实行gsql -d postgres -U <username>毗连数据库
 实行gsql -d postgres -U gaussdba,以gaussdba用户登录数据库
2) 输入当前用户的暗码,完成登录(默认暗码可检察账户一览表):

https://img-blog.csdnimg.cn/img_convert/c5e30f6a4429f458d2eb8dbf9232c9e6.png
3) 毗连数据库时,需要进行身份鉴别,如果暗码错误,提示“Invalid username/password,login denied.”
检查方法:使用gaussdba账户毗连数据库,输入错误的暗码,提示“Invalid username/password,login denied.”

https://img-blog.csdnimg.cn/img_convert/e61b52a9ff1ad4f25b5c1a8c20ccf521.png
4)实行select * from pg_user;命令,列出全部效户,USESYSID字段表现用户的ID,该值唯一,表明用户身份标识具有唯一性。
检查方法:登录gaussdb主节点,切换至root用户,实行su - gaussdba切换用户,实行gsql -d postgres毗连数据库,输入gaussdba用户的暗码,毗连成功之后,实行select * from pg_user;命令,列出全部效户,USESYSID字段表现用户的ID,该值唯一,表明用户身份标识具有唯一性。

https://img-blog.csdnimg.cn/img_convert/72cedbe4ef74404b62828a9fbdf73fc0.png
5)检察账户一览表,gaussdb全部账户都有默认暗码。毗连数据库时,需要输入暗码,表明用户默认口令不为空。
检查方法:依次使用gaussdba、select_user、openstack账户毗连数据库,都需要输入暗码,阐明账户的口令不为空。

https://img-blog.csdnimg.cn/img_convert/0919baae7f3d17e79c131e3ba42d8451.png

https://img-blog.csdnimg.cn/img_convert/0705d0da0ddb6e0609331a19acdf9618.png

https://img-blog.csdnimg.cn/img_convert/6e243db83523d0f939f5f3185c05f256.png
6)Gaussdb的账户是机机账户,机机账户的暗码永不外期,不要求用户周期性的修改账户暗码。修改机机账户的暗码,可能导致业务停止,因此,发起保持默认暗码。这条是华为人说的。
修改暗码时,输入不符合暗码复杂度要求的暗码提示不满足暗码复杂度要求。
导入环境变量,然后实行PasswordManager


https://img-blog.csdnimg.cn/img_convert/2fe5915ca205b8df56a458bdb7ab1934.png
(备注:生产环境中修改暗码属于高危操纵,请审慎操纵)。

b.应具有登录失败处置惩罚功能,应配置并启用竣事会话、限制非法登录次数和当登录毗连超时主动退出等相关措施

1)登录失败锁定账户
登录gaussdb主节点,实行cps template-params-show --service gaussdb gaussdb检察,默认配置连续输错暗码3次,账户锁定300秒。

https://img-blog.csdnimg.cn/img_convert/073d962cebfca5c157f534568a74a4a0.png
2)超时主动退出,默认设置超时1800秒主动断开毗连。登录gaussdb主节点,毗连数据库之后,1800秒无操纵,会主动断开。
登录首节点切换至root用户,实行su - gaussdba切换用户,实行gsql -d postgres毗连数据库,输入gaussdba用户的暗码,毗连成功之后,再实行\set检察。

https://img-blog.csdnimg.cn/img_convert/75ff4cb65e33fb926f60ad186e59c71e.png
c.当进行长途管理时,应采取必要措施防止鉴别信息在网络传输过程中被窃听

核查是否接纳加密等安全方式对系统进行长途管理,防止鉴别信息在网络传输过程中被窃听。检查长途管理时管理员所使用的管理协议,检察传输过程中的鉴别信息是否是颠末加密处置惩罚的、抗重放的,并可使用抓包工具,判断管理员长途管理时传输过程中的鉴别信息被窃听的可能性。
GaussDB支持通过SSL加密客户端和服务器之间、主机和备机之间的通讯。SSL通讯使用的加密算法为XXX(以实际查询为准)。
1)检察传输协议,登录首节点切换至root用户,导入环境变量,实行cps template-instance-list --service gaussdb gaussdb命令检察gaussdb部署节点,登录gaussdb主节点,切换至root用户,导入环境变量,实行cps template-params-show --service gaussdb gaussdb命令检察传输协议,接纳TLS1.2。

https://img-blog.csdnimg.cn/img_convert/e841fd35e00d83586bf918c208ea2060.png
2)检察加密算法,进入/opt/fusionplatform/data/gaussdb_data/data目次,检察相应配置:cat postgresql.conf | grep ssl_ciphers

https://img-blog.csdnimg.cn/img_convert/194da1195662e86db650635b7dbcce6b.png
d.应接纳口令、暗码技术、生物技术等两种或两种以上组合的鉴别技术对用户进行身份鉴别,且其中一种鉴别技术至少应使用暗码技术来实现

访谈管理员并进行验证,是否接纳双因子身份鉴别技术,鉴别技术是什么 。实际实现双因素认证比力麻烦,一般环境判断为不符合。


访问控制

a.应对登录的用户分配账户和权限;

数据库用户分为管理员用户(gaussdba)、业务用户(Openstack)和业务用户(Select_user)。差别的账户权限差别。
gaussdba: GaussDB数据库管理员账户,可用于登录数据库实行相关运维操纵。
openstack: GaussDB数据库业务账户
select_user: GaussDB数据库业务账户
1)登录首节点切换至root用户,实行su - gaussdba切换用户,实行gsql -d postgres毗连数据库,输入gaussdba用户的暗码,毗连成功之后,实行select * from pg_user;命令,检察全部效户

https://img-blog.csdnimg.cn/img_convert/9145a84732558cc22dcf8152a2311721.png
2)实行select * from information_schema.routine_privileges where grantee='user_name';命令查询user_name用户所拥有的权限,user_name替换成实际的用户名,并接纳全大写字母。
例如,实行select * from information_schema.routine_privileges where grantee='GAUSSDBA'; 检察GAUSSDBA的权限。

https://img-blog.csdnimg.cn/img_convert/77ba08bae8232254f613b8cceede1a75.png
b.应重命名或删除默认账户,修改默认账户的默认口令;

默认账户的默认口令已经修改
1)登录数据库之后,实行select ROLNAME from  pg_authid where oid=10;命令,检察默认用户。

https://img-blog.csdnimg.cn/img_convert/458f7aa353c049850fac04c4f9b92bb4.png
2)在账户一览表中检察默认账户及其暗码。
c.应实时删除或停用多余的、过期的账户,避免共享账户的存在;

只存在如下几个用户,不存在多余的、过期的账户,不存在共享账户。
gaussdba: GaussDB数据库管理员账户,可用于登录数据库实行相关运维操纵。
openstack: GaussDB数据库业务账户
select_user: GaussDB数据库业务账户
1)登录数据库之后,实行select * from pg_user;命令,检察全部效户。

https://img-blog.csdnimg.cn/img_convert/6cbe9f0fa31773a6a562cd04dd0b6f9f.png
2)检察账户一览表,检察gaussdb的全部账户,不存在多余的账户,不存在共享账户,gaussdb相关的全部账户都是本机账户,永不外期。
d.应授予管理用户所需的最小权限,实现管理用户的权限分离;

数据库用户分为管理员用户(gaussdba)、业务用户(Openstack)和业务用户(Select_user)。分别为用户分配了相应的权限,都是业务所需的最小权限。
检查方法:
(1) 登录数据库之后,实行\du <username>命令,检察当前用户的权限
例如,实行\du GAUSSDBA检察gaussdba用户的权限。
https://img-home.csdnimg.cn/images/20230724024159.png?origin_url=https%3A%2F%2Foss-emcsprod-public.modb.pro%2FwechatSpider%2Fmodb_20220613_27d6d440-eb13-11ec-9a4e-fa163eb4f6be.png&pos_id=VeRKtlXE
(2)或者实行\du检察全部效户的权限

https://img-blog.csdnimg.cn/img_convert/759b9c8ac97afc57fef0bc93e1795410.png
e.应由授权主体配置访问控制策略,访问控制策略规定主体对客体的访问规则;

数据库data目次权限最大为0700,只答应数据库用户访问文件,其它用户不能访问。
进入数据库目次检察文件权限登录首节点背景,切换root之后,实行su - gaussdba切换gaussdba用户,实行cd $GAUSSDATA进入gaussdb的data目次,然后检察权限。
f.访问控制的粒度应达到主体为用户级或历程级,客体为文件、数据库表级;

数据库data目次权限最大为0700,只答应数据库用户访问文件,其它用户不能访问。
进入数据库目次检察文件权限,登录首节点背景,切换root之后,实行su - gaussdba切换gaussdba用户,实行cd $GAUSSDATA进入gaussdb的data目次,然后检察权限,此测评项一般判断为符合。
g.应对重要主体和客体设置安全标志,并控制主体对有安全标志信息资源的访问。

通过访谈管理员是否对重要主体和客体设置安全标志。数据库自身应该很难实现这个功能,可能需要依赖操纵系统或者第三方来实现。该项一般默认都不符合。
安全审计

a.应启用安全审计功能,审计覆盖到每个用户,对重要的用户举动和重要安全事件进行审计;

已经开启审计功能
登录数据库之后,实行show audit_enabled;命令检察,ON表现已经开启审计功能

https://img-blog.csdnimg.cn/img_convert/46e87ed1489366aeea77e29e000e1ccb.png
b.审计记录应包括事件的日期和时间、用户、事件类型、事件是否成功及其他与审计相关的信息;

审计日记信息包时间(Time)、类型(Type)、结果(Result)\用户(User)、数据库(DATABASE)、客户端信息(CLIENT_CONNINFO)、审计对象(OBJECT_NAME)以及具体语句(DETAIL_INFO),对于删除用户/表/库等高危操纵,会进行审计记录。
Gaussdb的日记目次为/var/log/fusionsphere/component/gaussdb,可以进入该目次下检察日记审计记录。
也可以以gaussdba用户登录数据库之后,实行select * from pg_query_audit('2020-09-04 08:00:00','2020-09-10 23:59:59');命令,检察审计文件(时间需改为需要查询的审计日记的起始时间)。

https://img-blog.csdnimg.cn/img_convert/f5a0ce6dbcc7e2a0cfbed1d280c98654.png
c.应对审计记录进行掩护,定期备份,避免受到未预期的删除、修改或覆盖等;

审计日记是二进制文件,只能具有审计权限的数据库用户登录数据库检察,通过函数pg_query_audit检察。
1)系统中的文件都有访问权限控制,只有合法的用户才可以访问,gaussdb审计日记见Openstack主机节点/var/log/fusionsphere/component/gaussdb目次,检察该目次下文件的权限,文件权限符合要求。

https://img-blog.csdnimg.cn/img_convert/c2b351311c395309f870aa2064f96b51.png
2)用gaussdba用户登录数据库之后,实行select * from pg_query_audit('2020-09-04 08:00:00','2020-09-10 23:59:59');命令,检察审计文件(时间需改为需要查询的审计日记的起始时间)。结果如下图,查询成功。
https://img-home.csdnimg.cn/images/20230724024159.png?origin_url=https%3A%2F%2Foss-emcsprod-public.modb.pro%2FwechatSpider%2Fmodb_20220613_283efc3c-eb13-11ec-9a4e-fa163eb4f6be.png&pos_id=VJmM03Pm
3)用openstack用户登录数据库之后,实行select * from pg_query_audit('2020-09-04 08:00:00','2020-09-10 23:59:59');命令,检察审计文件(时间需改为需要查询的审计日记的起始时间)。结果如下图,没有权限,提示“ERROR:  permission denied to query audit”。

https://img-blog.csdnimg.cn/img_convert/17be55750f61f4978c2b0a75282a0f86.png
d.应对审计历程进行掩护,防止未经授权的停止。

1)登录首节点背景,切换root之后,导入环境变量,实行cps template-instance-list --service gaussdb gaussdb命令检察gaussdb部署的主节点,即status为active的节点
https://img-home.csdnimg.cn/images/20230724024159.png?origin_url=https%3A%2F%2Foss-emcsprod-public.modb.pro%2FwechatSpider%2Fmodb_20220613_2855935c-eb13-11ec-9a4e-fa163eb4f6be.png&pos_id=ljF8RTsa
2)登录gaussdb主节点,切换root之后,实行ps -ef | grep gaussdba | grep -v idle命令检察gaussdb的auditor process,即审计历程;然后,实行kill -9 <历程号>杀掉当前的审计历程,等待几秒,再次实行ps -ef | grep gaussdba | grep -v idle命令检察auditor process历程已经主动拉起。(注意:kill历程是高危操纵,不要在现网环境实行)

https://img-blog.csdnimg.cn/img_convert/8e9de9c7323fcbc8afa0969188dccfaa.png
入侵防范

a.应遵照最小安装的原则,仅安装需要的组件和应用步伐

数据库系统此测评项可判断为不实用。
b) 应关闭不需要的系统服务、默认共享和高危端口

数据库系统此测评项不实用。
c.应通过设定终端接入方式或网络地址范围对通过网络进行管理的管理终端进行限制

数据库毗连通过pg_hba.conf白名单控制毗连的IP/数据库名/用户
登录首节点背景,切换root之后,实行su - gaussdba切换gaussdba用户,实行cd $GAUSSDATA进入gaussdb的data目次,然后检察pg_hba.conf文件的配置。

https://img-blog.csdnimg.cn/img_convert/2ad03feb6890a21e06750d8bb8c1c704.png
d) 应提供数据有效性检验功能,包管通过人机接口输入或通过通信接口输入的内容符合系统设定要求

数据库系统此测评项不实用。
e.应能发现可能存在的已知漏洞,并在颠末充分测试评估后,实时修补漏洞

1) 访谈管理员是否定期或不定期进行漏洞扫描或渗透测试,周期按照天/月/季度/半年/年等方式(发起漏洞扫描周期最长半年一次)。
2)通过本次漏洞扫描是否发现与数据库相关的高危漏洞,若存在,是否实时进行漏洞修补,检查数据库版本去相识此版本的漏洞环境。
实行命令:“gaussdb --version”检察数据库版本:

https://img-blog.csdnimg.cn/img_convert/997cb3292557ec093c812794078707f3.png

数据完整性

a.应接纳校验技术或暗码技术包管重要数据在传输过程中的完整性,包括但不限于鉴别数据、重要业务数据、重要审计数据、重要配置数据、重要视频数据和重要个人信息等

GaussDB支持通过SSL加密客户端和服务器之间、主机和备机之间的通讯。SSL通讯使用的加密算法为XXX(以实际查询为准)。
登录首节点切换至root用户,导入环境变量,实行cps template-instance-list --service gaussdb gaussdb命令检察gaussdb部署节点
1)登录gaussdb主节点,切换至root用户,导入环境变量,实行cps template-params-show --service gaussdb gaussdb命令检察传输协议,接纳TLS1.2。

https://img-blog.csdnimg.cn/img_convert/a2f457a3cdfee4ca315c1e9e3e64cde2.png
2)检察SSL加密算法进入/opt/fusionplatform/data/gaussdb_data/data目次,检察相应配置cat postgresql.conf | grep ssl_ciphers

https://img-blog.csdnimg.cn/img_convert/37c39df1b400c0330a56082bd35130ab.png
b.应接纳校验技术或暗码技术包管重要数据在存储过程中的完整性,包括但不限于鉴别数据、重要业务数据、重要审计数据、重要配置数据、重要视频数据和重要个人信息等

加密存储
重要数据加密存储,例如,账户暗码存储时,接纳pbkdf2-sha512加密。
数据保密性

a.应接纳暗码技术包管重要数据在传输过程中的保密性,包括但不限于鉴别数据、重要业务数据和重要个人信息等

GaussDB支持通过SSL加密客户端和服务器之间、主机和备机之间的通讯。SSL通讯使用的加密算法为XXX(以实际查询为准)。
1)检察传输协议
登录首节点切换至root用户,导入环境变量,实行cps template-instance-list --service gaussdb gaussdb命令检察gaussdb部署节点
登录gaussdb主节点,切换至root用户,导入环境变量,实行cps template-params-show --service gaussdb gaussdb命令检察传输协议,接纳TLS1.2。

https://img-blog.csdnimg.cn/img_convert/a2f457a3cdfee4ca315c1e9e3e64cde2.png
2)检察SSL加密算法
进入/opt/fusionplatform/data/gaussdb_data/data目次,检察相应配置
cat postgresql.conf | grep ssl_ciphers
https://img-home.csdnimg.cn/images/20230724024159.png?origin_url=https%3A%2F%2Foss-emcsprod-public.modb.pro%2FwechatSpider%2Fmodb_20220613_28b41da0-eb13-11ec-9a4e-fa163eb4f6be.png&pos_id=uBAT1zOT

b.应接纳暗码技术包管重要数据在存储过程中的保密性,包括但不限于鉴别数据、重要业务数据和重要个人信息等

加密存储
重要数据加密存储,例如,账户暗码存储时,接纳pbkdf2-sha512加密。

数据备份恢复

a.应提供重要数据的当地数据备份与恢复功能

GaussDB接纳了主备双机方案,能在很大程度上包管数据库服务的可用性和数据的安全性。此外,系统默认每天凌晨03:00定时备份GaussDB数据库,也可以手动实行命令触发备份。备份策略支持重新配置,具体可检察产品文档。
登录首节点首节点,切换至root用户,导入环境变量,实行backup policy-get检察备份策略,实行backup package-get --service gaussdb检察备份结果。
https://img-home.csdnimg.cn/images/20230724024159.png?origin_url=https%3A%2F%2Foss-emcsprod-public.modb.pro%2FwechatSpider%2Fmodb_20220613_290e0536-eb13-11ec-9a4e-fa163eb4f6be.png&pos_id=3OSovYcF
b)应提供异地实时备份功能,利用通信网络将重要数据实时备份至备份园地;
部署异地备份机房,并符合备份策略通过网络定期进行异地备份。
c)应提供重要数据处置惩罚系统的热冗余,包管系统的高可用性;
集群部署、双机热备均可判断为符合。
数据库接纳主备模式部署
检查方法:
登录首节点,切换至root用户,导入环境变量,实行cps template-instance-list --service gaussdb gaussdb命令检察部署模式。查询结果中,状态为“active”的节点为主节点,状态为“standby”的节点为备节点。
https://img-home.csdnimg.cn/images/20230724024159.png?origin_url=https%3A%2F%2Foss-emcsprod-public.modb.pro%2FwechatSpider%2Fmodb_20220613_29184122-eb13-11ec-9a4e-fa163eb4f6be.png&pos_id=plYaCRkF

剩余信息掩护
a)应包管鉴别信息所在的存储空间被释放或重新分配前得到完全打扫;
高斯数据库存储空间删除时会进行格式化打扫,也可以部署需要第三方工具实现鉴别数据的存储空间被释放或重新分配前得到完全打扫。
b)应包管存有敏感数据的存储空间被释放或重新分配前得到完全打扫。
高斯数据库存储空间删除时会进行格式化打扫,也可以部署需要第三方工具实现敏感数据的存储空间被释放或重新分配前得到完全打扫。


个人信息掩护
a)应仅收罗和保存业务必需的用户个人信息;
检查数据库中是否存储个人信息,若有,检查个人信息掩护机制和个人信息掩护管理制度
b)应克制未授权访问和非法使用用户个人信息。
检查个人信息掩护机制和个人信息掩护管理制度,验证非授权人员是否可以访问个人信息存储的相关组件内容。

总结
     目前华为高斯数据使用范围和其他国产数据库相比还是相对广泛些,毕竟有华为云作为基础,但是支持高斯数据的操纵系统还是比力少,一定程度上限制了高斯数据库的发展。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: 等保2.0数据库测评之华为高斯数据库(GaussdDB)测评