我有一个MongoDB的路由器,在命令行像这样开始:如何要求在mongos路由器上进行身份验证?
mongos --configdb mdbc1:27019,mdbc2:27019,mdbc3:27019 --keyFile /root/mongodb-keyfile &
我可以连接到,没有立即提供认证:
[[email protected] ~]# mongo
MongoDB shell version: 3.0.15
connecting to: test
MongoDB的要求我验证自己,然后才允许我做了更多的事情,但事实是它让我连接而不提供证书是安全风险。
如何让mongos路由器在接受连接之前要求传递用户名/密码组合?
关于重复:是的,我认为这是重复的。但是,由于这两个副本中的问题都没有得到满意的答复,所以或许值得再次提问。
为了进一步解释:MySQL,SSH和类似的,要求提供有效的登录信息,然后允许用户进一步去请求服务器执行任何操作。但是,MongoDB似乎没有这样做 - 我可以连接到服务器的控制台,并让它运行各种密集的JavaScript,浪费资源并且是一种讨厌的东西,这真的不应该被允许。我如何要求登录是一个人绝对的第一件事?
你真的可以运行密集的JavaScript,浪费资源,并且是一个滋扰,没有被认证?是什么让你如此确信有任何安全风险? –
是的,你真的可以。 作为一个测试,我连接到一个mongo服务器,没有进行身份验证,只是写了“while(1);”并回车。 我通过另一个终端上的“顶部”观看了系统。它立即达到了100%的CPU使用率。 安全性方面,这不会让你入侵。但它确实使服务器更有可能无法履行其常规职责,使得正确验证的进程更可能失败,因为根本没有足够的CPU可用于他们。 –
我可能对此有错。再次检查后,我意识到我正在Mongo服务器本身上执行localhost的测试。当我从另一台机器尝试它时,另一台机器的负载上升 - 而不是Mongo服务器。 –