首页 > 数据库 >数据安全没保证?GaussDB(for Redis)为你保驾护航

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

时间:2023-07-13 14:44:06浏览次数:41  
标签:账号 GaussDB Redis 用户 实例 数据安全 数据库

摘要:GaussDB (for Redis)通过账号管理、权限隔离、高危命令禁删/重命名、安全IP免密登录、实例回收站等企业级特性,保障用户数据库数据和信息安全。

本文分享自华为云社区《数据安全没保证?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)的账号管理功能,数据库实例的每个账号、数据库的权限彼此隔离,从根本上防止这种冲突场景的出现。

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

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

  • dbuser_1仅对DB1拥有读写权限
  • dbuser_2对DB2-DB5拥有读写权限
  • dbuser_3对所有数据库均有只读权限

基于上述账号管理配置,通过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命令的名称,防止命令被错误调用执行,给业务和数据安全带来影响:

命令禁用和重命名的具体使用方式,请访问华为云官网《命名重命名》页面: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的免密访问功能,在机器上对数据库实例的访问就不需要密码进行验证:

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

附录

本文作者:

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

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

[email protected]

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

bbs.huaweicloud.com/blogs/248875

 

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

标签:账号,GaussDB,Redis,用户,实例,数据安全,数据库
From: https://www.cnblogs.com/huaweiyun/p/17550423.html

相关文章

  • 解决redis 集群命令的具体操作步骤
    实现Redis集群命令简介在使用Redis时,有时可能需要使用Redis集群来处理大规模的数据。Redis集群是一个由多个Redis节点组成的分布式系统,可以提供高可用性和可扩展性。本文将指导你如何实现Redis集群命令。流程概述下面是实现Redis集群命令的流程概述:步骤描述......
  • 解决redis 集群创建一个用户的具体操作步骤
    Redis集群创建一个用户Redis是一个开源的键值存储数据库,常被用于缓存、队列和分布式锁等场景。在Redis集群中,可以通过创建用户来限制对数据库的访问权限,提高安全性。本文将介绍如何在Redis集群中创建一个用户,并提供相应的代码示例。1.安装和配置Redis集群首先,需要安装和配置Red......
  • 如何实现redis 集合过期时间的具体操作步骤
    Redis集合过期时间在Redis中,集合是一种无序、唯一的数据结构。它可以用于存储多个元素,并提供了快速的插入、删除、查找操作。除了基本的操作之外,Redis还提供了一些高级功能,比如设置集合的过期时间。为什么要设置集合过期时间?在某些情况下,我们需要在一定时间后自动删除集合。例如......
  • 如何实现redis 获取目录下所有key的具体操作步骤
    如何使用Redis获取目录下所有key概述在使用Redis时,有时需要获取指定目录下的所有key,本文将教会你如何实现这个功能。准备工作在开始之前,确保你已经安装并配置好Redis。如果你还没有安装Redis,可以参考Redis官网的文档进行安装。步骤下面是实现"Redis获取目录下所有key"的步骤:......
  • 如何实现redis 缓存数据的过期时间设置随机化的具体操作步骤
    Redis缓存数据的过期时间设置随机化在大型应用程序中,缓存是提高性能和减少数据库负载的重要技术。Redis是一种流行的内存缓存数据库,能够快速地存储和检索数据。在使用Redis缓存数据时,设置缓存数据的过期时间是很常见的需求。为什么要设置缓存数据的过期时间缓存数据的过期时......
  • 解决redis 根据key查找值,修改值的具体操作步骤
    Redis根据Key查找值和修改值Redis是一个开源的内存数据库,常用于缓存、消息队列和数据存储等应用场景。它支持丰富的数据类型,并提供了灵活的命令集来操作数据。这篇文章将介绍如何使用Redis根据Key查找值和修改值,并提供代码示例。1.RedisKey-Value数据结构在Redis中......
  • 如何实现redis 分布式锁过期后,数据还存在吗?的具体操作步骤
    Redis分布式锁过期后数据是否还存在的实现一、问题描述小白在使用Redis实现分布式锁时,遇到了一个疑问:当分布式锁过期后,数据是否还存在?二、解决方案为了解决小白的问题,我们可以使用Redis的SET命令结合带有过期时间的锁来实现分布式锁的自动释放。下面是整个流程的步骤和......
  • 解决redis 放入操作是原子的吗的具体操作步骤
    Redis放入操作是原子的吗?介绍Redis是一个快速、开源的键值存储系统,常用作数据库、缓存和消息中间件。在Redis中,数据通过命令进行操作,其中最常见的操作之一就是放入数据。那么,Redis的放入操作是原子的吗?本文将为您回答这个问题。Redis的原子性原子性是指一个操作要么完全执行,要......
  • 如何实现redis 订单剩余支付时间的具体操作步骤
    Redis订单剩余支付时间简介在电子商务应用中,订单通常需要设置一个支付截止时间。为了实现这一功能,我们可以使用Redis来存储订单的剩余支付时间。Redis是一个高性能的内存键值数据库,适用于缓存、消息队列、实时分析等场景。本文将介绍如何使用Redis存储订单的剩余支付时间,......
  • 解决redis 查询数据大小的具体操作步骤
    Redis查询数据大小Redis是一种高性能的键值存储系统,常用于缓存和数据库的查询加速。在使用Redis时,了解如何查询数据大小是非常重要的。查询字符串大小在Redis中,字符串是一种基本的数据结构。我们可以使用STRLEN命令来查询字符串的大小。#设置一个字符串>SETmykey"Hellow......