Czy port MySQL 3306 jest zaszyfrowany, a jeśli nie, jak mogę go zaszyfrować?


26

Pracuję nad audytem bezpieczeństwa systemu w mojej pracy i jednym z wymagań jest szyfrowanie całego ruchu przez sieci publiczne / niechronione. Ponieważ uzyskujemy dostęp do bazy danych MySQL (przez port 3306) na jednym z naszych zewnętrznych serwerów z naszej sieci biurowej, połączenie z MySQL musi być szyfrowane.

Czy jest już zaszyfrowany, a jeśli nie, jak mogę go zaszyfrować?

Używam narzędzi i skryptów, które nie mogą używać fantazyjnych przekierowań portów SSH ani VPN ... czy to nadal możliwe?


1
Tylko dla osób wpadających na ten wątek Dokument jest teraz (2018) pod innym linkiem; dev.mysql.com/doc/refman/5.7/en/encrypted-connections.html
CeD

Odpowiedzi:


14

Nie, domyślnie ruch mysql nie jest szyfrowany. Najlepszym rozwiązaniem jest skonfigurowanie MySQL do pracy z OpenSSL dla poszczególnych połączeń. Większość plików binarnych ma obecnie obsługę protokołu SSL, ale łatwo jest sprawdzić, czy Twoja wersja ją obsługuje. Z dokumentacji:

Aby sprawdzić, czy plik binarny serwera jest skompilowany z obsługą SSL, wywołaj go z opcją --ssl. Błąd wystąpi, jeśli serwer nie obsługuje protokołu SSL:

shell> mysqld --ssl --help
060525 14:18:52 [ERROR] mysqld: unknown option '--ssl'

Hiperłącze nie działa.
JellicleCat

Link do wersji 5.6: dev.mysql.com/doc/refman/5.6/en/ssl-connections.html (również zaktualizowany powyżej)
smhg

6

Domyślnie MySQL nie szyfruje komunikacji klient / serwer:

Możesz skonfigurować MySQL, aby akceptował połączenia przez SSL i wymagał od użytkowników używania SSL. Oto przewodnik po konfiguracji SSL:


linki są zepsute
knocte
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.