Mongo安全用户和端口

只要我的mongo端口不能被外部访问,只能在本地使用,我能不能使用用户名和密码保护我的数据库?

是的,很多人以这种方式运行Mongo。

身份validation确实有一个有用的function,不过,当你认为你连接到其他地方的时候,意外地从shell执行某些破坏性的事情会更难一些。 我们倾向于在开发和生产数据库上使用不同的用户名/密码,并且您必须跳过一些级别的连接才能连接到Mongo生产环境。

是的,你可以但我不会这样做。
当然,没有迫在眉睫的威胁,但拥有适当的权限设置会增加另一层安全性。

您将来有可能意外地暴露端口(例如,closures防火墙来debugging连接问题)。
另外,如果另一个服务在防火墙后面的服务器或服务器上受到威胁,那么MongoDB中的数据实际上也会受到影响 – 或者可能非常容易。

防止未经授权访问数据库不是数据库pipe理系统的责任。 正确的防火墙规则,VLAN等安全性要比用户名和密码更安全,无论如何都必须分配给应用服务器。

为什么不做这两个? 纵深防御是一个很好的策略。 使用云防火墙(例如EC2安全组)或OS防火墙来限制对Mongo实例的访问。 如果您的防火墙configuration有问题,您仍然可以启用auth来挑战。