7.Redis数据库之安全加固配置实践
原创 WeiyiGeek WeiyiGeek 2021-09-20 17:40
本章目录:
0x01 Redis 安全优化
1.Security
非特权运行
文件权限
接口绑定
更改默认服务端口
认证配置
禁用特定命令
日志记录
防范字符串转义和 NoSQL 注入
防范由外部客户端精心挑选的输入触发的攻击
防火墙限制访问
禁止redis中存储敏感的明文数据
Redis 安全配置总结示例
0x01 Redis 安全优化
1.Security
描述: Redis提供的访问控制、代码安全问题、选择恶意输入可从外部触发的攻击等功能,需要我们运维人员进行相应的配置提高安全性。
图片
非特权运行
描述: Redis 不需要 root 权限即可运行,建议以仅用于此目的的非特权redis用户身份运行它,此种方式能最大程度防止CONFIG SET/GET 目录和其他类似运行时配置指令的可能性。。
#设置一个单独的redis账户很有必要,redis crackit就利用到了root用户的特性来重置authorized_keys。首先创建一个redis账户,然后通过该账户启动。
$ useradd redis
$ setsid sudo -u redis redis-server /etc/redis.conf
$ ps -elf|grep redis #可以看到是redis用户启动
# 4 S root 9048 1 0 80 0 - 59753 poll_s 19:43 ? 00:00:00 sudo -u redis redis-server /etc redis.conf
# 4 S redis 9049 9048 0 80 0 - 38471 ep_pol 19:43 ? 00:00:00 redis-server
文件权限
描述: 因为redis密码明文存储在配置文件中,所以我们需要限制redis文件目录访问权限,如设置redis的主目录权限为700(rwx------),如果redis.conf配置文件独立于redis主目录权限修过为600(rw-------)。
# 文件权限
chmod 700 /opt/redis/redis-5.0.4/
chmod 600 /etc/redis.conf
# 所属者、组
chown redis:redis /etc/redis.conf
chown redis:redis /opt/redis/redis-5.0.4/
接口绑定
描述: 除了网络中受信任的客户端之外,每个人都应该拒绝访问 Redis 端口,因此运行 Redis 的服务器应该只能由使用 Redis 实现应用程序的计算机直接访问。
假如服务器有两个网络接口(一个A区域、一个B区域),如果只需要A区域的机器访问则只绑定到A区域网络接口中,如服务器自身访问则只绑定到本地回环接口上。
# 通过在redis.conf文件中添加如下一行,可以将 Redis 绑定到单个接口:
bind 127.0.0.1 192.168.1.200
Tips:注意除了您可以绑定IPV4以为你还可绑定IPV6
更改默认服务端口
描述: 除了我们可以指定绑定的接口外,我们还可以更改默认的redis服务端口,可以防止黑客针对于Redis服务扫描探测。
# 将默认的服务断开从6379变成63791
port 63791
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




