我在三个EC2实例中有一个MongoDB客户端,我创建了一个副本集。上次我有一个问题,空间constraint停止了我的mongod进程,从而停止了应用程序,现在几天前的一个实例,我的一些表从数据库中消失了,所以我设置了日志记录,所有我的数据库只是为了抓住这样的事情再次发生。在今天早上的一个新事件中,我无法登录我的系统,那时我发现整个数据库都是空的。我检查了其他问题,如this,建议设置一个TTL。我根本没有做过。
现在我如何调试这种情况并进行正确的根本原因分析?我甚至无法在调试日志中找到任何内容。桌子消失了。如何设置正确的日志记录机制,如何确保永远不再删除所有表?
答案 0 :(得分:2)
今天我从亚马逊收到一封邮件,说我可能正在运行一个不安全版本的MongoDB,这可能导致了这个问题。那么谁来面对这个问题请通过Security Checklist Provided by MongoDB。在那里有一些绝对必要的要点
1.启用访问控制并强制执行身份验证
2.加密通信
3.限制网络曝光
这三个是核心,取决于您可以Configure Role-Based Access Control
访问数据库的人数。
这些都是我所做的一切。在此事件发生之前,我没有认真对待安全问题,但是在我被它击中之后。我确保我已经采取了所有必要的预防措施。 希望这有助于某人。