Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi MySQL DB benutzen - Server- und Passwortdaten verschlüsseln? (https://www.delphipraxis.net/110405-mysql-db-benutzen-server-und-passwortdaten-verschluesseln.html)

Yheeky 17. Mär 2008 18:56

Datenbank: MySQL • Zugriff über: Delphi

MySQL DB benutzen - Server- und Passwortdaten verschlüsseln?
 
Hey,

ich möchte ein Programm erstellen, welches auf eine Datenbank im Internet zugreift. Hierfür habe ich zur Zeit MySQL im Auge, weil ich mich mit der Sprache ganz gut auskenne. Ich habe auch schon mit einer Komponente gearbeitet - hat auch ohne Probleme funktioniert. Das Problem ist nur, dass der Server und auch das Passwort plain sichtbar ist. Dies' darf in meinem jetzigen Programm unter keinen Umständen sein.
Kann mir jemand sagen, wie ich verhindern kann, dass irgendjemand meine Serverdaten auslesen kann? Gibt es da eine sichere Variante (vielleicht eine andere Datenbank-/komponente?). Vielleicht SSL?

Bin für jeden Tipp dankbar! Vielleicht rät mir auch jemand zu einer anderen DB wobei MySQL schon ganz gut ist, weil ich weiss, dass es auf meinem Server installiert ist.

mkinzler 17. Mär 2008 19:00

Re: MySQL DB benutzen - Server- und Passwortdaten verschlüss
 
Afaik unterstützt MySQL SSL sonst ZebeDee

Yheeky 17. Mär 2008 19:20

Re: MySQL DB benutzen - Server- und Passwortdaten verschlüss
 
Inwiefern soll MySQL SSL unterstützen? Wenn die Komponente mit den Zeilen

Delphi-Quellcode:
MYSQLComponent.Passwort = 'TestBlaBlub';
im Quelltext steht, ist es ja einfach, das auszulesen. Es müsste quasi irgendwie verschlüsselt werden.

Wie genau würde ich denn "ZebeDee" anwenden?

Dax 17. Mär 2008 19:25

Re: MySQL DB benutzen - Server- und Passwortdaten verschlüss
 
Zitat:

Zitat von Yheeky
Wenn die Komponente mit den Zeilen

Delphi-Quellcode:
MYSQLComponent.Passwort = 'TestBlaBlub';
im Quelltext steht, ist es ja einfach, das auszulesen. Es müsste quasi irgendwie verschlüsselt werden.

Sobald du Daten aus der Hand gibst, sind sie weg. Da hilft auch verschlüsseln nichts, weil auf dem Zielrechner eh alles wieder entschlüsselt wird.

Yheeky 17. Mär 2008 19:26

Re: MySQL DB benutzen - Server- und Passwortdaten verschlüss
 
Mhmm, wie kann ich denn am ehesten dafür sorgen, dass meine Daten nicht herausgefunden werden?

Dax 17. Mär 2008 19:30

Re: MySQL DB benutzen - Server- und Passwortdaten verschlüss
 
Zitat:

Zitat von Yheeky
Mhmm, wie kann ich denn am ehesten dafür sorgen, dass meine Daten nicht herausgefunden werden?

Indem du sie nicht weitergibst ;-) Wer sie haben *will*, wird sie bekommen. Wer sie nicht haben will, sucht erst gar nicht danach. *Wie* man sie bekommt.. wenn in der Exe kein Klartext steht, nimmt man sich einen Portsniffer, wenn der Sniffer nichts brauchbares zeigt, nimmt man sich einen Debuger...

Bernhard Geyer 17. Mär 2008 20:27

Re: MySQL DB benutzen - Server- und Passwortdaten verschlüss
 
Zitat:

Zitat von Yheeky
Mhmm, wie kann ich denn am ehesten dafür sorgen, dass meine Daten nicht herausgefunden werden?

Das einzige ist es den Zugriff zu erschweren. Kompletten Schutz wird es nie geben wenn die Software auf Clientrechnern läuft.

Yheeky 17. Mär 2008 20:51

Re: MySQL DB benutzen - Server- und Passwortdaten verschlüss
 
Naja, wenn es auf der ganzen Welt einer könnte es ihn aber nicht interessiert dann wäre das ja schon ne Lösung ;-)
Nee, aber Beispiel: wie ist das mit ICQ oder so? Da liegen die Daten ja auch auf Servern rum, da könnte doch auch jemand "aus Spaß" was anstellen, oder?

Bernhard Geyer 17. Mär 2008 20:55

Re: MySQL DB benutzen - Server- und Passwortdaten verschlüss
 
Zitat:

Zitat von Yheeky
Nee, aber Beispiel: wie ist das mit ICQ oder so? Da liegen die Daten ja auch auf Servern rum, da könnte doch auch jemand "aus Spaß" was anstellen, oder?

Wenn die Daten auf dem Server liegen ist das was anderes als wenn die auf dem Client gespeichert sind! Die Angriffmöglichkeiten auf dem Client sind um potentenzen höher als wenn dies auf einem entsprechend abgesicherten Server liegen.

Yheeky 17. Mär 2008 21:25

