Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Verschlüsselte Verbindung zu MySLQ database (https://www.delphipraxis.net/215087-verschluesselte-verbindung-zu-myslq-database.html)

Marchello 5. Mai 2024 17:21

Verschlüsselte Verbindung zu MySLQ database
 
Liebe Entwickler,

ich habe ein Delphi-Programm geschrieben, das eine Online-Verbindung zu einem MySQL-Datenbankserver herstellt. Ich nutze um die Verbindung herzustellen: AdoQuery, AdoConnection, AdoQuery componenten und MySQL ODBC 8.0 ANSI Driver.
Die ConnectionString von AdoConnection ist wie folgt aufgebaut:

Code:
 ADOConnection.ConnectionString:= 'Driver={MySQL ODBC 8.0 ANSI Driver};' +
    'Server=' + Server_IP + ';' +
    'Port=' + Server_Port + ';' +
    'Database=' + Name_Database + ';' +
    'User=' + UserName + ';' +
    'Password=' + Password + ';' +
    'Option=3;';// +
    //'SslMode=REQUIRED;';
Ich kann die Datenbank problemlos einsehen und bearbeiten. Wenn ich:
Code:
SslMode=REQUIRED;
in der Verbindungszeichenfolge in die ConnectionString aufzeichnen erhalte ich die Fehlermeldung, dass SSL vom MySQL-Server nicht unterstützt wird. Auf die Konfiguration des MySQL-Servers habe ich leider keinen Einfluss. Über WireShark kann ich In der Tat erkennen, dass die Verbindung nicht verschlüsselt ist.

Was kann ich tun, um die Verbindung zu verschlüsseln ohne Hilfe des MySQL-Hosts?
Ist ein VPN sinnvoll (OpenVPN) oder gibt es spezielle Delphi-Komponenten?

Gibt es auch die Möglichkeit, eine verschlüsselte FTP-Verbindung hinzuzufügen?

Danke,

Marcel (aus den Niederlanden)
Ich entschuldige mich für meine deutsche Grammatik

wurzelsepp1 5. Mai 2024 20:47

AW: Verschlüsselte Verbindung zu MySLQ database
 
Hi,
die Grammatik ist super .. aber die Konfiguration ganz schlecht. ;)

Einen SQL-Server von außen erreichbar zu machen - zudem ohne Verschlüsselung - stellt ein großes Sicherheitsrisiko dar.

Zu der Frage:
Wenn eine Verschlüsselung genutzt werden soll, muss diese auf dem Server eingerichtet werden. Wenn du auf den keinen root Zugriff hast, kannst du nichts dergleichen einrichten.

Ein VPN würde in der Tat einen halbwegs sicheren Zugriff auf die Ressoiurcen des Servers zulassen. Das Problem ist aber, dass die meisten VPN-Lösungen nicht ausreichend performant sind. Es kommt folglich zu schlechten Antwortzeiten und Verbindungsabbrüchen.

Dein Projekt braucht also ein neues Konzept ;)

VG
Alex

anse 6. Mai 2024 05:44

AW: Verschlüsselte Verbindung zu MySLQ database
 
Du könntest ansonsten einen SSH Tunnel per putty oder ssh.exe aufbauen, und dann die MySQL-Verbindung über den lokalen Tunnel aufbauen. Damit wäre die Verbindung ähnlich wie bei einem VPN verschlüsselt. Das setzt aber voraus dass der Server per SSH erreichbar ist.

QuickAndDirty 7. Mai 2024 13:36

AW: Verschlüsselte Verbindung zu MySLQ database
 
Du musst bei deinem MySql Server ein Zertifikat hinterlegen, manche Firewalls oder Router erlauben es auch ein TLS Zertifikat zu hinterlegen und als TLS-Verschlüsselte Fassade für unverschlüsselte Http/Soap Server zu arbeiten. Vielleicht funktioniert das auch für MySQL.


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:11 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz