2017-01-07 13 views
5

Mój mongodb jest teraz przechowywany dla okupu z wiadomością "Twój DB jest Kopią zapasową na naszych serwerach, aby przywrócić wysłać 0.1 BTC do Adresu Bitcoin, a następnie wysłać e-mail z twoim serwerem IP". Po przeczytaniu wielu artykułów wciąż nie jestem pewien, co oznacza publicznie dostępna baza danych. Obecnie mam dostęp do mojej bazy danych przez SSH do mojej kropli z nazwą użytkownika i hasłem i łączę się przez port 27017 w jaki sposób haker może uzyskać dostęp do mojej bazy danych? Proszę doradzić mi, co zrobić, aby temu zapobiec w przyszłości! DziękujęMongoDB jest przetrzymywany dla okupu

+0

Cześć! Dokładnie ten sam email! Czytam więcej teraz. Wygląda na to, że publicznie ujawniłeś swoją bazę danych. Więc haker może po prostu zalogować się do bazy danych przez ciebie ip + poprawny port bez jakiejkolwiek formy uwierzytelnienia! – Zanko

+0

Yeah, @ 0xDUDE na Twitterze zaokrąglał je trochę. – JacobPariseau

Odpowiedz

2

Aby zapobiec tego typu włamanie trzeba dokonać bazie bezpieczne ..

Dodaj ustawienie security.authorization do pliku konfiguracyjnego

security: 
authorization: enabled 

przed włączeniem go, upewnij się, utworzyłem użytkownika root z poświadczeniem logowania.

Przykład:

$ use admin 
$ db.createUser(
    { 
    user: "superAdmin", 
    pwd: "mySecurePassword", 
    roles: [ { role: "root", db: "admin" } ] 
    }) 

też może trzeba utworzyć osobne aplikacji dla każdej bazy danych użytkowników z ograniczonym dostępem, aby uzyskać więcej informacji, napisałem jeden blog tutaj MongoDB enable authentication.

uzyskać więcej informacji patrz MongoDB security best practices i MongoDB security checklist

+0

Dziękuję za zapisanie! Właśnie zrobiłem wczoraj bezpieczną bazę danych. Ważne jest, aby uruchomić MongoDB na niestandardowym porcie 27017 W celu skorzystania z pliku konfiguracyjnego musimy się upewnić, że uruchomiliśmy "mongod --config <ścieżka do config>", ponieważ sam plik "mongod" z jakiegoś powodu nie wykorzystuje pliku konfiguracyjnego! – Zanko