共计 2157 个字符,预计需要花费 6 分钟才能阅读完成。
Redis 作为一个高速数据库,在互联网上,必须有对应的安全机制来进行保护,方法有 2,如下。
1. 比较安全的办法是采用绑定 IP 的方式来进行控制。
请在 redis.conf 文件找到如下配置
# If you want you can bind a single interface, if the bind option is not
# specified all the interfaces will listen for incoming connections.
#
# bind 127.0.0.1
把# bind 127.0.0.1 前面的 注释 #号去掉,然后把 127.0.0.1 改成你允许访问你的 redis 服务器的 ip 地址,表示只允许该 ip 进行访问
这种情况下,我们在启动 redis 服务器的时候不能再用:redis-server,改为:redis-server path/redis.conf 即在启动的时候指定需要加载的配置文件, 其中 path/ 是你上面修改的 redis 配置文件所在目录,这个方法有一点不太好,我难免有多台机器访问一个 redis 服务。
2. 设置密码,以提供远程登陆
打开 redis.conf 配置文件,找到 requirepass,然后修改如下:
requirepass yourpassword
yourpassword 就是 redis 验证密码,设置密码以后发现可以登陆,但是无法执行命令了。
命令如下:
redis-cli -h yourIp -p yourPort// 启动 redis 客户端,并连接服务器
keys * // 输出服务器中的所有 key
报错如下
(error) ERR operation not permitted
这时候你可以用授权命令进行授权,就不报错了
命令如下:
auth youpassword
另外,在连接服务器的时候就可以指定登录密码,避免单独输入上面授权命令
命令如下:
redis-cli -h yourIp-p yourPort -a youPassword
除了在配置文件 redis.conf 中配置验证密码以外,也可以在已经启动的 redis 服务器通过命令行设置密码,但这种方式是临时的,当服务器重启了密码必须重设。命令行设置密码方式如下:
config set requirepass yourPassword
有时候我们不知道当前 redis 服务器是否有设置验证密码,或者忘记了密码是什么,我们可以通过命令行输入命令查看密码,命令如下:
config get requirepass
如果 redis 服务端没有配置密码,会得到 nil,而如果配置了密码,但是 redis 客户端连接 redis 服务端时,没有用密码登录验证,会提示:operation not permitted, 这时候可以用命令:auth yourpassword 进行验证密码,再执行 config set requirepass,就会显示 yourpassword
由于 redis 并发能力极强,仅仅搞密码,攻击者可能在短期内发送大量猜密码的请求,很容易暴力破解,所以建议密码越长越好,比如 20 位。(密码在 conf 文件里是明文,所以不用担心自己会忘记)
下面关于 Redis 的文章您也可能喜欢,不妨参考下:
Ubuntu 14.04 下 Redis 安装及简单测试 http://www.linuxidc.com/Linux/2014-05/101544.htm
Redis 主从复制基本配置 http://www.linuxidc.com/Linux/2015-03/115610.htm
CentOS 7 下 Redis 的安装与配置 http://www.linuxidc.com/Linux/2017-02/140363.htm
Ubuntu 14.04 安装 Redis 与简单配置 http://www.linuxidc.com/Linux/2017-01/139075.htm
Ubuntu 16.04 环境中安装 PHP7.0 Redis 扩展 http://www.linuxidc.com/Linux/2016-09/135631.htm
Redis 单机 & 集群离线安装部署 http://www.linuxidc.com/Linux/2017-03/141403.htm
CentOS 7.0 安装 Redis 3.2.1 详细过程和使用常见问题 http://www.linuxidc.com/Linux/2016-09/135071.htm
Ubuntu 16.04 环境中安装 PHP7.0 Redis 扩展 http://www.linuxidc.com/Linux/2016-09/135631.htm
Ubuntu 15.10 下 Redis 集群部署文档 http://www.linuxidc.com/Linux/2016-06/132340.htm
Redis 实战 中文 PDF http://www.linuxidc.com/Linux/2016-04/129932.htm
Redis 热迁移实战总结 http://www.linuxidc.com/Linux/2017-02/141083.htm
Redis3.0 配置文件详解 http://www.linuxidc.com/Linux/2017-03/141369.htm
本文永久更新链接地址:http://www.linuxidc.com/Linux/2017-05/143353.htm