默认情况下,Redis绑定到所有接口,并且无需身份验证。如果您在非常可控的环境中使用Redis,将其与外部网络和攻击隔离,当然是很好的。但是,如果一个未加固的Redis暴露在网络中,则存在很大的安全隐患。如果您不能100% 确定您的环境是否安全,请检查以下步骤以使Redis更安全,这些步骤是按照提高安全性的顺序排列的。
1)确保Redis用于侦听连接的端口(默认情况下为6379,如果在群集模式下运行Redis,则为16379,对于Sentinel,为26379)已安装防火墙,以保证无法从外部环境与Redis建立连接。
2)使用设置了bind指令的配置文件,以确保Redis仅响应您正在使用的网络接口。例如,如果您仅从同一台计算机本地访问Redis,则仅使用环回接口(127.0.0.1),以此类推。
3)使用requirepass选项添加额外的安全层,以便客户端需要使用AUTH命令进行身份验证。
4)如果您的环境需要加密,请使用spiped或其他SSL隧道软件,以加密Redis服务器和Redis客户端之间的通信。
请注意,一个暴露在互联网上、没有任何安全保障的Redis实例是很容易被利用的,所以请确保你了解上述情况并至少应用一个防火墙层。防火墙设置好后,尝试从外部主机用redis-cli连接,以证明自己无法访问该实例。