Externer MySQL Zugriff - Sicherheit?

MySQL, PostgreSQL, SQLite
alexxon
Posts: 7
Joined: 2002-09-24 17:49
Location: München

Externer MySQL Zugriff - Sicherheit?

Post by alexxon » 2003-06-27 01:52

Hallo allerseits,

Ich nutze eine mysql db als backend auf dem rootserver. als frontend ms access. Die Verbindung zur mysql db über myodbc klappt wunderbar.
Was mich an der ganzen Sache stört, ist der offene mysql port 3306. Alle Daten zwischen server und client werden laut mysql dokumentation standardmäßig im klartext übermittelt. Mit dem Befehl "tcpdump -l -i eth0 -w - src or dst port 3306 | strings" wird das einem sehr verdeutlicht.

1. Frage: Gibt es eine Möglichkeit diese Klartextdaten abzuhören? Das heisst, wenn man die ip adresse des rootservers kennt? Mit welchem Prog. ist das dann evtl. möglich?

2. Frage: Ist es möglich, den Datenstrom server<->client zu verschlüsseln? ssh, ssl oder eine andere möglichkeit? Gibt es vielleicht Beispiele zum veranschaulichen?

Ich hoffe, dass mich hier jemand weiterhelfen kann. Ich brauche keine Komplettlösung, sondern nur ein paar Denkanstöße oder Ideen. Das Forum habe ich bereits durchsucht, aber nichts zu diesem Thema gefunden.

Vielen Dank schonmal,

alexxon

captaincrunch
Userprojekt
Userprojekt
Posts: 7225
Joined: 2002-10-09 14:30
Location: Dorsten

Re: Externer MySQL Zugriff - Sicherheit?

Post by captaincrunch » 2003-06-27 07:22

1. Frage: Gibt es eine Möglichkeit diese Klartextdaten abzuhören? Das heisst, wenn man die ip adresse des rootservers kennt? Mit welchem Prog. ist das dann evtl. möglich?
Jein. Innerhalb eines geswitchten Netzwerks ist es schwierig, aber bei weitem nicht unmöglich, den Traffic der anderen Hosts mitzubekommen. Es geht hier ja aber nicht nur um den Rootie und das 1&1-Netz, sondern du überträgst Daten im Klartext quer durch's Internet. Mir persönlich würde das kalte Dauerschauer über den Rücken jagen.
2. Frage: Ist es möglich, den Datenstrom server<->client zu verschlüsseln? ssh, ssl oder eine andere möglichkeit? Gibt es vielleicht Beispiele zum veranschaulichen?
Ja : entweder per ssh-Tunnel oder per stunnel (SSL). Ich weiß allerdings nicht, ob das Winzigweich-Produkt dann noch damit klarkommt ...
DebianHowTo
echo "[q]sa[ln0=aln256%Pln256/snlbx]sb729901041524823122snlbxq"|dc

moppi
Posts: 368
Joined: 2003-02-15 11:16

Re: Externer MySQL Zugriff - Sicherheit?

Post by moppi » 2003-06-27 08:53

Hallo es geht per SSH Tunnel wie folgt:

Putty aufrufen, Verbindung einstellen. also die Verbindungsdaten das übliche...

dann unter dem Menue SSH->Tunnels einstellen

Forwardport: 3306
Destination: pXXXXXX.pureserver.info:3306

Das ganze dann als Local definieren.


Die ODBC Verbindung oder MYSQLCC dann sagen das sich der MySQL als Localhost befindet. SSH forwarded die daten dann zum Server. Eine Geschwindigkeitseinbuße selbst bei grösseren Datenmengen ist kaum spürbar.

gruß
Daniel

P.S.: hab ich es zu doof erklärt? http://www.mysqld.de
da im handbuch nachgraben mit den keywords 'odbc ssh'

Anonymous

Re: Externer MySQL Zugriff - Sicherheit?

Post by Anonymous » 2003-06-30 23:39

Die Mitlesemoeglichkeit ist nur ein Teilproblem.
Nachdem ich bei Google die ersten Treffer auf "mysql vulnerability" ueberflogen hatte, war mir klar, dass ich mysql nur fuer localhost betreiben moechte und keinen mysql Port durch die Firewall nach draussen zeigen lassen werde.

Beste Gruesse,
R.

moppi
Posts: 368
Joined: 2003-02-15 11:16

Re: Externer MySQL Zugriff - Sicherheit?

Post by moppi » 2003-07-01 10:08

ich versteh die panikmache manchmal nicht ich habe das seit einem halben jahr so laufen und die passwörter haben eine entsprechende länge.
da mysql nicht als root läuft kann sich auch im extremfall dort niemand austoben also warum auf komfort verzichten.

mfg

cjhbabel
Posts: 63
Joined: 2002-07-18 12:09

Re: Externer MySQL Zugriff - Sicherheit?

