Ist der MySQL-Port 3306 verschlüsselt, und wenn nein, wie kann ich ihn verschlüsseln?

26

Bei meiner Arbeit arbeite ich an einer Sicherheitsüberprüfung für ein System. Eine der Anforderungen besteht darin, den gesamten Datenverkehr über öffentliche / ungeschützte Netzwerke zu verschlüsseln. Da wir von unserem Büronetz aus auf die MySQL-Datenbank (über Port 3306) auf einem unserer externen Server zugreifen, muss die Verbindung zu MySQL verschlüsselt werden.

Ist es bereits verschlüsselt und wenn nicht, wie kann ich es verschlüsseln?

Ich verwende Tools und Skripte, die keine ausgefallenen SSH-Portforwards oder VPNs verwenden können ... ist das noch möglich?

Stephen RC
quelle
1
Nur für Leute, die auf diesen Thread stoßen Der Doc ist jetzt (2018) ein weiterer Link; dev.mysql.com/doc/refman/5.7/en/encrypted-connections.html
CeD

Antworten:

14

Nein, standardmäßig wird der MySQL-Verkehr nicht verschlüsselt. Das Einrichten von MySQL für die Zusammenarbeit mit OpenSSL auf Verbindungsbasis ist die beste Wahl. Die meisten Binärdateien werden heutzutage mit SSL-Unterstützung erstellt, es ist jedoch einfach zu überprüfen, ob Ihre Version dies unterstützt. Aus der Dokumentation:

Um zu überprüfen, ob eine Server-Binärdatei mit SSL-Unterstützung kompiliert wurde, rufen Sie sie mit der Option --ssl auf. Ein Fehler tritt auf, wenn der Server SSL nicht unterstützt:

shell> mysqld --ssl --help
060525 14:18:52 [ERROR] mysqld: unknown option '--ssl'
nedm
quelle
Der Hyperlink ist tot.
JellicleCat
Link für v5.6: dev.mysql.com/doc/refman/5.6/en/ssl-connections.html (ebenfalls oben aktualisiert)
smhg
6

Standardmäßig verschlüsselt MySQL die Client / Server-Kommunikation nicht:

Sie können MySQL so einrichten, dass Verbindungen über SSL akzeptiert werden und Benutzer SSL verwenden müssen. Hier ist die Anleitung für die SSL-Einrichtung:

sreimer
quelle
die links sind kaputt
knocte