MySQL remote access sicher??!?
mart
- datenbank
0 Sven Rautenberg0 Horst
Hallo,
ich würde gerne remote auf meine mysql db auf debian
zugreifen (mit ooffice)
konfiguriert ist sie aber mit
bind-address=127.0.0.1
und alle lokalen programme (postfix) benutzen diese addresse...
wenn ich diesen eintrag auf die öffentliche IP meines servers
setze kann ich von openoffice aus auf meine db zugreifen,
dummerweise aber postfix smtpd nicht mehr :(
naja das würde man wohl irgendwie hinbekommen
mit den einstellungen von postfix...
aber:
da sind ja nun die ganzen IMAP passwörter unverschlüsselt gepseichert
und es ist ja evtl. nicht ratsam die mysql db von aussen zugänglich zu machen.
kann ich evtl. auch nur bestimmte datenbanken für die öffentliche IP
zugänglich machen (z.B. addressbuch ja, passwörter nur von 127.0.0.1)
oder hätte da jemand ein interessantes sicherheitskonzept?
ich hab gehört eine master-slave lösung könnte gut sein,
aber andereseits finde ich es kompliziert auf einem server
zwei instanzen von mysql laufen zu lassen (eine gesichert und eine offen)
macht man das so?
für tipps immer zu haben:
mart
Moin!
ich würde gerne remote auf meine mysql db auf debian
zugreifen (mit ooffice)
konfiguriert ist sie aber mit
bind-address=127.0.0.1
Das garantiert, dass die Datenbank nicht unbeabsichtigt im Netzwerk erreichbar ist.
und alle lokalen programme (postfix) benutzen diese addresse...
Logisch, 127.0.0.1 ist der "localhost".
wenn ich diesen eintrag auf die öffentliche IP meines servers
setze kann ich von openoffice aus auf meine db zugreifen,
dummerweise aber postfix smtpd nicht mehr :(
Auch das ist mehr oder weniger logisch, weil du damit ja die Datenbank auf einem ganz anderen Device verfügbar machst, die Verfügbarkeit auf dem alten Device aber verhinderst.
Auf bind-address verzichten wäre eine gute Idee - aber...
da sind ja nun die ganzen IMAP passwörter unverschlüsselt gepseichert
und es ist ja evtl. nicht ratsam die mysql db von aussen zugänglich zu machen.
Richtig, deshalb hat MySQL ja auch eine Benutzerverwaltung eingebaut - und zusätzlich wird der Zugriff nicht nur über den korrekten Usernamen und Passwort erlaubt, sondern auch die zugreifende IP-Adresse muß stimmen.
kann ich evtl. auch nur bestimmte datenbanken für die öffentliche IP
zugänglich machen (z.B. addressbuch ja, passwörter nur von 127.0.0.1)
oder hätte da jemand ein interessantes sicherheitskonzept?
MySQL bietet vielfältige Möglichkeiten der Benutzerkontrolle. Das gerät aber in der Regel etwas aus dem Fokus, weil sich oft nur ein anderes Programm mit der DB verbindet - und das hat halt einmal Zugangsdaten bekommen, und verwendet die immer wieder, egal welche anderen Benutzer sich mit diesem Programm verbinden.
ich hab gehört eine master-slave lösung könnte gut sein,
aber andereseits finde ich es kompliziert auf einem server
zwei instanzen von mysql laufen zu lassen (eine gesichert und eine offen)
macht man das so?
Eher nicht. Elementar wichtig ist, dass du für den Zugriff über das Internet SSL verwendest. Ansonsten kann jeder die abgefragten Daten mithören, evtl. (hab' ich nicht im Detail recherchiert) auch die Zugangsdaten - und das wäre unschön.
Tendentiell ist es eher ungewöhnlich, eine Datenbank auf diese Weise im Internet zugänglich zu machen. In der Regel besteht keine Notwendigkeit, dass potentiell das gesamte Internet zugreifen muß - eine Datenbank in einem internen Netz reicht meist aus, und die ist dann durch eine Firewall auch deutlich besser abgeschottet.
Lies am besten mal die Doku. :)
- Sven Rautenberg
Hallo,
für tipps immer zu haben:
Evntl. könnte das für Dich interessant sein:
http://dev.mysql.com/doc/refman/5.1/de/secure-basics.html
Siehe auch grant() in mysql und /etc/my.cnf
Viele Grüße,
Hotte