华为云开发者社区

华为云开发者社区

本文分享自华为云社区《数据安全没保证?GaussDB(for Redis)为你保驾护航》,作者: GaussDB 数据库。

近日,一些用户反馈使用的开源Redis中新增了几个未知来源的Key。工程师小伙伴分析发现,用户使用的开源Redis没有设置密码,很可能是遭到了Redis扩散病毒的攻击,表面上只是新增了几个未知的key,实际上甚至可能面临数据库信息丢失记录篡改的问题!

作为一个重视技术的团队,保障用户的信息安全和使用体验始终是第一位的。对这次用户使用开源Redis遇到的问题,团队成员总结分析,列举出GaussDB (for Redis)精心打造的数据安全保护特性:

  • 账号管理、数据库权限隔离;
  • 高危命令禁用、重命名;
  • 安全IP/网段开启免密登录;
  • 实例回收站。

基于这些企业级安全特性,GaussDB (for Redis)在为用户提供稳定、可靠、便捷的使用体验的同时,全力为用户的数据安全保驾护航。

特性一:账号管理+权限隔离,数据不乱轻松松

单个GaussDB (for Redis)实例提供多达6w+独立的数据库供用户使用,用户可以根据业务和存储场景使用不同的DB存储,从而实现数据分离。多DB的隔离储存功能为业务带来了极大的方便,但是错误的使用也可能会导致问题。

设想以下场景:

某电商平台提供多种抢购功能,每个活动每个用户仅能参加一次。为业务方便,直接使用一个新的DB进行新上线抢购业务的数据存储。由于使用同一个账号登录,粗心的同事复用了之前的代码,忘记或错误配置新业务使用的数据库ID信息,将数据写入其他的抢购场景中,干扰其他抢购场景的正常使用。

铛铛铛,这里要隆重介绍GaussDB (for Redis)的账号管理功能,数据库实例的每个账号、数据库的权限彼此隔离,从根本上防止这种冲突场景的出现。

数据库管理控制台中,可以创建对特定数据库、具有读写/只读权限的账号:

数据安全没保证?GaussDB(for Redis)为你保驾护航-LMLPHP

回到前面的场景,我们可以创建如下账号:

  • dbuser_1仅对DB1拥有读写权限
  • dbuser_2对DB2-DB5拥有读写权限
  • dbuser_3对所有数据库均有只读权限
数据安全没保证?GaussDB(for Redis)为你保驾护航-LMLPHP

基于上述账号管理配置,通过GaussDB(for Redis)的账号管理+权限隔离功能的双重加持,即使dbuser_1使用方误操作DB2的数据,GaussDB(for Redis)将对错误操作进行拦截,从而实现账户和数据的隔离管理,保障用户的数据安全。

探索账户管理的额外信息和功能,请访问华为云官网《账号管理》页面:https://support.huaweicloud.com/redisug-nosql/nosql_03_0237.html。

特性二:高危命令重命名,命令安全又安心

每个使用者在操作数据库时,都会战战兢兢,尤其害怕一个命令直接删库,或者执行时间过长,对正常业务执行造成影响。之前曾遇到客户在业务高峰期通过keys命令统计流量信息,此类高危命令执行时间过长,运维操作反而阻塞了正常业务的进行。

那么,怎么从根本上规避这种问题呢?

GaussDB (for Redis)提供命名重命名功能,可以将高危命令禁用或进行相应重命名。如,我们可以将高危flushall、flushdb以及keys命令禁用,修改hgetall, hkeys, hvals, smembers命令的名称,防止命令被错误调用执行,给业务和数据安全带来影响:

数据安全没保证?GaussDB(for Redis)为你保驾护航-LMLPHP

命令禁用和重命名的具体使用方式,请访问华为云官网《命名重命名》页面:https://support.huaweicloud.com/redisug-nosql/nosql_10_0053.html

特性三:安全IP输密码太麻烦?免密登录帮你解决

通过完善的账户管理、精细粒度的权限隔离,GaussDB (for Redis)已经万无一失。那么有同学要问了,如果我们的服务器可以保证足够安全,是否可以省略掉输入密码这个步骤呢?

当然可以。GaussDB (for Redis)可以对用户信任的指定IP或网段设置免密访问功能。例如,我们可以设置IP为10.0.0.216以及网段为192.168.1.0/24的免密访问功能,在机器上对数据库实例的访问就不需要密码进行验证:

数据安全没保证?GaussDB(for Redis)为你保驾护航-LMLPHP

当然,互联网上对IP和网段的信任是相对的,因此GaussDB(for Redis)禁止对全局网段开始免密登录功能,在合理范围内提供用户操作便捷性的同时,对用户数据安全的保障是GaussDB(for Redis)的重中之重。

关于免密IP登录的具体说明,请访问华为云官网《开启免密访问》一节:https://support.huaweicloud.com/redisug-nosql/nosql_03_0236.html。

特性四:误删实例心慌慌?实例回收站来帮忙

和实例中误操作flushall等命令齐名、最令使用者闻风丧胆的,便是将实例误删了。虽然实例删除功能藏在隐秘的角落里,也需要用户double check,但总还是有误删除的可能在时刻敲打着用户。而且,近年来恶意删库新闻屡见不鲜,如何保障被误删或者恶意删除的数据库的信息安全呢?

信息安全当然、也必须要保证!GaussDB (for Redis)提供实例回收站的企业级特性,实例误删无法恢复?不存在的!在实例回收站,可以看到最近7天内至多100个已删除的数据库实例,不幸误删?一键重建,数据还原,丝般顺滑,和数据丢失说拜拜。

数据安全没保证?GaussDB(for Redis)为你保驾护航-LMLPHP

总结

GaussDB (for Redis)通过账号管理、权限隔离、高危命令禁删/重命名、安全IP免密登录、实例回收站等企业级特性,保障用户数据库数据和信息安全。GaussDB(for Redis)提供稳定、可靠、安全的数据库产品使用体验,为客户的业务成功保驾护航。

附录

本文作者:

华为云数据库GaussDB(for Redis)团队

杭州/西安/深圳简历投递:

更多产品信息,欢迎访问官方博客:

bbs.huaweicloud.com/blogs/248875

点击关注,第一时间了解华为云新鲜技术~

07-13 14:45