Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: bezpieczeństwo w mysql
Forum PHP.pl > Forum > Bazy danych > MySQL
dziama
Witam mam takie pytanie:
w katalogu mysql/data/ mam podkatalogi z bazami danych a w nich pliki *.frm *.MYI *.MYD odpowiadające poszczególnym tabelom w mojej bazie.

Problem jest taki:
Czy można w jakiś sposób zabezpieczyć bazę danych aby ktoś nie powołany nie miał możliwości uruchomienia bazy na innej instalacji po fizycznym przeniesieniu plików bazy danych lub tych *.frm *.MYI *.MYD.

Innymi słowami coś takiego jak w MsSql gdzie za dostęp do poszczególnych baz odpowiada master.mdb.

Nie wiem czy wyraziłem sie jasno, mam nadzieję że tak.
Z góry dzięki za odpowiedź
dziama
nie wiem czy ja wyraziłem się tak nieprecyzyjnie, że nikt nie zrozumiał czy nikt na prawdę nie ma o tym pojęcia?questionmark.gif
uboottd
Raczej nikt nie ma pomyslu jak cos takiego osiagnac. Jak nie masz zaufania do admina swego serwera to jak juz gdzies pisalem czas zmienic admina. Mozna kombinowac co najwyzej z wlasna partyzantka - w koncu mozna podmienic mysqlowi funkcje do czytania plikow, ale czy warto sie w to bawic ?
dziama
mi nie chodzi o mysqla u admina tylko u użytkownika aplikacji opartej na mysql.

Bo właściwie to mam dwie opcje albo mssql albo mysql. Tylko że do mssql to musze postawic własny serwer internetowy a z mysql to wystarczy dobre konto u jakiegoś ISP.

chyba że istnieje możliwość zeby pomiędzy mssql i mysql dokonywać replikacji danych. to byłoby najlepsze.
kris_
tylko jednego nie rozumiem. Co stoi na przeszkodzie zeby w mssql'u zgrac takze plik master.mdb?
Pozatym jezeli ktos ma dostep do servera to ma dostep do twoich hasel na baze i moze sciagnac cala zawartosc tablic nie pytajac sie Tobie o zdanie.
Jedyna mozliwosc jaka mi przychodzi do glowy to mozesz kryptowac zawartosc pol ktore nie biora udzalu w procesie przeszukiwania bazy i odkryptowywywac je przez aplikacje, ale to rozwiazanie dla paranoikow, malo skutedczne, malo wydajne i raczej nie widze duzych szans na zabezpieczenie tego.
dziama
na jakiej bazie, współpracującej z php oprzeć aplikację sieciową, tak aby jej zawartość była zabezpieczona przed dostępem z serwera. tzn żeby nikt nie mógł wynieść danych poprzez właśnie przegranie sobie na twardo bazy no i zeby nie miał wglądu do struktury-to ważne ale nie najważniejsze.
adwol
[quote]na jakiej bazie, współpracującej z php oprzeć aplikację sieciową, tak aby jej zawartość była zabezpieczona przed dostępem z serwera. tzn żeby nikt nie mógł wynieść danych poprzez właśnie przegranie sobie na twardo bazy
Jeśli dostęp do plików z tabelami ma proces serwera i potrafi z nich wyciągnąć dane to jaki problem, aby zrobił to administrator. Ja widzę jedno rozwiązanie -- umieścić serwer bazy na swoim komputerze i dać jedynie dostęp z sieci bez możliwości fizycznego kontaktu.
Mógłbyś np. też szyfrować pliki na dysku, albo próbować jakoś zagmatwać mechanizm dostępu do nich, ale wtedy za pomocą reverse engineeringu można by je było odzyskać z kodu php.
kris_
co do kryptacji plikow bezposrednio na dysku to spadek wydajnosci byl by zbyt wielki.
adwol
Cytat
co do kryptacji plikow bezposrednio na dysku to spadek wydajnosci byl by zbyt wielki.

To zależy na jakim mechanizmie. Na linuksie z CryptoFS-em przy pracy z PostgreSQLem nie ma znaczącej różnicy. Nie testowałem tego osobiście, ale rozmawiałem o tym z depeszem, któremu, ze względu na ogromne doświadczenie jestem w stanie uwierzyć.
kris_
jak kilka lat temu bawilem sie w takie rzecyz to takie crypto FS'y dzialaly zalosnie, ale przyznam sie ze juz dawno sie tym nie bawilem. Tylko znow powstaje problem, skoro ktos ma dostep do servera to system kryptacji nic nie zmienia. System jest w czasie dzialania rozkryptowany wiec masz dostep do plikow, a pozatym klucz/haslo leza w pamieci komputera.
Cena komputera w tej chwili jest tak niewielka ze postawienie oddzielneog servera bez zadnych dodatkowych uslug i podlaczenie go nawet sieciowka 1GB nie stanowi zadnego problemu.
adwol
Cytat
Tylko znow powstaje problem, skoro ktos ma dostep do servera to system kryptacji nic nie zmienia. System jest w czasie dzialania rozkryptowany wiec masz dostep do plikow, a pozatym klucz/haslo leza w pamieci komputera.

Całkowicie się zgadzam, dlatego napisałem, że jedynym rozwiązaniem jakie widzę to postawienie osobnej maszyny, niedostępnej dla klienta, która udostępniałaby po sieci dostęp do bazy.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2024 Invision Power Services, Inc.