前几天阿里云发布了Redis未授权访问漏洞,不过当时我没看公告。没过两天阿里客服打电话跟我说阿里云redis漏洞导致黑客入侵我服务器了。回家匆忙看了下漏洞说明。进行修复下。下面也略微说下漏洞描述:
一、漏洞描述和危害 Redis因配置不当可以未授权访问,被攻击者恶意利用。 攻击者无需认证访问到内部数据,可能导致敏感信息泄露,黑客也可以恶意执行flushall来清空所有数据。 攻击者可通过EVAL执行lua代码,或通过数据备份功能往磁盘写入后门文件,如果Redis以root身份运行,黑客可以给root账户写入SSH公钥文件,直接通过SSH登录受害服务器。 二、已确认被成功利用的软件及系统 对公网开放,且未启用认证的redis服务器。 三、建议修复方案 1、指定redis服务使用的网卡 (需要重启redis才能生效) 在 redis.conf 文件中找到 “# bind 127.0.0.1” ,把前面的#号去掉,然后保存。注:修改后只有本机才能访问Redis。 2、设置访问密码 (需要重启redis才能生效) 在 redis.conf 中找到“requirepass”字段,在后面填上你需要的密码,Redis客户端也需要使用此密码来访问Redis服务。 3、修改Redis服务运行账号 请以较低权限账号运行Redis服务,且禁用该账号的登录权限。可以限制攻击者往磁盘写入文件,但是Redis数据还是能被黑客访问到,或者被黑客恶意删除。 4、设置防火墙策略 如果正常业务中Redis服务需要被其他服务器来访问,可以设置iptables策略仅允许指定的IP来访问Redis服务。
当时我的服务器已经有异地登录了。美国佬的,Linux服务器经验有限,暂时的做法是
1:禁止root ssh登录
2:修改ssh端口号
3:新建用户登录ssh 然后sudo提权
当时装redis的时候只是为了玩,并没有修改默认的配置信息。其实就现在网络情况而言,安全意识不能拉,否则会造成不可避免的损失。幸亏我的服务器只挂一个博客。如果因为redis配置不当而拿下服务器权限是非常不明智的。