今年年初,lots of MongoDB databases were hacked。这也包括我的数据库。昨天我注意到我的全新数据库启用了授权也被黑了。用户名和密码非常安全(16个字符的密码,随机字符和符号)。
我现在决定完全保护它,但老实说我不知道从哪里开始。我已经有了:
security:
authorization: enabled
这应该足够了(在sudo service mongod restart
之后)。我只有1个数据库,没有管理员用户,但仍允许从远程连接进行匿名访问。我一直在阅读许多地方,我应该像mongod --auth
一样运行mongod,但这与我上面所做的启用授权一样。
此时我正在努力禁用服务器上的匿名身份验证。我错过了什么?为什么我可以在没有帐户的情况下进行身份验证?
答案 0 :(得分:0)
要启用安全性,您需要关注MongoDB网站上的Security Checklist。
Here you are provided with role based authorization and authentication instructions。它还建议你禁用所有以太网接口,并将MongoDB端口绑定到你想要暴露的接口。
For a guide to network hardening, you will want to review these instructions,但最重要的方面是避免不必要的网络暴露。考虑使用防火墙或安全组(如果在云中)。