Re: MySQL DB benutzen - Server- und Passwortdaten verschlüss
 
Kann ich die Dateien (also Passwort zumindest) nicht auch auf einem Server platzieren und das übers Programm abrufen? Oder kann man das auch "abfangen"?!

Yheeky 20. Mär 2008 10:19

Re: MySQL DB benutzen - Server- und Passwortdaten verschlüss
 
Zitat:

Zitat von Bernhard Geyer
Zitat:

Zitat von Yheeky
Nee, aber Beispiel: wie ist das mit ICQ oder so? Da liegen die Daten ja auch auf Servern rum, da könnte doch auch jemand "aus Spaß" was anstellen, oder?

Wenn die Daten auf dem Server liegen ist das was anderes als wenn die auf dem Client gespeichert sind! Die Angriffmöglichkeiten auf dem Client sind um potentenzen höher als wenn dies auf einem entsprechend abgesicherten Server liegen.

Also wenn ich die Logindaten dann auch auf dem Server hinterlege und die danns aus der verschlüsselten Datenbank ins Programm geladen werden?

shmia 20. Mär 2008 16:17

Re: MySQL DB benutzen - Server- und Passwortdaten verschlüss
 
Das Passwort kann an 3 Stellen abgefangen/kompromittiert werden:
Auf dem Client und dem Netzwerk und auf dem Server.
Der unsichsterste Abschnitt ist das Netzwerk.

Um das Mitschneiden des Passworts auf dem Netzwerk zu verhinden, kann man SSL einsetzen:
http://dev.mysql.com/doc/refman/5.1/...nnections.html
In Abschnitt 5.5.7.5 wird erklärt, wie man die SSL Verbindung aufsetzt.

Yheeky 20. Mär 2008 17:02

Re: MySQL DB benutzen - Server- und Passwortdaten verschlüss
 
Zitat:

Zitat von shmia
Das Passwort kann an 3 Stellen abgefangen/kompromittiert werden:
Auf dem Client und dem Netzwerk und auf dem Server.
Der unsichsterste Abschnitt ist das Netzwerk.

Um das Mitschneiden des Passworts auf dem Netzwerk zu verhinden, kann man SSL einsetzen:
http://dev.mysql.com/doc/refman/5.1/...nnections.html
In Abschnitt 5.5.7.5 wird erklärt, wie man die SSL Verbindung aufsetzt.

So gesehen ist ja keine Variante sicher, weder die Client-Variante (mit Delphi programmieren) noch die Webinterface-Variante (mit PHP auf die DB zugreifen).
Stimmt das denn, dass es keine Variante gibt, die 100%ig sicher ist?! Welche Varianten nutzen dann Banken oder sonstige Webseiten, bei denen unter keinen Umständen jemand an Serverdaten kommen darf?

@Abschnitt 5.5.7.5: Wie genau funktioniert das? Wenn ich das mache bringt das doch nichts oder wird da was auf nem Server eingerichtet? Ansonsten würde das ja andere User nicht betreffen...

Yheeky 21. Mär 2008 12:15

Re: MySQL DB benutzen - Server- und Passwortdaten verschlüss
 
Was mit heute morgen eingefallen ist: was wäre, wenn ich über mein Programm PHP Scripts auf meinem Server aufrufe? So bleiben die Daten auf dem Server und ich kann trotzdem mit Delphi arbeiten...

mkinzler 21. Mär 2008 12:17

Re: MySQL DB benutzen - Server- und Passwortdaten verschlüss
 
Zitat:

Zitat von Yheeky
Was mit heute morgen eingefallen ist: was wäre, wenn ich über mein Programm PHP Scripts auf meinem Server aufrufe? So bleiben die Daten auf dem Server und ich kann trotzdem mit Delphi arbeiten...

So waren die Vorschläge auch gemeint.

Yheeky 21. Mär 2008 12:31

Re: MySQL DB benutzen - Server- und Passwortdaten verschlüss
 
Du meinst die Vorschläge aus dem anderen Thread? IntraWeb bzw. das mit der DLL? Okay, dann ist das schonmal der richtige Ansatz.
Kann ich nicht einfach über ne Komponente wie z.B. idHTTP eine PHP Datei aufrufen? Ich verstehe halt die genaue Funktionsweise von IntraWeb bzw. der DLL noch nicht...kannst du mir das genauer erklären?

mkinzler 21. Mär 2008 13:47

Re: MySQL DB benutzen - Server- und Passwortdaten verschlüss
 
Nein, dass war ein alternativer Vorschlag.

Yheeky 21. Mär 2008 14:50

Re: MySQL DB benutzen - Server- und Passwortdaten verschlüss
 
Kannst oder willst du mir deinen Vorschlag nicht genauer erklären? :zwinker:

mkinzler 21. Mär 2008 14:56

Re: MySQL DB benutzen - Server- und Passwortdaten verschlüss
 
Habe diesen Beitrag mit einem ähnlichen verwechselt, dort wurde der Fragesteller darauf verwiesen

Yheeky 21. Mär 2008 15:19

Re: MySQL DB benutzen - Server- und Passwortdaten verschlüss
 
Okay, das hört sich doch interessant an. Danke schön! :-D


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:10 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