最近比较衰,Redis数据库被好几次恶意攻击,导致里面的数据完全丢失。dump.rdb和appendonly.aof文件都不能恢复。一开始没有意识到数据库被攻击,后来几个数据库连续这样,才发现有问题。
被攻击后redis里面多了一个crackit表,打开一看发现对方通过入侵自己的redis数据库,然后利用dump文件获得服务器的root权限,企图使用自己的数据库挖矿(minerd,俗称挖比特币)。最近有大量的服务器被人入侵数据库,然后占用服务器的cpu挖比特币,所以对redis进行安全配置很有必要!很有必要!很有必要!千万不能疏忽!
大家一般使用Redis默认的.conf文件,默认端口是6379,没有认证密码,默认处理任何请求来源,这样会把自己的数据库完全暴露在外网环境中,十分危险。
Redis安全配置
对Redis进行安全配置主要从下面几个方面:
- 为redis添加密码认证
添加密码认证有临时的和长久的两种方法
1. 可以在redis运行时添加密码认证,在redis-cli连接redis后执行命令
CONFIG SET requirepass "myPassWord"
不过这种方式添加的密码认证只是临时的,在redis重启后密码就会失效