Redis中间件加固策略,防止数据泄露

redis功能

缓存数据:Redis因其高速的存取能力,常被用来存放那些频繁访问的数据,以此来减轻数据库的负担,提升应用程序的响应速度。
会话存储:Redis可以用来存储用户会话信息,如登录状态和个人设置,使得无状态的Web服务器可以通过会话ID共享用户状态。
排行榜和计数器:Redis的Sorted Set数据类型非常适用于排行榜应用,同时也适合实现各种计数器功能。
任务队列:Redis的List数据类型可以实现任务队列的功能,如FIFO队列等。
分布式锁:Redis的原子操作命令可以用于实现分布式锁,以协调多节点对共享资源的操作。
实时分析:Redis的速度和数据结构使其成为一个理想的实时分析工具,可以用于统计网站访问者或收集实时交易信息等。

地理空间数据:Redis的地理空间支持使其适合存储和查询地理位置信息。

社交网络:Redis可以与其他架构的系统或网站结合,用于实现实时聊天、信息刷新等功能。

分布式集群框架中的session分离:Redis可以帮助实现分布式集群部署下的session共享机制。

redis的功能越来越重,则防护安全也是更加重要,则需要做下列内容:

禁止监听在公网

Redis监听在0.0.0.0,可能导致服务对外或内网横向移动渗透风险,极易被黑客利用入侵。
在redis的配置文件redis.conf中配置如下: bind 127.0.0.1或者内网IP,然后重启redis

限制配置文件访问权限

因为redis密码明文存储在配置文件中,禁止不相关的用户访问改配置文件是必要的,设置redis配置文件权限为600。
执行以下命令修改配置文件权限:
chmod 600 //redis.conf

禁用或者重命名危险命令

Redis中线上使用keys *命令是非常危险的,应该禁用或者限制使用这些危险的命令,可降低Redis写入文件漏洞的入侵风险。
修改 redis.conf 文件,添加
rename-command FLUSHALL “”
rename-command FLUSHDB “”
rename-command CONFIG “”
rename-command KEYS “”
rename-command SHUTDOWN “”
rename-command DEL “”
rename-command EVAL “”
然后重启redis。 重命名为"" 代表禁用命令,如想保留命令,可以重命名为不可猜测的字符串,如: rename-command FLUSHALL j3fggGSSPNXRPmcarcR4FSSW

你可能感兴趣的:(环境搭建专栏,redis,中间件,数据库)