http://blog.csdn.net/u011001084/article/details/79640818
刚好是做信息安全这块。简单说下
问题如上面几位所说。出在 redis
早期的 redis 在软件源中安装以后是以 root 权限运行的。而 redis 提供了将数据转储到指定文件的功能。也就是说你可以以 root 权限在全盘任意位置写入文件。文件的内容也是可控的。而对于 ssh 的 authorized_keys 并不严格要求数据格式。只要某一行存在公钥即可。由此引发了漏洞。例如利用 redis 给 root 写公钥。给 web 目录写 php 的 webshell 等等。
具体的漏洞详情可以搜一下 redis 写公钥漏洞
新版本的 redis 在安装时候会自动建立一个名为 redis 的用户。然后以这个用户权限启动。
修复办法
1.升级到最新版本。
2.如不是特别必要。可将 redis 的监听地址改为 127.0.0.1。
3.给 redis 加上访问密码。但别是弱口令
被入侵后检测
1.检查 crontab(/etc/crontab 和 /var/spool/cron/crontabs/中的文件)
2.检查异常进程。这个依机器被入侵程度具体对待
3.检查~/.ssh/authorizeds_keys。如果发现持续写入。多半是有个进程监控或是定时任务
4.检查~/.profile 及~/.bashrc。看看是否有后门
其他方面
1.别用编译安装。能软件源解决就软件源解决。因为编译安装以后。并不会根据需求创建服务及低权账户。等于还是 root 跑