Post by cjhbabel » 2003-07-01 10:17

Romeo wrote:Die Mitlesemoeglichkeit ist nur ein Teilproblem.
Nachdem ich bei Google die ersten Treffer auf "mysql vulnerability" ueberflogen hatte, war mir klar, dass ich mysql nur fuer localhost betreiben moechte und keinen mysql Port durch die Firewall nach draussen zeigen lassen werde.
Ich nur immer wieder den Tipp geben für solche "Problemfälle" den stunnel (http://www.stunnel.org) zu benutzen. Mit einem Zertifikat kannst du problemlos deinen MySQL Server via Internet bedienen. Das ganze hat zwei wesentliche Vorteile:

1) Durch die Zertifikate (wenn es richtig gemacht wird!) kann niemand ausser dir auf den MySQL Server via Internet zugreifen. Das heißt nicht einmal ein Connect ist möglich. Das ein Zertifikate gehakt wird ist sehr unwahrscheinlich, einzig ein Bug im stunnel wäre ein Problem. Allerdings ist der stunnel ja genau für solche Szenarien entwickelt worden und wird auch ständig weiterentwickelt. Wenn du also mit dem Updates auf dem laufenden bleibst sollte auch das kein Problem sein.

2) Der gesamte Datentransfer wird verschlüsselt übertragen.

Das ganze funktioniert von der Technik ähnlich wie der Zugriff via ssh.

silv
Posts: 12
Joined: 2003-05-22 00:14

Re: Externer MySQL Zugriff - Sicherheit?

Post by silv » 2003-07-11 22:34

btw
....4.3.9.1 Basics
Beginning with version 4.0.0, MySQL has support for SSL encrypted connections.


http://www.mysql.com/doc/en/Secure_basics.html


.. nur wird dir das relativ helfen weil msaccess als Backend wird dann komisch spucken :) .. aber dann wäre die Frage ob du das wirklich nutzen musst .. ;))

... silv

ecki
Posts: 25
Joined: 2003-07-14 17:47
Location: Erde

Re: Externer MySQL Zugriff - Sicherheit?

Post by ecki » 2003-07-23 16:24

Hallo,

@Moppi:

Den Tunnel habe ich entsprechend deiner Anleitung eingerichtet.
Aber jetzt:
Ich möchte hier auf meinem PC "MySQL-ControlCenter" zur lokalen Bearbeitung der DBs nutzen.
WAS muß ich WO einstellen, damit die Verbindung zum MySQL-Server "durch den Tunnel" klappt?
Wenn ich z.B. bei "MySQLCC" als Server "localhost" eingebe, bekomme ich keine Verbindung.
Was tun? :cry:

Danke für die Hilfe,
Gruß, Ecki

moppi
Posts: 368
Joined: 2003-02-15 11:16

Re: Externer MySQL Zugriff - Sicherheit?

Post by moppi » 2003-07-23 16:35

Hallo,

also als erstes via Putty auf dem Rechner einloggen als root.
Dann das mysqlcc aufrufen als host gibst du dort localhost an. benutzer root und dein mysql kennwort für den root.

sollte das login nicht funktionieren müsstest du die zugriffsmöglichkeit via root in mysql umstellen das geht auch via phpmyadmin unter rechte.

mfg
daniel

edit: der zugriff mit msaccess klappt übrigens wunderbar! es empfiehlt sich auch die kompression einzustellen für ssh.

ecki
Posts: 25
Joined: 2003-07-14 17:47
Location: Erde

Re: Externer MySQL Zugriff - Sicherheit?

Post by ecki » 2003-07-23 16:55

@Moppi

bei "MySQLCC" kriege ich nun den Fehler:

Code: Select all

[XXXXX Datenbank] FEHLER 1045: Keine Zugriffsberechtigung für Benutzer: 'root@localhost'. (Verwendetes Passwort: Ja)
Ich habe in "PHPMyAdmin" den Benutzer 'root@localhost' eingerichtet, mit entsprechendem Passwort. Aber keinen 'root@%', also von überall her erreichbar. Auch ein anderer Benutzer 'admin@%' funzt nicht.

Vielleicht doch ein Fehler im ODBC-Setup?
Bei "putty" wird nach einigen Minuten ohne Eingabe die Verbindung beendet.

Menno...
Hilfe, Ecki

moppi
Posts: 368
Joined: 2003-02-15 11:16

Re: Externer MySQL Zugriff - Sicherheit?

Post by moppi » 2003-07-23 18:05

kannst du eine remoteunterstützungseinladung via xp senden?

ecki
Posts: 25
Joined: 2003-07-14 17:47
Location: Erde

Re: Externer MySQL Zugriff - Sicherheit?

Post by ecki » 2003-07-23 18:19

@Moppi

Ich kann dir leider nicht folgen... :cry:

Ecki