千家信息网

Redis缓存数据库加固措施有哪些

发表于:2024-11-23 作者:千家信息网编辑
千家信息网最后更新 2024年11月23日,今天小编给大家分享一下Redis缓存数据库加固措施有哪些的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们
千家信息网最后更新 2024年11月23日Redis缓存数据库加固措施有哪些

今天小编给大家分享一下Redis缓存数据库加固措施有哪些的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。

敏感数据与加密保护

1.密码保存(重要)

安全问题:原生Redis服务端密码requirepass和masterauth是明文保存到redis.conf。

解决方案: 服务端密码采用PBKDF2加密后保存到redis.conf。

考虑到性能问题,每次认证都用PBKDF2会比较耗时,经过评审,采用在首次认证成功后,内存采用SHA256缓存,后续的请求优先使用SHA256校验。

2.支持秘钥替换(重要)

安全问题:涉及加解密的秘钥不能写死到代码中。

解决方案: 秘钥支持定期替换。

➤redis服务端redis-server:

配置文件增加配置项:cipher-dir

配置为redis_shared.key和root.key所在的文件夹的全路径,例如:cipher-dir /opt/redis/etc/cipher

➤redis客户端:redis-cli

添加参数-cipherdir,指向redis_shared.key和root.key所在的文件夹的全路径

例如:redis-cli -h 127.0.0.1 -cipherdir /opt/redis/etc/cipher -a sessionrdb@dbuser@Changeme_123 -p 32091

➤redis客户端SDK:jedis*.jar

同一个进程内,Jedis接口为string, dbname@user@pwd,因为第三方接口(类似Jdbc),无法加密。

3.密码传输(重要)

安全问题:原生Redis通过config get命令可能获取到服务端敏感信息。

解决方案:禁止将口令等敏感信息传送到客户端,因此需要禁掉config get requirepas/masterauth/requireuserpass等功能。

4.密码修改(重要)

安全问题:修改密码明文传输:config set masterauth pwd

解决方案:Redis内存保存明文密码问题: masterauth 使用AES128加密,密码采用AES128保存

口令安全

1.产品缺省启用数据库口令复杂度检查功能

安全问题:Redis修改密码没有复杂度检查。

解决方案:提供单独的Redis修改工具来修改密码,特别注意以下几点:

1.进行口令复杂度检查。

2.在输入错误的用户名或密码时,不能出现类似于"密码错误"、"用户名不存在"之类的过于明确的原因提示信息,以防止攻击者用于猜解系统用户名/口令。

3.修改密码要校验老密码。

4.修改数据库密码不能和用户名一样。

5.交互式密码修改时要隐藏密码。

6.在文档中建议通过交互式修改密码。

2.防暴力破解,配置账户登录失败尝试次数

安全问题:Redis原生版本存在暴力破解情况。

解决方案:最大失败次数:maxauthfailtimes(单位 次,有效范围(0,10万],默认值1万)

说明:该配置项只支持在启动时redis.conf配置,不支持动态修改,屏蔽掉对应config set。

不支持设置为0:表示不锁定任何IP。

3.配置账户锁定后自动解锁时间

鉴权失败锁定时间:authfaillocktime(单位分钟,有效范围[0~999],默认值10)

设置为0时,表示永久锁定。

说明: 该配置项只支持在启动时redis.conf配置,不支持动态修改,屏蔽掉对应config set。

4.查看锁定IP

问题:IP锁定后需要查看被锁定IP。

解决方案:

只有管理员可以查看已经锁定的IP列表,分隔符为英文冒号(:)
示例1:config get lockedips
返回:10.67.147.111;10.67.147.112;
示例2:config get lockedips
返回:10.67.147.111;
说明:不支持config set lockedips,如果强制执行,返回错误:ERR Unsupported CONFIG parameter: lockedips

5.手工锁定IP的解除

只有管理员可以执行命令解锁锁定的IP,只支持解锁单个IP或者解锁全部IP
解决方案:

示例1,解锁单个IP:config set unlockips 10.67.147.111
示例2,解锁所有IP:config set unlockips "all"
说明:不支持config get unlockips,如果强制执行,返回空,redis-cli提示:(empty list or set)
如果参数中的IP没有出现过异常,会返回解锁失败,例如:
(error) ERR Invalid argument '10.67.147.111' for CONFIG SET 'unlockips'

执行手动解锁,记录trace,例如:
例如:26 Dec 03:15:19.958 * 10.67.147.113 unlocked by 10.67.147.111:59417日志审计

6.安全审计

1.Redis自身支持日志记录到系统日志,如/var/log/localmessage。但需要通过在redis.conf进行如下配置:

syslog-enabled yes

syslog-ident redis

syslog-facility local0

2.客户端登录,记录客户端IP,账号等信息。

3.相关维护操作必须有详细的日志记录。

示例: 29118:S 26 Nov 11:19:29.100 * The readdbuser logged in successfully;10.145.93.119:52817;

7.操作日志转储

安全问题:官方版本Redis日志不会转储,长时间运行可能会把磁盘占满。

解决方案:单独运行tracemonitor进程(python版),定期管理Redis日志文件大小,主要是日志压缩和定期删除,避免占用过多磁盘。

说明:目前平台默认60秒检测一次,日志达到20M压缩,日志个数最大50个。

以上就是"Redis缓存数据库加固措施有哪些"这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注行业资讯频道。

密码 支持 日志 问题 配置 安全 方案 解决方案 数据 口令 客户 客户端 示例 数据库 重要 信息 文件 用户 用户名 知识 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 上海承聘网络技术有限公司 数据库表中新增数据 软件开发转小规模纳税人 网络安全法有害信息 禅城软件开发培训有哪些 未转变者进服务器总显示一行英文 中信网络技术公司 mysql数据库连接慢 数据库查找某表中的所有数据 保证数据库数据安全 华为服务器可以用3.5寸硬盘吗 软件开发还是大数据分析 老板电器公司软件开发岗 陇西县公安局网络安全宣传活动 T9输入法软件开发 为通信网络技术管理 信息管理软件开发平台最新版 幼儿网络安全主题美篇 软件开发增值税免么 经济数据库访问权限 丽水企业管理软件开发报价 突然一个网络技术加qq 了解域控制器软件开发 网络安全半导体分布图 危害网络安全主观因素 联系三个实体设计一个数据库 如何在论坛上接软件开发的单 暗黑重制版服务器问题 南阳理工网络安全课程设计 网络安全管理制度清单
0