sql >> Databasteknik >  >> NoSQL >> MongoDB

MongoDB-servern kan fortfarande nås utan inloggningsuppgifter

Autentisering hindrar dig från att utföra åtgärder på databasen (som din skärmdump visar - du kan inte ens lista databaser), den förhindrar inte anslutningar - trots allt måste du kunna ansluta för att kunna autentisera.

Det finns en funktionsbegäran för att lägga till timeouts, men för närvarande är det i huvudsak hur servern är tänkt att bete sig.

Det är värt att notera att fram tills du försöker göra något är det här egentligen inte annorlunda än att bara ansluta till porten med telnet - texten som visas i början "ansluter till:" etc. är från klienten, inte servern. Så snart den försöker göra något oautentiserat, till och med lista servervarningarna, visas ett fel eftersom den inte har tillräckliga behörigheter.

Om du vill låsa saker ur ett anslutningsperspektiv är det enda alternativet ur ett MongoDB-perspektiv att begränsa IP-adresserna den lyssnar på (standard är alla) med bindIp alternativ. Använder 127.0.0.1 skulle låsa den till lokal användning till exempel (men du skulle då inte kunna ansluta från en fjärrvärd), vilket gör replikering ett problem så var försiktig när du väljer din bundna adress.

Utanför MongoDB bör du titta på att låsa saker ur ett brandväggsperspektiv. På Linux skulle detta vara IPTables, ufw, hosts.allow/deny eller liknande. Windows-brandväggen är inte mitt expertområde, men jag kan tänka mig att du kan göra liknande där också.



  1. HBase Performance CDH5 (HBase1) vs CDH6 (HBase2)

  2. ServiceStack.Redis:Kan inte ansluta:sPort:50071

  3. Laravel - Radera alla cache/redis-nycklar som innehåller en specifik sträng

  4. Finns det något sätt att återställa nyligen raderade dokument i MongoDB?