Bezpieczeństwo Połączenia MySQL


(Qwaku12) #1

Heya!

Mam pytanie: czy jeśli stworzę np. aplikację, która będzie łączyła się z MySQL i dane do MySQL będą wpisane w kodzie, np:

string mysql_host = 'domena.pl', mysql_port = '3306', mysql_user = 'root', mysql_pass = 'superhaslo';

Czy wtedy połączenie z MySQL jest bezpieczne?

Czy ktoś może przechwycić takie połączenie wychodzące ze swojego komputera?

Jak się zabezpieczyć i wogóle o co z tym chodzi - jeśli tak?

A jeśli nie to chociaż jest możliwe pobranie adresu serwera?

Z góry dzięki :wink:


([alex]) #2

Da się to podejrzeć na każdym serwerze po drodze pomiędzy twoją aplikacją a serwerem MySQL, chyba że zastosujesz szyfrowane połączenie. Poza tym wszystkie napisy zaszyte w programie da się podejrzeć zwykłym notepad'em.


(Qwaku12) #3

W jaki sposób można w takim razie przechwycić takie połączenie? Działa ono na konkretnym porcie?


([alex]) #4

Działa na tym porcie który wskazałeś, domyślnie 3306.

Poczytaj na temat WinPCap.


(Uzi123) #5

Dane zapisane w kodzie programu (jak widzę skryptu PHP), są średnio bezpieczne. Co prawda jeśli ktoś odpali twój skrypt przez www to raczej nie zobaczy ich, ale wystarczy zmiana konfiguracji apache (np błąd administratora, włamanie) i już jest problem. Aby było trochę bezpieczniej umieść je w katalogu nie dostępnym dla osób spoza twojego serwera. Z kolei w obrębie serwera/komputera są one tak bezpieczne jak dane w notatniku, czyli nie za bardzo.

Jeśli chodzi o połączenie z bazą danych to jeśli tylko jest taka możliwość, to staraj się korzystać z bazy danych zainstalowanej lokalnie, jeśli nie to są możliwości takie jak ssl.


(Qwaku12) #6

@uzi

to nie jest kod php... od kiedy zmienne w php zapisuje się bez $ na początku i pisząc string ? To akurat prędzej C++, ale nie chodziło mi o to żeby to był JAKIŚ język tylko czy jest do niego dostęp... Jeśli chodzi o aplikacje PHP mam dość duże doświadczenie, ale teraz jakoś mam ochotę wrócić do "Cepa"/Delphi i napisać jakąś sieciówkę ;d


(Uzi123) #7

Sory, rzeczywiście (a myślałem, że wiem wówczas co robie :wink: ), nie zmienia to faktu, że najbezpieczniej jest korzystać z bazy lokalnej, a jak nie to skorzystać z szyfrowania


([alex]) #8

uzi123 , ani baza lokalna ani szyfrowanie nie pomogą jeżeli username oraz password na żywca wpisane w źródłach programu.


(Qwaku12) #9

Czyli w takim razie wracam do pierwszego pytania: jak się w takim razie zabezpieczyć? Tylko przez wykonywanie żądań przez HTTP?