我在三个 EC2 实例中有一个 MongoDB 客户端,并且创建了一个副本集。上次我遇到了空间问题约束 https://askubuntu.com/questions/864631/amazon-ec2-instance-ubuntu-16-04-cannot-create-temp-file-for-here-document-no这停止了我的 mongod 进程,从而停止了应用程序,现在在几天前的一个实例中,我的一些表从数据库中消失了,所以我将日志记录和所有内容设置到我的数据库中,只是为了捕获是否再次发生类似的情况。在今天早上的一次新事件中,我无法登录我的系统,就在那时我发现整个数据库是空的。我检查了其他问题,例如this https://stackoverflow.com/questions/25351929/can-mongo-do-autoremove-collections这建议设置一个 TTL。我根本没有这样做。
现在我该如何调试这种情况并进行正确的根本原因分析?我什至在调试日志中也找不到任何内容。桌子就这样消失了。如何设置适当的日志记录机制以及如何确保我的所有表永远不会再次被删除?
今天,我收到一封来自 Amazon 的邮件,称我可能正在运行不安全版本的 MongoDB,这可能导致了此问题。因此,谁遇到过这个问题,请仔细阅读MongoDB 提供的安全检查表 https://docs.mongodb.com/manual/administration/security-checklist/。其中有一些点是绝对必要的。
1.启用访问控制并强制身份验证
2. 加密通信
3.限制网络暴露
这三个是核心,具体取决于有多少人访问您的数据库Configure Role-Based Access Control
.
这些都是我所做的事情。在这起事件之前,我并没有那么认真地对待安全问题,但是在我受到它的打击之后。我确保已采取所有必要的预防措施。
希望这对某人有帮助。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)