我有一個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服務器。 –