Redis安全策略
CINFIG
令来设置密码;另外一种则是手动修改 Redis 的配置文件。虽然看似前者更为简单,其实两种方式各有特点。本节将对它们进行介绍。令配置密码
通过执行以下令查看是否设置了密码验证:在默认情况下 requirepass 参数值为空的,表示无需通过密码验证就可以连接到 Redis 服务。127.0.0.1:6379> CONFIG get requirepass
1) "requirepass"
2) ""
下面执行以下令设置密码。如下所示:
127.0.0.1:6379> CONFIG set requirepass "www.biancheng网站站点" rel="nofollow" />
127.0.0.1:6379> set key name www.biancheng网站站点" rel="nofollow" />
127.0.0.1:6379> AUTH www.biancheng网站站点" rel="nofollow" />
# requirepass foobared
requirepass www.biancheng网站站点" rel="nofollow" />
#首先停止服务:
C:\Users\Administrator>redis-server.exe --service-stop
#重启服务器
C:\Users\Administrator>redis-server.exe --service-start
#重新登陆
C:\Users\Administrator>redis-cli.exe -h 127.0.0.1 -p 6379 -a www.biancheng网站站点" rel="nofollow" />
rename-command keys 123keys123
如果您还想执行 keys 令,那就需要在令行输入123keys123。 当然也可以将指令 rename 成空字符串,这样就无法通过字符串来执行 keys 令了。
rename-command flushall ""
端口安全
Redis 默认*:6379
,如果当前的服务器主机有外网地址,那么 Redis 的服务将会直接暴露在公网上,别有用心的人使用适当的探测工具就可以对 IP 地址进行端口扫描,从而威胁您的系统安全。如果 Redis 的服务地址一旦可以被外网直接访问,其内部数据就彻底丧失了安全性。黑客们可以通过 Redis 执行 Lua 脚本拿到服务器权限,然后清空您的 Redis 数据库。因此务必在 Redis 的配置文件中绑定要的 IP 地址,避免类似的情况发生。如下所示:
bind 193.168.1.1 #绑定外网ip地址
不仅如此,还可以增加 Redis 的密码访问限制,客户端必须使用 auth 令传入正确的密码才可以访问 Redis。
这样即使地址暴露出去了,普通黑客也无法对 Redis 服务器进行任何指令操作。requirepass yourspassword
密码配置也会影响到主从。要求从机必须配置与主服务相同的密码才可以进行主从。
masterauth yourspassword
SSH代理
Redis 不支持 SSL 链接,这意味着客户端和服务器交互的数据不应该在公网上传输,否则会有被的风险。如果必须要在公网上,可以考虑使用 SSL 代理。SSL 代理比较常见的有 ssh。Redis 官方也了一种代理工具,也就是 spiped (点击了解)。 其功能虽然单一,但使用起来比较简单,易于理解。