首页 > 代码库 > Redis安全
Redis安全
安全
运行在可信环境
Redis的安全设计是在"Redis运行在可信环境"这个前提下做出的,在生产环境运行时不能允许外界直接连接到Redis服务器上,而应该通过应用程序进行中转,运行在可信的环境中是保证Redis安全的最重要方法。
Redis的默认配置会接受来自任何地址发送来的请求,即在任何一个拥有公网IP的服务器上启动Redis服务器,都可以被外界直接访问到。要更改这一设置,在配置文件中修改bind参数,如只允许本机应用连接Redis,可以将bind参数改成:
bind 127.0.0.1
为Redis设置密码
为redis设置密码的方法
在redis.conf中进行配置
requirepass hellocarl
通过命令行进行社设置
redis> CONFIG set requirepass "hellocarl"
若为redis设置了密码,则客户端每次连接到Redis时都需要发送密码,否则Redis会拒绝执行客户端发来的命令
redis>GET foo (error) ERR operation not permitted redis>AUTH hellocarl # 验证密码需要使用**AUTH**命令 OK redis>GET foo # 现在可以执行命令了 "1"
由于Redis的性能极高,并且输入错误密码后Redis并不会进行主动延迟(考虑到Redis的单线程模型),所以攻击者可以通过穷举法破解Redis的密码(1秒内能够尝试十几万个密码),因此在设置时一定要选择复杂的密码。
提示
配置Redis复制的时候如果主数据库设置了密码,需要在从数据库的配置文件中通过masterauth参数设置主数据库的密码,以使从数据库连接主数据库时自动使用AUTH命令认证。
命令重命名
在配置文件中进行设置
rename-command FLUSHALL oyfekmjvmwxq5a9c8usofuo369x0it2k # 重命名FLUSHALL命令 rename-command FLUSHALL "" # 禁用FLUSHALL命令
注意: 无论设置密码还是重命名命令,都需要保证配置文件的安全性,否则就没有任何意义了。
如果发现错误,请轻拍,欢迎留言交流,谢谢
Redis安全
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。