1.你所写的代码或者服务器遇到过被黑的情况吗?如果有叙述下解决方案。 第一个软件版本在阿里云服务器运行一个月后,迎来了第二个版本。在该版本中,团队使用了Redis内存数据库,来提高登录和支付系统的效率,然而刚上线两天问题就出现了。由于开发人员是首次使用Redis,对Redis的掌握程度有限,因此对于Redis存在的漏洞并不知晓。 为了更好地监控云服务的运行,应用刚上线就设置了服务器CPU和内存使用率的监控的短信通知,在CPU使用率超过40%就发送通知短信。在应用部署上线的第三天早上,手机刚开机收到多条阿里云的监控短信,看完短信感觉不秒,服务器的CPU使用率很高,应用上线开始从来没有出现这种情况。难道是新上线的应用中程序有问题?
开机远程连上服务器,运行top命令,发现一个minerd进程占用很高的CPU,占用了一个CPU 100%额度使用率。这个是什么进程,马上和后台开发人员联系确认,应用不会产生minerd进程,后台开发人员也不知道minerd进程,隐隐感觉服务器被入侵了。这个时候只能借助万能的搜索引擎了,大家都懂的。
搜索才发现网上有很多人出现了这种问题,是服务器被入侵,挂了挖矿程序,minerd就是一个挖矿程序。
由于后台开发人员是初次使用Redis,Redis绑定在0.0.0.0:6379,默认配置没有开启认证,并且没有添加防火墙规则避免其他非信任来源ip访问等,导致云服务器的Redis服务直接暴露在公网上,其他用户可以直接在非授权情况下直接访问Redis服务并进行相关操作。然后利用Redis自身的相关方法,可以进行写文件操作,攻击者可以成功将自己的公钥写入到云服务器的 /root/.ssh 文件夹的authotrized_keys 文件中,进而可以直接登录云服务器。
解决方法:
2.你的代码与服务器是否有对防黑进行监控,或者有什么安全措施?是如何实现的?
为了更好地监控云服务的运行,应用刚上线就设置了服务器CPU和内存使用率的监控的短信通知,在CPU使用率超过40%就发送通知短信。
3.除了外患,也许还有内忧,如离职人员的代码后门检测,运维人员的服务器后门检测,是否有快速的方法?
日常做好代码的check in时的review。避免后门。
4.你对未来的安全提出一些友好的方案。
|