只要我的 mongo 端口不能被外界访问并且只能在本地使用,我是否可以不用用户名和密码保护我的数据库?
答案1
是的,很多人都以这种方式运行 Mongo。
验证做不过,有一个有用的功能,当您认为自己已连接到其他地方时,它会使意外从 shell 执行破坏性操作变得更加困难。我们倾向于在开发和生产数据库上使用不同的用户名/密码,并且您必须跳过一些级别的障碍才能连接到生产 Mongo。
答案2
是的,你可以,但我不会这么做。
当然,没有迫在眉睫的威胁,但设置适当的权限会增加另一层安全性。
将来您总是有可能意外暴露端口(例如关闭防火墙以调试连接问题)。
此外,如果同一台服务器或防火墙后面的服务器上的另一个服务受到损害,那么 MongoDB 中的数据实际上也会受到损害 - 或者很容易受到损害。
答案3
防止未经授权访问数据库不是 DBMS 的责任。适当的防火墙规则、VLAN 等比用户名和密码更能保证安全,而用户名和密码无论如何都必须分发到您的应用服务器。
答案4
为什么不两者兼顾呢?纵深防御是个好策略。使用云防火墙(例如 EC2 安全组)或 OS 防火墙来限制对 Mongo 实例的访问。如果您的防火墙配置出现问题,您仍然可以启用身份验证以进行质询。