Uwierzytelnianie uniemożliwia wykonywanie akcji na bazie danych (jak pokazuje zrzut ekranu - nie możesz nawet wyświetlić baz danych), nie uniemożliwia połączeń - w końcu musisz mieć możliwość połączenia, aby móc się uwierzytelnić.
Istnieje żądanie funkcji dodania limitów czasu, ale na razie jest to zasadniczo sposób, w jaki serwer ma się zachowywać.
Warto zauważyć, że dopóki nie spróbujesz czegoś zrobić, tak naprawdę nie różni się to od zwykłego połączenia z portem za pomocą telnet
- tekst wyświetlany na początku "łączenie z:" itp. pochodzi od klienta, a nie z serwera. Gdy tylko spróbuje zrobić coś nieuwierzytelnionego, nawet wyświetlić listę ostrzeżeń serwera, zgłaszany jest błąd, ponieważ nie ma wystarczających uprawnień.
Jeśli chcesz zablokować rzeczy z perspektywy połączenia, jedyną opcją z perspektywy MongoDB jest ograniczenie adresów IP, na których nasłuchuje (domyślnie all) za pomocą bindIp
opcja. Korzystanie z 127.0.0.1
zablokowałoby go na przykład do użytku lokalnego (ale wtedy nie mógłbyś połączyć się ze zdalnego hosta), co sprawia, że replikacja jest problemem, więc zachowaj ostrożność podczas wybierania adresu powiązanego.
Poza MongoDB powinieneś spojrzeć na blokowanie rzeczy z perspektywy zapory. W Linuksie będzie to IPTables, ufw, hosts.allow/deny lub podobne. Zapora systemu Windows nie jest moim obszarem specjalizacji, ale wyobrażam sobie, że tam też możesz zrobić coś podobnego.