摘要: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)团队

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

yuwenlong4@huawei.com

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

bbs.huaweicloud.com/blogs/248875

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

数据安全没保证?GaussDB(for Redis)为你保驾护航的更多相关文章

  1. 华为云PB级数据库GaussDB(for Redis)揭秘第七期:高斯Redis与强一致

    摘要:在KV数据库领域,"强一致性"不仅是一个技术名词,它更是业务与运维的重要需求. 清明刚过,五一假期就要来了.大好春光,不如去婺源看油菜花吧!小云迅速打开APP刷出余票2张,赶 ...

  2. 华为云PB级数据库GaussDB(for Redis)揭秘第八期:用高斯 Redis 进行计数

    摘要:高斯Redis,计数的最佳选择! 一.背景 当我们打开手机刷微博时,就要开始和各种各样的计数器打交道了.我们注册一个帐号后,微博就会给我们记录一组数据:关注数.粉丝数.动态数-:我们刷帖时,关注 ...

  3. 深度评测丨 GaussDB(for Redis) 大 Key 操作的影响

    本文分享自华为云社区<墨天轮评测:GaussDB(for Redis)大Key操作的影响>,作者: 高斯 Redis 官方博客. 在前一篇文章<墨天轮评测:GaussDB(for R ...

  4. 即时通讯系统为什么选择GaussDB(for Redis)?

    摘要:如果你需要一款稳定可靠的高性能企业级KV数据库,不妨试试GaussDB(for Redis). 每当网络上爆出热点新闻,混迹于各个社交媒体的小伙伴们全都开启了讨论模式.一条消息的产生是如何在群聊 ...

  5. 揭秘GaussDB(for Redis):全面对比Codis

    摘要:Codis集群在国内Redis生态圈很流行,社区已停止维护.本文从架构和特性两方面对比,带你感受华为云GaussDB(for Redis)的全新价值. 本文分享自华为云社区<华为云Gaus ...

  6. redis淘汰+过期双向保证高可用 | redis 为什么那么快?

    前言 redis和数据相比除了他们的结构型颠覆以外!还有他们存储位置也是不相同.传统数据库将数据存储在硬盘上每次数据操作都需要IO而Redis是将数据存储在内存上的.这里稍微解释下IO是啥意思.IO就 ...

  7. 实习没事干之自学redis

    什么是Redis--http://how2j.cn/frontroute Redis是一个开源的使用ANSI C语言编写.支持网络.可基于内存亦可持久化的日志型.Key-Value数据库,并提供多种语 ...

  8. Redis学习第八课:Redis高级实用特性(二)

    Redis高级实用特性 4.持久化机制 Redis是一个支持持久化的内存数据库,也就是说Redis需要经常将内存中的数据同步到硬盘来保证持久化.Redis支持两种持久化方式:(1).snapshott ...

  9. 关于redis的几件小事(五)redis保证高并发以及高可用

    如果你用redis缓存技术的话,肯定要考虑如何用redis来加多台机器,保证redis是高并发的,还有就是如何让Redis保证自己不是挂掉以后就直接死掉了,redis高可用 redis高并发:主从架构 ...

  10. 什么?我往Redis写的数据怎么没了?

    大概是因为int没有因为change方法而改变原值,所以就说它传过去的是自身的值,因而叫值传递:User对象经过change方法后,对象的数据变了,就认为是因为实参和形参指向的是同一片内存空间,内存空 ...

随机推荐

  1. 运行项目报错Cannot read property 'styles' of undefined

    原因是安装依赖版本不对,以下是我的解决办法: 1.先删除项目中package-lock.json 文件 及node_modules文件(可使用rimraf指令删除node_modules,直接删文件很 ...

  2. 卸载wamp忘记备份MySql,如何恢复MySql数据

    大家把wamp卸载了,但是数据库忘记备份了.怎么办?不要急,不要慌!打开wamp所在目录(前提是你没有删),你会发现wamp特别良心的帮你把MySql的data文件夹留下来了,这个时候你只要把这个文件 ...

  3. 即时通讯系统为什么选择GaussDB(for Redis)?

    摘要:如果你需要一款稳定可靠的高性能企业级KV数据库,不妨试试GaussDB(for Redis). 每当网络上爆出热点新闻,混迹于各个社交媒体的小伙伴们全都开启了讨论模式.一条消息的产生是如何在群聊 ...

  4. 浏览器发送POST请求、DELETE请求

    1.浏览器发送POST请求 方法一: var xml = new XMLHttpRequest(); var url = "http://127.0.0.1:8800/admin/user& ...

  5. PaddleDetection 快速上手

    PaddleDetection 快速上手 本项目以路标数据集roadsign为例,详细说明了如何使用PaddleDetection训练一个目标检测模型,并对模型进行评估和预测. 本项目提供voc格式的 ...

  6. 2022CSP游记

    目录 CSP-J2022 7:45 8:15 8:27 8:38 9:12 9:23 10:34 11:57 中午 CSP-S2022 2:27 4:15 6:12 估分 普及 提高 自查 出分 废物 ...

  7. intellij IDEA安装JDBC报错 No suitable driver found for jdbc:mysql://localhost:3306

    项目场景: 本地尝试使用intellij IDEA加载JDBC连接MySQL,尝试实现增删改查,本来想做一个小Demo. 问题描述 报错: java.lang.ClassNotFoundExcepti ...

  8. Python3.10动态修改Windows系统(win10/win11)本地IP地址(静态IP)

    一般情况下,局域网里的终端比如本地服务器设置静态IP的好处是可以有效减少网络连接时间,原因是过程中省略了每次联网后从DHCP服务器获取IP地址的流程,缺点是容易引发IP地址的冲突,当然,还有操作层面的 ...

  9. 【Python基础】 什么是函数

    函数是一段可重用的代码块,它接受输入参数并返回输出.函数在程序设计中具有很多优点,如: 代码重用:在程序中可以重复调用相同的代码块,使程序更加简洁.高效. 模块化设计:函数是模块化设计的基本单元,可以 ...

  10. java线程池和多线程的使用详解

    Java 多线程和线程池使用 java多线程实现的几种方法 1.继承Thread类 继承Thread类,重写run方法,创建线程类对象调用start方法启动线程. public class Threa ...