Używając phpmyadmin do konfiguracji lokalnego testowego wampa, a także prawie w tytule, 3 użytkowników jest oznaczonych jako użytkownik = DOWOLNY, hasło = NIE, na przykład:
USER | HOST | Password | Global Priv | Grant
-----+---------+----------+-------------+------
Any | % | No | USAGE | No
Any | Local | No | USAGE | No
Any | Domain | No | USAGE | No
-----+---------+----------+-------------+------
Żaden z 3 użytkowników nie ma żadnych specjalnych uprawnień do żadnych tabel, więc wygląda na to, że niewiele mogą zrobić. Czy jest to rodzaj ogólnego środka bezpieczeństwa, który wyraźnie stwierdza, że „Każdy” użytkownik, który nie należy do żadnej innej grupy użytkowników, nie ma żadnych uprawnień?
mysql
phpmyadmin
Chris
źródło
źródło
Odpowiedzi:
W rzeczywistości te trzy konta użytkowników są w rzeczywistości dość niebezpieczne. Stanowią bardzo duże zagrożenie dla testowania baz danych.
Niestety mysql ma pełny dostęp do testowych baz danych. Jak je znaleźć?
Uruchom to zapytanie:
Po instalacji mysql zobaczysz dwa wiersze, które dają pełny dostęp do dowolnej bazy danych o nazwie „test” lub której pierwszych 5 znaków to „test_”.
Dlaczego to jest problem?
Spróbuj uruchomić to polecenie:
Połączysz testową bazę danych bez hasła.
Teraz utwórz tabelę i załaduj ją wierszem:
OK, wielka sprawa. Czy mógłbyś podwoić ten stół 30 razy ???
Co dostajesz ?? Tabela z 1 073,741,824 wierszami. Z łatwością 4 GB +.
Wyobraź sobie tworzenie dowolnej tabeli o dowolnym rozmiarze. Co powiesz na utworzenie kilku tabel w testowej bazie danych i swobodny dostęp do nich do woli?
Najlepszą rzeczą, jaką możesz zrobić w tych okolicznościach, jest uruchomienie tego zapytania:
i zrestartuj mysql. Następnie te trzy konta zostaną prawidłowo wyłączone.
Spróbuj !!!
AKTUALIZACJA 2011-09-12 10:00 EDT
To usunięcie:
jest właśnie tym, czego potrzebujesz do pierwszej instalacji. Jeśli jednak masz już użytkowników, możesz uruchomić to:
Spowoduje to usunięcie określonych dwóch uprawnień DB.
Jak wspomniałem w mojej odpowiedzi, trzy uprawnienia są bardzo niebezpieczne dla testowych baz danych. Uruchomienie tego polecenia DELETE zneutralizuje te konta, aby mieć pełne prawa do testowania baz danych.
źródło
Niebezpieczeństwo związane z prowadzeniem tych anonimowych kont zostało już bardzo dobrze wyjaśnione.
Podręcznik zawiera obszerną listę czynności do wykonania w celu „ Zabezpieczenia początkowych kont MySQL ”.
W szczególności sekcja „Przypisywanie anonimowych haseł do kont” zaleca usunięcie tych kont.
Ponadto rozdział „Zabezpieczanie testowych baz danych” zaleca:
W szczególności w systemach innych niż Windows zaleca się uruchomienie
mysql_secure_installation
skryptu. Wierzę, że instalator Windows oferuje kilka profili instalacyjnych. Niektóre z nich automatycznie wyłączą niepewne ustawienia. Jeśli nie, lista kontrolna będzie musiała zostać uruchomiona ręcznie.Należy zachować ostrożność w przypadku instalatorów zewnętrznych, takich jak WAMP. Domyślne uprawnienia wskazane w oficjalnym podręczniku MySQL mogą nie zawsze mieć zastosowanie do tych niestandardowych (jak w „poza zakresem instrukcji) instalacji. Oczywiście, dla serwera produkcyjnego, instalacji WAMP i podobnych należy unikać za wszelką cenę .
źródło