近日公司安全专家对业务云主机进行例行安全检查发现某redis服务器异常,现象如下:
1、系统的history和/var/log日志目录均被清空;
2、流量异常
3、恶意新建了一个id=0,名称为beef-xbdb的高权限用户,其home目录是/root,跟root用户的属性做了绑定;
4、/boot启动目录有名称为gakzigdpzp的木马文件;
5、/boot目录下面的木马文件与192.225.230.143,一个香港的IP存在SYN_SENT连接状态的网络交互行为;
6、多个目录存在木马/后门文件:
......
后来经过排查,发现是redis配置不当所致:
1、以root启动redis服务
2、redis机器有公网地址
3、redis允许所有地址访问(注释了默认的bind 127.0.0.1)
4、redis不需要密码就可以访问(注释了默认的requirepass foobared)
于是杯具来了:
一旦6379端口被扫描到,然后config set dir /root/.ssh、config set dbfilename "authorized_keys"、save三个命令就可以将自己生成的公钥植入目标机器,这意味着什么已经很清楚了吧,此后黑客将获得此机器完全权限。
网上找了下,原来这是redis的一个典型的安全问题,而且里面有详细分析报告:
https://nosec.org/bobao/redis_crackit?hmsr=toutiao.io&utm_medium=toutiao.io&utm_source=toutiao.io
即使不是用root启动的redis,也可以通过在apache的/var/www/html下植入一个php文件,然后在里面写入东西,最后在页面上访问获得web shell,同样风险极大。